Re: [anjuta-devel] Code assistance plugin
- From: Moritz Lüdecke <ritze skweez net>
- To: <anjuta-devel-list gnome org>
- Subject: Re: [anjuta-devel] Code assistance plugin
- Date: Fri, 27 Apr 2012 16:19:20 +0200
Hello everybody,
I read the previous mails again and made a little summary:
* It seems to make more sens to write a new clang plugin for anjuta,
oriented on gedit plugin. After this work we can maybe merge the two
plugins.
* libclang should be optional for anjuta. If not available: use ctags
* We have to split symbol-db (At the end of this mail I made a little
sketch to this point):
* All language support plugin calls the symbol-db plugin.
* The symbol-db plugin contains only the database management and some
interface for listing and searching a symbol. It uses some various
parser plugins for each language
* For C, we can have a parser plugin using ctags or a parser plugin
using clang.
But perhaps the database is really not needed for clang, so in this
case the symbol-db plugin could keep only the GUI and the database
management is pushed in the parser plugin using ctags. I don't know.
* As I mentioned we can symbol-db handle like a adapter pattern,
which loads the needed plugins and rules for the accordingly language.
* The language-support plugins push the symbols to the symbol-db. If no
language plugin is available, than symbol-db will use ctags.
* language-support-cpp-java:
splitting it into 2 plugins (one for language independent stuff like
indentation, and one for the C/C++ specific stuff that would eventually
use clang)
* And finally, we should discuss which features of clang we really
need:
* Auto completion.
* Background compiling and reporting errors while editing the file.
* List symbols
* Searching symbols
* Renaming symbols
* Parameter reordering.
* Display call graph
* Static analysis
By the way I've created a wiki page:
https://live.gnome.org/MoritzLuedecke_Anjuta_Clang
Regards,
Moritz
--------------------------------------------------
The language-support plugins push the symbols to the symbol-db. If no
language-plugin is available, than symbol-db will use ctags.
↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
+-------------------------+
| symbol-db |
+-------------------------+
| | | | |
ctags | | | +-------------------+
| | | | something special |
| | | +-------------------+
| | | | |
clang java libvala python etc
| |
+---------------------------+
| language-support-cpp-java |
+---------------------------+
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
splitting it into 2 plugins (one for language independent stuff like
indentation, and one for the C/C++ specific stuff that would eventually
use clang)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]