bug-global
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Problem on generating GRTAGS for vim scripts


From: John Rama
Subject: Re: Problem on generating GRTAGS for vim scripts
Date: Fri, 4 Jun 2021 10:42:49 -0400
User-agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0

Thanks Shigio-san for clarifying the problem in detail.

> I think the only way to fix it fundamentally is to rewrite one of the parsers.
I agree.

I personally think this is the problem on Pygments. So, would like to try to 
dug into it.

Is there any way to make pygments generate the symbol ?

Following command generated highlighted text.
$python3 -m pygments plugin/lightline.vim

I am wondering if there is any option to generate symbol only...
In other words, how pygments-parser get the symbol from pygments...

John

On 2021/06/03 20:36, Shigio YAMAGUCHI wrote:
> Hello,
> 
>> Is this expected behavior ?
> 
> No, it isn't. It is a bug.
> 
> 'pygments-parser.la' works by combining two parsers: Pygments and Ctags.
> It seems that the parsers recognize symbols differently.
> Ctags picks up symbols with namespace but Pygments do it without namespace.
> 
> Ctags           lightline#highlight
> Pygments        highlight
> 
>> Is there any workaround on this ?
> 
> You can pick up both symbols using a regular expression 'highlight$'.
> ('$' matches the end of the symbol.)
> 
> $ global -x 'highlight$'
> lightline#highlight  263 autoload/lightline.vim function!
> lightline#highlight(...) abort
> ...
> 
> $ global -xrs 'highlight$'
> highlight          54 autoload/lightline.vim     autocmd
> SessionLoadPost * call lightline#highlight()
> highlight          56 autoload/lightline.vim           \ | call
> lightline#update() | call lightline#highlight() | endif
> ...
> 
> 'global -xr' does not work, since global cannot understand that
> 'lightline#highlight' and 'highlight' are in a reference relationship.
> I think the only way to fix it fundamentally is to rewrite one of the parsers.
> 
> Regards,
> Shigio
> 
> 2021年6月4日(金) 5:35 John Rama <john.rama01@gmail.com>:
> 
>>
>> Hi,
>>
>> I keep using global/gtags for reading c/python/javascripts and it
>> works greatly. Thank you for that !!
>>
>> But when trying to create tags files for vim script,
>> GTAGS files are generated correctly, but GRTAGS files are not
>> complete.
>>
>> - Environement
>>     $gtags --version
>>     gtags (GNU GLOBAL) 6.6
>>     $python3 -m pip list |grep Pygments
>>     Pygments   2.9.0
>>
>> - How to duplicate the problem
>>     $git clone  https://github.com/itchyny/lightline.vim
>>     $gtags --gtagslabel=pygments -v
>>
>> - Problem
>>     For example, symbol for lightline#highlight() is generated in GTAGS
>>     file, but it's not in GRTAGS.
>>     So, it looks lightline#highlight symbol becomes "highlight".
>>
>>     $gtags -d GTAGS |grep high
>>     lightline#highlight     42 @n 263 function! @n(...) abort
>>     s:suite 51 @n 1 let @n = themis#suite('highlight')
>>     suite.highlight 51 @n 21 function! s:@n()
>>
>>     $gtags -d GRTAGS |grep high
>>     highlight       51 @n 21,19,17,16
>>     highlight       42 @n 54,2,146-1,21-1,38,7,40-1,121-1
>>     highlight       3 @n 22,2
>>
>> - Questions
>> Is this expected behavior ?
>> Is there any workaround on this ?
>>
>> Thanks for your help.
>> John
>>
>>
> 
> 
> --
> Shigio YAMAGUCHI <shigio@gnu.org>
> PGP fingerprint:
> 26F6 31B4 3D62 4A92 7E6F  1C33 969C 3BE3 89DD A6EB
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]