and I was wondering where is used the selectionIntervalFor:
To accurately highlight matches (senders, implementers, parse tree matches, lint issues) in the tools.
Then I saw that BrowserEnvironmentWrapper introduces environment (which is good)
'BrowserEnvironment' implements a composite pattern. The variable 'environment' refers to another 'BrowserEnvironment' instance, not to a 'SystemDictionary'.
Now the superclass uses directly Smalltalk globals so may be this would be good to move enviroment above this way we can have a selection of the environemt as in BrowserEnvironment
No, BrowserEnvironment represents the system. In a system with multiple namespaces it represents a merged view of all the classes in the complete system no matter what namespace they are in. If we had namespaces a new subclass (NamespaceEnvironment) could provide a view onto a particular namespace, just like the PackageEnvironment does today.
also have a browser that can browse a remote environment.
This was once possible, but since Class/Metaclass/SmalltalkDictionary moved so far away from RBClass/RBMetaclass/BrowserEnvironment (they were once polymorphic) it is very hard to do anything that works on different models. Lukas -- Lukas Renggli www.lukas-renggli.ch