Установить скрипт для OmniBrowser для Pharo 1.3?
пожалуйста, не продвигайте Nautilus или Glamour здесь. Я использую Pharo 1.3 (без планов перехода на Pharo 1.4 или 2.0). Кажется, там много версий OmniBrowser. Какой из них является наиболее проверенным (в смысле охвата) или просто без багги?
- http://www.squeaksource.com/PharoOB
- http://source.lukas-renggli.ch/ob21
- http://source.lukas-renggli.ch/omnibrowser
- http://source.wiresong.ca/ob/
- ...и, вероятно, больше
У меня есть несколько вопросов к нему:
- работает ли он с Shout правильно?
- могу ли я загрузить его без AST а рефакторинг двигателя?
- могу ли я загрузить его без морфического?
- Он совместим с любой версией скрипа?
- он загружается в Cuis?
спасибо
3 ответов
Omnibrowser предварительно установлен в Pharo 1.3.
Если вы говорите об установке его в 1.3 ядро, использовать:
Gofer new
squeaksource: 'MetacelloRepository';
package: 'ConfigurationOfOmniBrowser';
load.
((Smalltalk at: #ConfigurationOfOmniBrowser) project perform: #version: with: '1.3') load: #( Dev ).
Что касается других ваших вопросов... Правильно ли это работает с Shout? Да.
могу ли я загрузить его без AST и рефакторинга двигателя? Да. Загрузите группу #Core вместо #Dev.
могу ли я загрузить его без морфического? Нет.
Он совместим с любой версией скрипа? Да. Вы можете загрузить его в Squeak 4.2 и 4.3 с:
Installer ss
project: 'MetacelloRepository';
install: #ConfigurationOfOmniBrowser.
((Smalltalk at: #ConfigurationOfOmniBrowser) project perform: #stableVersion) load: #( Dev ).
хотя, кажется, есть некоторые проблемы с этим. Например, рефакторинги, похоже, не брали, и мне пришлось изменить несколько методов #createCompletionController, когда появились ошибки, на:
createCompletionController
^ OController model: self
он загружается в Cuis? Весьма сомнительно.
хранилище http://source.wiresong.ca/ob/ является официальным репозиторием OmniBrowser для Squeak (с помощью Tool-Builder). Хранилище http://source.lukas-renggli.ch/omnibrowser является официальным репозиторием OmniBrowser для Pharo (с использованием Polymorph). В обоих репозиториях основные пакеты идентичны и регулярно зеркально отражаются.
хранилище http://source.lukas-renggli.ch/ob21 устарело, оно вытекает из эксперимента что я начал много лет назад. Я удалил хранилище, чтобы избежать дальнейшей путаницы. Все остальные репозитории (а также различные конфигурации Metacello) основаны на устаревшем и раздвоенном коде. Код, который вы получаете, не имеет многих улучшений и пропускает важные исправления, которые были реализованы давно.
для Pharo 1.3, Как указывает Филипп, вы должны просто подать в https://github.com/renggli/builder/blob/master/scripts/omnibrowser.st к получите стабильную установку. Крик, eCompletion, рефакторинг двигатель и различные другие расширения являются необязательными. Просто удалите ненужные части из сценария. Технически Морфический тоже не нужен, Но тогда вы не получите пользовательский интерфейс по умолчанию. Есть несколько других интерфейсов, таких как OB-Web
и OB-Mars
что вы может загрузить, но я не знаю, насколько хорошо они работают.
тот же файл-в также работает в скрипе. Вам просто нужно заменить следующее пакеты:
-
Refactoring-Pharo-Platform
СRefactoring-Squeak-Platform
(Если вы хотите рефакторинг двигателя) -
OB-Pharo-Platform
СOB-Squeak-Platform
-
OB-Polymorph
СOB-ToolBuilder
-
Shout
предустановлен в скрипе и не нужен -
eCompletion
не работает в писк (насколько я знаю)
я не думаю, что OmniBrowser работает в Cuis. Его можно заставить работать, предоставив необходимые пакеты платформы и пользовательского интерфейса. OmniBrowser вряд ли всегда поддерживаться в Pharo 1.4 или Pharo 2.0, потому что центральные части отражательной системы (например,MethodReference
и SystemNavigation
) резко изменилась.
Я использую один из http://source.lukas-renggli.ch/omnibrowser потому что я знаю, где живет Лукас; -) Лукас поддерживает его в течение нескольких лет, и у меня никогда не было никаких проблем. Сказав это, он действительно работает только в Pharo 1.3.
- работает ли он с Shout правильно? да
- могу ли я загрузить его без AST и рефакторинга двигателя? да
- могу ли я загрузить его без морфического? нет
- Он совместим с любой версией скрипа? нет, только Pharo 1.3
- оно loadable в Cuis? нет, только Pharo 1.3
Я использую сценарий загрузки из https://github.com/renggli/builder/blob/master/scripts/omnibrowser.st к сожалению, нет конфигурации Metacello.