On Tue, Jul 21, 2009 at 5:37 AM, Tinou wrote:
>
>> I'm trying to make my vim highlight all defined type from a C++
>> project tag file.
>>
>> I found this function:
>>
>>
>> function! s:highlight() let list = taglist('.*')
>>    for item in list
>>        let kind = item.kind
>>        if kind == 'f' || kind == 'c'
>>            let name = item.name
>>            exec 'syntax keyword Identifier '.name
>>        endif
>>    endfor
>> endfunction
>>
>>
>> It does exactly what I want but is horribly slow :-(
>>
>> I tried :echo taglist('.*') which is what takes most time (the project
>> tree is quite big). But doing :echo taglist('TYPE.*') returns almost
>> immediately. I didn't manage to make the function (which I only partly
>> understand) work with it.
>
> Hello again,
>
> I've read the doc (as I should have done in the first place) and
> discovered the argument passed to taglist() is a regexp of tags to be
> found.
>
> What I still don't understand in the function is the item.kind. Where is
> this documented ?

At :help taglist()


taglist({expr})                                                 *taglist()*
                Returns a list of tags matching the regular expression {expr}.
                Each list item is a dictionary with at least the following
                entries:
....
                        kind            Type of the tag.  The value for this
                                        entry depends on the language specific
                                        kind values.  Only available when
                                        using a tags file generated by
                                        Exuberant ctags or hdrtag.


If you mean "what does it do in C/C++", you'd have to consult the
ctags docs, I'd imagine.

~Matt

--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_use" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---

Reply via email to