2012-05-09 11 views
6

Bitte fördern Sie keine Nautilus oder Glamour hier. Ich benutze Pharo 1.3 (ohne Pläne zu Pharo 1.4 oder 2.0 zu migrieren). Es scheint viele Versionen von OmniBrowser draußen zu sein. Welches ist das am besten getestete (im Sinne von Coverage) oder einfach buggy-free?Skript für OmniBrowser für Pharo 1.3 installieren?

Ich habe einige Fragen für sie:

  • Funktioniert es richtig mit Shout?
  • Kann ich es ohne die AST und Refactoring Engine laden?
  • Kann ich es ohne Morphic laden?
  • Es ist kompatibel mit jeder Version von Squeak?
  • Es ist in Cuis ladbar?

Dank

Antwort

6

Omnibrowser ist vorinstalliert 1.3 in Pharo.

Wenn Sie sprechen es in 1.3 Core installieren, verwenden:

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

In Bezug auf Ihre Fragen ... Ist es richtig mit Shout arbeiten? Ja.

Kann ich es ohne die AST und Refactoring Engine laden? Ja. Laden Sie die #Core-Gruppe statt #Dev.

Kann ich es ohne Morphic laden?

Es ist kompatibel mit jeder Version von Squeak? Ja. Sie können es in Squeak 4.2 und 4.3 mit:

laden, obwohl es scheint, einige Probleme damit zu haben. Zum Beispiel nicht zu nehmen Refactorings scheinen, und ich hatte ein paar #createCompletionController Methoden zu ändern, da Fehler kam, zu:

createCompletionController 
    ^OController model: self 

Es ist ladbar in Cuis? Sehr zweifelhaft.

+0

Dieses Skript funktioniert auch in Pharo1.4;) –

2

Ich benutze das von http://source.lukas-renggli.ch/omnibrowser, weil ich weiß, wo Lukas lebt ;-) Lukas hat es seit einigen Jahren gepflegt und ich hatte nie irgendwelche Probleme. Nachdem das gesagt wurde, funktioniert es nur wirklich in Pharo 1.3.

  • Funktioniert es richtig mit Shout? Ja
  • Kann ich es ohne die AST und Refactoring Engine laden? Ja
  • Kann ich es ohne Morphic laden?Nein
  • Es ist kompatibel mit jeder Version von Squeak? Nein, nur Pharo 1.3
  • Es ist in Cuis ladbar? Kein, nur Pharo 1,3

Ich verwende das Ladeskript von https://github.com/renggli/builder/blob/master/scripts/omnibrowser.st leider gibt es keine Metacello Konfiguration.

5

Das Repository http://source.wiresong.ca/ob/ ist das offizielle OmniBrowser-Repository für Squeak (mit Tool-Builder). Das Repository http://source.lukas-renggli.ch/omnibrowser ist das offizielle OmniBrowser-Repository für Pharo (mit Polymorph). In beiden Repositories sind die Kernpakete identisch und werden regelmäßig gespiegelt.

Das Repository http://source.lukas-renggli.ch/ob21 ist veraltet, es stammt aus einem Experiment, das ich vor vielen Jahren begann. Ich habe das Repository vorerst entfernt, um weitere Verwirrung zu vermeiden. Alle anderen Repositories (sowie die verschiedenen Metacello-Konfigurationen) basieren auf veraltetem und gegabeltem Code. Der Code, den Sie dort erhalten, weist viele Verbesserungen auf und vermisst wichtige Fixes, die vor langer Zeit implementiert wurden.

Für Pharo 1.3, wie Philippe hervorhebt, müssen Sie lediglich https://github.com/renggli/builder/blob/master/scripts/omnibrowser.st einspielen, um eine stabile Installation zu erhalten. Shout, eCompletion, die Refactoring Engine und verschiedene andere Erweiterungen sind optional. Entfernen Sie einfach die Teile, die Sie nicht benötigen, aus dem Skript. Technisch wird Morphic auch nicht benötigt, aber dann bekommt man keine Standard-Benutzeroberfläche. Es gibt mehrere andere Schnittstellen wie OB-Web und OB-Mars, die Sie laden könnten, aber ich weiß nicht, wie gut sie derzeit arbeiten.

Die gleiche Datei-in funktioniert auch in Squeak. Sie müssen nur die folgenden Pakete ersetzen:

  • Refactoring-Pharo-Platform mit Refactoring-Squeak-Platform (wenn Sie die Refactoring-Engine wollen)
  • OB-Pharo-Platform mit OB-Squeak-Platform
  • OB-Polymorph mit OB-ToolBuilder
  • Shout in Squeak vorinstalliert ist und nicht
  • benötigt
  • eCompletion funktioniert nicht in Squeak (soweit ich weiß)

Ich glaube nicht, dass OmniBrowser in Cuis funktioniert. Es könnte durch die Bereitstellung der notwendigen Plattform- und UI-Pakete zum Funktionieren gebracht werden. OmniBrowser wird wahrscheinlich niemals in Pharo 1.4 oder Pharo 2.0 unterstützt, da zentrale Teile des reflektierenden Systems (wie MethodReference und SystemNavigation) drastisch geändert wurden.