Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to display variables in Taglist window in vim

Tags:

vim

taglist

I am using Taglist plugin in vim. In the taglist window i can see tags like namespaces, classes, struct, function but not variables. I saw a screenshot(attached below) on Taglist website which had this info. I am using Vim 7 and Exuberant Ctags 5.8, and i have generated my ctags using this command

ctags --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++

alt text
(source: sourceforge.net)

like image 868
Yogesh Arora Avatar asked Mar 05 '10 18:03

Yogesh Arora


2 Answers

There is a variable s:tlist_def_cpp_settings in Taglist plugin (.vim/plugin/taglist.vim) that defines which elements are shown by default.

I extended it to:

let s:tlist_def_cpp_settings = 'c++;n:namespace;v:variable;d:macro;t:typedef;' . \ 'c:class;g:enum;s:struct;u:union;f:function;m:member;' . \ 'p:prototype'

According to taglist manual you can also define tlist_cpp_settings in your .vimrc with similar value.

For other languages different variables exist.

like image 189
boro Avatar answered Nov 13 '22 15:11

boro


As far as I know, the Taglist plugin shows only the variables which have file scope. It does not show variables which have only function scope.

For a quick test just add a variable of any type at the start of your source file, save the source file, set cursor into the taglist window and press u to update taglist. Now this variable should appear in the taglist window. This works for my C files.

By the way:

... and i have generated my ctags using this command

ctags --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++

Do you mean that you generate your own tags file for the taglist plugin using these ctags options? To my knowledge taglist uses its own ctags options and generates a temporary tag file. The user has no influence on the ctags options and the tags file.

like image 36
Habi Avatar answered Nov 13 '22 16:11

Habi