ducasse at iam.unibe.ch
Mon May 15 06:51:50 UTC 2006
Thanks for the update.
Colin I guess that you will have to have a look at the new services :)
>>> Romain described all the refactorings with services, and he did
>>> an integration of RB in
>>> OB. Romain?
>>> I could not find your image anymore: the http://www.inf.unisi.ch/
>>> ~robbes/ does not seem to work.
>>> So it would be good to build on top of what he did. This way we
>>> could get the refactorings
>>> everywhere and not only in OB ;)
>> I tried that back when services were first released. There were a
>> couple of issues:
>> - Services is tightly coupled to the keybindings and menu-bar work
>> that Romain did. Those things might be useful as well, but I want
>> to be able to get refactoring support in OB without changing my UI.
>> - Services also relies on fetching and parsing the source code of
>> methods that call into it. This doesn't cause any immediate
>> problems, but it seems fragile, and I don't want to make OB depend
>> on that code.
> well, these problems are solved now. The source code fiddling was
> not clean and is not needed anymore, and the menu-bar has been
> taken out. The services used to depend on the Keymapping package,
> but it does not anymore. A very lightweight shortcut manager is
> included with it.
> To answers Stef's questions from another mail:
>> Romain could you clearly state
>> - what you did
> The framework is done and loaded in 7006 image.
> Tools built on top or adapted to services includes:
> - refactorings & related tools (lint, code finder)
> - a history mechanism supporting back and forward navigation in
> browsers and in message lists
> - a way to store modified but not accepted yet code to ease navigation
> - a navigation mechanism allowing to select any code element and
> navigate from it (as if every piece of code was a hyperlink). Now
> it is triggered by a keyboard shortcut, and not double-click anymore
> - navigation from/to unit tests, and running tests (formerly known
> as browseunit)
> - a "teleporting device"
>> - what is left
> - checking again in the latest image
> - the basic support is working in OB, which means that refactorings
> and tools work. I haven't gotten around to implement a way to
> programmatically change the method browsed by an OmniBrowser, so
> the navigation support is limited
> - some of the navigation possibilities are not really mature yet,
> but they could be left out of the base image
>> - so that people can see and possibly participate
> - I'll send a newer version soon so that people can try it out. I
> have troubles uploading back the image on my site, so I'm afraid
> you will have to wait a bit ..
>> That said, services does seem like a very good approach. It
>> decouples the provider of the service from the mechanism for
>> making it available to the user. It also fits in very nicely with
>> OB's architecture. OB's actions could be generalized into
>> services, and made available to other tools.
> Romain Robbes http://www.inf.unisi.ch/~robbes/
More information about the Squeak-dev