Before

…lines 1–3830 unchanged (3830 lines)
3831
3832" }}}2
3833
3834" tagbar#Update() {{{2
3835" Trigger an AutoUpdate() of the currently opened file
3836function! tagbar#Update() abort
3837 call s:AutoUpdate(fnamemodify(expand('%'), ':p'), 0)
3838endfunction
3839
3840" tagbar#ForceUpdate() {{{2
3841function! tagbar#ForceUpdate() abort
3842 if !exists('b:tagbar_force_update')
3843 let b:tagbar_force_update = 1
…lines 3844–4092 unchanged (249 lines)
4093 return 0
4094 endif
4095endfunction
4096
4097" tagbar#jump() {{{2
4098function! tagbar#jump() abort
4099 if &filetype !=# 'tagbar'
4100 " Not in tagbar window - ignore this function call
4101 return
4102 endif
4103 call s:JumpToTag(1)
4104endfun
4105
4106" tagbar#jumpToNearbyTag() {{{2
4107" params:
4108" direction = -1:backwards search 1:forward search
4109" [search_method] = Search method to use for GetTagNearLine()
4110" [flags] = list of flags (as a string) to control behavior
4111" 's' - use the g:tagbar_scroll_offset setting when jumping
4112function! tagbar#jumpToNearbyTag(direction, ...) abort
4113 let search_method = a:0 >= 1 ? a:1 : 'nearest-stl'
4114 let flags = a:0 >= 2 ? a:2 : ''
4115
4116 call s:JumpToNearbyTag(a:direction, search_method, flags)
4117endfunction
4118
4119" Modeline {{{1
4120" vim: ts=8 sw=4 sts=4 et foldenable foldmethod=marker foldcolumn=1
4121

After

…lines 1–3830 unchanged (3830 lines)
3831
3832" }}}2
3833
3834" tagbar#Update() {{{2
3835" Trigger an AutoUpdate() of the currently opened file
3836function! tagbar#Update() abort
3837 if s:init_done == 0
3838 call s:Init(0)
3839 endif
3840 call s:AutoUpdate(fnamemodify(expand('%'), ':p'), 0)
3841endfunction
3842
3843" tagbar#ForceUpdate() {{{2
3844function! tagbar#ForceUpdate() abort
3845 if !exists('b:tagbar_force_update')
…lines 3846–4095 unchanged (250 lines)
4096 return 0
4097 endif
4098endfunction
4099
4100" tagbar#jump() {{{2
4101function! tagbar#jump() abort
4102 if s:init_done == 0
4103 call tagbar#Update()
4104 endif
4105 if &filetype !=# 'tagbar'
4106 " Not in tagbar window - ignore this function call
4107 return
4108 endif
4109 call s:JumpToTag(1)
4110endfun
4111
4112" tagbar#jumpToNearbyTag() {{{2
4113" params:
4114" direction = -1:backwards search 1:forward search
4115" [search_method] = Search method to use for GetTagNearLine()
4116" [flags] = list of flags (as a string) to control behavior
4117" 's' - use the g:tagbar_scroll_offset setting when jumping
4118function! tagbar#jumpToNearbyTag(direction, ...) abort
4119 if s:init_done == 0
4120 call tagbar#Update()
4121 endif
4122 let search_method = a:0 >= 1 ? a:1 : 'nearest-stl'
4123 let flags = a:0 >= 2 ? a:2 : ''
4124
4125 call s:JumpToNearbyTag(a:direction, search_method, flags)
4126endfunction
4127
4128" Modeline {{{1
4129" vim: ts=8 sw=4 sts=4 et foldenable foldmethod=marker foldcolumn=1
4130

Before

