viernes, 29 de junio de 2007

Fifth Status Report

* Accomplished this week:
I talked with Michael and he said it was ok if I put code completion aside for now and started working on code navigation first.

So far the class pad is filled with namespaces (nested or by full name), classes and methods/functions. When you double click on any item you are taken to the definition in the code.

The class pad information is generated using ctags, Mathias recommended I used globals (for code completion) but at least for navigation I'm using ctags because its more easily available in most distributions and for navigation it works great.

Well, not exactly *great*, let me explain. MonoDevelop creates the nodes hierarchy from top to bottom, yet ctags provides the information of its tags the other way around, for example in a class' tag you don't get any information on it's members, but in a member's tag you get information on it's class. This means the code is not as fast as it could be, but in the tests I have made the tree is still built pretty much instantly, and I don't have the fastest of computers. And since nodes are lazily built I'd expect even the largest projects to have their class pad tree to be built in acceptable time.

* Plans for upcoming week:
Finish the class pad including all of it's options.

No hay comentarios: