With exported vim9 function distinction :)
g:tagbar_type_vim in a json.
"g:tagbar_type_vim": "{ 'kinds': [ 'L:classes', 'e:exported functions',
'f:functions and methods', 'v:variables:1:0', 'g:global variables',
'K:constants', 'c:commands:0:0', 'a:autocommand groups:1', 'm:maps:1:0', ],
}",
vim.ctags
--kinddef-vim=e,vim9exportedfunc,Vim 9 global variables
--kinddef-vim=g,vim9global,Vim 9 global variables
--kinddef-vim=K,vim9const,Vim 9 constants
--kinddef-vim=L,vim9class,Vim 9 class
--kinddef-vim=I,vim9interface,Vim 9 interface
--regex-vim=/^export\s+def\s+([^(]+)/\1/e/
--regex-vim=/^def\s+([^(]+)/\1/f/
--regex-vim=/^\s*(g:\w+)\b/\1/g,vim9global/
--regex-vim=/^(export\s+)?(const|final)\s+(\w+)/\3/K,vim9const/
--regex-vim=/^\s*(export\s+)?(abstract\s+)?class\s+(\w+)/\3/L,vim9class/
--regex-vim=/^\s*(export\s+)?interface\s+(\w+)/\2/I,vim9interface/
On Friday 29 December 2023 at 10:09:22 am UTC+1 Nicolas wrote:
> It works perfectly Life even if there is no disctinction between exported
> vim9 func and the other func.
> ;)
> Thank you I keep your
> I wish you a happy holiday season
> Nicolas
>
> On Tuesday 19 December 2023 at 12:08:58 am UTC+1 Lifepillar wrote:
>
>> On 2023-12-16, Nicolas <[email protected]> wrote:
>> > this is mine .ctags.d
>> >
>> > --kinddef-vim=e,export,function,"Vim 9 exported functions"
>> > --kinddef-vim=f,function,"Vim 9 non-exported functions"
>> > --kinddef-vim=g,global,"Vim 9 global variables"
>> > --kinddef-vim=K,const,Vim 9 constants
>> > --regex-vim=/^\s*export\s+def\s+([^(:]+)/\1/e,export,def/
>> > --regex-vim=/^\s*def\s+([^(]+)/\1/f,function,def/
>> > --regex-vim=/^\s*(g:\w+)\b/\1/g,global/
>> > --regex-vim=/^(\s*export\s+)?const\s+(\w+)/\2/K,const/
>> > --regex-vim=/^(\s*export\s+)?final\s+(\w+)/\2/K,const/
>> >
>> > with g:tagbar_type_vim = {'ctagstype': 'vim', 'kinds': ['e:export',
>> > 'g:global', 'K:const', 'f:function']}
>> >
>> > Hope this helps.
>> > nicolas
>>
>> That should work, shouldn't it? Or what is your issue with it?
>>
>> My current vim.ctags looks like this:
>>
>> --kinddef-vim=g,vim9global,Vim 9 global variables
>> --kinddef-vim=K,vim9const,Vim 9 constants
>> --kinddef-vim=L,vim9class,Vim 9 class
>> --kinddef-vim=I,vim9interface,Vim 9 interface
>> --regex-vim=/^export\s+def\s+([^(]+)/\1/f/
>> --regex-vim=/^\s*(g:\w+)\b/\1/g,vim9global/
>> --regex-vim=/^(export\s+)?(const|final)\s+(\w+)/\3/K,vim9const/
>> --regex-vim=/^\s*(export\s+)?(abstract\s+)?class\s+(\w+)/\3/L,vim9class/
>> --regex-vim=/^\s*(export\s+)?interface\s+(\w+)/\2/I,vim9interface/
>>
>> That works with Universal Ctags 6.0.0, as confirmed by:
>>
>> uctags --list-kinds=Vim
>>
>> which outputs:
>>
>> a autocommand groups
>> c user-defined commands
>> f function definitions
>> m maps
>> v variable definitions
>> n vimball filename
>> C constant definitions
>> g Vim 9 global variables
>> K Vim 9 constants
>> L Vim 9 class
>> I Vim 9 interface
>>
>> In my `vimrc` I set the path to the executable:
>>
>> g:tagbar_ctags_bin = '/opt/local/bin/uctags'
>>
>> and for Vim tags:
>>
>> g:tagbar_type_vim = {
>> 'kinds': [
>> 'L:classes',
>> 'f:functions and methods',
>> 'v:variables:1:0',
>> 'g:global variables',
>> 'K:constants',
>> 'c:commands:0:0',
>> 'a:autocommand groups:1',
>> 'm:maps:1:0',
>> ],
>> }
>>
>> Life.
>>
>>
--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/vim_use/19319839-9fd9-4310-8bac-5efa01a8c504n%40googlegroups.com.