features:
uses vimscript/ cpp/ (exuberant-)ctags only.
cpp preprocessor is run on current buffer. From that file tags are
generated which are used for comletion. completion can be customized in
the way that you can specify a function which returns a regular
expression from the given text. default is a function providing
CamelCase matching.

eg you can type
glnwm<c-m-f> to get a list containing
gtk_label_new_with_memnmonic

or tBAOFTW<c-m-f> to get the function
thanksBramAndOthersForTheirWork ;)

The tag file is generated once a vim session (tempname()) is used.
Optionally you can regenerate it on each completion (may take some
time)

To successfully run the preprocessor you have to specify the
liblocations like this:

        let b:include_arguments = '-I/usr/include '.system('pkg-config gtk+-2.0 
--cflags')

This way you can even complete functions generated by macros :)

Where to get it? Try sourcing this installer:
http://mawercer.de/marcweber/vim/vimlib/installers/vimlib_c_coding_aids_installer_sourceme.vim

Is this feature already present in another completion system for vim
which I've missed?

Its still beta but works great on linux (haven't tried on windows yet
but it should work after specyfing exuberant-ctags and cpp location)

mappings to complete and update tags file are in insertmode:
<c-m-f> complete function
<c-m-u> update tags file

The file autoload/vl/dev/c/complete_include_dependent.vim contains the
main implementation and the file ftplugin/c_vimlib.vim
contains the mappings.

Marc

Reply via email to