script_file
comment "\" =========================================================="...
comment "\" File: tagbar.vim"
comment "\" Description: List the current file's tags in a sidebar, or"...
comment "\" Author: Jan Larres <jan@majutsushi.net>"
comment "\" Licence: Vim licence"
comment "\" Website: https://preservim.github.io/tagbar"
comment "\" Version: 3.1.1"
comment "\" Note: This plugin was heavily inspired by the 'Tagl"...
comment "\" Yegappan Lakshmanan and uses a small amount o"...
comment "\""
comment "\" Original taglist copyright notice:"
comment "\" Permission is hereby granted to use and distr"...
comment "\" with or without modifications, provided that "...
comment "\" notice is copied with it. Like anything else "...
comment "\" taglist.vim is provided *as is* and comes wit"...
comment "\" any kind, either expressed or implied. In no "...
comment "\" copyright holder be liable for any damamges r"...
comment "\" use of this software."
comment "\" =========================================================="...
scriptencoding_statement
scriptencoding "scriptencoding"
encoding
utf-8 "utf-8"
comment "\" Initialization {{{1"
comment "\" If another plugin calls an autoloaded Tagbar function on s"...
comment "\" plugin/tagbar.vim file got loaded, load it explicitly"
if_statement
if "if"
binary_operation
call_expression
identifier "exists"
( "("
string_literal "':Tagbar'"
) ")"
== "=="
integer_literal "0"
body
runtime_statement
runtime "runtime"
filenames
filename "plugin/tagbar.vim"
endif "endif"
if_statement
if "if"
binary_operation
call_expression
identifier "exists"
( "("
string_literal "':Tagbar'"
) ")"
== "=="
integer_literal "0"
body
echomsg_statement
echomsg "echomsg"
string_literal "'Tagbar: Could not load plugin code, check your runtimepath!"...
unknown_builtin_statement
unknown_command_name "finish"
endif "endif"
comment "\" Basic init {{{2"
unknown_builtin_statement
unknown_command_name "redir"
arguments
command_argument "=>"
command_argument "s:ftype_out"
silent_statement
silent "silent"
filetype_statement
filetype "filetype"
unknown_builtin_statement
unknown_command_name "redir"
arguments
command_argument "END"
if_statement (+22 nodes collapsed)
unlet_statement
unlet "unlet"
scoped_identifier
scope "s:"
identifier "ftype_out"
let_statement
let "let"
scoped_identifier
scope "g:"
identifier "tagbar#icon_closed"
= "="
index_expression
scoped_identifier
scope "g:"
identifier "tagbar_iconchars"
[ "["
integer_literal "0"
] "]"
let_statement
let "let"
scoped_identifier
scope "g:"
identifier "tagbar#icon_open"
= "="
index_expression
scoped_identifier
scope "g:"
identifier "tagbar_iconchars"
[ "["
integer_literal "1"
] "]"
let_statement
let "let"
scoped_identifier
scope "s:"
identifier "type_init_done"
= "="
integer_literal "0"
let_statement
let "let"
scoped_identifier
scope "s:"
identifier "autocommands_done"
= "="
integer_literal "0"
let_statement
let "let"
scoped_identifier
scope "s:"
identifier "statusline_in_use"
= "="
integer_literal "0"
let_statement
let "let"
scoped_identifier
scope "s:"
identifier "init_done"
= "="
integer_literal "0"
comment "\" 0: not checked yet; 1: checked and found; 2: checked and n"...
let_statement
let "let"
scoped_identifier
scope "s:"
identifier "checked_ctags"
= "="
integer_literal "0"
let_statement
let "let"
scoped_identifier
scope "s:"
identifier "checked_ctags_types"
= "="
integer_literal "0"
let_statement
let "let"
scoped_identifier
scope "s:"
identifier "ctags_is_uctags"
= "="
integer_literal "0"
let_statement
let "let"
scoped_identifier
scope "s:"
identifier "new_window"
= "="
integer_literal "1"
let_statement
let "let"
scoped_identifier
scope "s:"
identifier "is_maximized"
= "="
integer_literal "0"
let_statement
let "let"
scoped_identifier
scope "s:"
identifier "winrestcmd"
= "="
string_literal "''"
let_statement
let "let"
scoped_identifier
scope "s:"
identifier "short_help"
= "="
integer_literal "1"
let_statement
let "let"
scoped_identifier
scope "s:"
identifier "nearby_disabled"
= "="
integer_literal "0"
let_statement
let "let"
scoped_identifier
scope "s:"
identifier "paused"
= "="
integer_literal "0"
let_statement
let "let"
scoped_identifier
scope "s:"
identifier "pwin_by_tagbar"
= "="
integer_literal "0"
let_statement
let "let"
scoped_identifier
scope "s:"
identifier "buffer_seqno"
= "="
integer_literal "0"
let_statement
let "let"
scoped_identifier
scope "s:"
identifier "vim_quitting"
= "="
integer_literal "0"
let_statement
let "let"
scoped_identifier
scope "s:"
identifier "last_alt_bufnr"
= "="
integer_literal "-1"
let_statement
let "let"
scoped_identifier
scope "s:"
identifier "window_expanded"
= "="
integer_literal "0"
let_statement
let "let"
scoped_identifier
scope "s:"
identifier "expand_bufnr"
= "="
integer_literal "-1"
let_statement (+40 nodes collapsed)
let_statement
let "let"
scoped_identifier
scope "s:"
identifier "delayed_update_files"
= "="
list
[ "["
] "]"
let_statement
let "let"
scoped_identifier
scope "g:"
identifier "loaded_tagbar"
= "="
integer_literal "1"
let_statement
let "let"
scoped_identifier
scope "s:"
identifier "last_highlight_tline"
= "="
integer_literal "0"
let_statement
let "let"
scoped_identifier
scope "s:"
identifier "warnings"
= "="
dictionnary
{ "{"
dictionnary_entry
string_literal "'type'"
: ":"
list
[ "["
] "]"
, ","
dictionnary_entry
string_literal "'encoding'"
: ":"
integer_literal "0"
} "}"
let_statement (+588 nodes collapsed)
comment "\" s:Init() {{{2"
function_definition (+125 nodes collapsed)
comment "\" s:InitTypes() {{{2"
function_definition (+1555 nodes collapsed)
comment "\" s:LoadUserTypeDefs() {{{2"
function_definition (+218 nodes collapsed)
comment "\" s:TransformUserTypeDef() {{{2"
comment "\" Transform the user definitions into the internal format"
function_definition (+287 nodes collapsed)
comment "\" s:RestoreSession() {{{2"
comment "\" Properly restore Tagbar after a session got loaded"
function_definition (+163 nodes collapsed)
comment "\" s:MapKeys() {{{2"
function_definition (+392 nodes collapsed)
comment "\" s:CreateAutocommands() {{{2"
function_definition (+446 nodes collapsed)
comment "\" s:CheckForExCtags() {{{2"
comment "\" Test whether the ctags binary is actually Exuberant Ctags "...
comment "\" (or something else)"
function_definition (+532 nodes collapsed)
comment "\" s:CtagsErrMsg() {{{2"
function_definition (+178 nodes collapsed)
comment "\" s:CheckExCtagsVersion() {{{2"
function_definition (+165 nodes collapsed)
comment "\" s:CheckFTCtags() {{{2"
function_definition (+93 nodes collapsed)
comment "\" s:GetSupportedFiletypes() {{{2"
function_definition (+125 nodes collapsed)
comment "\" Known files {{{1"
let_statement
let "let"
scoped_identifier
scope "s:"
identifier "known_files"
= "="
dictionnary
{ "{"
dictionnary_entry
string_literal "'_files'"
: ":"
dictionnary
{ "{"
} "}"
} "}"
comment "\" s:known_files.get() {{{2"
function_definition (+37 nodes collapsed)
comment "\" s:known_files.put() {{{2"
comment "\" Optional second argument is the filename"
function_definition (+74 nodes collapsed)
comment "\" s:known_files.has() {{{2"
function_definition (+33 nodes collapsed)
comment "\" s:known_files.rm() {{{2"
function_definition (+64 nodes collapsed)
comment "\" Window management {{{1"
comment "\" s:ToggleWindow() {{{2"
function_definition (+72 nodes collapsed)
comment "\" s:OpenWindow() {{{2"
function_definition (+715 nodes collapsed)
comment "\" s:InitWindow() {{{2"
function_definition (+406 nodes collapsed)
comment "\" s:CloseWindow() {{{2"
function_definition (+250 nodes collapsed)
comment "\" s:ShrinkIfExpanded() {{{2"
comment "\" If the Vim window has been expanded, and Tagbar is not ope"...
comment "\" tabpages, shrink the window again"
function_definition (+209 nodes collapsed)
comment "\" s:ZoomWindow() {{{2"
function_definition (+153 nodes collapsed)
comment "\" s:CorrectFocusOnStartup() {{{2"
comment "\" For whatever reason the focus will be on the Tagbar window"...
comment "\" tagbar#autoopen is used with a FileType autocommand on sta"...
comment "\" g:tagbar_left is set. This should work around it by jumpin"...
comment "\" the current file after startup."
function_definition (+113 nodes collapsed)
comment "\" Tag processing {{{1"
comment "\" s:ProcessFile() {{{2"
comment "\" Execute ctags and put the information into a 'FileInfo' ob"...
function_definition (+1007 nodes collapsed)
comment "\" s:ExecuteCtagsOnFile() {{{2"
function_definition (+706 nodes collapsed)
comment "\" s:ParseTagline() {{{2"
comment "\" Structure of a tag line:"
comment "\" tagname<TAB>filename<TAB>expattern;\"fields"
comment "\" fields: <TAB>name:value"
comment "\" fields that are always present: kind, line"
function_definition (+626 nodes collapsed)
comment "\" s:ProcessTag() {{{2"
function_definition (+763 nodes collapsed)
comment "\" s:add_tag_recursive() {{{2"
comment "\" Add a tag recursively as a child of its parent, or if ther"...
comment "\" the root tag list in the fileinfo object."
function_definition (+1003 nodes collapsed)
comment "\" s:create_pseudotag() {{{2"
function_definition (+309 nodes collapsed)
comment "\" s:ToggleSort() {{{2"
function_definition (+164 nodes collapsed)
comment "\" Display {{{1"
comment "\" s:RenderContent() {{{2"
function_definition (+625 nodes collapsed)
comment "\" s:PrintKinds() {{{2"
function_definition (+502 nodes collapsed)
comment "\" s:PrintTag() {{{2"
function_definition (+434 nodes collapsed)
comment "\" s:PrintHelp() {{{2"
function_definition (+433 nodes collapsed)
function_definition (+64 nodes collapsed)
comment "\" s:RenderKeepView() {{{2"
comment "\" The gist of this function was taken from NERDTree by Marti"...
function_definition (+116 nodes collapsed)
comment "\" User actions {{{1"
comment "\" s:HighlightTag() {{{2"
function_definition (+510 nodes collapsed)
comment "\" Is the given line number already visible in the window wit"...
comment "\" any scrolling?"
function_definition (+58 nodes collapsed)
comment "\" s:JumpToTag() {{{2"
function_definition (+743 nodes collapsed)
comment "\" s:ShowInPreviewWin() {{{2"
function_definition (+412 nodes collapsed)
comment "\" s:ShowPrototype() {{{2"
function_definition (+56 nodes collapsed)
comment "\" s:ToggleHelp() {{{2"
function_definition (+43 nodes collapsed)
comment "\" s:GotoNextToplevelTag() {{{2"
function_definition (+156 nodes collapsed)
comment "\" Folding {{{1"
comment "\" s:OpenFold() {{{2"
function_definition (+84 nodes collapsed)
comment "\" s:CloseFold() {{{2"
function_definition (+91 nodes collapsed)
comment "\" s:ToggleFold() {{{2"
function_definition (+167 nodes collapsed)
comment "\" s:ChangeFoldLevel() {{{2"
function_definition (+96 nodes collapsed)
comment "\" s:SetFoldLevel() {{{2"
function_definition (+174 nodes collapsed)
comment "\" s:SetFoldLevelRecursive() {{{2"
comment "\" Apply foldlevel to normal tags"
function_definition (+104 nodes collapsed)
comment "\" s:MinimizeMaxFoldLevel() {{{2"
comment "\" Set the file's fold level to the lowest value that still s"...
function_definition (+94 nodes collapsed)
comment "\" s:OpenParents() {{{2"
function_definition (+76 nodes collapsed)
comment "\" s:GotoNextFold() {{{2"
function_definition (+136 nodes collapsed)
comment "\" s:GotoPrevFold() {{{2"
function_definition (+215 nodes collapsed)
comment "\" Helper functions {{{1"
comment "\" s:AutoUpdate() {{{2"
function_definition (+594 nodes collapsed)
comment "\" s:CheckMouseClick() {{{2"
function_definition (+110 nodes collapsed)
comment "\" s:DetectFiletype() {{{2"
function_definition (+120 nodes collapsed)
comment "\" s:EscapeCtagsCmd() {{{2"
comment "\" Assemble the ctags command line in a way that all problema"...
comment "\" properly escaped and converted to the system's encoding"
comment "\" Optional third parameter is a file name to run ctags on"
comment "\" Note: The second parameter (a:args) can be a list of args "...
comment "\" a single string of the args."
comment "\" When a:args is a list, each argument in the list wil"...
comment "\" current &shell type."
comment "\" When a:args is a string, all arguments should be esc"...
comment "\" (if required). In most use cases no escaping is requ"...
comment "\" is acceptable. But in cases where arguments may need"...
comment "\" differently for each &shell type, then pass a list o"...
function_definition (+476 nodes collapsed)
comment "\" run shell command in a proper way: prevent temporary windo"...
function_definition (+241 nodes collapsed)
comment "\" s:ExecuteCtags() {{{2"
comment "\" Execute ctags with necessary shell settings"
comment "\" Partially based on the discussion at"
comment "\" http://vim.1045645.n5.nabble.com/bad-default-shellxquote-i"...
function_definition (+284 nodes collapsed)
comment "\" s:GetNearbyTag() {{{2"
comment "\" Get the tag info for a file near the cursor in the current"...
function_definition (+341 nodes collapsed)
comment "\" s:JumpToNearbyTag() {{{2"
function_definition (+155 nodes collapsed)
comment "\" s:GetTagInfo() {{{2"
comment "\" Return the info dictionary of the tag on the specified lin"...
comment "\" does not contain a valid tag (for example because it is em"...
comment "\" contains a pseudo-tag) return an empty dictionary."
function_definition (+157 nodes collapsed)
comment "\" s:GetFileWinnr() {{{2"
comment "\" Get the number of the window that has Tagbar's current fil"...
comment "\" or 0 if no window has loaded it. It tries the previous win"...
comment "\" does not have the correct buffer loaded it will look for t"...
comment "\" the correct buffer in it."
function_definition (+141 nodes collapsed)
comment "\" s:GotoFileWindow() {{{2"
comment "\" Try to switch to the window that has Tagbar's current file"...
comment "\" open the file in an existing window otherwise."
function_definition (+153 nodes collapsed)
comment "\" s:ToggleHideNonPublicTags() {{{2"
function_definition (+113 nodes collapsed)
comment "\" s:ToggleCaseInsensitive() {{{2"
function_definition (+126 nodes collapsed)
comment "\" s:ToggleAutoclose() {{{2"
function_definition (+33 nodes collapsed)
comment "\" s:IsValidFile() {{{2"
function_definition (+249 nodes collapsed)
comment "\" s:SetStatusLine() {{{2"
function_definition (+417 nodes collapsed)
comment "\" s:HandleOnlyWindow() {{{2"
function_definition (+201 nodes collapsed)
comment "\" s:HandleBufDelete() {{{2"
function_definition (+275 nodes collapsed)
comment "\" s:HandleBufWrite() {{{2"
function_definition (+46 nodes collapsed)
comment "\" s:do_delayed_update() {{{2"
function_definition (+97 nodes collapsed)
comment "\" s:ReopenWindow() {{{2"
function_definition (+47 nodes collapsed)
comment "\" s:HasOpenFileWindows() {{{2"
function_definition (+151 nodes collapsed)
comment "\" s:TagbarBufName() {{{2"
function_definition (+49 nodes collapsed)
comment "\" s:goto_win() {{{2"
function_definition (+164 nodes collapsed)
comment "\" s:goto_tagbar() {{{2"
function_definition (+52 nodes collapsed)
comment "\" s:mark_window() {{{2"
comment "\" Mark window with a window-local variable so we can jump ba"...
comment "\" the window numbers have changed."
function_definition (+21 nodes collapsed)
comment "\" s:goto_markedwin() {{{2"
comment "\" Go to a previously marked window and delete the mark."
function_definition (+76 nodes collapsed)
comment "\" s:warning() {{{2"
function_definition (+26 nodes collapsed)
comment "\" s:TogglePause() {{{2"
function_definition (+94 nodes collapsed)
comment "\" TagbarBalloonExpr() {{{2"
function_definition (+120 nodes collapsed)
comment "\" Autoload functions {{{1"
comment "\" Wrappers {{{2"
function_definition (+39 nodes collapsed)
function_definition (+39 nodes collapsed)
function_definition
function "function"
bang
! "!"
function_declaration
identifier "tagbar#CloseWindow"
parameters
( "("
) ")"
abort "abort"
body
call_statement
call "call"
call_expression
scoped_identifier
scope "s:"
identifier "CloseWindow"
( "("
) ")"
endfunction "endfunction"
function_definition (+30 nodes collapsed)
function_definition (+65 nodes collapsed)
function_definition
function "function"
bang
! "!"
function_declaration
identifier "tagbar#RestoreSession"
parameters
( "("
) ")"
abort "abort"
body
call_statement
call "call"
call_expression
scoped_identifier
scope "s:"
identifier "RestoreSession"
( "("
) ")"
endfunction "endfunction"
function_definition (+24 nodes collapsed)
comment "\" }}}2"
comment "\" tagbar#Update() {{{2"
comment "\" Trigger an AutoUpdate() of the currently opened file"
function_definition
function "function"
bang
! "!"
function_declaration
identifier "tagbar#Update"
parameters
( "("
) ")"
abort "abort"
body
call_statement (+21 nodes collapsed)
endfunction "endfunction"
comment "\" tagbar#ForceUpdate() {{{2"
function_definition (+56 nodes collapsed)
comment "\" tagbar#toggle_pause() {{{2"
function_definition (+60 nodes collapsed)
function_definition
function "function"
bang
! "!"
function_declaration
identifier "tagbar#is_paused"
parameters
( "("
) ")"
abort "abort"
body
return_statement
return "return"
scoped_identifier
scope "s:"
identifier "paused"
endfunction "endfunction"
comment "\" tagbar#getusertypes() {{{2"
function_definition (+77 nodes collapsed)
comment "\" tagbar#autoopen() {{{2"
comment "\" Automatically open Tagbar if one of the open buffers conta"...
comment "\" file"
function_definition (+163 nodes collapsed)
comment "\" tagbar#GetTagNearLine() {{{2"
function_definition (+186 nodes collapsed)
comment "\" tagbar#currenttag() {{{2"
function_definition (+239 nodes collapsed)
comment "\" tagbar#currentfile() {{{2"
function_definition (+53 nodes collapsed)
comment "\" tagbar#gettypeconfig() {{{2"
function_definition (+197 nodes collapsed)
comment "\" tagbar#inspect() {{{2"
function_definition (+24 nodes collapsed)
comment "\" tagbar#currenttagtype() {{{2"
function_definition (+158 nodes collapsed)
comment "\" tagbar#printfileinfo() {{{2"
function_definition (+185 nodes collapsed)
comment "\" tagbar#IsOpen() {{{2"
function_definition (+40 nodes collapsed)
comment "\" tagbar#jump() {{{2"
function_definition
function "function"
bang
! "!"
function_declaration
identifier "tagbar#jump"
parameters
( "("
) ")"
abort "abort"
body
if_statement
if "if"
binary_operation
option
& "&"
option_name "filetype"
!= "!="
match_case
# "#"
string_literal "'tagbar'"
body
comment "\" Not in tagbar window - ignore this function call"
return_statement
return "return"
endif "endif"
call_statement
call "call"
call_expression
scoped_identifier
scope "s:"
identifier "JumpToTag"
( "("
integer_literal "1"
) ")"
endfunction "endfun"
comment "\" tagbar#jumpToNearbyTag() {{{2"
comment "\" params:"
comment "\" direction = -1:backwards search 1:forward search"
comment "\" [search_method] = Search method to use for GetTagNearLin"...
comment "\" [flags] = list of flags (as a string) to control behavio"...
comment "\" 's' - use the g:tagbar_scroll_offset setting when ju"...
function_definition
function "function"
bang
! "!"
function_declaration
identifier "tagbar#jumpToNearbyTag"
parameters
( "("
identifier "direction"
, ","
spread "..."
) ")"
abort "abort"
body
let_statement
let "let"
identifier "search_method"
= "="
ternary_expression
binary_operation
argument
a: "a:"
integer_literal "0"
>= ">="
integer_literal "1"
? "?"
argument
a: "a:"
integer_literal "1"
: ":"
string_literal "'nearest-stl'"
let_statement
let "let"
identifier "flags"
= "="
ternary_expression
binary_operation
argument
a: "a:"
integer_literal "0"
>= ">="
integer_literal "2"
? "?"
argument
a: "a:"
integer_literal "2"
: ":"
string_literal "''"
call_statement
call "call"
call_expression
scoped_identifier
scope "s:"
identifier "JumpToNearbyTag"
( "("
argument
a: "a:"
identifier "direction"
, ","
identifier "search_method"
, ","
identifier "flags"
) ")"
endfunction "endfunction"
comment "\" Modeline {{{1"
comment "\" vim: ts=8 sw=4 sts=4 et foldenable foldmethod=marker foldc"...

