为Pharo 1.3安装OmniBrowser的脚本?

时间:2012-05-09 14:23:34

标签: smalltalk squeak pharo morphic

请不要在此宣传Nautilus或Glamour。我正在使用Pharo 1.3(没有计划迁移到Pharo 1.4或2.0)。它似乎是OmniBrowser的许多版本。哪一个是最受测试的(在覆盖范围内)或者只是无人驾驶?

我有一些问题:

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

由于

3 个答案:

答案 0 :(得分: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 ).

关于你的其他问题...... 它适用于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 ). 

虽然它似乎有些问题。例如,重构似乎没有采取,我不得不将一些#createCompletionController方法更改为:

createCompletionController
    ^ OController model: self

在Cuis中可以加载吗?非常怀疑。

答案 1 :(得分: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-WebOB-Mars,但我不知道它们目前的效果如何。

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

  • Refactoring-Pharo-PlatformRefactoring-Squeak-Platform(如果您需要重构引擎)
  • OB-Pharo-PlatformOB-Squeak-Platform
  • OB-PolymorphOB-ToolBuilder
  • Shout预装在Squeak中,不需要
  • eCompletion在吱吱声中不起作用(据我所知)

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

答案 2 :(得分:2)

我使用http://source.lukas-renggli.ch/omnibrowser中的那个,因为我知道Lukas住在哪里;-) Lukas已经维护了几年了,我从来没有遇到任何问题。据说它只适用于Pharo 1.3。

  • 是否正确使用Shout?的
  • 我可以在没有AST和重构引擎的情况下加载吗?的
  • 我可以在没有Morphic的情况下加载吗?
  • 它与任何版本的Squeak兼容? ,仅限Pharo 1.3
  • 在Cuis中可以加载吗? ,仅限Pharo 1.3

我使用来自的加载脚本 https://github.com/renggli/builder/blob/master/scripts/omnibrowser.st遗憾的是,没有Metacello配置。