Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Allow prototype to be shown with currenttag

  • Loading branch information...
commit d39a7674862e46a2caf2789acf92eee6f14519c5 1 parent a34acf4
@majutsushi authored
Showing with 14 additions and 5 deletions.
  1. +11 −5 autoload/tagbar.vim
  2. +3 −0  doc/tagbar.txt
View
16 autoload/tagbar.vim
@@ -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
View
3  doc/tagbar.txt
@@ -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] ','')}

0 comments on commit d39a767

Please sign in to comment.
Something went wrong with that request. Please try again.