mirror of
https://github.com/preservim/tagbar.git
synced 2025-02-15 14:12:46 +08:00
Merge branch 'master' into dart-ctags
This commit is contained in:
commit
29e3cef248
|
@ -1045,6 +1045,7 @@ function! s:CloseWindow() abort
|
|||
" Other windows are open, only close the tagbar one
|
||||
|
||||
let curfile = tagbar#state#get_current_file(0)
|
||||
let s:is_maximized = 0
|
||||
|
||||
close
|
||||
|
||||
|
@ -1326,9 +1327,9 @@ function! s:ExecuteCtagsOnFile(fname, realfname, typeinfo) abort
|
|||
|
||||
" universal-ctags deprecated this argument name
|
||||
if s:ctags_is_uctags
|
||||
let ctags_args += [ '--extras=' ]
|
||||
let ctags_args += [ '--extras=+F' ]
|
||||
else
|
||||
let ctags_args += [ '--extra=' ]
|
||||
let ctags_args += [ '--extra=', '--file-scope=yes' ]
|
||||
endif
|
||||
|
||||
let ctags_args = ctags_args + [
|
||||
|
@ -1337,7 +1338,6 @@ function! s:ExecuteCtagsOnFile(fname, realfname, typeinfo) abort
|
|||
\ '--format=2',
|
||||
\ '--excmd=pattern',
|
||||
\ '--fields=nksSaf',
|
||||
\ '--file-scope=yes',
|
||||
\ '--sort=no',
|
||||
\ '--append=no'
|
||||
\ ]
|
||||
|
@ -3526,6 +3526,32 @@ endfunction
|
|||
" Autoload functions {{{1
|
||||
|
||||
" Wrappers {{{2
|
||||
function! tagbar#GetTagNearLine(lnum, ...) abort
|
||||
if a:0 > 0
|
||||
let fmt = a:1
|
||||
let longsig = a:2 =~# 's'
|
||||
let fullpath = a:2 =~# 'f'
|
||||
let prototype = a:2 =~# 'p'
|
||||
else
|
||||
let fmt = '%s'
|
||||
let longsig = 0
|
||||
let fullpath = 0
|
||||
let prototype = 0
|
||||
endif
|
||||
|
||||
let taginfo = s:GetNearbyTag(0, 1, a:lnum)
|
||||
|
||||
if empty(taginfo)
|
||||
return ''
|
||||
endif
|
||||
|
||||
if prototype
|
||||
return taginfo.getPrototype(1)
|
||||
else
|
||||
return printf(fmt, taginfo.str(longsig, fullpath))
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! tagbar#ToggleWindow(...) abort
|
||||
let flags = a:0 > 0 ? a:1 : ''
|
||||
call s:ToggleWindow(flags)
|
||||
|
@ -3730,7 +3756,7 @@ function! tagbar#currenttagtype(fmt, default) abort
|
|||
|
||||
let typeinfo = tag.fileinfo.typeinfo
|
||||
let plural = typeinfo.kinds[typeinfo.kinddict[kind]].long
|
||||
if has_key(plural)
|
||||
if has_key(s:singular_types, plural)
|
||||
let singular = s:singular_types[plural]
|
||||
else
|
||||
let singular = plural
|
||||
|
|
|
@ -320,6 +320,24 @@ FUNCTIONS *tagbar-functions*
|
|||
update tag information. This should be called after you have used
|
||||
|tagbar#currenttag| manually.
|
||||
|
||||
*tagbar#GetTagNearLine()*
|
||||
Get the current tag near the specified line number (lnum). Optionally
|
||||
takes a fmt and signature specification using the same method as the
|
||||
|tagbar#currenttag()| function. Defaults to GetTagNearLine(lnum, '%s', '').
|
||||
|
||||
This could be used in a custom foldtext function to show the current tag
|
||||
the fold current fold is located in.
|
||||
|
||||
Example:
|
||||
>
|
||||
set foldtext=MyFoldFunc()
|
||||
function! MyFoldFunc()
|
||||
let tag = tagbar#GetTagNearLine(v:foldend, '%s', 'p')
|
||||
let lines = v:foldend - v:foldstart + 1
|
||||
return tag . ' --- ' . lines . ' lines'
|
||||
endfunction
|
||||
<
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
KEY MAPPINGS *tagbar-keys*
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user