Please do not promote Nautilus or Glamour here. I'm using Pharo 1.3 (without plans to migrate to Pharo 1.4 or 2.0). It seems to be many version of OmniBrowser out there. Which one is the most tested (in the sense of coverage) or just buggy-free?
I have some questions for it:
Thanks
Omnibrowser is pre-installed in Pharo 1.3.
If you're talking about installing it in 1.3 core, use:
Gofer new
squeaksource: 'MetacelloRepository';
package: 'ConfigurationOfOmniBrowser';
load.
((Smalltalk at: #ConfigurationOfOmniBrowser) project perform: #version: with: '1.3') load: #( Dev ).
As to your other questions... Does it work with Shout correctly? Yes.
Can I load it without the AST and Refactoring Engine? Yes. Load the #Core group instead of #Dev.
Can I load it without Morphic? No.
It is compatible with any version of Squeak? Yes. You can load it into Squeak 4.2 and 4.3 with:
Installer ss
project: 'MetacelloRepository';
install: #ConfigurationOfOmniBrowser.
((Smalltalk at: #ConfigurationOfOmniBrowser) project perform: #stableVersion) load: #( Dev ).
Although there seem to be some problems with it. For instance, refactorings didn't seem to take, and I had to change a few #createCompletionController methods, as errors came up, to:
createCompletionController
^ OController model: self
It is loadable in Cuis? Highly doubtful.
The repository http://source.wiresong.ca/ob/ is the official OmniBrowser repository for Squeak (using Tool-Builder). The repository http://source.lukas-renggli.ch/omnibrowser is the official OmniBrowser repository for Pharo (using Polymorph). In both repositories the core packages are identical and mirrored regularly.
The repository http://source.lukas-renggli.ch/ob21 is outdated, it stems from an experiment that I started many years ago. I removed the repository for now to avoid further confusion. All other repositories (as well as the various Metacello configurations) are based on outdated and forked code. The code you get there lacks many improvements and misses important fixes that had been implemented a long time ago.
For Pharo 1.3, as Philippe points out, you have to merely file-in https://github.com/renggli/builder/blob/master/scripts/omnibrowser.st to get a stable installation. Shout, eCompletion, the Refactoring Engine, and various other extensions are optional. Just remove the parts you don't need from the script. Technically Morphic is not needed either, but then you don't get a default user-interface. There are several other interfaces like OB-Web
and OB-Mars
that you could load, but I don't know how well they currently work.
The same file-in also works in Squeak. You just have to replace the following packages:
Refactoring-Pharo-Platform
with Refactoring-Squeak-Platform
(if you want the refactoring engine)OB-Pharo-Platform
with OB-Squeak-Platform
OB-Polymorph
with OB-ToolBuilder
Shout
is preinstalled in Squeak and not neededeCompletion
does not work in Squeak (as far as I know)I don't think OmniBrowser works in Cuis. It could be made to work by providing the necessary platform and UI packages. OmniBrowser is unlikely to ever be supported in Pharo 1.4 or Pharo 2.0, because central parts of the reflective system (such as MethodReference
and SystemNavigation
) changed drastically.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With