libclang is likely to be bad idea for GNOME because the complexity of gtkmm. As far as I know, clang itself does not support incremental parsing yet, and a simple C++ source (using boost or gtkmm) after preprocessing can up to the size of 10MB. Clang might have improved performance now, but last time I tired, it still takes around 1 second to complete a method when using gtkmm, (unless you choose to use PCH, which had a lot of other restrictions). Also, clang can't auto-complete or index macros.
Clang is pretty cool stuff, but using them as live completion/parser is likely to be bad idea though. IDEs in the Qt world like kdevelop and QtCreator wrote their own C++ lexer/parser and type inference system, but by no means that's an easy task. Parsing Python and Javascript is easier, but code completion and type inference would be really hard to do because of duck typing. On Sun, Jan 5, 2014 at 6:52 PM, Maciej Piechotka <[email protected]> wrote: > On Sun, 2014-01-05 at 17:55 -0500, Mike wrote: >> I understand we need a IDE build on top of gtk, and I also want to see >> that personally. >> >> However building a usable IDE is very hard and complex: live parsing >> and indexing accurately takes significant amount of effort.Especially >> indexing and parsing complex language like C++ (which I believe a lot >> of developers would want this IDE to support) . Also, core features >> such as code completion will be even hard for language like Python. I >> guess that's why there are users perfer to use "ugly" IDE like >> netbeans rather than a good looking Anjuta. >> > > Wouldn't libclang solve the 'hard' parts you mentioned for C++? I > believe there was a GUADEC talk[1] and there seems to be at least some > work for gedit already[2]. > > (That does not solve the problem for Python, JavaScript etc. of course) > > [1] https://www.guadec.org/session/clang-llvm-and-gnome/ > [2] https://git.gnome.org/browse/gedit-code-assistance > -- Thanks Mike _______________________________________________ desktop-devel-list mailing list [email protected] https://mail.gnome.org/mailman/listinfo/desktop-devel-list