After

script_file
comment "\" =========================================================="...
comment "\" File: tagbar.vim"
comment "\" Description: List the current file's tags in a sidebar, or"...
comment "\" Author: Jan Larres <jan@majutsushi.net>"
comment "\" Licence: Vim licence"
comment "\" Website: https://preservim.github.io/tagbar"
comment "\" Version: 3.1.1"
comment "\" Note: This plugin was heavily inspired by the 'Tagl"...
comment "\" Yegappan Lakshmanan and uses a small amount o"...
comment "\""
comment "\" Original taglist copyright notice:"
comment "\" Permission is hereby granted to use and distr"...
comment "\" with or without modifications, provided that "...
comment "\" notice is copied with it. Like anything else "...
comment "\" taglist.vim is provided *as is* and comes wit"...
comment "\" any kind, either expressed or implied. In no "...
comment "\" copyright holder be liable for any damamges r"...
comment "\" use of this software."
comment "\" =========================================================="...
scriptencoding_statement
scriptencoding "scriptencoding"
encoding
utf-8 "utf-8"
comment "\" Initialization {{{1"
comment "\" If another plugin calls an autoloaded Tagbar function on s"...
comment "\" plugin/tagbar.vim file got loaded, load it explicitly"
if_statement
if "if"
binary_operation
call_expression
identifier "exists"
( "("
string_literal "':Tagbar'"
) ")"
== "=="
integer_literal "0"
body
runtime_statement
runtime "runtime"
filenames
filename "plugin/tagbar.vim"
endif "endif"
if_statement
if "if"
binary_operation
call_expression
identifier "exists"
( "("
string_literal "':Tagbar'"
) ")"
== "=="
integer_literal "0"
body
echomsg_statement
echomsg "echomsg"
string_literal "'Tagbar: Could not load plugin code, check your runtimepath!"...
unknown_builtin_statement
unknown_command_name "finish"
endif "endif"
comment "\" Basic init {{{2"
unknown_builtin_statement
unknown_command_name "redir"
arguments
command_argument "=>"
command_argument "s:ftype_out"
silent_statement
silent "silent"
filetype_statement
filetype "filetype"
unknown_builtin_statement
unknown_command_name "redir"
arguments
command_argument "END"
if_statement (+22 nodes collapsed)
unlet_statement
unlet "unlet"
scoped_identifier
scope "s:"
identifier "ftype_out"
let_statement
let "let"
scoped_identifier
scope "g:"
identifier "tagbar#icon_closed"
= "="
index_expression
scoped_identifier
scope "g:"
identifier "tagbar_iconchars"
[ "["
integer_literal "0"
] "]"
let_statement
let "let"
scoped_identifier
scope "g:"
identifier "tagbar#icon_open"
= "="
index_expression
scoped_identifier
scope "g:"
identifier "tagbar_iconchars"
[ "["
integer_literal "1"
] "]"
let_statement
let "let"
scoped_identifier
scope "s:"
identifier "type_init_done"
= "="
integer_literal "0"
let_statement
let "let"
scoped_identifier
scope "s:"
identifier "autocommands_done"
= "="
integer_literal "0"
let_statement
let "let"
scoped_identifier
scope "s:"
identifier "statusline_in_use"
= "="
integer_literal "0"
let_statement
let "let"
scoped_identifier
scope "s:"
identifier "init_done"
= "="
integer_literal "0"
comment "\" 0: not checked yet; 1: checked and found; 2: checked and n"...
let_statement
let "let"
scoped_identifier
scope "s:"
identifier "checked_ctags"
= "="
integer_literal "0"
let_statement
let "let"
scoped_identifier
scope "s:"
identifier "checked_ctags_types"
= "="
integer_literal "0"
let_statement
let "let"
scoped_identifier
scope "s:"
identifier "ctags_is_uctags"
= "="
integer_literal "0"
let_statement
let "let"
scoped_identifier
scope "s:"
identifier "new_window"
= "="
integer_literal "1"
let_statement
let "let"
scoped_identifier
scope "s:"
identifier "is_maximized"
= "="
integer_literal "0"
let_statement
let "let"
scoped_identifier
scope "s:"
identifier "winrestcmd"
= "="
string_literal "''"
let_statement
let "let"
scoped_identifier
scope "s:"
identifier "short_help"
= "="
integer_literal "1"
let_statement
let "let"
scoped_identifier
scope "s:"
identifier "nearby_disabled"
= "="
integer_literal "0"
let_statement
let "let"
scoped_identifier
scope "s:"
identifier "paused"
= "="
integer_literal "0"
let_statement
let "let"
scoped_identifier
scope "s:"
identifier "pwin_by_tagbar"
= "="
integer_literal "0"
let_statement
let "let"
scoped_identifier
scope "s:"
identifier "buffer_seqno"
= "="
integer_literal "0"
let_statement
let "let"
scoped_identifier
scope "s:"
identifier "vim_quitting"
= "="
integer_literal "0"
let_statement
let "let"
scoped_identifier
scope "s:"
identifier "last_alt_bufnr"
= "="
integer_literal "-1"
let_statement
let "let"
scoped_identifier
scope "s:"
identifier "window_expanded"
= "="
integer_literal "0"
let_statement
let "let"
scoped_identifier
scope "s:"
identifier "expand_bufnr"
= "="
integer_literal "-1"
let_statement (+40 nodes collapsed)
let_statement
let "let"
scoped_identifier
scope "s:"
identifier "delayed_update_files"
= "="
list
[ "["
] "]"
let_statement
let "let"
scoped_identifier
scope "g:"
identifier "loaded_tagbar"
= "="
integer_literal "1"
let_statement
let "let"
scoped_identifier
scope "s:"
identifier "last_highlight_tline"
= "="
integer_literal "0"
let_statement
let "let"
scoped_identifier
scope "s:"
identifier "warnings"
= "="
dictionnary
{ "{"
dictionnary_entry
string_literal "'type'"
: ":"
list
[ "["
] "]"
, ","
dictionnary_entry
string_literal "'encoding'"
: ":"
integer_literal "0"
} "}"
let_statement (+588 nodes collapsed)
comment "\" s:Init() {{{2"
function_definition (+125 nodes collapsed)
comment "\" s:InitTypes() {{{2"
function_definition (+1555 nodes collapsed)
comment "\" s:LoadUserTypeDefs() {{{2"
function_definition (+218 nodes collapsed)
comment "\" s:TransformUserTypeDef() {{{2"
comment "\" Transform the user definitions into the internal format"
function_definition (+287 nodes collapsed)
comment "\" s:RestoreSession() {{{2"
comment "\" Properly restore Tagbar after a session got loaded"
function_definition (+163 nodes collapsed)
comment "\" s:MapKeys() {{{2"
function_definition (+392 nodes collapsed)
comment "\" s:CreateAutocommands() {{{2"
function_definition (+446 nodes collapsed)
comment "\" s:CheckForExCtags() {{{2"
comment "\" Test whether the ctags binary is actually Exuberant Ctags "...
comment "\" (or something else)"
function_definition (+532 nodes collapsed)
comment "\" s:CtagsErrMsg() {{{2"
function_definition (+178 nodes collapsed)
comment "\" s:CheckExCtagsVersion() {{{2"
function_definition (+165 nodes collapsed)
comment "\" s:CheckFTCtags() {{{2"
function_definition (+93 nodes collapsed)
comment "\" s:GetSupportedFiletypes() {{{2"
function_definition (+125 nodes collapsed)
comment "\" Known files {{{1"
let_statement
let "let"
scoped_identifier
scope "s:"
identifier "known_files"
= "="
dictionnary
{ "{"
dictionnary_entry
string_literal "'_files'"
: ":"
dictionnary
{ "{"
} "}"
} "}"
comment "\" s:known_files.get() {{{2"
function_definition (+37 nodes collapsed)
comment "\" s:known_files.put() {{{2"
comment "\" Optional second argument is the filename"
function_definition (+74 nodes collapsed)
comment "\" s:known_files.has() {{{2"
function_definition (+33 nodes collapsed)
comment "\" s:known_files.rm() {{{2"
function_definition (+64 nodes collapsed)
comment "\" Window management {{{1"
comment "\" s:ToggleWindow() {{{2"
function_definition (+72 nodes collapsed)
comment "\" s:OpenWindow() {{{2"
function_definition (+715 nodes collapsed)
comment "\" s:InitWindow() {{{2"
function_definition (+406 nodes collapsed)
comment "\" s:CloseWindow() {{{2"
function_definition (+250 nodes collapsed)
comment "\" s:ShrinkIfExpanded() {{{2"
comment "\" If the Vim window has been expanded, and Tagbar is not ope"...
comment "\" tabpages, shrink the window again"
function_definition (+209 nodes collapsed)
comment "\" s:ZoomWindow() {{{2"
function_definition (+153 nodes collapsed)
comment "\" s:CorrectFocusOnStartup() {{{2"
comment "\" For whatever reason the focus will be on the Tagbar window"...
comment "\" tagbar#autoopen is used with a FileType autocommand on sta"...
comment "\" g:tagbar_left is set. This should work around it by jumpin"...
comment "\" the current file after startup."
function_definition (+113 nodes collapsed)
comment "\" Tag processing {{{1"
comment "\" s:ProcessFile() {{{2"
comment "\" Execute ctags and put the information into a 'FileInfo' ob"...
function_definition (+1007 nodes collapsed)
comment "\" s:ExecuteCtagsOnFile() {{{2"
function_definition (+706 nodes collapsed)
comment "\" s:ParseTagline() {{{2"
comment "\" Structure of a tag line:"
comment "\" tagname<TAB>filename<TAB>expattern;\"fields"
comment "\" fields: <TAB>name:value"
comment "\" fields that are always present: kind, line"
function_definition (+626 nodes collapsed)
comment "\" s:ProcessTag() {{{2"
function_definition (+763 nodes collapsed)
comment "\" s:add_tag_recursive() {{{2"
comment "\" Add a tag recursively as a child of its parent, or if ther"...
comment "\" the root tag list in the fileinfo object."
function_definition (+1003 nodes collapsed)
comment "\" s:create_pseudotag() {{{2"
function_definition (+309 nodes collapsed)
comment "\" s:ToggleSort() {{{2"
function_definition (+164 nodes collapsed)
comment "\" Display {{{1"
comment "\" s:RenderContent() {{{2"
function_definition (+625 nodes collapsed)
comment "\" s:PrintKinds() {{{2"
function_definition (+502 nodes collapsed)
comment "\" s:PrintTag() {{{2"
function_definition (+434 nodes collapsed)
comment "\" s:PrintHelp() {{{2"
function_definition (+433 nodes collapsed)
function_definition (+64 nodes collapsed)
comment "\" s:RenderKeepView() {{{2"
comment "\" The gist of this function was taken from NERDTree by Marti"...
function_definition (+116 nodes collapsed)
comment "\" User actions {{{1"
comment "\" s:HighlightTag() {{{2"
function_definition (+510 nodes collapsed)
comment "\" Is the given line number already visible in the window wit"...
comment "\" any scrolling?"
function_definition (+58 nodes collapsed)
comment "\" s:JumpToTag() {{{2"
function_definition (+743 nodes collapsed)
comment "\" s:ShowInPreviewWin() {{{2"
function_definition (+412 nodes collapsed)
comment "\" s:ShowPrototype() {{{2"
function_definition (+56 nodes collapsed)
comment "\" s:ToggleHelp() {{{2"
function_definition (+43 nodes collapsed)
comment "\" s:GotoNextToplevelTag() {{{2"
function_definition (+156 nodes collapsed)
comment "\" Folding {{{1"
comment "\" s:OpenFold() {{{2"
function_definition (+84 nodes collapsed)
comment "\" s:CloseFold() {{{2"
function_definition (+91 nodes collapsed)
comment "\" s:ToggleFold() {{{2"
function_definition (+167 nodes collapsed)
comment "\" s:ChangeFoldLevel() {{{2"
function_definition (+96 nodes collapsed)
comment "\" s:SetFoldLevel() {{{2"
function_definition (+174 nodes collapsed)
comment "\" s:SetFoldLevelRecursive() {{{2"
comment "\" Apply foldlevel to normal tags"
function_definition (+104 nodes collapsed)
comment "\" s:MinimizeMaxFoldLevel() {{{2"
comment "\" Set the file's fold level to the lowest value that still s"...
function_definition (+94 nodes collapsed)
comment "\" s:OpenParents() {{{2"
function_definition (+76 nodes collapsed)
comment "\" s:GotoNextFold() {{{2"
function_definition (+136 nodes collapsed)
comment "\" s:GotoPrevFold() {{{2"
function_definition (+215 nodes collapsed)
comment "\" Helper functions {{{1"
comment "\" s:AutoUpdate() {{{2"
function_definition (+594 nodes collapsed)
comment "\" s:CheckMouseClick() {{{2"
function_definition (+110 nodes collapsed)
comment "\" s:DetectFiletype() {{{2"
function_definition (+120 nodes collapsed)
comment "\" s:EscapeCtagsCmd() {{{2"
comment "\" Assemble the ctags command line in a way that all problema"...
comment "\" properly escaped and converted to the system's encoding"
comment "\" Optional third parameter is a file name to run ctags on"
comment "\" Note: The second parameter (a:args) can be a list of args "...
comment "\" a single string of the args."
comment "\" When a:args is a list, each argument in the list wil"...
comment "\" current &shell type."
comment "\" When a:args is a string, all arguments should be esc"...
comment "\" (if required). In most use cases no escaping is requ"...
comment "\" is acceptable. But in cases where arguments may need"...
comment "\" differently for each &shell type, then pass a list o"...
function_definition (+476 nodes collapsed)
comment "\" run shell command in a proper way: prevent temporary windo"...
function_definition (+241 nodes collapsed)
comment "\" s:ExecuteCtags() {{{2"
comment "\" Execute ctags with necessary shell settings"
comment "\" Partially based on the discussion at"
comment "\" http://vim.1045645.n5.nabble.com/bad-default-shellxquote-i"...
function_definition (+284 nodes collapsed)
comment "\" s:GetNearbyTag() {{{2"
comment "\" Get the tag info for a file near the cursor in the current"...
function_definition (+341 nodes collapsed)
comment "\" s:JumpToNearbyTag() {{{2"
function_definition (+155 nodes collapsed)
comment "\" s:GetTagInfo() {{{2"
comment "\" Return the info dictionary of the tag on the specified lin"...
comment "\" does not contain a valid tag (for example because it is em"...
comment "\" contains a pseudo-tag) return an empty dictionary."
function_definition (+157 nodes collapsed)
comment "\" s:GetFileWinnr() {{{2"
comment "\" Get the number of the window that has Tagbar's current fil"...
comment "\" or 0 if no window has loaded it. It tries the previous win"...
comment "\" does not have the correct buffer loaded it will look for t"...
comment "\" the correct buffer in it."
function_definition (+141 nodes collapsed)
comment "\" s:GotoFileWindow() {{{2"
comment "\" Try to switch to the window that has Tagbar's current file"...
comment "\" open the file in an existing window otherwise."
function_definition (+153 nodes collapsed)
comment "\" s:ToggleHideNonPublicTags() {{{2"
function_definition (+113 nodes collapsed)
comment "\" s:ToggleCaseInsensitive() {{{2"
function_definition (+126 nodes collapsed)
comment "\" s:ToggleAutoclose() {{{2"
function_definition (+33 nodes collapsed)
comment "\" s:IsValidFile() {{{2"
function_definition (+249 nodes collapsed)
comment "\" s:SetStatusLine() {{{2"
function_definition (+417 nodes collapsed)
comment "\" s:HandleOnlyWindow() {{{2"
function_definition (+201 nodes collapsed)
comment "\" s:HandleBufDelete() {{{2"
function_definition (+275 nodes collapsed)
comment "\" s:HandleBufWrite() {{{2"
function_definition (+46 nodes collapsed)
comment "\" s:do_delayed_update() {{{2"
function_definition (+97 nodes collapsed)
comment "\" s:ReopenWindow() {{{2"
function_definition (+47 nodes collapsed)
comment "\" s:HasOpenFileWindows() {{{2"
function_definition (+151 nodes collapsed)
comment "\" s:TagbarBufName() {{{2"
function_definition (+49 nodes collapsed)
comment "\" s:goto_win() {{{2"
function_definition (+164 nodes collapsed)
comment "\" s:goto_tagbar() {{{2"
function_definition (+52 nodes collapsed)
comment "\" s:mark_window() {{{2"
comment "\" Mark window with a window-local variable so we can jump ba"...
comment "\" the window numbers have changed."
function_definition (+21 nodes collapsed)
comment "\" s:goto_markedwin() {{{2"
comment "\" Go to a previously marked window and delete the mark."
function_definition (+76 nodes collapsed)
comment "\" s:warning() {{{2"
function_definition (+26 nodes collapsed)
comment "\" s:TogglePause() {{{2"
function_definition (+94 nodes collapsed)
comment "\" TagbarBalloonExpr() {{{2"
function_definition (+120 nodes collapsed)
comment "\" Autoload functions {{{1"
comment "\" Wrappers {{{2"
function_definition (+39 nodes collapsed)
function_definition (+39 nodes collapsed)
function_definition
function "function"
bang
! "!"
function_declaration
identifier "tagbar#CloseWindow"
parameters
( "("
) ")"
abort "abort"
body
call_statement
call "call"
call_expression
scoped_identifier
scope "s:"
identifier "CloseWindow"
( "("
) ")"
endfunction "endfunction"
function_definition (+30 nodes collapsed)
function_definition (+65 nodes collapsed)
function_definition
function "function"
bang
! "!"
function_declaration
identifier "tagbar#RestoreSession"
parameters
( "("
) ")"
abort "abort"
body
call_statement
call "call"
call_expression
scoped_identifier
scope "s:"
identifier "RestoreSession"
( "("
) ")"
endfunction "endfunction"
function_definition (+24 nodes collapsed)
comment "\" }}}2"
comment "\" tagbar#Update() {{{2"
comment "\" Trigger an AutoUpdate() of the currently opened file"
function_definition
function "function"
bang
! "!"
function_declaration
identifier "tagbar#Update"
parameters
( "("
) ")"
abort "abort"
body
if_statement
if "if"
binary_operation
scoped_identifier
scope "s:"
identifier "init_done"
== "=="
integer_literal "0"
body
call_statement
call "call"
call_expression
scoped_identifier
scope "s:"
identifier "Init"
( "("
integer_literal "0"
) ")"
endif "endif"
call_statement (+21 nodes collapsed)
endfunction "endfunction"
comment "\" tagbar#ForceUpdate() {{{2"
function_definition (+56 nodes collapsed)
comment "\" tagbar#toggle_pause() {{{2"
function_definition (+60 nodes collapsed)
function_definition
function "function"
bang
! "!"
function_declaration
identifier "tagbar#is_paused"
parameters
( "("
) ")"
abort "abort"
body
return_statement
return "return"
scoped_identifier
scope "s:"
identifier "paused"
endfunction "endfunction"
comment "\" tagbar#getusertypes() {{{2"
function_definition (+77 nodes collapsed)
comment "\" tagbar#autoopen() {{{2"
comment "\" Automatically open Tagbar if one of the open buffers conta"...
comment "\" file"
function_definition (+163 nodes collapsed)
comment "\" tagbar#GetTagNearLine() {{{2"
function_definition (+186 nodes collapsed)
comment "\" tagbar#currenttag() {{{2"
function_definition (+239 nodes collapsed)
comment "\" tagbar#currentfile() {{{2"
function_definition (+53 nodes collapsed)
comment "\" tagbar#gettypeconfig() {{{2"
function_definition (+197 nodes collapsed)
comment "\" tagbar#inspect() {{{2"
function_definition (+24 nodes collapsed)
comment "\" tagbar#currenttagtype() {{{2"
function_definition (+158 nodes collapsed)
comment "\" tagbar#printfileinfo() {{{2"
function_definition (+185 nodes collapsed)
comment "\" tagbar#IsOpen() {{{2"
function_definition (+40 nodes collapsed)
comment "\" tagbar#jump() {{{2"
function_definition
function "function"
bang
! "!"
function_declaration
identifier "tagbar#jump"
parameters
( "("
) ")"
abort "abort"
body
if_statement
if "if"
binary_operation
scoped_identifier
scope "s:"
identifier "init_done"
== "=="
integer_literal "0"
body
call_statement
call "call"
call_expression
identifier "tagbar#Update"
( "("
) ")"
endif "endif"
if_statement
if "if"
binary_operation
option
& "&"
option_name "filetype"
!= "!="
match_case
# "#"
string_literal "'tagbar'"
body
comment "\" Not in tagbar window - ignore this function call"
return_statement
return "return"
endif "endif"
call_statement
call "call"
call_expression
scoped_identifier
scope "s:"
identifier "JumpToTag"
( "("
integer_literal "1"
) ")"
endfunction "endfun"
comment "\" tagbar#jumpToNearbyTag() {{{2"
comment "\" params:"
comment "\" direction = -1:backwards search 1:forward search"
comment "\" [search_method] = Search method to use for GetTagNearLin"...
comment "\" [flags] = list of flags (as a string) to control behavio"...
comment "\" 's' - use the g:tagbar_scroll_offset setting when ju"...
function_definition
function "function"
bang
! "!"
function_declaration
identifier "tagbar#jumpToNearbyTag"
parameters
( "("
identifier "direction"
, ","
spread "..."
) ")"
abort "abort"
body
if_statement
if "if"
binary_operation
scoped_identifier
scope "s:"
identifier "init_done"
== "=="
integer_literal "0"
body
call_statement
call "call"
call_expression
identifier "tagbar#Update"
( "("
) ")"
endif "endif"
let_statement
let "let"
identifier "search_method"
= "="
ternary_expression
binary_operation
argument
a: "a:"
integer_literal "0"
>= ">="
integer_literal "1"
? "?"
argument
a: "a:"
integer_literal "1"
: ":"
string_literal "'nearest-stl'"
let_statement
let "let"
identifier "flags"
= "="
ternary_expression
binary_operation
argument
a: "a:"
integer_literal "0"
>= ">="
integer_literal "2"
? "?"
argument
a: "a:"
integer_literal "2"
: ":"
string_literal "''"
call_statement
call "call"
call_expression
scoped_identifier
scope "s:"
identifier "JumpToNearbyTag"
( "("
argument
a: "a:"
identifier "direction"
, ","
identifier "search_method"
, ","
identifier "flags"
) ")"
endfunction "endfunction"
comment "\" Modeline {{{1"
comment "\" vim: ts=8 sw=4 sts=4 et foldenable foldmethod=marker foldc"...