icomplete-general Mailing List for IComplete - A C++ code completion system
Brought to you by:
maxauthority
You can subscribe to this list here.
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(2) |
Feb
|
Mar
|
Apr
(5) |
May
(1) |
Jun
|
Jul
|
Aug
(3) |
Sep
|
Oct
|
Nov
|
Dec
|
2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(4) |
Aug
|
Sep
(1) |
Oct
|
Nov
(2) |
Dec
|
From: MaxAuthority <max...@us...> - 2007-11-01 17:31:00
|
Update of /cvsroot/icomplete/icomplete/doc In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv18744/doc Modified Files: index.html Log Message: probably last checkin, automatic completions for . and -> Index: index.html =================================================================== RCS file: /cvsroot/icomplete/icomplete/doc/index.html,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** index.html 16 Sep 2007 02:46:56 -0000 1.4 --- index.html 1 Nov 2007 17:30:57 -0000 1.5 *************** *** 19,24 **** <td> <p><b> ! I am searching for new developers, since I am currently working on a new <a href="http://vimperator.mozdev.org">firefox plugin</a>, which will finally make ! using firefox feel like using Vim. So time is very little now, I only have time to apply your patches to icomplete. Please write an <a href=mailto:stu...@gm...>email to me</a>, if you want a sourceforge account to keep icomplete development running. --- 19,26 ---- <td> <p><b> ! I am searching for new developers/maintainers, since I am currently ! working on a new <a href="http://vimperator.mozdev.org">firefox plugin</a>, ! which will finally make using firefox feel like ! using Vim. So, I have no interest in maintaining icomplete anymore. Please write an <a href=mailto:stu...@gm...>email to me</a>, if you want a sourceforge account to keep icomplete development running. *************** *** 62,68 **** <h2><a name="download">Download</a></h2> ! Current version 0.4<br> ! All files can be downloaded from the SourceForge site: <a href=https://sourceforge.net/project/showfiles.php?group_id=140085>http://sourceforge.net/projects/icomplete/</a><br><br> ! There is also an entry in the vim script repository: <a href=http://www.vim.org/scripts/script.php?script_id=1265>http://www.vim.org/scripts/script.php?script_id=1265</a><br><br> IComplete is completely free software, however if you appreciate my work you can donate on the SourceForge account: <br><a href="http://sourceforge.net/donate/index.php?group_id=140085"><img src="http://images.sourceforge.net/images/project-support.jpg" width="88" height="32" border="0" alt="Support This Project" /> </a> --- 64,70 ---- <h2><a name="download">Download</a></h2> ! Current version 0.5<br> ! <!--All files can be downloaded from the SourceForge site: <a href=https://sourceforge.net/project/showfiles.php?group_id=140085>http://sourceforge.net/projects/icomplete/</a><br><br>--> ! There is a corresponding entry in the vim script repository: <a href=http://www.vim.org/scripts/script.php?script_id=1265>http://www.vim.org/scripts/script.php?script_id=1265</a><br><br> IComplete is completely free software, however if you appreciate my work you can donate on the SourceForge account: <br><a href="http://sourceforge.net/donate/index.php?group_id=140085"><img src="http://images.sourceforge.net/images/project-support.jpg" width="88" height="32" border="0" alt="Support This Project" /> </a> |
From: MaxAuthority <max...@us...> - 2007-11-01 17:30:59
|
Update of /cvsroot/icomplete/icomplete In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv18744 Modified Files: AUTHORS ChangeLog cppcomplete.vim icomplete.vim Log Message: probably last checkin, automatic completions for . and -> Index: ChangeLog =================================================================== RCS file: /cvsroot/icomplete/icomplete/ChangeLog,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** ChangeLog 4 Jul 2007 10:59:10 -0000 1.6 --- ChangeLog 1 Nov 2007 17:30:57 -0000 1.7 *************** *** 1,2 **** --- 1,5 ---- + Nov 01, 2007: + * IMPORTANT: Last and final release of icomplete, use OmniCppComplete in future + * autocompletion on . or -> (patch by Sanjaya Karunase) * add ability to change name of .icomplete_taglist (Tim Murison) * fixed some segfaults (thanks Johannes Winkelmann) Index: cppcomplete.vim =================================================================== RCS file: /cvsroot/icomplete/icomplete/cppcomplete.vim,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** cppcomplete.vim 4 Aug 2006 23:11:43 -0000 1.3 --- cppcomplete.vim 1 Nov 2007 17:30:57 -0000 1.4 *************** *** 5,9 **** " This function is used for the 'omnifunc' option. ! function! cppcomplete#Complete(findstart, base) if a:findstart let line = getline('.') --- 5,10 ---- " This function is used for the 'omnifunc' option. ! function! cppcomplete#CompleteMain(findstart, base) ! if a:findstart let line = getline('.') *************** *** 49,65 **** endif - " check if set g:cppcomplete_listfile - if exists('g:cppcomplete_listfile') - let s:listfileparam = " --listfile=" . g:cppcomplete_listfile - else - let s:listfileparam = "" - endif - " call icomplete and store the result in the array " java and c# users must build their tags file manually if &ft == "java" || &ft == "cs" ! let cmd = "icomplete --cache=0 -c " . s:cppcomplete_col . " -l " . s:cppcomplete_line . s:tagparam . " " . s:listfileparam . " " . s:cppcomplete_tmpfile else ! let cmd = "icomplete --cache=1 -c " . s:cppcomplete_col . " -l " . s:cppcomplete_line . s:tagparam . " " . s:listfileparam . " " . s:cppcomplete_tmpfile endif --- 50,59 ---- endif " call icomplete and store the result in the array " java and c# users must build their tags file manually if &ft == "java" || &ft == "cs" ! let cmd = "icomplete --cache=0 -c " . s:cppcomplete_col . " -l " . s:cppcomplete_line . s:tagparam . " " . s:cppcomplete_tmpfile else ! let cmd = "icomplete --cache=1 -c " . s:cppcomplete_col . " -l " . s:cppcomplete_line . s:tagparam . " " . s:cppcomplete_tmpfile endif *************** *** 94,95 **** --- 88,121 ---- endfunc + + function! cppcomplete#Complete() + let omni_mapping = "\<C-X>\<C-O>" + return omni_mapping + endfunc + + function! cppcomplete#CompleteDot() + return '.' . cppcomplete#Complete() + endfunc + + function! cppcomplete#CompleteArrow() + let index = col('.') - 2 + if index >= 0 + let char = getline('.')[index] + if char == '-' + return '>' . cppcomplete#Complete() + endif + endif + return '>' + endfunc + + function! cppcomplete#CompleteColon() + let index = col('.') - 2 + if index >= 0 + let char = getline('.')[index] + if char == ':' + return ':' . cppcomplete#Complete() + endif + endif + return ':' + endfunc + Index: AUTHORS =================================================================== RCS file: /cvsroot/icomplete/icomplete/AUTHORS,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** AUTHORS 4 Aug 2006 23:11:43 -0000 1.4 --- AUTHORS 1 Nov 2007 17:30:57 -0000 1.5 *************** *** 12,15 **** --- 12,16 ---- - Johannes Winkelmann - Tim Murison + - Sanjaya Karunase Donators: Index: icomplete.vim =================================================================== RCS file: /cvsroot/icomplete/icomplete/icomplete.vim,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** icomplete.vim 19 Nov 2005 17:25:37 -0000 1.1.1.1 --- icomplete.vim 1 Nov 2007 17:30:57 -0000 1.2 *************** *** 9,14 **** end - " Only do this part when compiled with support for autocommands. if has("autocmd") ! autocmd Filetype cpp,c,java,cs set omnifunc=cppcomplete#Complete endif --- 9,18 ---- end if has("autocmd") ! autocmd FileType cpp,c set omnifunc=cppcomplete#CompleteMain ! autocmd FileType cpp,c inoremap <expr> <C-X><C-O> cppcomplete#Complete() ! autocmd FileType cpp,c inoremap <expr> . cppcomplete#CompleteDot() ! autocmd FileType cpp,c inoremap <expr> > cppcomplete#CompleteArrow() ! autocmd FileType cpp,c inoremap <expr> : cppcomplete#CompleteColon() endif + |
From: MaxAuthority <max...@us...> - 2007-09-16 02:46:57
|
Update of /cvsroot/icomplete/icomplete/doc In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv17491 Modified Files: index.html Log Message: updated homepage Index: index.html =================================================================== RCS file: /cvsroot/icomplete/icomplete/doc/index.html,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** index.html 4 Jul 2007 10:59:10 -0000 1.3 --- index.html 16 Sep 2007 02:46:56 -0000 1.4 *************** *** 19,23 **** <td> <p><b> ! I am searching for new developers, since I am currently working on a new firefox plugin, which will finally make using firefox feel like using Vim. So time is very little now, I only have time to apply your patches to icomplete. --- 19,23 ---- <td> <p><b> ! I am searching for new developers, since I am currently working on a new <a href="http://vimperator.mozdev.org">firefox plugin</a>, which will finally make using firefox feel like using Vim. So time is very little now, I only have time to apply your patches to icomplete. |
From: MaxAuthority <max...@us...> - 2007-07-04 10:59:16
|
Update of /cvsroot/icomplete/icomplete/src In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv19350/src Modified Files: tree.c Log Message: commit long pending changes and fix a segfault (by Johannes Winkelmann) Index: tree.c =================================================================== RCS file: /cvsroot/icomplete/icomplete/src/tree.c,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** tree.c 20 Dec 2005 02:44:36 -0000 1.8 --- tree.c 4 Jul 2007 10:59:10 -0000 1.9 *************** *** 14,17 **** --- 14,19 ---- void free_tree(Tree *t) { + if(NULL==t) + return; List *l=alloc_list(NULL); if(NULL==l) |
From: MaxAuthority <max...@us...> - 2007-07-04 10:59:13
|
Update of /cvsroot/icomplete/icomplete/doc In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv19350/doc Modified Files: index.html Log Message: commit long pending changes and fix a segfault (by Johannes Winkelmann) Index: index.html =================================================================== RCS file: /cvsroot/icomplete/icomplete/doc/index.html,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** index.html 4 Aug 2006 23:11:43 -0000 1.2 --- index.html 4 Jul 2007 10:59:10 -0000 1.3 *************** *** 16,19 **** --- 16,33 ---- </p> + <table border="1" bgcolor="#FFD0D0"> + <td> + <p><b> + I am searching for new developers, since I am currently working on a new firefox plugin, which will finally make + using firefox feel like using Vim. So time is very little now, I only have time to apply your patches to icomplete. + + Please write an <a href=mailto:stu...@gm...>email to me</a>, if you want a sourceforge account to keep icomplete development running. + Otherwise there is a new vim plugin for C++ completion which works quite well: + <a href="http://www.vim.org/scripts/script.php?script_id=1520">OmniCppComplete</a> + </b></p> + </td> + </table> + + <!-- toc --> <center> |
From: MaxAuthority <max...@us...> - 2007-07-04 10:59:12
|
Update of /cvsroot/icomplete/icomplete In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv19350 Modified Files: ChangeLog Log Message: commit long pending changes and fix a segfault (by Johannes Winkelmann) Index: ChangeLog =================================================================== RCS file: /cvsroot/icomplete/icomplete/ChangeLog,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** ChangeLog 4 Aug 2006 23:11:43 -0000 1.5 --- ChangeLog 4 Jul 2007 10:59:10 -0000 1.6 *************** *** 1,4 **** * add ability to change name of .icomplete_taglist (Tim Murison) ! * fixed a segfault (thanks Johannes Winkelmann) * cleaned up the doc --- 1,4 ---- * add ability to change name of .icomplete_taglist (Tim Murison) ! * fixed some segfaults (thanks Johannes Winkelmann) * cleaned up the doc |
From: MaxAuthority <max...@us...> - 2007-07-04 10:59:12
|
Update of /cvsroot/icomplete/icomplete/tests In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv19350/tests Modified Files: class_test.cpp inheritance.cpp Log Message: commit long pending changes and fix a segfault (by Johannes Winkelmann) Index: inheritance.cpp =================================================================== RCS file: /cvsroot/icomplete/icomplete/tests/inheritance.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** inheritance.cpp 20 Nov 2005 01:02:53 -0000 1.1 --- inheritance.cpp 4 Jul 2007 10:59:10 -0000 1.2 *************** *** 31,33 **** --- 31,34 ---- { Car *lamborghini = new Car(); + lamborghini. } Index: class_test.cpp =================================================================== RCS file: /cvsroot/icomplete/icomplete/tests/class_test.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** class_test.cpp 20 Nov 2005 01:02:53 -0000 1.1 --- class_test.cpp 4 Jul 2007 10:59:10 -0000 1.2 *************** *** 59,80 **** - int main() - { - MyClass cl; - - F - - - - - - int foo() { MyClass **cl; int x; cl = (MyClass**)calloc(10, sizeof(MyClass)); mystruct s; ! s.x; fprintf (stderr, "DEBUG: %x\n", cl); x = (*(cl)[2]).a; --- 59,70 ---- int foo() { MyClass **cl; + cl. int x; cl = (MyClass**)calloc(10, sizeof(MyClass)); mystruct s; ! s.; fprintf (stderr, "DEBUG: %x\n", cl); x = (*(cl)[2]).a; |
From: MaxAuthority <max...@us...> - 2006-08-04 23:11:47
|
Update of /cvsroot/icomplete/icomplete/doc In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv13642/doc Modified Files: index.html Log Message: don't hardcore .icomplete_taglist name Index: index.html =================================================================== RCS file: /cvsroot/icomplete/icomplete/doc/index.html,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** index.html 20 Nov 2005 01:02:53 -0000 1.1 --- index.html 4 Aug 2006 23:11:43 -0000 1.2 *************** *** 41,44 **** --- 41,45 ---- <li>Works in both console and graphical vim</li> <li>Uses a cache system for increased speed.</li> + <li>Full Namespace support</li> </ul> <p> *************** *** 47,51 **** <h2><a name="download">Download</a></h2> ! Current version 0.3<br> All files can be downloaded from the SourceForge site: <a href=https://sourceforge.net/project/showfiles.php?group_id=140085>http://sourceforge.net/projects/icomplete/</a><br><br> There is also an entry in the vim script repository: <a href=http://www.vim.org/scripts/script.php?script_id=1265>http://www.vim.org/scripts/script.php?script_id=1265</a><br><br> --- 48,52 ---- <h2><a name="download">Download</a></h2> ! Current version 0.4<br> All files can be downloaded from the SourceForge site: <a href=https://sourceforge.net/project/showfiles.php?group_id=140085>http://sourceforge.net/projects/icomplete/</a><br><br> There is also an entry in the vim script repository: <a href=http://www.vim.org/scripts/script.php?script_id=1265>http://www.vim.org/scripts/script.php?script_id=1265</a><br><br> *************** *** 62,66 **** <dt><b>- <a href=http://www.vim.org>Vim</a></b></dt> <dd>Not a real requirement, but <code>IComplete</code> is much more useful when used from within vim.<br> ! Version 7.0 newer than 20051004 is required, since it provides a framework for context sensitve completions.<br> </dl> --- 63,67 ---- <dt><b>- <a href=http://www.vim.org>Vim</a></b></dt> <dd>Not a real requirement, but <code>IComplete</code> is much more useful when used from within vim.<br> ! Version 7.0 is required, since it provides a framework for context sensitve completions.<br> </dl> *************** *** 100,104 **** /usr/include /usr/qt/3/include ! /usr/kde/3.4/include [cpp_macros] --- 101,105 ---- /usr/include /usr/qt/3/include ! /usr/kde/3.5/include [cpp_macros] *************** *** 135,140 **** This will put a <+ and +> around each parameter, and you can select one with <b>Ctrl-J</b> and <b>Ctrl-K</b>. Then you can just write "over" the selected portion, replacing the definition with real code. ! For this to work you need a <code>template.vim</code> script which comes included with the <a href="http://vim-latex.sourceforge.net/">LaTeX-Suite</a>. ! For your convinience I put the file also here: <a href="templates.vim">templates.vim</a> <h3>Java and C# support</h3> --- 136,140 ---- This will put a <+ and +> around each parameter, and you can select one with <b>Ctrl-J</b> and <b>Ctrl-K</b>. Then you can just write "over" the selected portion, replacing the definition with real code. ! For this to work you need a working installation of the <a href="http://vim-latex.sourceforge.net/">LaTeX-Suite</a>. <h3>Java and C# support</h3> *************** *** 200,204 **** <A href="http://sourceforge.net"> <IMG src="http://sourceforge.net/sflogo.php?group_id=140085&type=5" width="210" height="62" border="0" alt="SourceForge.net Logo" /></A><br> <br> ! Last update: 2005-10-23</p> </body> </html> --- 200,204 ---- <A href="http://sourceforge.net"> <IMG src="http://sourceforge.net/sflogo.php?group_id=140085&type=5" width="210" height="62" border="0" alt="SourceForge.net Logo" /></A><br> <br> ! Last update: 2006-05-11</p> </body> </html> |
From: MaxAuthority <max...@us...> - 2006-08-04 23:11:46
|
Update of /cvsroot/icomplete/icomplete/src In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv13642/src Modified Files: list.c main.c options.c options.h parse.c Log Message: don't hardcore .icomplete_taglist name Index: options.h =================================================================== RCS file: /cvsroot/icomplete/icomplete/src/options.h,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** options.h 7 Apr 2006 00:15:08 -0000 1.3 --- options.h 4 Aug 2006 23:11:43 -0000 1.4 *************** *** 27,30 **** --- 27,31 ---- extern char* opt_lang; ///< Language (defaults to c++) extern char* opt_tagfile; ///< Tag file (defaults to tags) + extern char* opt_listfile; ///< file used to store filenames to feed to ctags extern cache_e opt_cache; ///< Wether we should build cache or not extern const char* opt_progname; ///< argv[0] Index: options.c =================================================================== RCS file: /cvsroot/icomplete/icomplete/src/options.c,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** options.c 7 Apr 2006 00:15:08 -0000 1.4 --- options.c 4 Aug 2006 23:11:43 -0000 1.5 *************** *** 16,19 **** --- 16,20 ---- char *opt_lang = "c++"; char *opt_tagfile = "tags"; + char *opt_listfile = ".icomplete_taglist"; cache_e opt_cache = CACHE_AUTO; const char *opt_progname = PACKAGE; *************** *** 35,38 **** --- 36,40 ---- {"lang" , 1 , 0 , 'g' } , {"tagfile" , 1 , 0 , 't' } , + {"listfile" , 1 , 0 , 's' } , {"version" , 0 , 0 , 'v' } , {0 , 0 , 0 , 0 } *************** *** 86,89 **** --- 88,95 ---- break; + case 's': + opt_listfile = optarg; + break; + case 't': opt_tagfile = optarg; Index: list.c =================================================================== RCS file: /cvsroot/icomplete/icomplete/src/list.c,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** list.c 20 Dec 2005 02:44:36 -0000 1.1 --- list.c 4 Aug 2006 23:11:43 -0000 1.2 *************** *** 66,69 **** --- 66,70 ---- if(NULL==tmp) return NULL; + tmp->item=(void *)item; tmp->next=NULL; Index: main.c =================================================================== RCS file: /cvsroot/icomplete/icomplete/src/main.c,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** main.c 19 Apr 2006 17:32:15 -0000 1.7 --- main.c 4 Aug 2006 23:11:43 -0000 1.8 *************** *** 216,220 **** // create an .icomplete_taglist file to feed the exuberant-ctags program with filenames Tree *includes = build_include_tree(NULL, opt_filename); ! FILE *taglist = fopen(".icomplete_taglist", "w"); if (includes && taglist) { --- 216,221 ---- // create an .icomplete_taglist file to feed the exuberant-ctags program with filenames Tree *includes = build_include_tree(NULL, opt_filename); ! FILE *taglist = fopen(opt_listfile, "w"); ! printf("%s - %s - %x - %x\n", opt_listfile, opt_filename, includes, taglist); if (includes && taglist) { *************** *** 236,240 **** } ! char **arguments = (char**)malloc(sizeof(char*) * (10 + (config.cpp_macros->size*2))); if (arguments == NULL) bailout ("Could not get memory in build_tags_file() for char **arguments"); --- 237,243 ---- } ! // 10, because we have argmuents[0-8] + the terminating NULL ! /*char **arguments = (char**)malloc(sizeof(char*) * (10 + (config.cpp_macros->size*2)));*/ ! char **arguments = (char**)calloc(sizeof(char*), 10 + (config.cpp_macros->size*2)); if (arguments == NULL) bailout ("Could not get memory in build_tags_file() for char **arguments"); *************** *** 246,266 **** arguments[4]="--c++-kinds=cdefgmnpstuvx"; arguments[5]="-L"; ! arguments[6]=".icomplete_taglist"; arguments[7]="-f"; arguments[8]=opt_tagfile; ! int i = 0; ! List_item *it=config.cpp_macros->first; while(NULL!=it) { ! arguments[i+9]="-I"; ! arguments[i+10]=it->item; it=it->next; i+=2; } ! arguments[i+7]=NULL; #if DEBUG >= 2 printf("CALLING: "); ! for (int x = 0; x <= i+7; x++) printf("%s ", arguments[x]); printf("\n"); --- 249,269 ---- arguments[4]="--c++-kinds=cdefgmnpstuvx"; arguments[5]="-L"; ! arguments[6]=opt_listfile; arguments[7]="-f"; arguments[8]=opt_tagfile; ! int i = 8; ! List_item *it=config.cpp_macros->first; while(NULL!=it) { ! arguments[++i]="-I"; ! arguments[++i]=it->item; it=it->next; i+=2; } ! arguments[++i] = NULL; #if DEBUG >= 2 printf("CALLING: "); ! for (int x = 0; x <= i; x++) printf("%s ", arguments[x]); printf("\n"); *************** *** 270,281 **** { perror(CTAGS_CMD); ! unlink(".icomplete_taglist"); bailout("Make sure that exuberant-ctags is correctly installed.\n\nSometimes the executable name is not `ctags', then you need to rebuild the `icomplete' package like this:\n\n# CTAGS_CMD=exuberant-ctags ./configure\n# make\n# sudo make install"); } free_tree(includes); ! printf("%d\n", unlink(".icomplete_taglist")); } else ! bailout ("Error creating .icomplete_taglist file. Check permissions"); break; } --- 273,284 ---- { perror(CTAGS_CMD); ! unlink(opt_listfile); bailout("Make sure that exuberant-ctags is correctly installed.\n\nSometimes the executable name is not `ctags', then you need to rebuild the `icomplete' package like this:\n\n# CTAGS_CMD=exuberant-ctags ./configure\n# make\n# sudo make install"); } free_tree(includes); ! printf("%d\n", unlink(opt_listfile)); } else ! bailout ("Error creating taglist file.\nCheck permissions and the include directories in your .icompleterc file"); break; } Index: parse.c =================================================================== RCS file: /cvsroot/icomplete/icomplete/src/parse.c,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** parse.c 7 Apr 2006 00:15:08 -0000 1.7 --- parse.c 4 Aug 2006 23:11:43 -0000 1.8 *************** *** 166,170 **** char *type = extract_type_qualifier(pattern, ident); free(pattern); ! free_tree(tree); tagsClose(tfile); return type; --- 166,171 ---- char *type = extract_type_qualifier(pattern, ident); free(pattern); ! if (tree) ! free_tree(tree); tagsClose(tfile); return type; |
From: MaxAuthority <max...@us...> - 2006-08-04 23:11:46
|
Update of /cvsroot/icomplete/icomplete In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv13642 Modified Files: AUTHORS ChangeLog TODO cppcomplete.vim Log Message: don't hardcore .icomplete_taglist name Index: cppcomplete.vim =================================================================== RCS file: /cvsroot/icomplete/icomplete/cppcomplete.vim,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** cppcomplete.vim 7 Apr 2006 00:15:08 -0000 1.2 --- cppcomplete.vim 4 Aug 2006 23:11:43 -0000 1.3 *************** *** 49,58 **** endif " call icomplete and store the result in the array " java and c# users must build their tags file manually if &ft == "java" || &ft == "cs" ! let cmd = "icomplete --cache=0 -c " . s:cppcomplete_col . " -l " . s:cppcomplete_line . s:tagparam . " " . s:cppcomplete_tmpfile else ! let cmd = "icomplete --cache=1 -c " . s:cppcomplete_col . " -l " . s:cppcomplete_line . s:tagparam . " " . s:cppcomplete_tmpfile endif --- 49,65 ---- endif + " check if set g:cppcomplete_listfile + if exists('g:cppcomplete_listfile') + let s:listfileparam = " --listfile=" . g:cppcomplete_listfile + else + let s:listfileparam = "" + endif + " call icomplete and store the result in the array " java and c# users must build their tags file manually if &ft == "java" || &ft == "cs" ! let cmd = "icomplete --cache=0 -c " . s:cppcomplete_col . " -l " . s:cppcomplete_line . s:tagparam . " " . s:listfileparam . " " . s:cppcomplete_tmpfile else ! let cmd = "icomplete --cache=1 -c " . s:cppcomplete_col . " -l " . s:cppcomplete_line . s:tagparam . " " . s:listfileparam . " " . s:cppcomplete_tmpfile endif Index: TODO =================================================================== RCS file: /cvsroot/icomplete/icomplete/TODO,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** TODO 19 Nov 2005 17:41:08 -0000 1.2 --- TODO 4 Aug 2006 23:11:43 -0000 1.3 *************** *** 1,5 **** - ignore comments - - better :: support - after writing "," in a function call, relist the parameters - better java support - sorting in the binary? (would fix sorting for entries where just the case differs) --- 1,6 ---- - ignore comments - after writing "," in a function call, relist the parameters - better java support - sorting in the binary? (would fix sorting for entries where just the case differs) + - what about a new -I option, to give directories where to look for included + files (in addition to the ones given in the configuration file)? Index: AUTHORS =================================================================== RCS file: /cvsroot/icomplete/icomplete/AUTHORS,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** AUTHORS 19 Apr 2006 17:32:15 -0000 1.3 --- AUTHORS 4 Aug 2006 23:11:43 -0000 1.4 *************** *** 10,13 **** --- 10,15 ---- - Maxime Coste - Yuxuan Wang + - Johannes Winkelmann + - Tim Murison Donators: Index: ChangeLog =================================================================== RCS file: /cvsroot/icomplete/icomplete/ChangeLog,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** ChangeLog 19 Apr 2006 17:32:15 -0000 1.4 --- ChangeLog 4 Aug 2006 23:11:43 -0000 1.5 *************** *** 1,2 **** --- 1,6 ---- + * add ability to change name of .icomplete_taglist (Tim Murison) + * fixed a segfault (thanks Johannes Winkelmann) + * cleaned up the doc + Apr 17, 2006: * version 0.4 |
From: Massimo C. <ma...@em...> - 2006-05-16 12:55:56
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi all, this mail to notify you that IComplete code and ideas have been implemented into Anjuta 2.0.2, which has just been released. more infos here http://sourceforge.net/forum/forum.php?forum_id=569375 regards, Massimo -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.3 (GNU/Linux) iD8DBQFEacvhFa1SLMUFyowRAmu6AJ9z0dPM3JTidQYBQjVMBaDGkDGh7ACgni6G +aaLPeqyrKqUhAkmsoKBGE8= =7kuY -----END PGP SIGNATURE----- |
From: MaxAuthority <max...@us...> - 2006-04-19 17:32:23
|
Update of /cvsroot/icomplete/icomplete/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15721/src Modified Files: main.c treeold.c Log Message: Version 0.4 released, with namespace support Index: treeold.c =================================================================== RCS file: /cvsroot/icomplete/icomplete/src/treeold.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** treeold.c 7 Apr 2006 00:15:08 -0000 1.2 --- treeold.c 19 Apr 2006 17:32:15 -0000 1.3 *************** *** 20,23 **** --- 20,27 ---- #include "treeold.h" + // added by maxime COSTE, see the remark in main.c about this + extern char* g_used_namespaces; + extern char* g_scope_namespaces; + //brc: new subroutine static void add_tree_child (Tree* tree, const char* class) *************** *** 59,71 **** Tree *tree = root; ! //brc: namespace workaround: if no namespace is present, try to find the class ! // also in std:: ! if (!nspace) { char buffer[512]; ! strcpy(buffer,"std::"); ! strcat(buffer,cname); ! add_tree_child(tree,buffer); } int i = 0; // counters if (tfile && info.status.opened) --- 63,126 ---- Tree *tree = root; ! // if namespaces were listed, try also to find classes in these namespaces ! // NOTE : there is a case where this wont work : ! // namespace blah { namespace foo { ... } } in a header ! // using namespace blah; foo::thing in the file ! ! // first, scope namespaces, these may be chained (i.e. nsp1::nsp2::nsp3...) ! // but in order (I mean, if nsp1 appears first in the file, I dont think ! // nsp2::nsp1 may exist ! if (g_scope_namespaces) { char buffer[512]; ! // remember that namespaces is a zero separated string list terminated ! // by a double zero ! for (char* pointer = g_scope_namespaces; *pointer != 0; ! pointer += strlen(pointer)+1) { ! // verify that the namespace is not already in the name being tested ! if (!strstr(class, pointer)) ! { ! // please note that 254 + 2 + 256 = 511... ! strncpy (buffer, pointer, 254); ! strncat (buffer, "::", 2); ! strncat (buffer, class, 255); ! #if DEBUG >= 2 ! printf ("testing class %s\n", buffer); ! #endif ! add_tree_child (tree, buffer); ! } ! else ! { ! // if this namespace is already in the name, then, either ! // next namespaces are already and then there is no point in ! // continuing, either they arent, and if we continue we will ! // test something like "nsp2::nsp1" even if nsp2 cannot be ! // in nsp1 ! break; ! } ! } } + // used namespaces, these cannot be chained because they shall + // be complete (i.e. you must type "using namespace nsp1::nsp2::nsp3) + // and so in the namespace list I already got "nsp1::nsp2::nsp3" + if (g_used_namespaces && !nspace) + { + char buffer[512]; + // remember that namespaces is a zero separated string list terminated + // by a double zero + for (char* pointer = g_used_namespaces; *pointer != 0; + pointer += strlen(pointer)+1) { + // please note that 254 + 2 + 256 = 511... + strncpy (buffer, pointer, 254); + strncat (buffer, "::", 2); + strncat (buffer, class, 255); + #if DEBUG >= 2 + printf ("testing class %s\n", buffer); + #endif + add_tree_child (tree, buffer); + } + + } + int i = 0; // counters if (tfile && info.status.opened) Index: main.c =================================================================== RCS file: /cvsroot/icomplete/icomplete/src/main.c,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** main.c 7 Apr 2006 00:15:08 -0000 1.6 --- main.c 19 Apr 2006 17:32:15 -0000 1.7 *************** *** 16,19 **** --- 16,34 ---- #include "treeold.h" + // added by maxime COSTE, I know global variables are evil, but + // it seems to be much cleaner than changing a lot of function definition + // just to add a namespace parameter they will pass to other functions they + // will call which will again pass it to other functions until we reach the + // ones which needs the list of namespaces (and I also know my english is poor) + // + // used namespaces and scope namespaces are separated for speed reason : + // scope namespaces may be imbricated so we must test possibilities like + // nsp1::nsp2 and nsp2::nsp1 (in fact we could parse and see wich is the + // good one) + // used namespaces shall be okay cause one must write + // "using namespace foo::bar" + char* g_used_namespaces; + char* g_scope_namespaces; + /* open the supplied filename and read it until given line and column number * returning the malloc'ed buffer *************** *** 101,104 **** --- 116,205 ---- } + // return a zero separated list of strings containing + // all the first substring match of the regex in the buffer + // the substrings are in the order they are found in the buffer + char* list_substrings (char* buf, regex_t* re) + { + regmatch_t pm[2]; + memset (&pm[0], -1, sizeof(pm)); + + char* substrings; + long pos = 0; + substrings = malloc (10); + + while (regexec (re, buf, 2, &pm[0], 0) == 0) /* while matches found... */ + { + int len = pm[1].rm_eo - pm[1].rm_so; + + substrings = realloc (substrings, pos+len+2); + + strncpy (substrings+pos, buf + pm[1].rm_so, len); + *(substrings+pos+len) = 0; + #if DEBUG >= 2 + printf ("adding substring %s \n", substrings+pos); + #endif + pos += len+1; + + buf += pm[0].rm_eo; + } + *(substrings+pos) = 0; + + + return substrings; + + } + + // list the namespaces in the file, putting all the used namespace + // in used_namespaces as a zero separated string list, and all + // namespaces of the current scope in scope_namespaces + void list_namespaces (char* buf, char** used_namespaces, + char** scope_namespaces) + { + regex_t re; + // find all using namespace * and add it to the used_namespace list + const char* pattern = + "using[ \t\n]+namespace[ \t\n]+([a-zA-Z0-9_:]+)"; + + regcomp (&re, pattern, REG_EXTENDED); + *used_namespaces = list_substrings (buf, &re); + regfree (&re); + + // special case : the std namespaces, on my computer + // with gcc 3.4.6, the glibcxx uses _GLIBCXX_STD + // how _GLIBCXX_STD works is just too complicated for + // the -I option of ctags, that is why I add this + // hack. + unsigned size = 0; + int std_used = 0; + for (char* pointer = *used_namespaces; *pointer != 0; + pointer += strlen (pointer)+1) + { + if (!strncmp (pointer, "std", 3)) + { + std_used = 1; + } + size += strlen(pointer)+1; + } + if (std_used) + { + int len = strlen ("_GLIBCXX_STD"); + *used_namespaces = realloc (*used_namespaces, + size + len + 2); + strncpy (*used_namespaces+size, "_GLIBCXX_STD", len); + *(*used_namespaces+size+len) = 0; + *(*used_namespaces+size+len+1) = 0; + #if DEBUG >= 2 + printf ("namespace _GLIBCXX_STD added\n"); + #endif + } + // end of special case + + // find all namespace * {Â blocks + pattern = "namespace[ \t\n]+([a-zA-Z0-9]+)[ \t\n]*\\{"; + regcomp (&re, pattern, REG_EXTENDED); + *scope_namespaces = list_substrings (buf, &re); + regfree (&re); + } + /* forks and executes ctags to rebuild a tags file * storing cache_value in the tags file */ *************** *** 238,241 **** --- 339,344 ---- } + list_namespaces(buf, &g_used_namespaces, &g_scope_namespaces); + /* real parsing starts here */ Expression exp; *************** *** 262,265 **** --- 365,370 ---- find_entries(&exp, &sc); + free (g_used_namespaces); + free (g_scope_namespaces); } *************** *** 275,278 **** --- 380,386 ---- exp.function[0] = '\0'; + g_used_namespaces = NULL; + g_scope_namespaces = NULL; + find_entries (&exp, &sc); } |
From: MaxAuthority <max...@us...> - 2006-04-19 17:32:19
|
Update of /cvsroot/icomplete/icomplete In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15721 Modified Files: AUTHORS ChangeLog configure Log Message: Version 0.4 released, with namespace support Index: AUTHORS =================================================================== RCS file: /cvsroot/icomplete/icomplete/AUTHORS,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** AUTHORS 19 Nov 2005 17:36:39 -0000 1.2 --- AUTHORS 19 Apr 2006 17:32:15 -0000 1.3 *************** *** 8,11 **** --- 8,13 ---- - Andreas Bricelj - Timo Hirvonen + - Maxime Coste + - Yuxuan Wang Donators: Index: configure =================================================================== RCS file: /cvsroot/icomplete/icomplete/configure,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** configure 7 Apr 2006 00:15:08 -0000 1.2 --- configure 19 Apr 2006 17:32:15 -0000 1.3 *************** *** 5,11 **** # these must be defined PACKAGE="icomplete" ! VERSION="0.3.1" PACKAGE_BUGREPORT="stu...@gm..." ! PACKAGE_NAME="$PACKAGE - A C/C++ code completions system" #check_cc_flags() --- 5,11 ---- # these must be defined PACKAGE="icomplete" ! VERSION="0.4" PACKAGE_BUGREPORT="stu...@gm..." ! PACKAGE_NAME="$PACKAGE - A C/C++ code completion system" #check_cc_flags() Index: ChangeLog =================================================================== RCS file: /cvsroot/icomplete/icomplete/ChangeLog,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** ChangeLog 7 Apr 2006 00:15:08 -0000 1.3 --- ChangeLog 19 Apr 2006 17:32:15 -0000 1.4 *************** *** 1,3 **** ! * version 0.3.1 * -t option to specify different tags filename (patch by Yuxuan Wang) * completely new #include file parser, fixes problem of macos which does not understand \\s codes in regexps --- 1,5 ---- ! Apr 17, 2006: ! * version 0.4 ! * completely new namespace support (by Maxime Coste) * -t option to specify different tags filename (patch by Yuxuan Wang) * completely new #include file parser, fixes problem of macos which does not understand \\s codes in regexps |
From: MaxAuthority <max...@us...> - 2006-04-07 00:15:21
|
Update of /cvsroot/icomplete/icomplete/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30645/src Modified Files: error.c main.c options.c options.h parse.c treeold.c Log Message: added --tagfile option (patch by Yuxuan Wang) Index: options.h =================================================================== RCS file: /cvsroot/icomplete/icomplete/src/options.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** options.h 20 Dec 2005 02:44:36 -0000 1.2 --- options.h 7 Apr 2006 00:15:08 -0000 1.3 *************** *** 26,29 **** --- 26,30 ---- extern char* opt_liststatic; ///< ??!? extern char* opt_lang; ///< Language (defaults to c++) + extern char* opt_tagfile; ///< Tag file (defaults to tags) extern cache_e opt_cache; ///< Wether we should build cache or not extern const char* opt_progname; ///< argv[0] Index: options.c =================================================================== RCS file: /cvsroot/icomplete/icomplete/src/options.c,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** options.c 22 Dec 2005 22:25:33 -0000 1.3 --- options.c 7 Apr 2006 00:15:08 -0000 1.4 *************** *** 15,20 **** char *opt_liststatic = NULL; char *opt_lang = "c++"; cache_e opt_cache = CACHE_AUTO; ! const char *opt_progname = PACKAGE_NAME; struct config_s config={NULL,NULL}; --- 15,21 ---- char *opt_liststatic = NULL; char *opt_lang = "c++"; + char *opt_tagfile = "tags"; cache_e opt_cache = CACHE_AUTO; ! const char *opt_progname = PACKAGE; struct config_s config={NULL,NULL}; *************** *** 33,36 **** --- 34,38 ---- {"output" , 1 , 0 , 'o' } , {"lang" , 1 , 0 , 'g' } , + {"tagfile" , 1 , 0 , 't' } , {"version" , 0 , 0 , 'v' } , {0 , 0 , 0 , 0 } *************** *** 41,45 **** /* int this_option_optind = optind ? optind : 1; */ int option_index = 0; ! c = getopt_long (argc, argv, "a:c:g:hl:m:o:s:v", long_options, &option_index); if (c == -1) break; --- 43,47 ---- /* int this_option_optind = optind ? optind : 1; */ int option_index = 0; ! c = getopt_long (argc, argv, "a:c:g:t:hl:m:o:s:v", long_options, &option_index); if (c == -1) break; *************** *** 84,87 **** --- 86,93 ---- break; + case 't': + opt_tagfile = optarg; + break; + case 'v': printf(PACKAGE_NAME "\nVersion: " VERSION "\n"); Index: error.c =================================================================== RCS file: /cvsroot/icomplete/icomplete/src/error.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** error.c 20 Dec 2005 02:44:36 -0000 1.2 --- error.c 7 Apr 2006 00:15:08 -0000 1.3 *************** *** 16,19 **** --- 16,20 ---- " -c --column=<num> : The column number where completion should start\n" " -l --line=<num> : The line number where completion should start\n" + " -t --tagfile=<filename> : Write and read tags from <filename> instead of `tags'\n" " -g --lang=c++|java|cs : Input is considered as this language, c++ is default\n" " -m --list-members=<class> : List all (also inherited) members of <class>\n" *************** *** 32,34 **** exit (EXIT_FAILURE); } - --- 33,34 ---- Index: treeold.c =================================================================== RCS file: /cvsroot/icomplete/icomplete/src/treeold.c,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** treeold.c 20 Dec 2005 02:44:36 -0000 1.1 --- treeold.c 7 Apr 2006 00:15:08 -0000 1.2 *************** *** 38,42 **** tagEntry entry; tagFileInfo info; ! tagFile *tfile = tagsOpen ("tags", &info); //brc: split namespace part and classname --- 38,42 ---- tagEntry entry; tagFileInfo info; ! tagFile *tfile = tagsOpen (opt_tagfile, &info); //brc: split namespace part and classname *************** *** 259,263 **** tagEntry entry; tagFileInfo info; ! tagFile *tfile = tagsOpen ("tags", &info); char lasttag[256] = ""; /* store last tag to avoid duplicates */ --- 259,263 ---- tagEntry entry; tagFileInfo info; ! tagFile *tfile = tagsOpen (opt_tagfile, &info); char lasttag[256] = ""; /* store last tag to avoid duplicates */ *************** *** 433,437 **** else { ! bailout("Could not open `tags' file. You should be able to build a valid one by running this command:\n\nicomplete -l 1 -c 1 <filename>\n\n<filename> should be a source file which contains all #include files you want to have in the tags file"); } --- 433,439 ---- else { ! char buf[BUFSIZ]; ! snprintf(buf, BUFSIZ, "Could not open `%s' file. You should be able to build a valid one by running this command:\n\nicomplete -l 1 -c 1 <filename>\n\n<filename> should be a source file which contains all #include files you want to have in the tags file", opt_tagfile); ! bailout(buf); } Index: parse.c =================================================================== RCS file: /cvsroot/icomplete/icomplete/src/parse.c,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** parse.c 4 Jan 2006 02:10:29 -0000 1.6 --- parse.c 7 Apr 2006 00:15:08 -0000 1.7 *************** *** 137,141 **** tagFileInfo info; tagEntry entry; ! tagFile *tfile = tagsOpen ("tags", &info); if (tfile && info.status.opened) { --- 137,141 ---- tagFileInfo info; tagEntry entry; ! tagFile *tfile = tagsOpen (opt_tagfile, &info); if (tfile && info.status.opened) { Index: main.c =================================================================== RCS file: /cvsroot/icomplete/icomplete/src/main.c,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** main.c 20 Dec 2005 02:44:36 -0000 1.5 --- main.c 7 Apr 2006 00:15:08 -0000 1.6 *************** *** 122,126 **** /* save the cache information in the tags file */ ! FILE *tags = fopen("tags", "w"); if (tags) { --- 122,126 ---- /* save the cache information in the tags file */ ! FILE *tags = fopen(opt_tagfile, "w"); if (tags) { *************** *** 135,139 **** } ! char **arguments = (char**)malloc(sizeof(char*) * (8 + (config.cpp_macros->size*2))); if (arguments == NULL) bailout ("Could not get memory in build_tags_file() for char **arguments"); --- 135,139 ---- } ! char **arguments = (char**)malloc(sizeof(char*) * (10 + (config.cpp_macros->size*2))); if (arguments == NULL) bailout ("Could not get memory in build_tags_file() for char **arguments"); *************** *** 146,155 **** arguments[5]="-L"; arguments[6]=".icomplete_taglist"; int i = 0; List_item *it=config.cpp_macros->first; while(NULL!=it) { ! arguments[i+7]="-I"; ! arguments[i+8]=it->item; it=it->next; i+=2; --- 146,157 ---- arguments[5]="-L"; arguments[6]=".icomplete_taglist"; + arguments[7]="-f"; + arguments[8]=opt_tagfile; int i = 0; List_item *it=config.cpp_macros->first; while(NULL!=it) { ! arguments[i+9]="-I"; ! arguments[i+10]=it->item; it=it->next; i+=2; *************** *** 207,211 **** if (opt_cache == 1) { ! FILE *fCache = fopen("tags", "r"); bool build_cache = true; if (fCache) --- 209,213 ---- if (opt_cache == 1) { ! FILE *fCache = fopen(opt_tagfile, "r"); bool build_cache = true; if (fCache) *************** *** 220,224 **** { #if DEBUG >= 2 ! fprintf(stderr, "valid tags file found, icomplete will reuse it\n"); #endif build_cache = false; --- 222,226 ---- { #if DEBUG >= 2 ! fprintf(stderr, "valid tags `%s' file found, icomplete will reuse it\n", opt_tagfile); #endif build_cache = false; |
From: MaxAuthority <max...@us...> - 2006-04-07 00:15:20
|
Update of /cvsroot/icomplete/icomplete In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30645 Modified Files: ChangeLog configure cppcomplete.vim Log Message: added --tagfile option (patch by Yuxuan Wang) Index: cppcomplete.vim =================================================================== RCS file: /cvsroot/icomplete/icomplete/cppcomplete.vim,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** cppcomplete.vim 19 Nov 2005 17:25:37 -0000 1.1.1.1 --- cppcomplete.vim 7 Apr 2006 00:15:08 -0000 1.2 *************** *** 42,51 **** let res = [] " call icomplete and store the result in the array " java and c# users must build their tags file manually if &ft == "java" || &ft == "cs" ! let cmd = "icomplete --cache=0 -c " . s:cppcomplete_col . " -l " . s:cppcomplete_line . " " . s:cppcomplete_tmpfile else ! let cmd = "icomplete --cache=1 -c " . s:cppcomplete_col . " -l " . s:cppcomplete_line . " " . s:cppcomplete_tmpfile endif --- 42,58 ---- let res = [] + " check if set g:cppcomplete_tagfile + if exists('g:cppcomplete_tagfile') + let s:tagparam = " --tagfile=" . g:cppcomplete_tagfile + else + let s:tagparam = "" + endif + " call icomplete and store the result in the array " java and c# users must build their tags file manually if &ft == "java" || &ft == "cs" ! let cmd = "icomplete --cache=0 -c " . s:cppcomplete_col . " -l " . s:cppcomplete_line . s:tagparam . " " . s:cppcomplete_tmpfile else ! let cmd = "icomplete --cache=1 -c " . s:cppcomplete_col . " -l " . s:cppcomplete_line . s:tagparam . " " . s:cppcomplete_tmpfile endif Index: configure =================================================================== RCS file: /cvsroot/icomplete/icomplete/configure,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** configure 19 Nov 2005 17:25:37 -0000 1.1.1.1 --- configure 7 Apr 2006 00:15:08 -0000 1.2 *************** *** 5,9 **** # these must be defined PACKAGE="icomplete" ! VERSION="0.3" PACKAGE_BUGREPORT="stu...@gm..." PACKAGE_NAME="$PACKAGE - A C/C++ code completions system" --- 5,9 ---- # these must be defined PACKAGE="icomplete" ! VERSION="0.3.1" PACKAGE_BUGREPORT="stu...@gm..." PACKAGE_NAME="$PACKAGE - A C/C++ code completions system" Index: ChangeLog =================================================================== RCS file: /cvsroot/icomplete/icomplete/ChangeLog,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** ChangeLog 19 Nov 2005 17:41:08 -0000 1.2 --- ChangeLog 7 Apr 2006 00:15:08 -0000 1.3 *************** *** 1,9 **** ! - version 0.3.1 ! - completely new #include file parser, fixes problem of macos which does not understand \\s codes in regexps ! - improved java support ! - including a shell script to create a java tags file for system classes ! - placeholders work for more than two arguments now (forgot the 'g' in the substitute command) ! - added sys/types.h in parse.h and tree.h which solves compiling under MacOS X --- 1,11 ---- ! * version 0.3.1 ! * -t option to specify different tags filename (patch by Yuxuan Wang) ! * completely new #include file parser, fixes problem of macos which does not understand \\s codes in regexps ! * fixes segfault (replaced mmap with fread) ! * improved java support ! * including a shell script to create a java tags file for system classes ! * placeholders work for more than two arguments now (forgot the 'g' in the substitute command) ! * added sys/types.h in parse.h and tree.h which solves compiling under MacOS X |
From: Massimo C. <ma...@em...> - 2006-04-05 23:37:19
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi, first of all thanks for this very useful program. I liked it when I first saw it. Now the question: I find a missed completion when trying to show the members of a typedefed struct. Example: file foo.c struct _FooStruct { int a; char *b; }; typedef struct _FooStruct FooStruct; int main() { FooStruct my_foo; my_foo. } when trying to complete my_foo it doesn't display anything. On the opposite, if I declare struct _FooStruct my_foo; my_foo. it correctly lists me the struct's members. I think it's a ctags "bug", but I'm not sure at all. This is why I want to ask you. I'm studying your code to port IComplete into Anjuta IDE [ www.anjuta.org ], which already has a tagmanager ctags based. It would be great to have such an "Intellisense" completion system. regards, Massimo -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.2 (GNU/Linux) iD8DBQFENFTBFa1SLMUFyowRAoHTAJ9xQn/CJPN2IbMHzNz7OFOCbLO+4gCfc62D qSD4tGvNnyHGneebgZlLQy8= =sNg/ -----END PGP SIGNATURE----- |
From: MaxAuthority <max...@us...> - 2006-01-04 02:10:38
|
Update of /cvsroot/icomplete/icomplete/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13872/src Modified Files: parse.c Log Message: forgot to uncommenta to unlink temp files /tmp/icomplete-* Index: parse.c =================================================================== RCS file: /cvsroot/icomplete/icomplete/src/parse.c,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** parse.c 20 Dec 2005 02:44:36 -0000 1.5 --- parse.c 4 Jan 2006 02:10:29 -0000 1.6 *************** *** 795,801 **** exit: close (fdIn); ! // unlink (tmpnameIn); close (fdOut); ! //unlink (tmpnameOut); } --- 795,801 ---- exit: close (fdIn); ! unlink (tmpnameIn); close (fdOut); ! unlink (tmpnameOut); } |
From: MaxAuthority <max...@us...> - 2006-01-04 02:10:38
|
Update of /cvsroot/icomplete/icomplete/tests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13872/tests Modified Files: main.cpp Log Message: forgot to uncommenta to unlink temp files /tmp/icomplete-* Index: main.cpp =================================================================== RCS file: /cvsroot/icomplete/icomplete/tests/main.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** main.cpp 20 Nov 2005 01:02:53 -0000 1.1 --- main.cpp 4 Jan 2006 02:10:29 -0000 1.2 *************** *** 19,23 **** string tt; tt. ! return EXIT_SUCCESS; } --- 19,23 ---- string tt; tt. ! return EXIT_SUCCESS; } |
From: MaxAuthority <max...@us...> - 2005-12-22 22:25:44
|
Update of /cvsroot/icomplete/icomplete/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5816 Modified Files: options.c Log Message: indention fixes (uses indention from gg=G of vim with 4 spaces tab size) changed 1 -> CACHE_auto and "icomplete" -> PACKAGE_NAME Index: options.c =================================================================== RCS file: /cvsroot/icomplete/icomplete/src/options.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** options.c 20 Dec 2005 02:44:36 -0000 1.2 --- options.c 22 Dec 2005 22:25:33 -0000 1.3 *************** *** 15,20 **** char *opt_liststatic = NULL; char *opt_lang = "c++"; ! cache_e opt_cache = 1; ! const char *opt_progname = "icomplete"; struct config_s config={NULL,NULL}; --- 15,20 ---- char *opt_liststatic = NULL; char *opt_lang = "c++"; ! cache_e opt_cache = CACHE_AUTO; ! const char *opt_progname = PACKAGE_NAME; struct config_s config={NULL,NULL}; *************** *** 23,27 **** int c; ! /* the struct option look like: struct option { const char *name; int has_arg; int *flag; int val; }; */ static struct option long_options[] = { --- 23,27 ---- int c; ! /* the struct option look like: struct option { const char *name; int has_arg; int *flag; int val; }; */ static struct option long_options[] = { *************** *** 37,108 **** }; ! while (1) { ! /* int this_option_optind = optind ? optind : 1; */ ! int option_index = 0; ! c = getopt_long (argc, argv, "a:c:g:hl:m:o:s:v", long_options, &option_index); ! if (c == -1) ! break; ! switch (c) { ! case 0: ! printf ("option %s", long_options[option_index].name); ! if (optarg) ! printf (" with arg %s", optarg); ! printf ("\n"); ! break; ! case 'a': ! opt_cache = atoi(optarg); ! if(opt_cache<0 || opt_cache>2) ! bailout("Cache must be a number between 0 and 2!"); ! break; ! case 'c': ! opt_column = atoi(optarg); ! break; ! case 'l': ! opt_line = atoi(optarg); ! break; ! case 'g': ! opt_lang = optarg; ! break; ! case 'h': ! usage(); ! break; ! case 'm': ! opt_listmembers = optarg; ! break; ! case 'o': ! opt_output = optarg; ! break; ! case 'v': ! printf(PACKAGE_NAME "\nVersion: " VERSION "\n"); ! break; ! case '?': ! break; ! default: ! printf ("?? getopt returned character code 0%o ??\n", c); ! } ! } // file name given ! if (optind < argc) { opt_filename = argv[optind]; optind++; ! if (optind < argc) bailout("Only one source file allowed.\nSee icomplete --help for a usage description."); ! } // read from stdin else --- 37,108 ---- }; ! while (1) { ! /* int this_option_optind = optind ? optind : 1; */ ! int option_index = 0; ! c = getopt_long (argc, argv, "a:c:g:hl:m:o:s:v", long_options, &option_index); ! if (c == -1) ! break; ! switch (c) { ! case 0: ! printf ("option %s", long_options[option_index].name); ! if (optarg) ! printf (" with arg %s", optarg); ! printf ("\n"); ! break; ! case 'a': ! opt_cache = atoi(optarg); ! if(opt_cache<0 || opt_cache>2) ! bailout("Cache must be a number between 0 and 2!"); ! break; ! case 'c': ! opt_column = atoi(optarg); ! break; ! case 'l': ! opt_line = atoi(optarg); ! break; ! case 'g': ! opt_lang = optarg; ! break; ! case 'h': ! usage(); ! break; ! case 'm': ! opt_listmembers = optarg; ! break; ! case 'o': ! opt_output = optarg; ! break; ! case 'v': ! printf(PACKAGE_NAME "\nVersion: " VERSION "\n"); ! break; ! case '?': ! break; ! default: ! printf ("?? getopt returned character code 0%o ??\n", c); ! } ! } // file name given ! if (optind < argc) { opt_filename = argv[optind]; optind++; ! if (optind < argc) bailout("Only one source file allowed.\nSee icomplete --help for a usage description."); ! } // read from stdin else *************** *** 115,121 **** /* cur_section points to the vector for the current [section] of the config file */ List* cur_section = NULL; ! ! config.cpp_includes=alloc_list(); ! config.cpp_macros=alloc_list(); char* homedir = getenv("HOME"); --- 115,121 ---- /* cur_section points to the vector for the current [section] of the config file */ List* cur_section = NULL; ! ! config.cpp_includes=alloc_list(); ! config.cpp_macros=alloc_list(); char* homedir = getenv("HOME"); *************** *** 139,144 **** if (file) { ! while (fgets(line, 512, file) != NULL) ! { ptr = line; if (!strcmp(line, "[cpp_include_paths]\n")) --- 139,144 ---- if (file) { ! while (fgets(line, 512, file) != NULL) ! { ptr = line; if (!strcmp(line, "[cpp_include_paths]\n")) *************** *** 175,179 **** } } ! fclose(file); } } --- 175,179 ---- } } ! fclose(file); } } *************** *** 187,196 **** if (config.cpp_includes != NULL) { ! free_list(config.cpp_includes); } if (config.cpp_macros != NULL) { ! free_list(config.cpp_macros); } } --- 187,196 ---- if (config.cpp_includes != NULL) { ! free_list(config.cpp_includes); } if (config.cpp_macros != NULL) { ! free_list(config.cpp_macros); } } |