为Pharo 1.3安装OmniBrowser的脚本?

Jua*_*rre 6 smalltalk squeak pharo morphic

请不要在这里推广Nautilus或Glamour.我正在使用Pharo 1.3(没有计划迁移到Pharo 1.4或2.0).它似乎是OmniBrowser的许多版本.哪一个是最受测试的(在覆盖的意义上)或只是无人驾驶?

我有一些问题:

  • 它适用于Shout吗?
  • 我可以在没有AST和重构引擎的情况下加载吗?
  • 我可以在没有Morphic的情况下加载吗?
  • 它与任何版本的Squeak兼容?
  • 它可装载在Cuis?

谢谢

Sea*_*ris 6

Omnibrowser预装在Pharo 1.3中.

如果您正在讨论将其安装在1.3核心中,请使用:

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

至于你的其他问题......它是否适用于Shout?是.

我可以在没有AST和重构引擎的情况下加载吗?是.加载#Core组而不是#Dev.

我可以在没有Morphic的情况下加载吗?没有.

它与任何版本的Squeak兼容?是.您可以将其加载到Squeak 4.2和4.3中:

Installer ss
    project: 'MetacelloRepository';
    install: #ConfigurationOfOmniBrowser.
((Smalltalk at: #ConfigurationOfOmniBrowser) project perform: #stableVersion) load: #( Dev ). 
Run Code Online (Sandbox Code Playgroud)

虽然它似乎有些问题.例如,重构似乎没有采取,我不得不改变一些#createCompletionController方法,因为错误出现,:

createCompletionController
    ^ OController model: self
Run Code Online (Sandbox Code Playgroud)

它可装载在Cuis?非常怀疑.


Luk*_*gli 5

存储库http://source.wiresong.ca/ob/是Squeak的官方OmniBrowser存储库(使用Tool-Builder).存储库http://source.lukas-renggli.ch/omnibrowser是Pharo的官方OmniBrowser存储库(使用Polymorph).在这两个存储库中,核心软件包都是相同的,并且会定期镜像.

存储库http://source.lukas-renggli.ch/ob21已经过时,它源于我多年前开始的实验.我暂时删除了存储库以避免进一步混淆.所有其他存储库(以及各种Metacello配置)都基于过时和分叉代码.你在那里获得的代码缺乏很多改进,并且错过了很久以前实现的重要修复.

对于Pharo 1.3,正如Philippe所指出的那样,你只需要输入https://github.com/renggli/builder/blob/master/scripts/omnibrowser.st来获得稳定的安装.Shout,eCompletion,Refactoring Engine和各种其他扩展是可选的.只需从脚本中删除不需要的部分即可.技术上也不需要Morphic,但是你没有得到默认的用户界面.还有像其他几个接口,OB-Web并且OB-Mars你可以加载,但我不知道他们现在怎么样很好地工作.

同样的文件也适用于Squeak.您只需要替换以下包:

  • Refactoring-Pharo-Platformwith Refactoring-Squeak-Platform(如果你想要重构引擎)
  • OB-Pharo-PlatformOB-Squeak-Platform
  • OB-PolymorphOB-ToolBuilder
  • Shout 已预先安装在Squeak中,不需要
  • eCompletion 在Squeak中不起作用(据我所知)

我不认为OmniBrowser在Cuis工作.可以通过提供必要的平台和UI包来使其工作.Phani 1.4或Pharo 2.0不太可能支持OmniBrowser,因为反射系统的中心部分(例如MethodReferenceSystemNavigation)发生了巨大变化.