3.9Full

stéphane ducasse 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 :)

Stef

>>> 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 ..
>
> 	
> 		Romain
>
>
>> 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.
>>
>> Colin
>
> --
> Romain Robbes          http://www.inf.unisi.ch/~robbes/
>
>
>
>




More information about the Squeak-dev mailing list