mirror of
https://github.com/gryf/tagbar.git
synced 2025-12-17 11:30:28 +01:00
Allow prototype to be shown with currenttag
This commit is contained in:
@@ -3489,11 +3489,13 @@ endfunction
|
||||
function! tagbar#currenttag(fmt, default, ...) abort
|
||||
if a:0 > 0
|
||||
" also test for non-zero value for backwards compatibility
|
||||
let longsig = a:1 =~# 's' || (type(a:1) == type(0) && a:1 != 0)
|
||||
let fullpath = a:1 =~# 'f'
|
||||
let longsig = a:1 =~# 's' || (type(a:1) == type(0) && a:1 != 0)
|
||||
let fullpath = a:1 =~# 'f'
|
||||
let prototype = a:1 =~# 'p'
|
||||
else
|
||||
let longsig = 0
|
||||
let fullpath = 0
|
||||
let longsig = 0
|
||||
let fullpath = 0
|
||||
let prototype = 0
|
||||
endif
|
||||
|
||||
if !s:Init(1)
|
||||
@@ -3503,7 +3505,11 @@ function! tagbar#currenttag(fmt, default, ...) abort
|
||||
let tag = s:GetNearbyTag(0)
|
||||
|
||||
if !empty(tag)
|
||||
return printf(a:fmt, tag.str(longsig, fullpath))
|
||||
if prototype
|
||||
return tag.getPrototype(1)
|
||||
else
|
||||
return printf(a:fmt, tag.str(longsig, fullpath))
|
||||
endif
|
||||
else
|
||||
return a:default
|
||||
endif
|
||||
|
||||
@@ -611,6 +611,9 @@ tagbar#currenttag({format}, {default} [, {flags}])
|
||||
's' If the tag is a function, the complete signature will be shown,
|
||||
otherwise just "()" will be appended to distinguish functions from
|
||||
other tags.
|
||||
'p' Display the raw prototype instead of the parsed tag. This can be
|
||||
useful in cases where ctags doesn't report some information, like
|
||||
the signature. Note that this can get quite long.
|
||||
|
||||
For example, if you put the following into your statusline: >
|
||||
%{tagbar#currenttag('[%s] ','')}
|
||||
|
||||
Reference in New Issue
Block a user