viernes, 27 de julio de 2007

Ninth Status Report

This week I started by implementing parameter completion, I'm pretty satisfied with the result, the parameter list widget is shown as soon as you press (, and it behaves like it does on C#, you can see other overloads by using the up and down arrow keys and the current parameter is highlighted in blue (this was already provided by MD).

Then I created "global" code completion, when you press ctrl+space it shows a list of available namespaces, classes, functions, structures, constants, etc. This was pretty straight forward since it doesn't have to resolve anything.

Also I changed how the class pad tree is built, instead of creating a single tags file for the entire project and then parsing that, now I create tags for each file (and it's non system #included files) and update the class pad information with this. This is done each time a file is saved.

Here is a screen shot of a C++ project and it's (wacky) class pad tree:

I also wanted to upload some images of the code completion and parameter completion, unfortunately when I press the screenshot key the widgets disappear and don't appear on the screenshots.

Challenges:
Supposedly this week I was going to create a simple parser to keep track of local variables and in what method the caret is currently in so that I can provide completion for something like coord. (and then the completion widget with the available fields would appear), but I found this would not be so simple and it would be very important that it is fast and efficient, so I decided to put it off until I have some information on what a good way to do this would be. So if anyone knows of any code that does something like this that I can look at or has any advice on how I should do this, I would love to know.

1 comentario:

yreynhout dijo...

Maybe try some screen capture software like wink (http://www.debugmode.com/wink/download.php).