Re: [anjuta-devel] Code assistance plugin



Hi Seb,



On 04/12/2012 11:06 PM, Sébastien Granjoux wrote:
There are some work planned to use clang to improve code assistance in
Anjuta. There is a gedit plugin written in Vala which is already doing
it. But it's not clear for me what has to be done and how to do it.


I have never used it. Trying to compile brings to an error as

make[2]: Entering directory `/home/pescio/gitroot/gedit-code-assistance/src'
make[2]: *** No rule to make target `gcp.vapi', needed by `all'.  Stop.

even if the configure process ends fine.


1. The gedit plugin is written in Vala. Do we plan to add Vala code in
Anjuta or do we have to rewrite it in C?


2. This is a gedit plugin, it cannot be loaded in Anjuta. Do you think
it's better to rewrite it or check if we can load gedit plugin?


3. After a quick look at the code I think the plugin is already split in
3 libraries:
* libgcp is the common part, including the GUI working with GEdit.
* libgcpbackendc is the C backend using clang. It is a GEdit plugin and
depends on libgcp too.
* gcpbackendpython is the python backend. It is a GEdit plugin and
depends on libgcp too.
How do we plan to remove the dependency with GEdit?


4. Which features do we plan to add?
* Auto completion.
* List symbols
* Searching symbols
* Renaming symbols
* Parameter reordering.
* Background compiling and reporting errors while editing the file.
* Display call graph
* Static analysis


please forgive me if I'm wrong, but from what I see, and from what I already wrote here https://bugzilla.gnome.org/show_bug.cgi?id=660025#c5
 clang doesn't support a symbol parsing as it's ctags.
So giving a list of symbols or autocompletion seems difficult to me. Checking the clang manual it doesn't mention anything about the symbols, but it's a static code analyzer, which instead ctags isn't.


5. Several features (auto completion (in C and python), symbol list)
already exist in Anjuta. Do we keep them or is it planned to replace them?


6. Comparing to anjuta-tags for C, I think clang is much better but
anjuta-tags works for much more languages. Moreover an important part of
the symbol-db plugin is the database management which is not existing in
the gedit plugin. I would prefer to keep it. Is it planned?


even if ctags is a dead project, it could detect symbols and their types, which isn't that bad. Some more info would be really appreciated on the scanned symbols, but, again, to me ctags seems the only opensource choice, with its pros and cons.

Anyway to me it seems that they can be used both, they could be complementary but not exclusive.


btw: if someone can help me compiling that plugin it would be great!


Regards,
Massimo




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]