2012-05-09 15 views
6

No promocione Nautilus o Glamour aquí. Estoy usando Pharo 1.3 (sin planes para migrar a Pharo 1.4 o 2.0). Parece que hay muchas versiones de OmniBrowser por ahí. ¿Cuál es el más probado (en el sentido de cobertura) o simplemente sin errores?¿Instalar script para OmniBrowser para Pharo 1.3?

Tengo algunas preguntas para que:

  • ¿Funciona con Shout correctamente?
  • ¿Puedo cargarlo sin AST y el motor de refactorización?
  • ¿Puedo cargarlo sin Morphic?
  • ¿Es compatible con cualquier versión de Squeak?
  • ¿Se puede cargar en Cuis?

Gracias

Respuesta

6

Omnibrowser está pre-instalado en Pharo 1.3.

Si estamos hablando acerca de la instalación en 1.3 núcleo, utilice:

Gofer new 
    squeaksource: 'MetacelloRepository'; 
    package: 'ConfigurationOfOmniBrowser'; 
    load. 
((Smalltalk at: #ConfigurationOfOmniBrowser) project perform: #version: with: '1.3') load: #(Dev). 

En cuanto a sus otras preguntas ... ¿funciona con Shout correctamente? Sí.

¿Puedo cargarlo sin AST y el motor de refactorización? Sí. Cargue el grupo #Core en lugar de #Dev.

¿Puedo cargarlo sin Morphic? No.

¿Es compatible con cualquier versión de Squeak? Sí. Puede cargarlo en Squeak 4.2 y 4.3 con:

Installer ss 
    project: 'MetacelloRepository'; 
    install: #ConfigurationOfOmniBrowser. 
((Smalltalk at: #ConfigurationOfOmniBrowser) project perform: #stableVersion) load: #(Dev). 

Aunque parece que hay algunos problemas con él. Por ejemplo, no parecían refactorizaciones a tomar, y he tenido que cambiar algunos métodos #createCompletionController, ya que los errores se acercaron, a:

createCompletionController 
    ^OController model: self 

Es cargable en Cuis? Muy dudoso

+0

Este script también funciona en Pharo1.4;) –

2

Uso el de http://source.lukas-renggli.ch/omnibrowser porque sé dónde vive Lukas ;-) Lukas lo ha estado manteniendo durante varios años y nunca he tenido ningún problema. Habiendo dicho eso, realmente solo funciona en Pharo 1.3.

  • ¿Funciona correctamente con Shout?
  • ¿Puedo cargarlo sin el AST y el motor de refactorización?
  • ¿Puedo cargarlo sin Morphic?No
  • ¿Es compatible con cualquier versión de Squeak? No, solo Pharo 1.3
  • ¿Se puede cargar en Cuis? Sin , solamente Pharo 1,3

uso el script de carga de https://github.com/renggli/builder/blob/master/scripts/omnibrowser.st por desgracia no hay ninguna configuración Metacello.

5

El repositorio http://source.wiresong.ca/ob/ es el repositorio oficial de OmniBrowser para Squeak (utilizando Tool-Builder). El repositorio http://source.lukas-renggli.ch/omnibrowser es el repositorio oficial de OmniBrowser para Pharo (utilizando Polymorph). En ambos repositorios, los paquetes principales son idénticos y se reproducen periódicamente.

El repositorio http://source.lukas-renggli.ch/ob21 está desactualizado, se deriva de un experimento que comencé hace muchos años. Eliminé el repositorio por el momento para evitar mayor confusión. Todos los demás repositorios (así como las diversas configuraciones de Metacello) se basan en código obsoleto y bifurcado. El código que obtienes no tiene muchas mejoras y pasa por alto correcciones importantes que se implementaron hace mucho tiempo.

Para Pharo 1.3, como señala Philippe, solo tiene que ingresar el archivo https://github.com/renggli/builder/blob/master/scripts/omnibrowser.st para obtener una instalación estable. Shout, eCompletion, Refactoring Engine y varias otras extensiones son opcionales. Simplemente elimine del script las partes que no necesita. Técnicamente Morphic tampoco es necesario, pero no se obtiene una interfaz de usuario predeterminada. Hay varias otras interfaces como OB-Web y OB-Mars que puede cargar, pero no sé qué tan bien funcionan actualmente.

El mismo archivo de entrada también funciona en Squeak. Sólo hay que sustituir los siguientes paquetes:

  • Refactoring-Pharo-Platform con Refactoring-Squeak-Platform (si desea que el motor de refactorización)
  • OB-Pharo-Platform con OB-Squeak-Platform
  • OB-Polymorph con OB-ToolBuilder
  • Shout está preinstalado en Squeak, y no es necesario
  • eCompletion no funciona en Squeak (hasta donde yo sé)

No creo que OmniBrowser funcione en Cuis. Se puede hacer que funcione al proporcionar la plataforma necesaria y los paquetes de UI. Es improbable que OmniBrowser sea compatible con Pharo 1.4 o Pharo 2.0 porque las partes centrales del sistema reflectivo (como MethodReference y SystemNavigation) cambiaron drásticamente.