On Tue Feb 27, 2007 at 23:09 +0100, Marc Weber wrote:
> On Tue, Feb 27, 2007 at 07:04:13PM +0100, Ralf Schmitt wrote:
> > Hi list
> > 
> > For now I've mapped the ctags command described in OmniCompletion
> > plugin on a key to refresh project tags file.
> > But very often I forget to update (press the hotkey) before I enter the
> > omni completion. So it came to my mind to trigger ctag update run when
> > I save (:w) a header file. 
> > 
> > - Does this make sense?
> Yes it does. To generate tags you need the file beeing on disk (as long
> as you aren't using a vim script to generate those tags .. which would
> be slow ;)
> 
> > - any hint how I could add a function to :w for a special file type?
> 
> This is all done using autocommands.
> Just register a BufWritePost command like this
> 
> (written of my head without testing)
> augroup GenerateTags
>   autocmd BufRead,BufNewFile *.c *.cpp *.h  call MyFuncToGenerateTags
>   " using only a specia filetype:
>   autocmd BufRead,BufNewFile * if &ft="c" | do something | endif
> augroup end
> 
Yeah! Thanks that's exactly what I was looking for.


> I've also written a plugin providing a
> TagCurrentDirectoryTagGroupXX
> which does run the given tag command from the registered directory
> automatically.
Ok so I'll need a path <-> ctag command mapping somewhere? Nice!
Can you provide more information about it?

> 
> You can find a script installer here:
> http://mawercer.de/marcweber/vim/vimlib/installers/vimlib_taghelper_installer_sourceme.vim
Sorry, not sure what a "vim installer does" I always put everything as
described to a subdir of .vim. This isn't the case for your installer?
> 
> Its easy to manage adding tags of different libraries.
> It looks like this:
> call vl#lib#tags#taghelper#AddTagsToBufferTagList('c_lib_1')
> call vl#lib#tags#taghelper#AddTagsToBufferTagList('c_lib')
Yeah this would be absolutly great! I've got kde3/4 enabled projects,
cpp enabled projects and qt3/4 enabled projects.
So I do something like this:

set tags+=~/.vim/tags/cpptags
set tags+=~/.vim/tags/kde3tags
"set tags+=~/.vim/tags/kde4tags
set tags+=~/.vim/tags/qt3tags
"set tags+=~/.vim/tags/qt4tags

in my .vimrc. I'll have to comment/uncomment it to my needs everytime I change
the project. Having a project config file for this would speed up things a lot!

> 
> If you're interested I'll assist you getting started as there may some lack of
> documentation ;)

Yes any help would be appreciated!

Best regards
Ralf

> 
> Marc

Reply via email to