Developer forums (C::B DEVELOPMENT STRICTLY!) > CodeCompletion redesign

Suggestion: Using ctags & sqlite for code completion

<< < (15/16) > >>

Kreso:
c'mon guys, you're almost there :) don't give up now;

eranif:

--- Quote ---c'mon guys, you're almost there Smile don't give up now;
--- End quote ---
I never gave up, so I wrote the library - CodeLite, however, I am not familiar nor have the time to learn C::B code structure and internals to create a plugin.

If anyone here is willing to create a plugin using CodeLite - I will be happy to fix any bug/request for this library (assuming it is not complicated :))

Eran

mitsukai:
this looks very nice.
in time it will be a very good code completion plugin..

as for the "heavy macros";
parse all macros to a database, then when parsing a line, "dereference" the macros  till there are no macro references left.

for example.


--- Code: ---1. //used in GCC i thought
2. #define DLL_EXPORT _attribute_((export))
3. #define CLASS class DLL_EXPORT
4. CLASS someclass
5. {
6. /* some stuff */
7. };

--- End code ---

1. { we are parsing line 4 {
2. find CLASS in macro db
3. found CLASS, {replace
4. class is not a macro
5. found DLL_EXPORT, {replace
6. _attribute_ and export are not macros } }
7. someclass is not a macro }
8. start parsing definitions, declarations etc.
line that it is parsing is 'class _attribute_((export)) someclass'}

this could fix the "heavy macro"  "bug"... just an idea :)

thought it has performance impact... but at least its correct
if you manage the database well, like ordering entries by name u can make a very fast algorithm to search for definitions and declarations.
and if u make it so it only parses on a new project and if u edit a line performance impact should not be noticable when programming (unlike intellisense, blegh)

Pecan:
@Eranif

In the buildinfo.txt for MSW there is an .cbp for sqlite3 and wxsqlite3.

The project for sqlite3 does not compile because there are no source files for it downloaded by SVN(url="http://svn.berlios.de/svnroot/repos/codelite/trunk")

What is the difference, and which project is correct?


--- Code: ---Code::Blocks (CB) workspace and project files are supplied

! two build methods are supplied !

1. CodeLite.workspace
    contains the CB-projects
    * sdk\wxconfig\wx-config-win.cbp
    * sdk\ctags\build\ctags.cbp
    * sdk\sqlite3\build\sqlite3.cbp
    * sdk\wxsqlite3\build\wxsqlite3_wxsqlite3.cbp
    * CodeLite\CodeLite.cbp
    * sdk\wxscintilla\build\wxscintilla.cbp
    * LiteEditor\LiteEditor.cbp



--- End code ---

Pecan:
@Eranif

Using MSW \trunk\CodeLite\CodeLite.cbp, precompiled_header.h has the following:


--- Quote ---#ifdef __WXMSW__
   #ifdef _DEBUG
      #include <crtdbg.h>
      #define DEBUG_NEW new(_NORMAL_BLOCK ,__FILE__, __LINE__)
   #else
      #define DEBUG_NEW new
   #endif
#endif

--- End quote ---

However I cannot find on my xpSp2 wxWidgets2.8.4 system a file named "crtdbg.h"

Was this supposed to be in the svn, or on my system somewhere.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version