Skip to content

Instantly share code, notes, and snippets.

@idbrii
Last active January 27, 2020 21:43
Show Gist options
  • Save idbrii/579bbe2c411f6824d2404bfd0713c217 to your computer and use it in GitHub Desktop.
Save idbrii/579bbe2c411f6824d2404bfd0713c217 to your computer and use it in GitHub Desktop.
profiling airline branch head
https://github.com/vim-airline/vim-airline/issues/2029
To get profile:
> gvim.exe ~/.vim/bundle/airline/autoload/airline/extensions/branch.vim
:profile start ~/airline.vprof | profile func * | Gedit HEAD
" wait for five seconds after buffer shows commit info
:quit
FUNCTION FugitiveExtractGitDir()
Defined: ~/.vim/bundle/fugitive/plugin/fugitive.vim:197
Called 1 time
Total time: 0.000032
Self time: 0.000026
count total (s) self (s)
1 0.000010 0.000004 let path = s:Slash(a:path)
1 0.000005 if path =~# '^fugitive:'
1 0.000016 return matchstr(path, '\C^fugitive:\%(//\)\=\zs.\{-\}\ze\%(//\|::\|$\)')
elseif empty(path)
return ''
elseif isdirectory(path)
let path = fnamemodify(path, ':p:s?/$??')
else
let path = fnamemodify(path, ':p:h:s?/$??')
endif
let pre = substitute(matchstr(path, '^\a\a\+\ze:'), '^.', '\u&', '')
if len(pre) && exists('*' . pre . 'Real')
let path = s:Slash({pre}Real(path))
endif
let root = resolve(path)
if root !=# path
silent! exe (haslocaldir() ? 'lcd' : exists(':tcd') && haslocaldir(-1) ? 'tcd' : 'cd') '.'
endif
let previous = ""
let env_git_dir = len($GIT_DIR) ? s:Slash(simplify(fnamemodify(FugitiveVimPath($GIT_DIR), ':p:s?[\/]$??'))) : ''
call s:Tree(env_git_dir)
while root !=# previous
if root =~# '\v^//%([^/]+/?)?$'
break
endif
if index(s:CeilingDirectories(), root) >= 0
break
endif
if root ==# $GIT_WORK_TREE && FugitiveIsGitDir(env_git_dir)
return env_git_dir
elseif has_key(s:dir_for_worktree, root)
return s:dir_for_worktree[root]
endif
let dir = substitute(root, '[\/]$', '', '') . '/.git'
let type = getftype(dir)
if type ==# 'dir' && FugitiveIsGitDir(dir)
return dir
elseif type ==# 'link' && FugitiveIsGitDir(dir)
return resolve(dir)
elseif type !=# '' && filereadable(dir)
let line = get(readfile(dir, '', 1), 0, '')
let file_dir = s:Slash(FugitiveVimPath(matchstr(line, '^gitdir: \zs.*')))
if file_dir !~# '^/\|^\a:' && FugitiveIsGitDir(root . '/' . file_dir)
return simplify(root . '/' . file_dir)
elseif len(file_dir) && FugitiveIsGitDir(file_dir)
return file_dir
endif
elseif FugitiveIsGitDir(root)
return root
endif
let previous = root
let root = fnamemodify(root, ':h')
endwhile
return ''
FUNCTION neomru#append()
Defined: ~/.vim/bundle/unite-neomru/autoload/neomru.vim:327
Called 2 times
Total time: 0.000462
Self time: 0.000224
count total (s) self (s)
2 0.000061 0.000010 let path = s:fnamemodify(a:filename, ':p')
2 0.000009 if path !~ '\a\+:'
let path = s:substitute_path_separator( simplify(s:resolve(path)))
2 0.000001 endif
" Append the current buffer to the mru list.
2 0.000070 0.000008 if s:is_file_exist(path)
call s:file_mru.append(path)
2 0.000001 endif
2 0.000078 let filetype = getbufvar(bufnr(a:filename), '&filetype')
2 0.000006 if filetype ==# 'vimfiler' && type(getbufvar(bufnr(a:filename), 'vimfiler')) == type({})
let path = getbufvar(bufnr(a:filename), 'vimfiler').current_dir
2 0.000005 elseif filetype ==# 'vimshell' && type(getbufvar(bufnr(a:filename), 'vimshell')) == type({})
let path = getbufvar(bufnr(a:filename), 'vimshell').current_dir
2 0.000001 else
2 0.000109 0.000036 let path = s:fnamemodify(path, ':p:h')
2 0.000001 endif
2 0.000032 0.000019 let path = s:substitute_path_separator(simplify(s:resolve(path)))
" Chomp last /.
2 0.000009 let path = substitute(path, '/$', '', '')
" Append the current buffer to the mru list.
2 0.000047 0.000009 if s:is_directory_exist(path)
call s:directory_mru.append(path)
2 0.000001 endif
FUNCTION <SNR>281_is_sudo()
Defined: ~/.vim/bundle/unite-neomru/autoload/neomru.vim:444
Called 2 times
Total time: 0.000034
Self time: 0.000034
count total (s) self (s)
2 0.000033 return $SUDO_USER != '' && $USER !=# $SUDO_USER && $HOME !=# expand('~'.$USER) && $HOME ==# expand('~'.$SUDO_USER)
FUNCTION 7()
Defined: ~/.vim/bundle/matchup/autoload/matchup/matchparen.vim:133
Called 1 time
Total time: 0.000032
Self time: 0.000032
count total (s) self (s)
1 0.000003 if exists('w:matchup_match_id_list')
for l:id in w:matchup_match_id_list
silent! call matchdelete(l:id)
endfor
unlet! w:matchup_match_id_list
1 0.000000 endif
1 0.000002 if exists('t:match_popup')
1 0.000003 call popup_hide(t:match_popup)
elseif has('nvim')
call s:close_floating_win()
1 0.000000 endif
1 0.000002 if exists('w:matchup_oldstatus')
let &l:statusline = w:matchup_oldstatus
unlet w:matchup_oldstatus
if exists('#User#MatchupOffscreenLeave')
doautocmd <nomodeline> User MatchupOffscreenLeave
endif
1 0.000000 endif
1 0.000002 if exists('w:matchup_statusline')
unlet w:matchup_statusline
1 0.000000 endif
1 0.000002 let w:matchup_need_clear = 0
FUNCTION 9()
Defined: ~/.vim/bundle/matchup/autoload/matchup/matchparen.vim:296
Called 1 time
Total time: 0.000036
Self time: 0.000036
count total (s) self (s)
1 0.000003 if !get(b:, 'matchup_matchparen_deferred', g:matchup_matchparen_deferred)
return s:matchparen.highlight()
1 0.000000 endif
1 0.000002 if !exists('w:matchup_timer')
let s:show_delay = g:matchup_matchparen_deferred_show_delay
let s:hide_delay = g:matchup_matchparen_deferred_hide_delay
let w:matchup_timer = timer_start(s:show_delay, function('s:timer_callback', [ win_getid() ]), {'repeat': -1})
if !exists('w:matchup_need_clear')
let w:matchup_need_clear = 0
endif
let s:fade_time = g:matchup_matchparen_deferred_fade_time
if s:fade_time > 0
let w:matchup_fade_timer = timer_start(s:fade_time, function('s:fade_timer_callback', [ win_getid() ]), {'repeat': -1})
call timer_pause(w:matchup_fade_timer, 1)
endif
1 0.000000 endif
" keep the timer alive with a heartbeat
1 0.000003 let w:matchup_pulse_time = reltime()
" if the timer is paused, some time has passed
1 0.000004 if timer_info(w:matchup_timer)[0].paused
" unpause the timer
1 0.000002 call timer_pause(w:matchup_timer, 0)
" set the hi time to the pulse time
1 0.000002 let w:matchup_hi_time = w:matchup_pulse_time
1 0.000000 endif
FUNCTION <SNR>127_init_delim_lists()
Defined: ~/.vim/bundle/matchup/autoload/matchup/loader.vim:86
Called 1 time
Total time: 0.000195
Self time: 0.000051
count total (s) self (s)
1 0.000004 let l:lists = { 'delim_tex': { 'regex': [], 'regex_capture': [], 'midmap': {}, },}
" very tricky examples:
" good: let b:match_words = '\(\(foo\)\(bar\)\):\3\2:end\1'
" bad: let b:match_words = '\(foo\)\(bar\):more\1:and\2:end\1\2'
" *subtlety*: there is a huge assumption in matchit:
" ``It should be possible to resolve back references
" from any pattern in the group.''
" we don't explicitly check this, but the behavior might
" be unpredictable if such groups are encountered.. (ref-1)
1 0.000003 if exists('g:matchup_hotfix') && has_key(g:matchup_hotfix, &filetype)
call call(g:matchup_hotfix[&filetype], [])
1 0.000003 elseif exists('g:matchup_hotfix_'.&filetype)
call call(g:matchup_hotfix_{&filetype}, [])
1 0.000002 elseif exists('b:matchup_hotfix')
call call(b:matchup_hotfix, [])
1 0.000000 endif
" parse matchpairs and b:match_words
1 0.000003 let l:match_words = a:0 ? a:1 : get(b:, 'match_words', '')
1 0.000002 if !empty(l:match_words) && l:match_words !~# ':'
if a:0
echohl ErrorMsg
echo 'match-up: function b:match_words error'
echohl None
let l:match_words = ''
else
execute 'let l:match_words =' b:match_words
" echohl ErrorMsg
" echo 'match-up: function b:match_words not supported'
" echohl None
" let l:match_words = ''
endif
1 0.000000 endif
1 0.000002 let l:simple = empty(l:match_words)
1 0.000003 let l:mps = escape(&matchpairs, '[$^.*~\\/?]')
1 0.000003 if !get(b:, 'matchup_delim_nomatchpairs', 0) && !empty(l:mps)
1 0.000003 let l:match_words .= (l:simple ? '' : ',').l:mps
1 0.000000 endif
1 0.000001 if l:simple
1 0.000151 0.000007 return s:init_delim_lists_fast(l:match_words)
endif
let l:sets = split(l:match_words, g:matchup#re#not_bslash.',')
" do not duplicate whole groups of match words
let l:seen = {}
for l:s in l:sets
" very special case, escape bare [:]
" TODO: the bare [] bug might show up in other places too
if l:s ==# '[:]' || l:s ==# '\[:\]'
let l:s = '\[:]'
endif
if has_key(l:seen, l:s) | continue | endif
let l:seen[l:s] = 1
if l:s =~# '^\s*$' | continue | endif
let l:words = split(l:s, g:matchup#re#not_bslash.':')
if len(l:words) < 2 | continue | endif
" stores series-level information
let l:extra_info = {}
" stores information for each word
let l:extra_list = map(range(len(l:words)), '{}')
" pre-process various \g{special} instructions
let l:replacement = { 'hlend': '\%(hlend\)\{0}', 'syn': ''}
for l:i in range(len(l:words))
let l:special_flags = []
let l:words[l:i] = substitute(l:words[l:i], g:matchup#re#gspec, '\=[get(l:replacement,submatch(1),""),' . 'add(l:special_flags,' . '[submatch(1),submatch(2)])][0]', 'g')
for [l:f, l:a] in l:special_flags
let l:extra_list[l:i][l:f] = len(l:a) ? l:a : 1
endfor
endfor
" we will resolve backrefs to produce two sets of words,
" one with \(foo\)s and one with \1s, along with a set of
" bookkeeping structures
let l:words_backref = copy(l:words)
" *subtlety*: backref numbers refer to the capture groups
" in the 'open' pattern so we have to carefully keep track
" of the group renumbering
let l:group_renumber = {}
let l:augment_comp = {}
let l:all_needed_groups = {}
" *subtlety*: when replacing things like \1 with \(...\)
" the insertion could possibly contain back references of
" its own; this poses a very difficult bookkeeping problem,
" so we just disallow it.. (ref-2)
" get the groups like \(foo\) in the 'open' pattern
let l:cg = matchup#loader#get_capture_groups(l:words[0])
" if any of these contain \d raise a warning
" and substitute it out (ref-2)
for l:cg_i in keys(l:cg)
if l:cg[l:cg_i].str =~# g:matchup#re#backref
echohl WarningMsg
echom 'match-up: capture group' l:cg[l:cg_i].str 'should not contain backrefs (ref-2)'
echohl None
let l:cg[l:cg_i].str = substitute(l:cg[l:cg_i].str, g:matchup#re#backref, '', 'g')
endif
endfor
" for the 'open' pattern, create a series of replacements
" of the capture groups with \9, \8, ..., \1
" this must be done deepest to shallowest
let l:augments = {}
let l:order = matchup#loader#capture_group_replacement_order(l:cg)
let l:curaug = l:words[0]
" TODO: \0 should match the whole pattern..
" augments[0] is the original words[0] with original capture groups
let l:augments[0] = l:curaug " XXX does putting this in 0 make sense?
for l:j in l:order
" these indexes are not invalid because we work backwards
let l:curaug = strpart(l:curaug, 0, l:cg[l:j].pos[0]) .('\'.l:j).strpart(l:curaug, l:cg[l:j].pos[1])
let l:augments[l:j] = l:curaug
endfor
" TODO this logic might be bad BADLOGIC
" should we not fill groups that aren't needed?
" dragons: create the augmentation operators from the
" open pattern- this is all super tricky!!
" TODO we should be building the augment later, so
" we can remove augments that can never be filled
" now for the rest of the words...
for l:i in range(1, len(l:words)-1)
" first get rid of the capture groups in this pattern
let l:words_backref[l:i] = matchup#loader#remove_capture_groups( l:words_backref[l:i])
" get the necessary \1, \2, etc back-references
let l:needed_groups = []
call substitute(l:words_backref[l:i], g:matchup#re#backref, '\=len(add(l:needed_groups, submatch(1)))', 'g')
call filter(l:needed_groups, 'index(l:needed_groups, v:val) == v:key')
" warn if the back-referenced groups don't actually exist
for l:ng in l:needed_groups
if has_key(l:cg, l:ng)
let l:all_needed_groups[l:ng] = 1
else
echohl WarningMsg
echom 'match-up: backref \' . l:ng 'requested but no ' . 'matching capture group provided'
echohl None
endif
endfor
" substitute capture groups into the backrefs and keep
" track of the mapping to the original backref number
let l:group_renumber[l:i] = {}
let l:cg2 = {}
for l:bref in l:needed_groups
" turn things like \1 into \(...\)
" replacement is guaranteed to exist and not contain \d
let l:words_backref[l:i] = substitute(l:words_backref[l:i], g:matchup#re#backref, '\='''.l:cg[l:bref].str."'", '') " not global!!
" complicated: need to count the number of inserted groups
let l:prev_max = max(keys(l:cg2))
let l:cg2 = matchup#loader#get_capture_groups(l:words_backref[l:i])
for l:cg2_i in sort(keys(l:cg2), s:Nsort)
if l:cg2_i > l:prev_max
" maps capture groups to 'open' back reference numbers
let l:group_renumber[l:i][l:cg2_i] = l:bref + (l:cg2_i - 1 - l:prev_max)
endif
endfor
" if any backrefs remain, replace with re-numbered versions
let l:words_backref[l:i] = substitute(l:words_backref[l:i], g:matchup#re#not_bslash.'\\'.l:bref, '\\\=l:group_renumber[l:i][submatch(1)]', 'g')
endfor
" mostly a sanity check
if matchup#util#has_duplicate_str(values(l:group_renumber[l:i]))
echohl ErrorMsg
echom 'match-up: duplicate bref in set ' l:s ':' l:i
echohl None
endif
" compile the augment list for this set of backrefs, going
" deepest first and combining as many steps as possible
let l:resolvable = {}
let l:dependency = {}
let l:instruct = []
for l:j in l:order
" the in group is the local number from this word pattern
let l:in_grp_l = keys(filter( deepcopy(l:group_renumber[l:i]), 'v:val == l:j'))
if empty(l:in_grp_l) | continue | endif
let l:in_grp = l:in_grp_l[0]
" if anything depends on this, flush out the current resolvable
if has_key(l:dependency, l:j)
call add(l:instruct, copy(l:resolvable))
let l:dependency = {}
endif
" walk up the tree marking any new dependency
let l:node = l:j
for l:dummy in range(11)
let l:node = l:cg[l:node].parent
if l:node == 0 | break | endif
let l:dependency[l:node] = 1
endfor
" mark l:j as resolvable
let l:resolvable[l:j] = l:in_grp
endfor
if !empty(l:resolvable)
call add(l:instruct, copy(l:resolvable))
endif
" *note*: recall that l:augments[2] is the result of augments
" up to and including 2
" this is a set of instructions of which brefs to resolve
let l:augment_comp[l:i] = []
for l:instr in l:instruct
" the smallest key is the greediest, due to l:order
let l:minkey = min(keys(l:instr))
call insert(l:augment_comp[l:i], { 'inputmap': {}, 'outputmap': {}, 'str': l:augments[l:minkey],})
let l:remaining_out = {}
for l:out_grp in keys(l:cg)
let l:remaining_out[l:out_grp] = 1
endfor
" input map turns this word pattern numbers into 'open' numbers
for [l:out_grp, l:in_grp] in items(l:instr)
let l:augment_comp[l:i][0].inputmap[l:in_grp] = l:out_grp
if has_key(l:remaining_out, l:out_grp)
call remove(l:remaining_out, l:out_grp)
endif
endfor
" output map turns remaining group numbers into 'open' numbers
let l:counter = 1
for l:out_grp in sort(keys(l:remaining_out), s:Nsort)
let l:augment_comp[l:i][0].outputmap[l:counter] = l:out_grp
let l:counter += 1
endfor
endfor
" if l:instruct was empty, there are no constraints
if empty(l:instruct) && !empty(l:augments)
let l:augment_comp[l:i] = [{ 'inputmap': {}, 'outputmap': {}, 'str': l:augments[0],}]
for l:cg_i in keys(l:cg)
let l:augment_comp[l:i][0].outputmap[l:cg_i] = l:cg_i
endfor
endif
endfor
" strip out unneeded groups in output maps
for l:i in keys(l:augment_comp)
for l:aug in l:augment_comp[l:i]
call filter(l:aug.outputmap, 'has_key(l:all_needed_groups, v:key)')
endfor
endfor
" TODO should l:words[0] actually be used? BADLOGIC
" the last element in the order gives the most augmented string
" this includes groups that might not actually be needed elsewhere
" as a concrete example,
" l:augments = { '0': '\<\(wh\%[ile]\|for\)\>', '1': '\<\1\>'}
" l:words[0] = \<\1\> (bad)
" instead, get the furthest out needed augment.. Heuristic TODO
for l:g in add(reverse(copy(l:order)), 0)
if has_key(l:all_needed_groups, l:g)
let l:words[0] = l:augments[l:g]
break
endif
endfor
" check whether any of these patterns has \zs
let l:extra_info.has_zs = match(l:words_backref, g:matchup#re#zs) >= 0
if !empty(filter(copy(l:extra_list[1:-2]), 'get(v:val, "hlend")'))
let l:extra_info.mid_hlend = 1
endif
" this is the original set of words plus the set of augments
" TODO this should probably be renamed
" (also called regexone)
call add(l:lists.delim_tex.regex, { 'open' : l:words[0], 'close' : l:words[-1], 'mid' : join(l:words[1:-2], '\|'), 'mid_list' : l:words[1:-2], 'augments' : l:augments,})
" this list has \(groups\) and we also stuff recapture data
" TODO this should probably be renamed
" (also called regextwo)
call add(l:lists.delim_tex.regex_capture, { 'open' : l:words_backref[0], 'close' : l:words_backref[-1], 'mid' : join(l:words_backref[1:-2], '\|'), 'mid_list' : l:words_backref[1:-2], 'need_grp' : l:all_needed_groups, 'grp_renu' : l:group_renumber, 'aug_comp' : l:augment_comp, 'extra_list' : l:extra_list, 'extra_info' : l:extra_info,})
endfor
" load info for advanced mid-mapper
if exists('b:match_midmap') && type(b:match_midmap) == type([])
let l:elems = deepcopy(b:match_midmap)
let l:lists.delim_tex.midmap = { 'elements': l:elems, 'strike': '\%(' . join(map(range(len(l:elems)), '"\\(".l:elems[v:val][1]."\\)"'), '\|') . '\)'}
endif
" generate combined lists
let l:lists.delim_all = {}
let l:lists.all = {}
for l:k in ['regex', 'regex_capture', 'midmap']
let l:lists.delim_all[l:k] = l:lists.delim_tex[l:k]
let l:lists.all[l:k] = l:lists.delim_all[l:k]
endfor
return l:lists
FUNCTION ale#events#LintOnEnter()
Defined: ~/.vim/bundle/ale/autoload/ale/events.vim:42
Called 1 time
Total time: 0.003980
Self time: 0.000014
count total (s) self (s)
" Unmark a file as being changed outside of Vim after we try to check it.
1 0.000003 call setbufvar(a:buffer, 'ale_file_changed', 0)
1 0.000013 0.000004 if ale#Var(a:buffer, 'enabled') && g:ale_lint_on_enter
1 0.003961 0.000005 call ale#Queue(0, 'lint_file', a:buffer)
1 0.000000 endif
FUNCTION <SNR>115_vimlsp_suggest_plugin()
Defined: ~/.vim/bundle/lsp-settings/plugin/lsp_settings.vim:173
Called 1 time
Total time: 0.000003
Self time: 0.000003
count total (s) self (s)
1 0.000002 if &ft != ''
1 0.000001 return
endif
let l:ext = expand('%:e')
for l:ft in keys(s:settings)
for l:server in s:settings[l:ft]
if !has_key(l:server, 'vim-plugin')
continue
endif
if index(l:server['vim-plugin']['extensions'], l:ext) == -1
continue
endif
redraw
echohl Directory
echomsg printf('If enable Language Server, please install vim-plugin "%s"', l:server['vim-plugin']['name'])
echohl None
return
endfor
endfor
FUNCTION airline#util#exec_funcrefs()
Defined: ~/.vim/bundle/airline/autoload/airline/util.vim:81
Called 100 times
Total time: 0.105720
Self time: 0.006040
count total (s) self (s)
736 0.000693 for Fn in a:list
703 0.103087 0.003407 let code = call(Fn, a:000)
703 0.000513 if code != 0
67 0.000049 return code
636 0.000274 endif
669 0.000309 endfor
33 0.000020 return 0
FUNCTION <SNR>86_chop()
Defined: ~/.vim/bundle/ctrlp/autoload/ctrlp/mrufiles.vim:36
Called 1 time
Total time: 0.000008
Self time: 0.000008
count total (s) self (s)
1 0.000006 if len(a:mrufs) > {s:max} | cal remove(a:mrufs, {s:max}, -1) | en
1 0.000001 retu a:mrufs
FUNCTION airline#extensions#unite#apply()
Defined: ~/.vim/bundle/airline/autoload/airline/extensions/unite.vim:11
Called 67 times
Total time: 0.000803
Self time: 0.000803
count total (s) self (s)
67 0.000237 if &ft == 'unite'
call a:1.add_section('airline_a', ' Unite ')
call a:1.add_section('airline_b', ' %{get(unite#get_context(), "buffer_name", "")} ')
call a:1.add_section('airline_c', ' %{unite#get_status_string()} ')
call a:1.split()
call a:1.add_section('airline_y', ' %{get(unite#get_context(), "real_buffer_name", "")} ')
return 1
67 0.000029 endif
FUNCTION airline#parts#iminsert()
Defined: ~/.vim/bundle/airline/autoload/airline/parts.vim:82
Called 64 times
Total time: 0.000307
Self time: 0.000307
count total (s) self (s)
64 0.000119 if g:airline_detect_iminsert && &iminsert && exists('b:keymap_name')
return toupper(b:keymap_name)
64 0.000029 endif
64 0.000038 return ''
FUNCTION <SNR>265_Expand()
Defined: ~/.vim/bundle/fugitive/autoload/fugitive.vim:1037
Called 1 time
Total time: 0.000046
Self time: 0.000046
count total (s) self (s)
1 0.000004 if a:rev =~# '^:[0-3]$'
let file = len(expand('%')) ? a:rev . ':%' : '%'
1 0.000001 elseif a:rev ==# '>'
let file = '%'
1 0.000003 elseif a:rev =~# '^>[~^]'
let file = len(expand('%')) ? '!' . a:rev[1:-1] . ':%' : '%'
1 0.000003 elseif a:rev =~# '^>[> ]\@!'
let file = len(expand('%')) ? a:rev[1:-1] . ':%' : '%'
1 0.000000 else
1 0.000001 let file = a:rev
1 0.000001 endif
1 0.000024 return substitute(file, '\(\\[' . s:fnameescape . ']\|^\\[>+-]\|!\d*\)\|' . s:expand, '\=s:ExpandVar(submatch(1),submatch(2),submatch(3),"", a:0 ? a:1 : getcwd())', 'g')
FUNCTION airline#extensions#ale#get_error()
Defined: ~/.vim/bundle/airline/autoload/airline/extensions/ale.vim:112
Called 64 times
Total time: 0.005960
Self time: 0.000299
count total (s) self (s)
64 0.005945 0.000284 return airline#extensions#ale#get('error')
FUNCTION <SNR>239_update_untracked()
Defined: ~/.vim/bundle/airline/autoload/airline/extensions/branch.vim:189
Called 64 times
Total time: 0.005542
Self time: 0.005542
count total (s) self (s)
64 0.001725 let file = expand("%:p")
64 0.001037 if empty(file) || isdirectory(file) || !empty(&buftype)
return
64 0.000029 endif
64 0.000091 let needs_update = 1
64 0.000198 let vcs_checks = get(g:, "airline#extensions#branch#vcs_checks", ["untracked", "dirty"])
192 0.000260 for vcs in keys(s:vcs_config)
128 0.000513 if file =~ s:vcs_config[vcs].exclude
" Skip check for files that live in the exclude directory
64 0.000071 let needs_update = 0
128 0.000060 endif
128 0.000283 if has_key(s:vcs_config[vcs].untracked, file)
let needs_update = 0
call airline#extensions#branch#update_untracked_config(file, vcs)
128 0.000054 endif
192 0.000107 endfor
64 0.000054 if !needs_update
64 0.000041 return
endif
for vcs in keys(s:vcs_config)
" only check, for git, if fugitive is installed
" and for 'hg' if lawrencium is installed, else skip
if vcs is# 'git' && (!airline#util#has_fugitive() && !airline#util#has_gina())
continue
elseif vcs is# 'mercurial' && !airline#util#has_lawrencium()
continue
endif
let config = s:vcs_config[vcs]
" Note that asynchronous update updates s:vcs_config only, and only
" s:update_untracked updates b:buffer_vcs_config. If s:vcs_config is
" invalidated again before s:update_untracked is called, then we lose the
" result of the previous call, i.e. the head string is not updated. It
" doesn't happen often in practice, so we let it be.
if index(vcs_checks, 'untracked') > -1
call airline#async#vcs_untracked(config, file, vcs)
endif
" Check clean state of repo
if index(vcs_checks, 'dirty') > -1
call airline#async#vcs_clean(config.dirty, file, vcs)
endif
endfor
FUNCTION ale#linter#Get()
Defined: ~/.vim/bundle/ale/autoload/ale/linter.vim:409
Called 1 time
Total time: 0.003843
Self time: 0.000083
count total (s) self (s)
1 0.000002 let l:possibly_duplicated_linters = []
" Handle dot-separated filetypes.
2 0.000006 for l:original_filetype in split(a:original_filetypes, '\.')
1 0.000047 0.000005 let l:filetype = ale#linter#ResolveFiletype(l:original_filetype)
1 0.000031 0.000005 let l:linter_names = s:GetLinterNames(l:original_filetype)
1 0.003698 0.000005 let l:all_linters = ale#linter#GetAll(l:filetype)
1 0.000001 let l:filetype_linters = []
1 0.000004 if type(l:linter_names) is v:t_string && l:linter_names is# 'all'
1 0.000002 let l:filetype_linters = l:all_linters
elseif type(l:linter_names) is v:t_list
" Select only the linters we or the user has specified.
for l:linter in l:all_linters
let l:name_list = [l:linter.name] + l:linter.aliases
for l:name in l:name_list
if index(l:linter_names, l:name) >= 0
call add(l:filetype_linters, l:linter)
break
endif
endfor
endfor
1 0.000001 endif
1 0.000002 call extend(l:possibly_duplicated_linters, l:filetype_linters)
2 0.000001 endfor
1 0.000001 let l:name_list = []
1 0.000001 let l:combined_linters = []
" Make sure we override linters so we don't get two with the same name,
" like 'eslint' for both 'javascript' and 'typescript'
"
" Note that the reverse calls here modify the List variables.
1 0.000003 for l:linter in reverse(l:possibly_duplicated_linters)
if index(l:name_list, l:linter.name) < 0
call add(l:name_list, l:linter.name)
call add(l:combined_linters, l:linter)
endif
1 0.000001 endfor
1 0.000002 return reverse(l:combined_linters)
FUNCTION <SNR>236_get_array()
Defined: ~/.vim/bundle/airline/autoload/airline/highlighter.vim:56
Called 7244 times
Total time: 0.041011
Self time: 0.041011
count total (s) self (s)
7244 0.016911 let opts=empty(a:opts) ? '' : join(a:opts, ',')
7244 0.021579 return g:airline_gui_mode ==# 'gui' ? [ a:fg, a:bg, '', '', opts ] : [ '', '', a:fg, a:bg, opts ]
FUNCTION <SNR>34_LoadIndent()
Defined: C:/david/apps/vim/vim82/indent.vim:13
Called 1 time
Total time: 0.003157
Self time: 0.003157
count total (s) self (s)
1 0.000003 if exists("b:undo_indent")
exe b:undo_indent
unlet! b:undo_indent b:did_indent
1 0.000000 endif
1 0.000004 let s = expand("<amatch>")
1 0.000001 if s != ""
1 0.000001 if exists("b:did_indent")
unlet b:did_indent
1 0.000000 endif
" When there is a dot it is used to separate filetype names. Thus for
" "aaa.bbb" load "indent/aaa.vim" and then "indent/bbb.vim".
2 0.000006 for name in split(s, '\.')
1 0.003129 exe 'runtime! indent/' . name . '.vim'
2 0.000002 endfor
1 0.000001 endif
FUNCTION <SNR>281_is_file_exist()
Defined: ~/.vim/bundle/unite-neomru/autoload/neomru.vim:407
Called 1002 times
Total time: 0.063924
Self time: 0.063924
count total (s) self (s)
1002 0.025853 let ignore = !empty(g:neomru#file_mru_ignore_pattern) && a:path =~ g:neomru#file_mru_ignore_pattern
1002 0.037612 return !ignore && (getftype(a:path) ==# 'file' || getftype(a:path) ==# 'link' || a:path =~ '^\h\w\+:')
FUNCTION <SNR>236_get_syn()
Defined: ~/.vim/bundle/airline/autoload/airline/highlighter.vim:37
Called 14488 times
Total time: 0.279012
Self time: 0.279012
count total (s) self (s)
14488 0.025206 if !exists("g:airline_gui_mode")
let g:airline_gui_mode = airline#init#gui_mode()
14488 0.005992 endif
14488 0.012202 let color = ''
14488 0.030512 if hlexists(a:group)
14486 0.057025 let color = synIDattr(synIDtrans(hlID(a:group)), a:what, g:airline_gui_mode)
14488 0.006585 endif
14488 0.020864 if empty(color) || color == -1
" should always exists
2 0.000009 let color = synIDattr(synIDtrans(hlID('Normal')), a:what, g:airline_gui_mode)
" however, just in case
2 0.000003 if empty(color) || color == -1
let color = 'NONE'
2 0.000001 endif
14488 0.005566 endif
14488 0.010460 return color
FUNCTION <SNR>69_on_cursor_moved()
Defined: ~/.vim/bundle/airline/plugin/airline.vim:85
Called 1 time
Total time: 0.000014
Self time: 0.000010
count total (s) self (s)
1 0.000003 if winnr() != s:active_winnr || !exists('w:airline_active')
call s:on_window_changed('CursorMoved')
1 0.000000 endif
1 0.000008 0.000003 call airline#update_tabline()
FUNCTION <SNR>265_TempCmd()
Defined: ~/.vim/bundle/fugitive/autoload/fugitive.vim:1251
Called 1 time
Total time: 0.124679
Self time: 0.000041
count total (s) self (s)
1 0.000001 let prefix = ''
1 0.000001 try
1 0.001534 0.000008 let cmd = (type(a:cmd) == type([]) ? fugitive#Prepare(a:cmd) : a:cmd)
1 0.000002 let redir = ' > ' . a:out
1 0.000010 0.000004 if s:winshell()
1 0.000003 let cmd_escape_char = &shellxquote == '(' ? '^' : '^^^'
1 0.123119 0.000013 return s:SystemError('cmd /c "' . prefix . s:gsub(cmd, '[<>]', cmd_escape_char . '&') . redir . '"')
elseif &shell =~# 'fish'
return s:SystemError(' begin;' . prefix . cmd . redir . ';end ')
else
return s:SystemError(' (' . prefix . cmd . redir . ') ')
endif
1 0.000001 endtry
FUNCTION airline#extensions#nrrwrgn#apply()
Defined: ~/.vim/bundle/airline/autoload/airline/extensions/nrrwrgn.vim:11
Called 67 times
Total time: 0.003766
Self time: 0.003766
count total (s) self (s)
67 0.000466 if exists(":WidenRegion") == 2
let spc = g:airline_symbols.space
if !exists("*nrrwrgn#NrrwRgnStatus()") || empty(nrrwrgn#NrrwRgnStatus())
call a:1.add_section('airline_a', printf('%s[Narrowed%s#%d]', spc, spc, b:nrrw_instn))
let bufname=(get(b:, 'orig_buf', 0) ? bufname(b:orig_buf) : substitute(bufname('%'), '^Nrrwrgn_\zs.*\ze_\d\+$', submatch(0), ''))
call a:1.add_section('airline_c', spc.bufname.spc)
call a:1.split()
else
let dict=nrrwrgn#NrrwRgnStatus()
let vmode = { 'v': 'Char ', 'V': 'Line ', '': 'Block '}
let mode = dict.visual ? vmode[dict.visual] : vmode['V']
let winwidth = airline#util#winwidth()
if winwidth < 80
let mode = mode[0]
endif
let title = (winwidth < 80 ? "Nrrw" : "Narrowed ")
let multi = (winwidth < 80 ? 'M' : 'Multi')
call a:1.add_section('airline_a', printf('[%s%s%s#%d]%s', (dict.multi ? multi : ""), title, mode, b:nrrw_instn, spc))
let name = dict.fullname
if name !=# '[No Name]'
if winwidth > 100
" need some space
let name = fnamemodify(dict.fullname, ':~')
if strlen(name) > 8
" shorten name
let name = substitute(name, '\(.\)[^/\\]*\([/\\]\)', '\1\2', 'g')
endif
else
let name = fnamemodify(dict.fullname, ':t')
endif
endif
let range=(dict.multi ? '' : printf("[%d-%d]", dict.start[1], dict.end[1]))
call a:1.add_section('airline_c', printf("%s %s %s", name, range, dict.enabled ? (&encoding ==? 'utf-8' ? "\u2713" : '') : '!'))
call a:1.split()
call a:1.add_section('airline_x', get(g:, 'airline_section_x').spc)
call a:1.add_section('airline_y', spc.get(g:, 'airline_section_y').spc)
call a:1.add_section('airline_z', spc.get(g:, 'airline_section_z'))
endif
return 1
67 0.000032 endif
FUNCTION airline#extensions#term#apply()
Defined: ~/.vim/bundle/airline/autoload/airline/extensions/term.vim:10
Called 67 times
Total time: 0.001053
Self time: 0.001053
count total (s) self (s)
67 0.000250 if &buftype == 'terminal' || bufname('%')[0] == '!'
let spc = g:airline_symbols.space
call a:1.add_section('airline_a', spc.s:section_a.spc)
call a:1.add_section('airline_b', '')
call a:1.add_section('airline_term', spc.s:termname())
call a:1.split()
call a:1.add_section('airline_y', '')
call a:1.add_section('airline_z', spc.airline#section#create_right(['linenr', 'maxlinenr']))
return 1
67 0.000031 endif
FUNCTION <SNR>101_Skip()
Defined: ~/.vim/bundle/FastFold/plugin/fastfold.vim:126
Called 2 times
Total time: 0.000048
Self time: 0.000025
count total (s) self (s)
2 0.000018 0.000008 if s:isSmall() | return 1 | endif
2 0.000016 0.000008 if !s:isReasonable() | return 1 | endif
1 0.000009 0.000004 if s:inSkipList() | return 1 | endif
1 0.000002 if !empty(&l:buftype)| return 1 | endif
1 0.000001 if !&l:modifiable | return 1 | endif
return 0
FUNCTION airline#check_mode()
Defined: ~/.vim/bundle/airline/autoload/airline.vim:199
Called 64 times
Total time: 0.262394
Self time: 0.006154
count total (s) self (s)
64 0.000157 if !has_key(s:contexts, a:winnr)
return ''
64 0.000035 endif
64 0.000154 let context = s:contexts[a:winnr]
64 0.000130 if get(w:, 'airline_active', 1)
64 0.000115 let l:m = mode(1)
64 0.000074 if l:m ==# "i"
let l:mode = ['insert']
64 0.000105 elseif l:m[0] ==# "i"
let l:mode = ['insert']
64 0.000057 elseif l:m ==# "Rv"
let l:mode =['replace']
64 0.000069 elseif l:m[0] ==# "R"
let l:mode = ['replace']
64 0.000452 elseif l:m[0] =~# '\v(v|V||s|S|)'
let l:mode = ['visual']
64 0.000059 elseif l:m ==# "t"
let l:mode = ['terminal']
64 0.000070 elseif l:m[0] ==# "c"
let l:mode = ['commandline']
64 0.000058 elseif l:m ==# "no" " does not work, most likely, Vim does not refresh the statusline in OP mode
let l:mode = ['normal']
64 0.000097 elseif l:m[0:1] ==# 'ni'
let l:mode = ['normal']
let l:m = 'ni'
64 0.000030 else
64 0.000088 let l:mode = ['normal']
64 0.000031 endif
64 0.000190 if exists("*VMInfos") && !empty(VMInfos())
" Vim plugin Multiple Cursors https://github.com/mg979/vim-visual-multi
let l:m = 'multi'
64 0.000029 endif
64 0.000212 if index(['Rv', 'no', 'ni', 'ix', 'ic', 'multi'], l:m) == -1
64 0.000091 let l:m = l:m[0]
64 0.000029 endif
64 0.000214 let w:airline_current_mode = get(g:airline_mode_map, l:m, l:m)
else
let l:mode = ['inactive']
let w:airline_current_mode = get(g:airline_mode_map, '__')
64 0.000029 endif
64 0.000139 if g:airline_detect_modified && &modified
call add(l:mode, 'modified')
64 0.000027 endif
64 0.000072 if g:airline_detect_paste && &paste
call add(l:mode, 'paste')
64 0.000029 endif
64 0.000173 if g:airline_detect_crypt && exists("+key") && !empty(&key)
call add(l:mode, 'crypt')
64 0.000025 endif
64 0.000073 if g:airline_detect_spell && &spell
call add(l:mode, 'spell')
64 0.000025 endif
64 0.000053 if &readonly || ! &modifiable
64 0.000138 call add(l:mode, 'readonly')
64 0.000028 endif
64 0.000166 let mode_string = join(l:mode)
64 0.000151 if get(w:, 'airline_lastmode', '') != mode_string
32 0.005628 0.000195 call airline#highlighter#highlight_modified_inactive(context.bufnr)
32 0.246527 0.000245 call airline#highlighter#highlight(l:mode, context.bufnr)
32 0.004668 0.000142 call airline#util#doautocmd('AirlineModeChanged')
32 0.000073 let w:airline_lastmode = mode_string
64 0.000029 endif
64 0.000050 return ''
FUNCTION <SNR>101_EnterWin()
Defined: ~/.vim/bundle/FastFold/plugin/fastfold.vim:40
Called 2 times
Total time: 0.000067
Self time: 0.000019
count total (s) self (s)
2 0.000053 0.000005 if s:Skip()
2 0.000003 if exists('w:lastfdm')
1 0.000001 unlet w:lastfdm
2 0.000001 endif
else
let w:lastfdm = &l:foldmethod
setlocal foldmethod=manual
2 0.000001 endif
FUNCTION <SNR>265_PreparePathArgs()
Defined: ~/.vim/bundle/fugitive/autoload/fugitive.vim:328
Called 3 times
Total time: 0.108444
Self time: 0.000205
count total (s) self (s)
3 0.108257 0.000018 let literal_supported = fugitive#GitVersion(1, 9)
3 0.000004 if a:literal && literal_supported
3 0.000008 call insert(a:cmd, '--literal-pathspecs')
3 0.000001 endif
3 0.000007 let split = index(a:cmd, '--')
18 0.000019 for i in range(split < 0 ? len(a:cmd) : split)
15 0.000037 if type(a:cmd[i]) == type(0)
let a:cmd[i] = fugitive#Path(bufname(a:cmd[i]), './', a:dir)
15 0.000006 endif
18 0.000009 endfor
3 0.000002 if split < 0
2 0.000002 return a:cmd
1 0.000000 endif
1 0.000003 for i in range(split + 1, len(a:cmd) - 1)
if type(a:cmd[i]) == type(0)
let a:cmd[i] = fugitive#Path(bufname(a:cmd[i]), './', a:dir)
elseif a:literal
let a:cmd[i] = fugitive#Path(a:cmd[i], './', a:dir)
elseif !literal_supported
let a:cmd[i] = substitute(a:cmd[i], '^:\%(/\|([^)]*)\)\=:\=', './', '')
endif
1 0.000001 endfor
1 0.000001 return a:cmd
FUNCTION lsp#log()
Defined: ~/.vim/bundle/lsp/autoload/lsp.vim:40
Called 3 times
Total time: 0.012397
Self time: 0.012397
count total (s) self (s)
3 0.000006 if !empty(g:lsp_log_file)
3 0.012377 call writefile([strftime('%c') . ':' . json_encode(a:000)], g:lsp_log_file, 'a')
3 0.000008 endif
FUNCTION airline#util#append()
Defined: ~/.vim/bundle/airline/autoload/airline/util.vim:48
Called 448 times
Total time: 0.003389
Self time: 0.003389
count total (s) self (s)
448 0.000743 if a:minwidth > 0 && airline#util#winwidth() < a:minwidth
return ''
448 0.000191 endif
448 0.000984 let prefix = s:spc == "\ua0" ? s:spc : s:spc.s:spc
448 0.000920 return empty(a:text) ? '' : prefix.g:airline_left_alt_sep.s:spc.a:text
FUNCTION <SNR>2_SetupSurroundForCurrentFiletype()
Defined: ~/.vim/vimrc.vim:635
Called 1 time
Total time: 0.000028
Self time: 0.000028
count total (s) self (s)
" m surrounds with commented foldmarkers
1 0.000004 let comment = &commentstring
" Escape % since they're interpreted by printf (tex, markdown use them in
" commentstring).
1 0.000007 let comment = substitute(comment, '%', '%%', 'g')
" Revert our %s target back.
1 0.000004 let comment = substitute(comment, '%%s', '%s', 'g')
1 0.000002 if len(comment) == 0
let comment = "%s"
1 0.000001 endif
1 0.000006 let b:surround_109 = printf(comment, " \1Marker name: \1 {{{") . " \r " . printf(comment, " }}}")
FUNCTION AirlineThemeSanity()
Defined: ~/.vim/plugin/config_statusline.vim:23
Called 33 times
Total time: 0.000236
Self time: 0.000236
count total (s) self (s)
33 0.000046 if g:airline_theme == 'bubblegum'
33 0.000080 let a:palette.accents = get(a:palette, 'accents', {})
33 0.000070 let a:palette.accents.red = [ '#ff8300' , '' , 160 , '' ]
33 0.000017 endif
FUNCTION <SNR>251_build_sections()
Defined: ~/.vim/bundle/airline/autoload/airline/extensions/default.vim:35
Called 134 times
Total time: 0.038094
Self time: 0.005327
count total (s) self (s)
670 0.000585 for key in a:keys
536 0.000956 if (key == 'warning' || key == 'error') && !a:context.active
continue
536 0.000227 endif
536 0.034989 0.002223 call s:add_section(a:builder, a:context, key)
670 0.000354 endfor
FUNCTION <SNR>265_repo_git_chomp()
Defined: ~/.vim/bundle/fugitive/autoload/fugitive.vim:665
Called 32 times
Total time: 3.583146
Self time: 0.019197
count total (s) self (s)
32 0.000859 0.000179 let git = g:fugitive_git_executable . ' --git-dir='.s:shellesc(self.git_dir)
32 0.002065 0.000617 let output = git . join(map(copy(a:000),'" ".s:shellesc(v:val)'),'')
32 3.580197 0.018377 return s:sub(system(output), '\n$', '')
FUNCTION ctrlp#utils#writecache()
Defined: ~/.vim/bundle/ctrlp/autoload/ctrlp/utils.vim:63
Called 1 time
Total time: 0.004185
Self time: 0.004155
count total (s) self (s)
1 0.000052 0.000021 if isdirectory(ctrlp#utils#mkdir(a:0 ? a:1 : s:cache_dir))
1 0.004129 sil! cal writefile(a:lines, a:0 >= 2 ? a:2 : ctrlp#utils#cachefile())
1 0.000002 en
FUNCTION airline#themes#get_highlight()
Defined: ~/.vim/bundle/airline/autoload/airline/themes.vim:31
Called 2310 times
Total time: 0.200594
Self time: 0.013083
count total (s) self (s)
2310 0.200100 0.012589 return call('airline#highlighter#get_highlight', [a:group] + a:000)
FUNCTION fugitive#Prepare()
Defined: ~/.vim/bundle/fugitive/autoload/fugitive.vim:427
Called 3 times
Total time: 0.111357
Self time: 0.000635
count total (s) self (s)
3 0.109436 0.000613 let [dir, env, argv] = call('fugitive#PrepareDirEnvArgv', a:000)
3 0.001919 0.000021 return s:BuildShell(dir, env, argv)
FUNCTION <SNR>286_on_text_document_did_close()
Defined: ~/.vim/bundle/lsp/autoload/lsp.vim:283
Called 2 times
Total time: 0.008348
Self time: 0.000026
count total (s) self (s)
2 0.000006 let l:buf = bufnr('%')
2 0.000008 if getbufvar(l:buf, '&buftype') ==# 'terminal' | return | endif
2 0.008333 0.000011 call lsp#log('s:on_text_document_did_close()', l:buf)
FUNCTION lsp#ui#vim#diagnostics#echo#cursor_moved()
Defined: ~/.vim/bundle/lsp/autoload/lsp/ui/vim/diagnostics/echo.vim:1
Called 1 time
Total time: 0.000002
Self time: 0.000002
count total (s) self (s)
1 0.000001 if !g:lsp_diagnostics_echo_cursor
1 0.000001 return
endif
if mode() isnot# 'n'
" dont' show echo only in normal mode
return
endif
call s:stop_cursor_moved_timer()
let l:current_pos = getcurpos()[0:2]
" use timer to avoid recalculation
if !exists('s:last_pos') || l:current_pos != s:last_pos
let s:last_pos = l:current_pos
let s:cursor_moved_timer = timer_start(g:lsp_diagnostics_echo_delay, function('s:echo_diagnostics_under_cursor'))
endif
FUNCTION fugitive#Open()
Defined: ~/.vim/bundle/fugitive/autoload/fugitive.vim:4155
Called 1 time
Total time: 0.212757
Self time: 0.000050
count total (s) self (s)
1 0.000002 if a:bang
return s:OpenExec(a:cmd, a:mods, s:SplitExpand(a:arg, s:Tree()))
1 0.000001 endif
1 0.000026 0.000006 let mods = s:Mods(a:mods)
1 0.000001 try
1 0.212662 0.000009 let [file, pre] = s:OpenParse(a:args, 1)
catch /^fugitive:/
return 'echoerr ' . string(v:exception)
1 0.000001 endtry
1 0.000006 if file !~# '^\a\a\+:'
let file = s:sub(file, '/$', '')
1 0.000000 endif
1 0.000001 if a:cmd ==# 'edit'
1 0.000020 0.000005 call s:BlurStatus()
1 0.000000 endif
1 0.000026 0.000006 return mods . a:cmd . pre . ' ' . s:fnameescape(file)
FUNCTION airline#util#has_fugitive()
Defined: ~/.vim/bundle/airline/autoload/airline/util.vim:131
Called 128 times
Total time: 0.000656
Self time: 0.000656
count total (s) self (s)
128 0.000213 if !exists("s:has_fugitive")
let s:has_fugitive = exists('*fugitive#head') || exists('*FugitiveHead')
128 0.000052 endif
128 0.000112 return s:has_fugitive
FUNCTION <SNR>241_airline_ale_count()
Defined: ~/.vim/bundle/airline/autoload/airline/extensions/ale.vim:7
Called 128 times
Total time: 0.000204
Self time: 0.000204
count total (s) self (s)
128 0.000172 return a:cnt ? a:symbol. a:cnt : ''
FUNCTION ale#highlight#UpdateHighlights()
Defined: ~/.vim/bundle/ale/autoload/ale/highlight.vim:60
Called 1 time
Total time: 0.000056
Self time: 0.000049
count total (s) self (s)
1 0.000005 let l:item_list = get(b:, 'ale_enabled', 1) && g:ale_enabled ? get(b:, 'ale_highlight_items', []) : []
1 0.000010 0.000004 call ale#highlight#RemoveHighlights()
1 0.000001 for l:item in l:item_list
if l:item.type is# 'W'
if get(l:item, 'sub_type', '') is# 'style'
let l:group = 'ALEStyleWarning'
else
let l:group = 'ALEWarning'
endif
elseif l:item.type is# 'I'
let l:group = 'ALEInfo'
elseif get(l:item, 'sub_type', '') is# 'style'
let l:group = 'ALEStyleError'
else
let l:group = 'ALEError'
endif
let l:line = l:item.lnum
let l:col = l:item.col
let l:end_line = get(l:item, 'end_lnum', l:line)
let l:end_col = get(l:item, 'end_col', l:col)
" Set all of the positions, which are chunked into Lists which
" are as large as will be accepted by matchaddpos.
call map( ale#highlight#CreatePositions(l:line, l:col, l:end_line, l:end_col), 'matchaddpos(l:group, v:val)')
1 0.000001 endfor
" If highlights are enabled and signs are not enabled, we should still
" offer line highlights by adding a separate set of highlights.
1 0.000001 if !g:ale_set_signs
let l:available_groups = { 'ALEWarningLine': hlexists('ALEWarningLine'), 'ALEInfoLine': hlexists('ALEInfoLine'), 'ALEErrorLine': hlexists('ALEErrorLine'),}
for l:item in l:item_list
if l:item.type is# 'W'
let l:group = 'ALEWarningLine'
elseif l:item.type is# 'I'
let l:group = 'ALEInfoLine'
else
let l:group = 'ALEErrorLine'
endif
if l:available_groups[l:group]
call matchaddpos(l:group, [l:item.lnum])
endif
endfor
1 0.000000 endif
FUNCTION <SNR>69_on_window_changed()
Defined: ~/.vim/bundle/airline/plugin/airline.vim:59
Called 5 times
Total time: 0.006112
Self time: 0.000174
count total (s) self (s)
" don't trigger for Vim popup windows
5 0.000010 if &buftype is# 'popup'
return
5 0.000003 endif
5 0.000013 if pumvisible() && (!&previewwindow || g:airline_exclude_preview)
" do not trigger for previewwindows
return
5 0.000002 endif
5 0.000013 let s:active_winnr = winnr()
" Handle each window only once, since we might come here several times for
" different autocommands.
5 0.000036 let l:key = [bufnr('%'), s:active_winnr, winnr('$'), tabpagenr(), &ft]
5 0.000051 if get(g:, 'airline_last_window_changed', []) == l:key && &stl is# '%!airline#statusline('.s:active_winnr.')' && &ft !~? 'gitcommit'
" fugitive is special, it changes names and filetypes several times,
" make sure the caching does not get into its way
4 0.000003 return
1 0.000000 endif
1 0.000003 let g:airline_last_window_changed = l:key
1 0.000007 0.000005 call s:init()
1 0.005940 0.000005 call airline#update_statusline()
FUNCTION airline#util#stl_disabled()
Defined: ~/.vim/bundle/airline/autoload/airline/util.vim:173
Called 134 times
Total time: 0.001969
Self time: 0.001403
count total (s) self (s)
" setting the statusline is disabled,
" either globally or per window
" w:airline_disabled is deprecated!
134 0.001802 0.001236 return get(g:, 'airline_disable_statusline', 0) || airline#util#getwinvar(winnr(), 'airline_disable_statusline', 0) || airline#util#getwinvar(winnr(), 'airline_disabled', 0)
FUNCTION <SNR>236_group_not_done()
Defined: ~/.vim/bundle/airline/autoload/airline/highlighter.vim:25
Called 2646 times
Total time: 0.012840
Self time: 0.012840
count total (s) self (s)
2646 0.005339 if index(a:list, a:name) == -1
2646 0.004626 call add(a:list, a:name)
2646 0.001733 return 1
else
if &vbs
echomsg printf("airline: group: %s already done, skipping", a:name)
endif
return 0
endif
FUNCTION airline#parts#filetype()
Defined: ~/.vim/bundle/airline/autoload/airline/parts.vim:102
Called 64 times
Total time: 0.001078
Self time: 0.000566
count total (s) self (s)
64 0.001045 0.000533 return (airline#util#winwidth() < 90 && strlen(&filetype) > 3) ? matchstr(&filetype, '...'). (&encoding is? 'utf-8' ? '…' : '>') : &filetype
FUNCTION <SNR>241_airline_ale_get_line_number()
Defined: ~/.vim/bundle/airline/autoload/airline/extensions/ale.vim:64
Called 128 times
Total time: 0.001898
Self time: 0.001494
count total (s) self (s)
" Use the new ALE statusline API function if it is available.
128 0.000281 if exists("*ale#statusline#FirstProblem")
return s:new_airline_ale_get_line_number(a:cnt, a:type)
128 0.000058 endif
128 0.001136 0.000732 return s:legacy_airline_ale_get_line_number(a:cnt, a:type)
FUNCTION <SNR>239_update_hg_branch()
Defined: ~/.vim/bundle/airline/autoload/airline/extensions/branch.vim:135
Called 64 times
Total time: 0.002684
Self time: 0.002333
count total (s) self (s)
64 0.000583 0.000232 if airline#util#has_lawrencium()
let cmd='LC_ALL=C hg qtop'
let stl=lawrencium#statusline()
let file=expand('%:p')
if !empty(stl) && get(b:, 'airline_do_mq_check', 1)
if g:airline#init#vim_async
noa call airline#async#get_mq_async(cmd, file)
elseif has("nvim")
noa call airline#async#nvim_get_mq_async(cmd, file)
else
" remove \n at the end of the command
let output=system(cmd)[0:-2]
noa call airline#async#mq_output(output, file)
endif
endif
" do not do mq check anymore
let b:airline_do_mq_check = 0
if exists("b:mq") && !empty(b:mq)
if stl is# 'default'
" Shorten default a bit
let stl='def'
endif
let stl.=' ['.b:mq.']'
endif
let s:vcs_config['mercurial'].branch = stl
64 0.000031 else
64 0.000120 let s:vcs_config['mercurial'].branch = ''
64 0.000031 endif
FUNCTION <SNR>18_SelectJavascript()
Defined: ~/.vim/bundle/aaa-polyglot/ftdetect/polyglot.vim:379
Called 1 time
Total time: 0.000007
Self time: 0.000007
count total (s) self (s)
1 0.000005 if getline(1) =~# '^#!.*/bin/\%(env\s\+\)\?node\>'
set ft=javascript
1 0.000000 endif
FUNCTION <SNR>289_encode_uri()
Defined: ~/.vim/bundle/lsp/autoload/lsp/utils.vim:22
Called 1 time
Total time: 0.000903
Self time: 0.000893
count total (s) self (s)
1 0.000014 0.000005 let l:prefix = s:get_prefix(a:path)
1 0.000003 let l:path = a:path[len(l:prefix):]
1 0.000001 if len(l:prefix) == 0
let l:prefix = a:default_prefix
1 0.000000 endif
1 0.000003 let l:result = strpart(a:path, 0, a:start_pos_encode)
100 0.000064 for i in range(a:start_pos_encode, len(l:path) - 1)
" Don't encode '/' here, `path` is expected to be a valid path.
99 0.000314 if l:path[i] =~# '^[a-zA-Z0-9_.~/-]$'
99 0.000194 let l:result .= l:path[i]
else
let l:result .= s:urlencode_char(l:path[i])
99 0.000041 endif
100 0.000041 endfor
1 0.000002 return l:prefix . l:result
FUNCTION ale#events#ReadOrEnterEvent()
Defined: ~/.vim/bundle/ale/autoload/ale/events.vim:51
Called 2 times
Total time: 0.000046
Self time: 0.000046
count total (s) self (s)
" Apply pattern options if the variable is set.
2 0.000009 if get(g:, 'ale_pattern_options_enabled', 1)&& !empty(get(g:, 'ale_pattern_options'))
call ale#pattern_options#SetOptions(a:buffer)
2 0.000001 endif
" When entering a buffer, we are no longer quitting it.
2 0.000007 call setbufvar(a:buffer, 'ale_quitting', 0)
2 0.000006 let l:filetype = getbufvar(a:buffer, '&filetype')
2 0.000006 call setbufvar(a:buffer, 'ale_original_filetype', l:filetype)
" If the file changed outside of Vim, check it on BufEnter,BufRead
2 0.000004 if getbufvar(a:buffer, 'ale_file_changed')
call ale#events#LintOnEnter(a:buffer)
2 0.000001 endif
FUNCTION <SNR>295_add_register()
Defined: ~/.vim/bundle/neoyank/autoload/neoyank.vim:137
Called 33 times
Total time: 0.000331
Self time: 0.000331
count total (s) self (s)
" Append register value.
33 0.000079 if !has_key(s:yank_histories, a:name)
let s:yank_histories[a:name] = []
33 0.000018 endif
33 0.000108 if get(s:yank_histories[a:name], 0, []) ==# a:reg
" Skip same register value.
33 0.000027 return
endif
let len_history = len(a:reg[0])
" Ignore too long yank.
if len_history < 2 || len_history > 10000 || a:reg[0] =~ '[\x00-\x08\x10-\x1a\x1c-\x1f]\{3,}'
return
endif
" Error check
try
call s:vim2json(a:reg)
catch
return
endtry
let s:prev_registers[a:name] = a:reg
call insert(s:yank_histories[a:name], a:reg)
call s:uniq(a:name)
FUNCTION <SNR>265_MapMotion()
Defined: ~/.vim/bundle/fugitive/autoload/fugitive.vim:5567
Called 14 times
Total time: 0.004098
Self time: 0.000224
count total (s) self (s)
14 0.001357 0.000067 call s:Map('n', a:lhs, ":<C-U>" . a:rhs . "<CR>", "<silent>")
14 0.001352 0.000074 call s:Map('o', a:lhs, ":<C-U>" . a:rhs . "<CR>", "<silent>")
14 0.001383 0.000076 call s:Map('x', a:lhs, ":<C-U>exe 'normal! gv'<Bar>" . a:rhs . "<CR>", "<silent>")
FUNCTION <SNR>265_BuildShell()
Defined: ~/.vim/bundle/fugitive/autoload/fugitive.vim:406
Called 3 times
Total time: 0.001898
Self time: 0.000215
count total (s) self (s)
3 0.000008 let cmd = copy(a:args)
3 0.001238 0.000015 let tree = s:Tree(a:dir)
3 0.000005 let pre = ''
3 0.000008 for [var, val] in items(a:env)
if s:winshell()
let pre .= 'set ' . var . '=' . s:shellesc(val) . '& '
else
let pre = (len(pre) ? pre : 'env ') . var . '=' . s:shellesc(val) . ' '
endif
3 0.000002 endfor
3 0.000013 if empty(tree) || index(cmd, '--') == len(cmd) - 1
1 0.000018 0.000009 call insert(cmd, '--git-dir=' . FugitiveGitPath(a:dir))
2 0.000069 0.000011 elseif fugitive#GitVersion(1, 8, 5)
2 0.000029 0.000012 call extend(cmd, ['-C', FugitiveGitPath(tree)], 'keep')
else
let pre = 'cd ' . s:shellesc(tree) . (s:winshell() ? '& ' : '; ') . pre
3 0.000001 endif
3 0.000459 0.000085 return pre . g:fugitive_git_executable . ' ' . join(map(cmd, 's:shellesc(v:val)'))
FUNCTION airline#extensions#csv#apply()
Defined: ~/.vim/bundle/airline/autoload/airline/extensions/csv.vim:24
Called 67 times
Total time: 0.000328
Self time: 0.000328
count total (s) self (s)
67 0.000122 if &ft ==# "csv"
call airline#extensions#prepend_to_section('gutter', g:airline_left_alt_sep.' %{airline#extensions#csv#get_column()}')
67 0.000029 endif
FUNCTION airline#extensions#apply()
Defined: ~/.vim/bundle/airline/autoload/airline/extensions.vim:80
Called 67 times
Total time: 0.005335
Self time: 0.002710
count total (s) self (s)
67 0.000200 let filetype_overrides = get(s:, 'filetype_overrides', {})
67 0.000228 call extend(filetype_overrides, get(g:, 'airline_filetype_overrides', {}), 'force')
67 0.002889 0.000265 if s:is_excluded_window()
return -1
67 0.000026 endif
67 0.000070 if &buftype == 'terminal'
let w:airline_section_x = ''
let w:airline_section_y = ''
67 0.000026 endif
67 0.000048 if &previewwindow
let w:airline_section_a = 'Preview'
let w:airline_section_b = ''
let w:airline_section_c = bufname(winbufnr(winnr()))
67 0.000027 endif
67 0.000264 if has_key(filetype_overrides, &ft) && ((&filetype == 'help' && &buftype == 'help') || &filetype !~ 'help')
" for help files only override it, if the buftype is also of type 'help',
" else it would trigger when editing Vim help files
let args = filetype_overrides[&ft]
call airline#extensions#apply_left_override(args[0], args[1])
67 0.000026 endif
67 0.000059 if &buftype == 'help'
let w:airline_section_x = ''
let w:airline_section_y = ''
let w:airline_render_right = 1
67 0.000026 endif
67 0.000153 for item in items(s:filetype_regex_overrides)
if match(&ft, item[0]) >= 0
call airline#extensions#apply_left_override(item[1][0], item[1][1])
endif
67 0.000037 endfor
FUNCTION ctrlp#utils#readfile()
Defined: ~/.vim/bundle/ctrlp/autoload/ctrlp/utils.vim:44
Called 1 time
Total time: 0.000204
Self time: 0.000204
count total (s) self (s)
1 0.000080 if filereadable(a:file)
1 0.000116 let data = readfile(a:file)
1 0.000004 if empty(data) || type(data) != 3
unl data
let data = []
1 0.000000 en
1 0.000001 retu data
en
retu []
FUNCTION 11()
Defined: ~/.vim/bundle/matchup/autoload/matchup/matchparen.vim:493
Called 1 time
Total time: 0.000004
Self time: 0.000004
count total (s) self (s)
1 0.000001 if g:matchup_transmute_enabled
call matchup#transmute#reset()
1 0.000000 endif
FUNCTION <SNR>236_GetHiCmd()
Defined: ~/.vim/bundle/airline/autoload/airline/highlighter.vim:164
Called 1 time
Total time: 0.000079
Self time: 0.000079
count total (s) self (s)
" a:list needs to have 5 items!
1 0.000001 let res = ''
1 0.000001 let i = -1
6 0.000004 while i < 4
5 0.000004 let i += 1
5 0.000008 let item = get(a:list, i, '')
5 0.000004 if item is ''
1 0.000001 continue
4 0.000002 endif
4 0.000003 if i == 0
1 0.000002 let res .= ' guifg='.item
3 0.000002 elseif i == 1
1 0.000002 let res .= ' guibg='.item
2 0.000001 elseif i == 2
1 0.000002 let res .= ' ctermfg='.item
1 0.000000 elseif i == 3
1 0.000002 let res .= ' ctermbg='.item
elseif i == 4
let res .= printf(' gui=%s cterm=%s term=%s', item, item, item)
4 0.000002 endif
5 0.000003 endwhile
1 0.000001 return res
FUNCTION <SNR>86_record()
Defined: ~/.vim/bundle/ctrlp/autoload/ctrlp/mrufiles.vim:57
Called 3 times
Total time: 0.001439
Self time: 0.000066
count total (s) self (s)
3 0.000007 if s:locked | retu | en
3 0.000006 let bufnr = a:bufnr + 0
3 0.000007 let bufname = bufname(bufnr)
3 0.000006 if bufnr > 0 && !empty(bufname)
3 0.000012 cal filter(s:mrbs, 'v:val != bufnr')
3 0.000005 cal insert(s:mrbs, bufnr)
3 0.001391 0.000017 cal s:addtomrufs(bufname)
3 0.000002 en
FUNCTION <SNR>101_LeaveWin()
Defined: ~/.vim/bundle/FastFold/plugin/fastfold.vim:51
Called 2 times
Total time: 0.000033
Self time: 0.000033
count total (s) self (s)
2 0.000004 if exists('w:predifffdm')
if empty(&l:foldmethod) || &l:foldmethod is# 'manual'
let &l:foldmethod = w:predifffdm
unlet w:predifffdm
return
elseif &l:foldmethod isnot# 'diff'
unlet w:predifffdm
endif
2 0.000001 endif
2 0.000004 if exists('w:lastfdm') && &l:foldmethod is# 'diff'
let w:predifffdm = w:lastfdm
2 0.000001 endif
2 0.000003 if exists('w:lastfdm') && &l:foldmethod is# 'manual'
let &l:foldmethod = w:lastfdm
2 0.000001 endif
FUNCTION airline#highlighter#add_separator()
Defined: ~/.vim/bundle/airline/autoload/airline/highlighter.vim:220
Called 469 times
Total time: 0.165142
Self time: 0.004348
count total (s) self (s)
469 0.001582 let s:separators[a:from.a:to] = [a:from, a:to, a:inverse]
469 0.163416 0.002622 call <sid>exec_separator({}, a:from, a:to, a:inverse, '')
FUNCTION <SNR>101_inSkipList()
Defined: ~/.vim/bundle/FastFold/plugin/fastfold.vim:144
Called 1 time
Total time: 0.000005
Self time: 0.000005
count total (s) self (s)
1 0.000003 if index(g:fastfold_skip_filetypes, &l:filetype) >= 0
return 1
1 0.000000 else
1 0.000000 return 0
endif
FUNCTION ale#ShouldDoNothing()
Defined: ~/.vim/bundle/ale/autoload/ale.vim:27
Called 1 time
Total time: 0.000068
Self time: 0.000053
count total (s) self (s)
" The checks are split into separate if statements to make it possible to
" profile each check individually with Vim's profiling tools.
" Do nothing if ALE is disabled.
1 0.000004 if !getbufvar(a:buffer, 'ale_enabled', get(g:, 'ale_enabled', 0))
return 1
1 0.000000 endif
" Don't perform any checks when newer NeoVim versions are exiting.
1 0.000002 if get(v:, 'exiting', v:null) isnot v:null
return 1
1 0.000000 endif
1 0.000002 let l:filetype = getbufvar(a:buffer, '&filetype')
" Do nothing when there's no filetype.
1 0.000001 if l:filetype is# ''
return 1
1 0.000000 endif
" Do nothing for blacklisted files.
1 0.000003 if index(get(g:, 'ale_filetype_blacklist', []), l:filetype) >= 0
return 1
1 0.000000 endif
" Do nothing if running from command mode.
1 0.000002 if s:getcmdwintype_exists && !empty(getcmdwintype())
return 1
1 0.000000 endif
1 0.000004 let l:filename = fnamemodify(bufname(a:buffer), ':t')
" Do nothing for directories.
1 0.000001 if l:filename is# '.'
return 1
1 0.000000 endif
" Do nothing if running in the sandbox.
1 0.000012 0.000003 if ale#util#InSandbox()
return 1
1 0.000000 endif
" Do nothing if the file is too large.
1 0.000010 0.000003 if ale#FileTooLarge(a:buffer)
return 1
1 0.000000 endif
" Do nothing from CtrlP buffers with CtrlP-funky.
1 0.000008 if exists(':CtrlPFunky') is 2&& getbufvar(a:buffer, '&l:statusline') =~# 'CtrlPMode.*funky'
return 1
1 0.000000 endif
1 0.000001 return 0
FUNCTION asynccommand#statusline()
Defined: ~/.vim/bundle/asynccommand/autoload/asynccommand.vim:143
Called 64 times
Total time: 0.000388
Self time: 0.000388
count total (s) self (s)
64 0.000181 let n_pending_jobs = len(s:receivers)
64 0.000109 if g:asynccommand_statusline_autohide && n_pending_jobs == 0
64 0.000046 return ''
endif
return g:asyncrun_status
FUNCTION 25()
Defined: ~/.vim/bundle/airline/autoload/airline/builder.vim:8
Called 67 times
Total time: 0.000177
Self time: 0.000177
count total (s) self (s)
67 0.000163 call add(self._sections, ['|', a:0 ? a:1 : '%='])
FUNCTION 27()
Defined: ~/.vim/bundle/airline/autoload/airline/builder.vim:17
Called 536 times
Total time: 0.001363
Self time: 0.001363
count total (s) self (s)
536 0.001263 call add(self._sections, [a:group, a:contents])
FUNCTION <SNR>92_isdir()
Defined: ~/.vim/bundle/dirvish/plugin/dirvish.vim:9
Called 1 time
Total time: 0.000046
Self time: 0.000046
count total (s) self (s)
1 0.000046 return !empty(a:dir) && (isdirectory(a:dir) || (!empty($SYSTEMDRIVE) && isdirectory('/'.tolower($SYSTEMDRIVE[0]).a:dir)))
FUNCTION <SNR>232_invoke_funcrefs()
Defined: ~/.vim/bundle/airline/autoload/airline.vim:177
Called 67 times
Total time: 0.392194
Self time: 0.002292
count total (s) self (s)
67 0.001343 0.000250 let builder = airline#builder#new(a:context)
67 0.062425 0.000585 let err = airline#util#exec_funcrefs(a:funcrefs + s:core_funcrefs, builder, a:context)
67 0.000050 if err == 1
67 0.327259 0.000291 let a:context.line = builder.build()
67 0.000255 let s:contexts[a:context.winnr] = a:context
67 0.000182 let option = get(g:, 'airline_statusline_ontop', 0) ? '&tabline' : '&statusline'
67 0.000545 call setwinvar(a:context.winnr, option, '%!airline#statusline('.a:context.winnr.')')
67 0.000033 endif
FUNCTION ale#linter#ResolveFiletype()
Defined: ~/.vim/bundle/ale/autoload/ale/linter.vim:362
Called 1 time
Total time: 0.000042
Self time: 0.000011
count total (s) self (s)
1 0.000038 0.000007 let l:filetype = s:GetAliasedFiletype(a:original_filetype)
1 0.000002 if type(l:filetype) isnot v:t_list
1 0.000001 return [l:filetype]
endif
return l:filetype
FUNCTION david#init#find_ft_match()
Defined: ~/.vim/autoload/david/init.vim:4
Called 1 time
Total time: 0.000011
Self time: 0.000011
count total (s) self (s)
1 0.000010 return match(a:ft_list, printf("\\v<%s>", &ft))
FUNCTION matchup#loader#bufwinenter()
Defined: ~/.vim/bundle/matchup/autoload/matchup/loader.vim:42
Called 1 time
Total time: 0.000003
Self time: 0.000003
count total (s) self (s)
1 0.000002 if get(b:, 'matchup_delim_enabled', 0)
1 0.000001 return
endif
call matchup#loader#init_buffer()
FUNCTION airline#util#winwidth()
Defined: ~/.vim/bundle/airline/autoload/airline/util.vim:18
Called 856 times
Total time: 0.005438
Self time: 0.005438
count total (s) self (s)
856 0.001505 let nr = get(a:000, 0, 0)
856 0.001335 if get(g:, 'airline_statusline_ontop', 0)
return &columns
856 0.000411 else
856 0.001097 return winwidth(nr)
endif
FUNCTION <SNR>101_isSmall()
Defined: ~/.vim/bundle/FastFold/plugin/fastfold.vim:152
Called 2 times
Total time: 0.000010
Self time: 0.000010
count total (s) self (s)
2 0.000004 if g:fastfold_minlines && line('$') <= g:fastfold_minlines
return 1
2 0.000001 else
2 0.000001 return 0
endif
FUNCTION airline#util#doautocmd()
Defined: ~/.vim/bundle/airline/autoload/airline/util.vim:164
Called 65 times
Total time: 0.007448
Self time: 0.003284
count total (s) self (s)
65 0.007424 0.003260 exe printf("silent doautocmd %s User %s", s:nomodeline, a:event)
FUNCTION 32()
Defined: ~/.vim/bundle/airline/autoload/airline/builder.vim:62
Called 67 times
Total time: 0.326969
Self time: 0.040393
count total (s) self (s)
67 0.000061 let side = 1
67 0.000054 let line = ''
67 0.000051 let i = 0
67 0.000108 let length = len(self._sections)
67 0.000054 let split = 0
67 0.000061 let is_empty = 0
67 0.000066 let prev_group = ''
670 0.000632 while i < length
603 0.000967 let section = self._sections[i]
603 0.000814 let group = section[0]
603 0.000844 let contents = section[1]
603 0.000618 let pgroup = prev_group
603 0.007824 0.002969 let prev_group = airline#builder#get_prev_group(self._sections, i)
603 0.001074 if group ==# 'airline_c' && &buftype ==# 'terminal' && self._context.active
let group = 'airline_term'
603 0.001361 elseif group ==# 'airline_c' && !self._context.active && has_key(self._context, 'bufnr')
let group = 'airline_c'. self._context.bufnr
603 0.001289 elseif prev_group ==# 'airline_c' && !self._context.active && has_key(self._context, 'bufnr')
let prev_group = 'airline_c'. self._context.bufnr
603 0.000283 endif
603 0.000401 if is_empty
let prev_group = pgroup
603 0.000249 endif
603 0.008793 0.002923 let is_empty = s:section_is_empty(self, contents)
603 0.000393 if is_empty
" need to fix highlighting groups, since we
" have skipped a section, we actually need
" the previous previous group and so the
" seperator goes from the previous previous group
" to the current group
let pgroup = group
603 0.000258 endif
603 0.000527 if group == ''
let line .= contents
603 0.000528 elseif group == '|'
67 0.000056 let side = 0
67 0.000150 let line .= contents
67 0.000058 let split = 1
536 0.000250 else
536 0.000462 if prev_group == ''
67 0.000147 let line .= '%#'.group.'#'
469 0.000300 elseif split
67 0.000044 if !is_empty
67 0.026223 0.000570 let line .= s:get_transitioned_seperator(self, prev_group, group, side)
67 0.000036 endif
67 0.000057 let split = 0
402 0.000183 else
402 0.000263 if !is_empty
402 0.231718 0.002695 let line .= s:get_seperator(self, prev_group, group, side)
402 0.000295 endif
536 0.000262 endif
536 0.025355 0.004181 let line .= is_empty ? '' : s:get_accented_line(self, group, contents)
603 0.000298 endif
603 0.000795 let i = i + 1
670 0.000457 endwhile
67 0.000062 if !self._context.active
"let line = substitute(line, '%#airline_c#', '%#airline_c'.self._context.bufnr.'#', '')
let line = substitute(line, '%#.\{-}\ze#', '\0_inactive', 'g')
67 0.000028 endif
67 0.000098 return line
FUNCTION <SNR>250_get_seperator()
Defined: ~/.vim/bundle/airline/autoload/airline/builder.vim:158
Called 402 times
Total time: 0.229022
Self time: 0.004568
count total (s) self (s)
402 0.075664 0.001924 if airline#builder#should_change_group(a:prev_group, a:group)
402 0.153201 0.002486 return s:get_transitioned_seperator(a:self, a:prev_group, a:group, a:side)
else
return a:side ? a:self._context.left_alt_sep : a:self._context.right_alt_sep
endif
FUNCTION <SNR>41_AutoSetCompiler()
Defined: ~/.vim/plugin/autocompiler.vim:9
Called 1 time
Total time: 0.003258
Self time: 0.003258
count total (s) self (s)
1 0.000003 if get(b:, 'autocompiler_skip_detection')
return
1 0.000000 endif
" If I'm using a buildsystem, then use it instead.
1 0.000003 let c = get(g:, 'compiler_buildsystem', a:ftype)
1 0.003250 exe 'silent! compiler '. c
FUNCTION unite#sources#buffer#variables#append()
Defined: ~/.vim/bundle/unite/autoload/unite/sources/buffer/variables.vim:12
Called 2 times
Total time: 0.000013
Self time: 0.000013
count total (s) self (s)
" Append the current buffer.
2 0.000011 let s:buffer_list[a:bufnr] = { 'action__buffer_nr' : a:bufnr, 'source__time' : localtime(), }
FUNCTION ctrlp#mrufiles#cachefile()
Defined: ~/.vim/bundle/ctrlp/autoload/ctrlp/mrufiles.vim:133
Called 1 time
Total time: 0.000009
Self time: 0.000009
count total (s) self (s)
1 0.000003 if !exists('s:cadir') || !exists('s:cafile')
let s:cadir = ctrlp#utils#cachedir().ctrlp#utils#lash().'mru'
let s:cafile = s:cadir.ctrlp#utils#lash().'cache.txt'
1 0.000000 en
1 0.000001 retu s:cafile
FUNCTION <SNR>172_append()
Defined: ~/.vim/bundle/unite/plugin/unite/window.vim:24
Called 1 time
Total time: 0.000106
Self time: 0.000106
count total (s) self (s)
1 0.000001 if &filetype == 'unite'
" Ignore unite window.
return
1 0.000000 endif
" Save unite window information.
1 0.000101 let w:unite_window = { 'time' : localtime(), 'cwd' : getcwd(),}
FUNCTION airline#util#has_lawrencium()
Defined: ~/.vim/bundle/airline/autoload/airline/util.vim:146
Called 64 times
Total time: 0.000351
Self time: 0.000351
count total (s) self (s)
64 0.000135 if !exists("s:has_lawrencium")
let s:has_lawrencium = exists('*lawrencium#statusline')
64 0.000028 endif
64 0.000062 return s:has_lawrencium
FUNCTION 48()
Defined: ~/.vim/bundle/unite-neomru/autoload/neomru.vim:273
Called 1 time
Total time: 0.024588
Self time: 0.024588
count total (s) self (s)
1 0.000001 if self.do_validate
1 0.024584 call filter(self.candidates, 'getftype(v:val) ==# "dir"')
1 0.000003 endif
FUNCTION <SNR>250_get_transitioned_seperator()
Defined: ~/.vim/bundle/airline/autoload/airline/builder.vim:143
Called 469 times
Total time: 0.176368
Self time: 0.011226
count total (s) self (s)
469 0.000455 let line = ''
469 0.001429 if get(a:self._context, 'tabline', 0) && get(g:, 'airline#extensions#tabline#alt_sep', 0) && a:group ==# 'airline_tabsel' && a:side
call airline#highlighter#add_separator(a:prev_group, a:group, 0)
let line .= '%#'.a:prev_group.'_to_'.a:group.'#'
let line .= a:self._context.right_sep.'%#'.a:group.'#'
469 0.000219 else
469 0.167621 0.002479 call airline#highlighter#add_separator(a:prev_group, a:group, a:side)
469 0.001387 let line .= '%#'.a:prev_group.'_to_'.a:group.'#'
469 0.001224 let line .= a:side ? a:self._context.left_sep : a:self._context.right_sep
469 0.000823 let line .= '%#'.a:group.'#'
469 0.000211 endif
469 0.000366 return line
FUNCTION fugitive#Real()
Defined: ~/.vim/bundle/fugitive/autoload/fugitive.vim:766
Called 32 times
Total time: 0.016893
Self time: 0.001408
count total (s) self (s)
32 0.000059 if empty(a:url)
return ''
32 0.000021 endif
32 0.001842 0.000278 let [dir, commit, file] = s:DirCommitFile(a:url)
32 0.000050 if len(dir)
32 0.014395 0.000680 let tree = s:Tree(dir)
32 0.000451 0.000245 return FugitiveVimPath((len(tree) ? tree : dir) . file)
endif
let pre = substitute(matchstr(a:url, '^\a\a\+\ze:'), '^.', '\u&', '')
if len(pre) && pre !=? 'fugitive' && exists('*' . pre . 'Real')
let url = {pre}Real(a:url)
else
let url = fnamemodify(a:url, ':p' . (a:url =~# '[\/]$' ? '' : ':s?[\/]$??'))
endif
return FugitiveVimPath(empty(url) ? a:url : url)
FUNCTION airline#extensions#asynccommand#apply()
Defined: ~/.vim/bundle/asynccommand/autoload/airline/extensions/asynccommand.vim:10
Called 67 times
Total time: 0.000480
Self time: 0.000480
count total (s) self (s)
67 0.000238 let w:airline_section_y = get(w:, 'airline_section_y', g:airline_section_y)
67 0.000210 let w:airline_section_y = '%{asynccommand#statusline()} ' . g:airline_left_sep . w:airline_section_y
FUNCTION <SNR>271_GetAliasedFiletype()
Defined: ~/.vim/bundle/ale/autoload/ale/linter.vim:337
Called 1 time
Total time: 0.000031
Self time: 0.000031
count total (s) self (s)
1 0.000003 let l:buffer_aliases = get(b:, 'ale_linter_aliases', {})
" b:ale_linter_aliases can be set to a List.
1 0.000002 if type(l:buffer_aliases) is v:t_list
return l:buffer_aliases
1 0.000000 endif
" Check for aliased filetypes first in a buffer variable,
" then the global variable,
" then in the default mapping,
" otherwise use the original filetype.
4 0.000005 for l:dict in [ l:buffer_aliases, g:ale_linter_aliases, s:default_ale_linter_aliases,]
3 0.000005 if has_key(l:dict, a:original_filetype)
return l:dict[a:original_filetype]
3 0.000001 endif
4 0.000002 endfor
1 0.000001 return a:original_filetype
FUNCTION ale#events#QuitEvent()
Defined: ~/.vim/bundle/ale/autoload/ale/events.vim:14
Called 1 time
Total time: 0.000013
Self time: 0.000009
count total (s) self (s)
" Remember when ALE is quitting for BufWrite, etc.
1 0.000012 0.000008 call setbufvar(a:buffer, 'ale_quitting', ale#events#ClockMilliseconds())
FUNCTION <SNR>265_OpenParse()
Defined: ~/.vim/bundle/fugitive/autoload/fugitive.vim:4025
Called 1 time
Total time: 0.212653
Self time: 0.000113
count total (s) self (s)
1 0.000001 let opts = []
1 0.000001 let cmds = []
1 0.000003 let args = copy(a:args)
1 0.000002 while !empty(args)
1 0.000004 if args[0] =~# '^++'
call add(opts, ' ' . escape(remove(args, 0), ' |"'))
1 0.000003 elseif a:wants_cmd && args[0] =~# '^+'
call add(cmds, remove(args, 0)[1:-1])
1 0.000000 else
1 0.000001 break
endif
1 0.000001 endwhile
1 0.000002 if len(args)
1 0.000002 let file = join(args)
elseif empty(expand('%'))
let file = ''
elseif empty(s:DirCommitFile(@%)[1]) && s:Relative('./') !~# '^\./\.git\>'
let file = '>:0'
else
let file = '>'
1 0.000000 endif
1 0.000028 0.000004 let dir = s:Dir()
1 0.000051 0.000005 let efile = s:Expand(file)
1 0.212479 0.000009 let url = fugitive#Find(efile, dir)
1 0.000005 if a:wants_cmd && file[0] ==# '>' && efile[0] !=# '>' && get(b:, 'fugitive_type', '') isnot# 'tree' && &filetype !=# 'netrw'
let line = line('.')
if expand('%:p') !=# url
let diffcmd = 'diff'
let from = s:DirRev(@%)[1]
let to = s:DirRev(url)[1]
if empty(from) && empty(to)
let diffcmd = 'diff-files'
let args = ['--', expand('%:p'), url]
elseif empty(to)
let args = [from, '--', url]
elseif empty(from)
let args = [to, '--', expand('%:p')]
let reverse = 1
else
let args = [from, to]
endif
let [res, exec_error] = s:LinesError([dir, diffcmd, '-U0'] + args)
if !exec_error
call filter(res, 'v:val =~# "^@@ "')
call map(res, 'substitute(v:val, ''[-+]\d\+\zs '', ",1 ", "g")')
call map(res, 'matchlist(v:val, ''^@@ -\(\d\+\),\(\d\+\) +\(\d\+\),\(\d\+\) @@'')[1:4]')
if exists('reverse')
call map(res, 'v:val[2:3] + v:val[0:1]')
endif
call filter(res, 'v:val[0] < '.line('.'))
let hunk = get(res, -1, [0,0,0,0])
if hunk[0] + hunk[1] > line('.')
let line = hunk[2] + max([1 - hunk[3], 0])
else
let line = hunk[2] + max([hunk[3], 1]) + line('.') - hunk[0] - max([hunk[1], 1])
endif
endif
endif
call insert(cmds, line)
1 0.000000 endif
1 0.000002 let pre = join(opts, '')
1 0.000001 if len(cmds) > 1
let pre .= ' +' . escape(join(map(cmds, '"exe ".string(v:val)'), '|'), ' |"')
1 0.000001 elseif len(cmds)
let pre .= ' +' . escape(cmds[0], ' |"')
1 0.000000 endif
1 0.000002 return [url, pre]
FUNCTION fugitive#PrepareDirEnvArgv()
Defined: ~/.vim/bundle/fugitive/autoload/fugitive.vim:359
Called 3 times
Total time: 0.108823
Self time: 0.000379
count total (s) self (s)
3 0.000016 if a:0 && type(a:1) ==# type([])
3 0.000017 let cmd = a:000[1:-1] + a:1
else
let cmd = copy(a:000)
3 0.000002 endif
3 0.000005 let env = {}
3 0.000003 let i = 0
6 0.000012 while i < len(cmd)
6 0.000044 if cmd[i] =~# '^$\|[\/.]' && cmd[i] !~# '^-'
3 0.000006 let dir = remove(cmd, 0)
3 0.000013 elseif cmd[i] =~# '^--git-dir='
let dir = remove(cmd, 0)[10:-1]
3 0.000007 elseif type(cmd[i]) ==# type(0)
let dir = s:Dir(remove(cmd, i))
3 0.000006 elseif cmd[i] ==# '-c' && len(cmd) > i + 1
let key = matchstr(cmd[i+1], '^[^=]*')
if has_key(s:prepare_env, tolower(key)) || key !~# '\.'
let var = get(s:prepare_env, tolower(key), key)
let val = matchstr(cmd[i+1], '=\zs.*')
let env[var] = val
endif
if fugitive#GitVersion(1, 8) && cmd[i+1] =~# '\.'
let i += 2
else
call remove(cmd, i, i + 1)
endif
3 0.000013 elseif cmd[i] =~# '^--.*pathspecs$'
let explicit_pathspec_option = 1
if fugitive#GitVersion(1, 9)
let i += 1
else
call remove(cmd, i)
endif
3 0.000007 elseif cmd[i] !~# '^-'
3 0.000002 break
else
let i += 1
3 0.000003 endif
6 0.000006 endwhile
3 0.000006 if !exists('dir')
let dir = s:Dir()
3 0.000002 endif
3 0.108469 0.000025 call s:PreparePathArgs(cmd, dir, !exists('explicit_pathspec_option'))
3 0.000005 return [dir, env, cmd]
FUNCTION <SNR>250_section_is_empty()
Defined: ~/.vim/bundle/airline/autoload/airline/builder.vim:185
Called 603 times
Total time: 0.005870
Self time: 0.005870
count total (s) self (s)
603 0.000573 let start=1
" do not check for inactive windows or the tabline
603 0.000647 if a:self._context.active == 0
return 0
603 0.001011 elseif get(a:self._context, 'tabline', 0)
return 0
603 0.000260 endif
" only check, if airline#skip_empty_sections == 1
603 0.001068 if get(g:, 'airline_skip_empty_sections', 0) == 0
603 0.000361 return 0
endif
" only check, if airline#skip_empty_sections == 1
if get(w:, 'airline_skip_empty_sections', -1) == 0
return 0
endif
" assume accents sections to be never empty
" (avoides, that on startup the mode message becomes empty)
if match(a:content, '%#__accent_[^#]*#.*__restore__#') > -1
return 0
endif
if empty(a:content)
return 1
endif
let list=matchlist(a:content, '%{\zs.\{-}\ze}', 1, start)
if empty(list)
return 0 " no function in statusline text
endif
while len(list) > 0
let expr = list[0]
try
" catch all exceptions, just in case
if !empty(eval(expr))
return 0
endif
catch
return 0
endtry
let start += 1
let list=matchlist(a:content, '%{\zs.\{-}\ze}', 1, start)
endw
return 1
FUNCTION <SNR>293_GetCounts()
Defined: ~/.vim/bundle/ale/autoload/ale/statusline.vim:53
Called 128 times
Total time: 0.001647
Self time: 0.001000
count total (s) self (s)
128 0.000465 if !exists('g:ale_buffer_info') || !has_key(g:ale_buffer_info, a:buffer)
128 0.001115 0.000469 return s:CreateCountDict()
endif
" Cache is cold, so manually ask for an update.
if !has_key(g:ale_buffer_info[a:buffer], 'count')
call ale#statusline#Update(a:buffer, g:ale_buffer_info[a:buffer].loclist)
endif
return g:ale_buffer_info[a:buffer].count
FUNCTION <SNR>240_ModifierFlags()
Defined: ~/.vim/bundle/airline/autoload/airline/extensions/fugitiveline.vim:11
Called 64 times
Total time: 0.000186
Self time: 0.000186
count total (s) self (s)
64 0.000167 return (exists("+autochdir") && &autochdir) ? ':p' : ':.'
FUNCTION airline#extensions#ale#get()
Defined: ~/.vim/bundle/airline/autoload/airline/extensions/ale.vim:73
Called 128 times
Total time: 0.011924
Self time: 0.006510
count total (s) self (s)
128 0.000307 if !exists(':ALELint')
return ''
128 0.000057 endif
128 0.000333 let error_symbol = get(g:, 'airline#extensions#ale#error_symbol', 'E:')
128 0.000288 let warning_symbol = get(g:, 'airline#extensions#ale#warning_symbol', 'W:')
128 0.000289 let checking_symbol = get(g:, 'airline#extensions#ale#checking_symbol', '...')
128 0.000286 let show_line_numbers = get(g:, 'airline#extensions#ale#show_line_numbers', 1)
128 0.000187 let is_err = a:type ==# 'error'
128 0.001475 0.000634 if ale#engine#IsCheckingBuffer(bufnr('')) == 1
return is_err ? '' : checking_symbol
128 0.000057 endif
128 0.000210 let symbol = is_err ? error_symbol : warning_symbol
128 0.002989 0.000517 let counts = ale#statusline#Count(bufnr(''))
128 0.000401 if type(counts) == type({}) && has_key(counts, 'error')
" Use the current Dictionary format.
128 0.000240 let errors = counts.error + counts.style_error
128 0.000221 let num = is_err ? errors : counts.total - errors
else
" Use the old List format.
let num = is_err ? counts[0] : counts[1]
128 0.000059 endif
128 0.000119 if show_line_numbers == 1
128 0.003324 0.001222 return s:airline_ale_count(num, symbol) . <sid>airline_ale_get_line_number(num, a:type)
else
return s:airline_ale_count(num, symbol)
endif
FUNCTION <SNR>251_get_section()
Defined: ~/.vim/bundle/airline/autoload/airline/extensions/default.vim:20
Called 737 times
Total time: 0.022438
Self time: 0.017653
count total (s) self (s)
737 0.001333 if has_key(s:section_truncate_width, a:key)
536 0.005340 0.002211 if airline#util#winwidth(a:winnr) < s:section_truncate_width[a:key]
return ''
536 0.000236 endif
737 0.000305 endif
737 0.000874 let spc = g:airline_symbols.space
737 0.001911 if !exists('g:airline_section_{a:key}')
return ''
737 0.000291 endif
737 0.005560 0.003904 let text = airline#util#getwinvar(a:winnr, 'airline_section_'.a:key, g:airline_section_{a:key})
737 0.002766 let [prefix, suffix] = [get(a:000, 0, '%('.spc), get(a:000, 1, spc.'%)')]
737 0.001748 return empty(text) ? '' : prefix.text.suffix
FUNCTION ale#statusline#Count()
Defined: ~/.vim/bundle/ale/autoload/ale/statusline.vim:67
Called 128 times
Total time: 0.002471
Self time: 0.000824
count total (s) self (s)
" The Dictionary is copied here before exposing it to other plugins.
128 0.002383 0.000736 return copy(s:GetCounts(a:buffer))
FUNCTION <SNR>239_init_buffer()
Defined: ~/.vim/bundle/airline/autoload/airline/extensions/branch.vim:51
Called 1 time
Total time: 0.000019
Self time: 0.000019
count total (s) self (s)
1 0.000002 let b:buffer_vcs_config = {}
3 0.000004 for vcs in keys(s:vcs_config)
2 0.000007 let b:buffer_vcs_config[vcs] = { 'branch': '', 'untracked': '', 'dirty': 0, }
3 0.000002 endfor
1 0.000002 unlet! b:airline_head
FUNCTION airline#extensions#default#apply()
Defined: ~/.vim/bundle/airline/autoload/airline/extensions/default.vim:79
Called 67 times
Total time: 0.042787
Self time: 0.002596
count total (s) self (s)
67 0.000103 let winnr = a:context.winnr
67 0.000082 let active = a:context.active
67 0.000491 0.000325 if airline#util#getwinvar(winnr, 'airline_render_left', active || (!active && !g:airline_inactive_collapse))
67 0.012947 0.000382 call s:build_sections(a:builder, a:context, s:layout[0])
else
let text = s:get_section(winnr, 'c')
if empty(text)
let text = ' %f%m '
endif
call a:builder.add_section('airline_c'.(a:context.bufnr), text)
67 0.000028 endif
67 0.002192 0.000392 call a:builder.split(s:get_section(winnr, 'gutter', '', ''))
67 0.000365 0.000234 if airline#util#getwinvar(winnr, 'airline_render_right', 1)
67 0.025942 0.000412 call s:build_sections(a:builder, a:context, s:layout[1])
67 0.000030 endif
67 0.000041 return 1
FUNCTION ale#FileTooLarge()
Defined: ~/.vim/bundle/ale/autoload/ale.vim:17
Called 1 time
Total time: 0.000006
Self time: 0.000006
count total (s) self (s)
1 0.000003 let l:max = getbufvar(a:buffer, 'ale_maximum_file_size', get(g:, 'ale_maximum_file_size', 0))
1 0.000002 return l:max > 0 ? (line2byte(line('$') + 1) > l:max) : 0
FUNCTION lsp#get_whitelisted_servers()
Defined: ~/.vim/bundle/lsp/autoload/lsp.vim:766
Called 1 time
Total time: 0.000076
Self time: 0.000076
count total (s) self (s)
1 0.000002 if a:0 == 0
let l:buffer_filetype = &filetype
1 0.000001 else
1 0.000003 if type(a:1) == type('')
let l:buffer_filetype = a:1
1 0.000000 else
1 0.000005 let l:buffer_filetype = getbufvar(a:1, '&filetype')
1 0.000000 endif
1 0.000000 endif
" TODO: cache active servers per buffer
1 0.000002 let l:active_servers = []
2 0.000004 for l:server_name in keys(s:servers)
1 0.000003 let l:server_info = s:servers[l:server_name]['server_info']
1 0.000001 let l:blacklisted = 0
1 0.000002 if has_key(l:server_info, 'blacklist')
for l:filetype in l:server_info['blacklist']
if l:filetype ==? l:buffer_filetype || l:filetype ==# '*'
let l:blacklisted = 1
break
endif
endfor
1 0.000000 endif
1 0.000001 if l:blacklisted
continue
1 0.000000 endif
1 0.000002 if has_key(l:server_info, 'whitelist')
2 0.000003 for l:filetype in l:server_info['whitelist']
1 0.000003 if l:filetype ==? l:buffer_filetype || l:filetype ==# '*'
let l:active_servers += [l:server_name]
break
1 0.000000 endif
2 0.000001 endfor
1 0.000000 endif
2 0.000001 endfor
1 0.000002 return l:active_servers
FUNCTION <SNR>265_Dir()
Defined: ~/.vim/bundle/fugitive/autoload/fugitive.vim:304
Called 66 times
Total time: 0.001060
Self time: 0.000242
count total (s) self (s)
66 0.001043 0.000226 return a:0 ? FugitiveGitDir(a:1) : FugitiveGitDir()
FUNCTION <SNR>265_Slash()
Defined: ~/.vim/bundle/fugitive/autoload/fugitive.vim:94
Called 228 times
Total time: 0.000976
Self time: 0.000976
count total (s) self (s)
228 0.000355 if exists('+shellslash')
228 0.000523 return tr(a:path, '\', '/')
else
return a:path
endif
FUNCTION FugitiveVimPath()
Defined: ~/.vim/bundle/fugitive/plugin/fugitive.vim:269
Called 102 times
Total time: 0.000592
Self time: 0.000592
count total (s) self (s)
102 0.000235 if exists('+shellslash') && !&shellslash
return tr(a:path, '/', '\')
102 0.000056 else
102 0.000094 return a:path
endif
FUNCTION ale#engine#IsCheckingBuffer()
Defined: ~/.vim/bundle/ale/autoload/ale/engine.vim:80
Called 128 times
Total time: 0.000841
Self time: 0.000841
count total (s) self (s)
128 0.000424 let l:info = get(g:ale_buffer_info, a:buffer, {})
128 0.000323 return !empty(get(l:info, 'active_linter_list', []))
FUNCTION 42()
Defined: ~/.vim/bundle/unite-neomru/autoload/neomru.vim:139
Called 2 times
Total time: 0.127940
Self time: 0.000718
count total (s) self (s)
2 0.000043 0.000009 if s:is_sudo()
return
2 0.000001 endif
2 0.000008 let opts = a:0 >= 1 && type(a:1) == type({}) ? a:1 : {}
2 0.000100 0.000011 if self.has_external_update() && filereadable(self.mru_file)
" only need to get the list which contains the latest MRUs
let lines = readfile(self.mru_file)
if !empty(lines)
let [ver; items] = lines
if self.version_check(ver)
call extend(self.candidates, items)
endif
endif
2 0.000001 endif
2 0.024678 0.000129 let self.candidates = s:uniq(self.candidates)
2 0.000006 if len(self.candidates) > self.limit
let self.candidates = self.candidates[: self.limit - 1]
2 0.000001 endif
2 0.000005 if get(opts, 'event') ==# 'VimLeavePre'
2 0.092886 0.000017 call self.validate()
2 0.000001 endif
2 0.010049 0.000369 call s:writefile(self.mru_file, [self.version] + self.candidates)
2 0.000127 let self.mtime = getftime(self.mru_file)
FUNCTION airline#extensions#fugitiveline#bufname()
Defined: ~/.vim/bundle/airline/autoload/airline/extensions/fugitiveline.vim:15
Called 64 times
Total time: 0.036898
Self time: 0.019162
count total (s) self (s)
64 0.000258 if !exists('b:fugitive_name')
32 0.000076 let b:fugitive_name = ''
32 0.000025 try
32 0.000452 if bufname('%') =~? '^fugitive:' && exists('*FugitiveReal')
32 0.017772 0.000222 let b:fugitive_name = FugitiveReal(bufname('%'))
elseif exists('b:git_dir') && exists('*fugitive#repo')
if get(b:, 'fugitive_type', '') is# 'blob'
let b:fugitive_name = fugitive#repo().translate(FugitivePath(@%, ''))
endif
elseif exists('b:git_dir') && !exists('*fugitive#repo')
let buffer = fugitive#buffer()
if buffer.type('blob')
let b:fugitive_name = buffer.repo().translate(buffer.path('/'))
endif
32 0.000013 endif
catch
32 0.000026 endtry
64 0.000030 endif
64 0.000477 0.000292 let fmod = s:ModifierFlags()
64 0.000102 if empty(b:fugitive_name)
return fnamemodify(bufname('%'), fmod)
64 0.000030 else
64 0.016260 return fnamemodify(b:fugitive_name, fmod). " [git]"
endif
FUNCTION ale#Var()
Defined: ~/.vim/bundle/ale/autoload/ale.vim:193
Called 1 time
Total time: 0.000009
Self time: 0.000009
count total (s) self (s)
1 0.000002 let l:full_name = 'ale_' . a:variable_name
1 0.000003 let l:vars = getbufvar(str2nr(a:buffer), '', {})
1 0.000003 return get(l:vars, l:full_name, g:[l:full_name])
FUNCTION <SNR>265_shellesc()
Defined: ~/.vim/bundle/fugitive/autoload/fugitive.vim:48
Called 181 times
Total time: 0.002503
Self time: 0.002464
count total (s) self (s)
181 0.000323 if type(a:arg) == type([])
return join(map(copy(a:arg), 's:shellesc(v:val)'))
181 0.001576 elseif a:arg =~ '^[A-Za-z0-9_/:.-]\+$'
179 0.000145 return a:arg
2 0.000022 0.000007 elseif s:winshell()
2 0.000038 0.000015 return '"'.s:gsub(s:gsub(a:arg, '"', '""'), '\%', '"%"').'"'
else
return shellescape(a:arg)
endif
FUNCTION airline#util#wrap()
Defined: ~/.vim/bundle/airline/autoload/airline/util.vim:41
Called 576 times
Total time: 0.003041
Self time: 0.002626
count total (s) self (s)
576 0.001692 0.001278 if a:minwidth > 0 && airline#util#winwidth() < a:minwidth
return ''
576 0.000255 endif
576 0.000449 return a:text
FUNCTION airline#extensions#tablemode#check()
Defined: ~/.vim/bundle/airline-table-mode/autoload/airline/extensions/tablemode.vim:8
Called 64 times
Total time: 0.000269
Self time: 0.000269
count total (s) self (s)
64 0.000240 return exists("*g:tablemode#IsActive") && g:tablemode#IsActive() ? g:airline#extensions#tablemode#symbol : ""
FUNCTION FugitiveGitDir()
Defined: ~/.vim/bundle/fugitive/plugin/fugitive.vim:11
Called 231 times
Total time: 0.004681
Self time: 0.004216
count total (s) self (s)
231 0.000538 if !a:0 || type(a:1) == type(0) && a:1 < 0
131 0.000208 if exists('g:fugitive_event')
return g:fugitive_event
131 0.000060 endif
131 0.000273 let dir = get(b:, 'git_dir', '')
131 0.000334 if empty(dir) && (empty(bufname('')) || &buftype =~# '^\%(nofile\|acwrite\|quickfix\|prompt\)$')
return FugitiveExtractGitDir(getcwd())
131 0.000056 endif
131 0.000095 return dir
100 0.000167 elseif type(a:1) == type(0)
return getbufvar(a:1, 'git_dir')
100 0.000154 elseif type(a:1) == type('')
100 0.001240 0.000775 return substitute(s:Slash(a:1), '/$', '', '')
else
return ''
endif
FUNCTION ale#events#ClockMilliseconds()
Defined: ~/.vim/bundle/ale/autoload/ale/events.vim:10
Called 1 time
Total time: 0.000005
Self time: 0.000005
count total (s) self (s)
1 0.000004 return float2nr(reltimefloat(reltime()) * 1000)
FUNCTION ale#events#FileTypeEvent()
Defined: ~/.vim/bundle/ale/autoload/ale/events.vim:69
Called 1 time
Total time: 0.000015
Self time: 0.000015
count total (s) self (s)
" The old filetype will be set to an empty string by the BuFEnter event,
" and not linting when the old filetype hasn't been set yet prevents
" buffers being checked when you enter them when linting on enter is off.
1 0.000004 let l:old_filetype = getbufvar(a:buffer, 'ale_original_filetype', v:null)
1 0.000003 if l:old_filetype isnot v:null&& !empty(a:new_filetype)&& a:new_filetype isnot# l:old_filetype
" Remember what the new filetype is.
call setbufvar(a:buffer, 'ale_original_filetype', a:new_filetype)
if g:ale_lint_on_filetype_changed
call ale#Queue(300, 'lint_file', a:buffer)
endif
1 0.000000 endif
FUNCTION lsp#utils#get_buffer_uri()
Defined: ~/.vim/bundle/lsp/autoload/lsp/utils.vim:87
Called 1 time
Total time: 0.000955
Self time: 0.000025
count total (s) self (s)
1 0.000954 0.000024 return lsp#utils#path_to_uri(expand((a:0 > 0 ? '#' . a:1 : '%') . ':p'))
FUNCTION <SNR>289_get_prefix()
Defined: ~/.vim/bundle/lsp/autoload/lsp/utils.vim:18
Called 1 time
Total time: 0.000009
Self time: 0.000009
count total (s) self (s)
1 0.000009 return matchstr(a:path, '\(^\w\+::\|^\w\+://\)')
FUNCTION <SNR>86_addtomrufs()
Defined: ~/.vim/bundle/ctrlp/autoload/ctrlp/mrufiles.vim:68
Called 3 times
Total time: 0.001373
Self time: 0.001373
count total (s) self (s)
3 0.000600 let fn = fnamemodify(a:fname, ':p')
3 0.000024 let fn = exists('+ssl') ? tr(fn, '/', '\') : fn
3 0.000727 if ( !empty({s:in}) && fn !~# {s:in} ) || ( !empty({s:ex}) && fn =~# {s:ex} ) || !empty(getbufvar('^'.fn.'$', '&bt')) || !filereadable(fn) | retu
1 0.000001 en
1 0.000008 let idx = index(s:mrufs, fn, 0, !{s:cseno})
1 0.000001 if idx
cal filter(s:mrufs, 'v:val !='.( {s:cseno} ? '#' : '?' ).' fn')
cal insert(s:mrufs, fn)
if {s:soup} && idx < 0
cal s:savetofile(s:mergelists())
en
1 0.000000 en
FUNCTION <SNR>127_init_delim_regexes_generator()
Defined: ~/.vim/bundle/matchup/autoload/matchup/loader.vim:561
Called 1 time
Total time: 0.000415
Self time: 0.000366
count total (s) self (s)
1 0.000002 let l:list = b:matchup_delim_lists[a:list_name].regex_capture
" build the full regex strings: order matters here
1 0.000001 let l:regexes = {}
7 0.000011 for [l:key, l:sidelist] in items(s:sidedict)
6 0.000006 let l:relist = []
24 0.000016 for l:set in l:list
48 0.000036 for l:side in l:sidelist
30 0.000043 if strlen(l:set[l:side])
21 0.000036 call add(l:relist, l:set[l:side])
30 0.000013 endif
48 0.000020 endfor
24 0.000010 endfor
6 0.000115 0.000066 let l:regexes[l:key] = matchup#loader#remove_capture_groups( '\%(' . join(l:relist, '\|') . '\)')
7 0.000004 endfor
1 0.000001 return l:regexes
FUNCTION <SNR>265_winshell()
Defined: ~/.vim/bundle/fugitive/autoload/fugitive.vim:44
Called 3 times
Total time: 0.000021
Self time: 0.000021
count total (s) self (s)
3 0.000021 return has('win32') && &shellcmdflag =~# '^/\|^-Command$'
FUNCTION airline#builder#get_prev_group()
Defined: ~/.vim/bundle/airline/autoload/airline/builder.vim:37
Called 603 times
Total time: 0.004855
Self time: 0.004855
count total (s) self (s)
603 0.000833 let x = a:i - 1
670 0.000586 while x >= 0
603 0.001105 let group = a:sections[x][0]
603 0.000873 if group != '' && group != '|'
536 0.000431 return group
67 0.000030 endif
67 0.000073 let x = x - 1
134 0.000083 endwhile
67 0.000045 return ''
FUNCTION airline#util#getwinvar()
Defined: ~/.vim/bundle/airline/autoload/airline/util.vim:70
Called 1139 times
Total time: 0.002519
Self time: 0.002519
count total (s) self (s)
1139 0.002312 return getwinvar(a:winnr, a:key, a:def)
FUNCTION FugitiveDetect()
Defined: ~/.vim/bundle/fugitive/plugin/fugitive.vim:254
Called 1 time
Total time: 0.000174
Self time: 0.000020
count total (s) self (s)
1 0.000003 if exists('b:git_dir') && b:git_dir =~# '^$\|/$\|^fugitive:'
unlet b:git_dir
1 0.000000 endif
1 0.000001 if !exists('b:git_dir')
1 0.000037 0.000005 let dir = FugitiveExtractGitDir(a:path)
1 0.000001 if dir !=# ''
1 0.000001 let b:git_dir = dir
1 0.000000 endif
1 0.000000 endif
1 0.000002 if exists('b:git_dir')
1 0.000124 0.000003 return fugitive#Init()
endif
FUNCTION airline#extensions#whitespace#check()
Defined: ~/.vim/bundle/airline/autoload/airline/extensions/whitespace.vim:62
Called 64 times
Total time: 0.000462
Self time: 0.000462
count total (s) self (s)
64 0.000181 let max_lines = get(g:, 'airline#extensions#whitespace#max_lines', 20000)
64 0.000180 if &readonly || !&modifiable || !s:enabled || line('$') > max_lines || get(b:, 'airline_whitespace_disabled', 0)
64 0.000043 return ''
endif
let skip_check_ft = extend(s:skip_check_ft, get(g:, 'airline#extensions#whitespace#skip_indent_check_ft', {}), 'force')
if !exists('b:airline_whitespace_check')
let b:airline_whitespace_check = ''
let checks = get(b:, 'airline_whitespace_checks', get(g:, 'airline#extensions#whitespace#checks', s:default_checks))
let trailing = 0
let check = 'trailing'
if index(checks, check) > -1 && index(get(skip_check_ft, &ft, []), check) < 0
try
let regexp = get(g:, 'airline#extensions#whitespace#trailing_regexp', '\s$')
let trailing = search(regexp, 'nw')
catch
call airline#util#warning(printf('Whitespace: error occurred evaluating "%s"', regexp))
echomsg v:exception
return ''
endtry
endif
let mixed = 0
let check = 'indent'
if index(checks, check) > -1 && index(get(skip_check_ft, &ft, []), check) < 0
let mixed = s:check_mixed_indent()
endif
let mixed_file = ''
let check = 'mixed-indent-file'
if index(checks, check) > -1 && index(get(skip_check_ft, &ft, []), check) < 0
let mixed_file = s:check_mixed_indent_file()
endif
let long = 0
if index(checks, 'long') > -1 && &tw > 0
let long = search('\%>'.&tw.'v.\+', 'nw')
endif
let conflicts = 0
if index(checks, 'conflicts') > -1
let conflicts = s:conflict_marker()
endif
if trailing != 0 || mixed != 0 || long != 0 || !empty(mixed_file) || conflicts != 0
let b:airline_whitespace_check = s:symbol
if strlen(s:symbol) > 0
let space = (g:airline_symbols.space)
else
let space = ''
endif
if s:show_message
if trailing != 0
let trailing_fmt = get(g:, 'airline#extensions#whitespace#trailing_format', '[%s]trailing')
let b:airline_whitespace_check .= space.printf(trailing_fmt, trailing)
endif
if mixed != 0
let mixed_indent_fmt = get(g:, 'airline#extensions#whitespace#mixed_indent_format', '[%s]mixed-indent')
let b:airline_whitespace_check .= space.printf(mixed_indent_fmt, mixed)
endif
if long != 0
let long_fmt = get(g:, 'airline#extensions#whitespace#long_format', '[%s]long')
let b:airline_whitespace_check .= space.printf(long_fmt, long)
endif
if !empty(mixed_file)
let mixed_indent_file_fmt = get(g:, 'airline#extensions#whitespace#mixed_indent_file_format', '[%s]mix-indent-file')
let b:airline_whitespace_check .= space.printf(mixed_indent_file_fmt, mixed_file)
endif
if conflicts != 0
let conflicts_fmt = get(g:, 'airline#extensions#whitespace#conflicts_format', '[%s]conflicts')
let b:airline_whitespace_check .= space.printf(conflicts_fmt, conflicts)
endif
endif
endif
endif
return airline#util#shorten(b:airline_whitespace_check, 120, 9)
FUNCTION fugitive#repo()
Defined: ~/.vim/bundle/fugitive/autoload/fugitive.vim:607
Called 32 times
Total time: 0.001655
Self time: 0.000637
count total (s) self (s)
32 0.001270 0.000251 let dir = a:0 ? s:Dir(a:1) : (len(s:Dir()) ? s:Dir() : FugitiveExtractGitDir(expand('%:p')))
32 0.000029 if dir !=# ''
32 0.000054 if has_key(s:repos, dir)
31 0.000052 let repo = get(s:repos, dir)
1 0.000000 else
1 0.000002 let repo = {'git_dir': dir}
1 0.000002 let s:repos[dir] = repo
32 0.000014 endif
32 0.000112 return extend(repo, s:repo_prototype, 'keep')
endif
call s:throw('not a Git repository')
FUNCTION lsp#ui#vim#references#clean_references()
Defined: ~/.vim/bundle/lsp/autoload/lsp/ui/vim/references.vim:179
Called 3 times
Total time: 0.000050
Self time: 0.000050
count total (s) self (s)
3 0.000013 let s:pending[&filetype] = v:false
3 0.000009 if exists('w:lsp_reference_matches')
for l:match in w:lsp_reference_matches
silent! call matchdelete(l:match)
endfor
unlet w:lsp_reference_matches
unlet w:lsp_reference_positions
3 0.000002 endif
FUNCTION <SNR>281_fnamemodify()
Defined: ~/.vim/bundle/unite-neomru/autoload/neomru.vim:22
Called 4 times
Total time: 0.000125
Self time: 0.000101
count total (s) self (s)
4 0.000123 0.000100 return s:substitute_path_separator(fnamemodify(a:fname, a:mods))
FUNCTION <SNR>265_TempReadPost()
Defined: ~/.vim/bundle/fugitive/autoload/fugitive.vim:2121
Called 1 time
Total time: 0.000037
Self time: 0.000019
count total (s) self (s)
1 0.000023 0.000006 if has_key(s:temp_files, s:cpath(a:file))
let dict = s:temp_files[s:cpath(a:file)]
if has_key(dict, 'filetype') && dict.filetype !=# &l:filetype
let &l:filetype = dict.filetype
endif
setlocal foldmarker=<<<<<<<,>>>>>>>
if empty(mapcheck('q', 'n'))
nnoremap <buffer> <silent> q :<C-U>bdelete<Bar>echohl WarningMsg<Bar>echo "Temp file q is deprecated in favor of the built-in <Lt>C-W>q"<Bar>echohl NONE<CR>
endif
if !&modifiable
call s:Map('n', 'gq', ":<C-U>bdelete<CR>", '<silent> <unique>')
endif
1 0.000000 endif
1 0.000001 return ''
FUNCTION matchup#loader#init_buffer()
Defined: ~/.vim/bundle/matchup/autoload/matchup/loader.vim:21
Called 1 time
Total time: 0.000820
Self time: 0.000034
count total (s) self (s)
1 0.000008 0.000004 call matchup#perf#tic('loader_init_buffer')
" initialize lists of delimiter pairs and regular expressions
" this is the data obtained from parsing b:match_words
1 0.000202 0.000007 let b:matchup_delim_lists = s:init_delim_lists()
" this is the combined set of regular expressions used for matching
" its structure is matchup_delim_re[type][open,close,both,mid,both_all]
1 0.000562 0.000006 let b:matchup_delim_re = s:init_delim_regexes()
" process match_skip
1 0.000010 0.000005 let b:matchup_delim_skip = s:init_delim_skip()
" enable/disable for this buffer
1 0.000003 let b:matchup_delim_enabled = !empty(b:matchup_delim_lists.all.regex)
1 0.000031 0.000005 call matchup#perf#toc('loader_init_buffer', 'done')
FUNCTION <SNR>265_fnameescape()
Defined: ~/.vim/bundle/fugitive/autoload/fugitive.vim:61
Called 2 times
Total time: 0.000044
Self time: 0.000044
count total (s) self (s)
2 0.000007 if type(a:file) == type([])
return join(map(copy(a:file), 's:fnameescape(v:val)'))
2 0.000005 elseif exists('*fnameescape')
2 0.000025 return fnameescape(a:file)
else
return escape(a:file, s:fnameescape)
endif
FUNCTION ale#Queue()
Defined: ~/.vim/bundle/ale/autoload/ale.vim:85
Called 1 time
Total time: 0.003957
Self time: 0.000046
count total (s) self (s)
1 0.000001 if a:0 > 2
throw 'too many arguments!'
1 0.000000 endif
" Default linting_flag to ''
1 0.000002 let l:linting_flag = get(a:000, 0, '')
1 0.000002 let l:buffer = get(a:000, 1, bufnr(''))
1 0.000002 if l:linting_flag isnot# '' && l:linting_flag isnot# 'lint_file'
throw "linting_flag must be either '' or 'lint_file'"
1 0.000000 endif
1 0.000002 if type(l:buffer) isnot v:t_number
throw 'buffer_number must be a Number'
1 0.000000 endif
1 0.000072 0.000004 if ale#ShouldDoNothing(l:buffer)
return
1 0.000000 endif
" Remember that we want to check files for this buffer.
" We will remember this until we finally run the linters, via any event.
1 0.000001 if l:linting_flag is# 'lint_file'
1 0.000003 let s:should_lint_file_for_buffer[l:buffer] = 1
1 0.000000 endif
1 0.000001 if s:lint_timer != -1
call timer_stop(s:lint_timer)
let s:lint_timer = -1
1 0.000000 endif
1 0.003848 0.000006 let l:linters = ale#linter#Get(getbufvar(l:buffer, '&filetype'))
" Don't set up buffer data and so on if there are no linters to run.
1 0.000001 if empty(l:linters)
" If we have some previous buffer data, then stop any jobs currently
" running and clear everything.
1 0.000003 if has_key(g:ale_buffer_info, l:buffer)
call ale#engine#RunLinters(l:buffer, [], 1)
1 0.000000 endif
1 0.000001 return
endif
if a:delay > 0
let s:queued_buffer_number = l:buffer
let s:lint_timer = timer_start(a:delay, function('ale#Lint'))
else
call ale#Lint(-1, l:buffer)
endif
FUNCTION <SNR>171_append()
Defined: ~/.vim/bundle/unite/plugin/unite/buffer.vim:22
Called 2 times
Total time: 0.000046
Self time: 0.000033
count total (s) self (s)
2 0.000006 if bufnr('%') != expand('<abuf>')
return
2 0.000001 endif
2 0.000010 if !has('vim_starting') || bufname(bufnr('%')) != ''
2 0.000024 0.000011 call unite#sources#buffer#variables#append(bufnr('%'))
2 0.000001 endif
FUNCTION <SNR>176_append()
Defined: ~/.vim/bundle/unite-neomru/plugin/neomru.vim:32
Called 2 times
Total time: 0.000566
Self time: 0.000017
count total (s) self (s)
2 0.000007 if bufnr('%') != expand('<abuf>') || a:path == ''
return
2 0.000001 endif
2 0.000555 0.000006 call neomru#_append()
FUNCTION airline#highlighter#load_theme()
Defined: ~/.vim/bundle/airline/autoload/airline/highlighter.vim:205
Called 33 times
Total time: 0.515527
Self time: 0.001155
count total (s) self (s)
33 0.000050 if pumvisible()
return
33 0.000013 endif
33 0.000193 for winnr in filter(range(1, winnr('$')), 'v:val != winnr()')
call airline#highlighter#highlight_modified_inactive(winbufnr(winnr))
33 0.000021 endfor
33 0.259925 0.000230 call airline#highlighter#highlight(['inactive'])
33 0.000168 if getbufvar( bufnr('%'), '&modified' )
call airline#highlighter#highlight(['normal', 'modified'])
33 0.000016 else
33 0.254916 0.000239 call airline#highlighter#highlight(['normal'])
33 0.000015 endif
FUNCTION <SNR>18_isAnsible()
Defined: ~/.vim/bundle/aaa-polyglot/ftdetect/polyglot.vim:95
Called 1 time
Total time: 0.000091
Self time: 0.000091
count total (s) self (s)
1 0.000047 let filepath = expand("%:p")
1 0.000003 let filename = expand("%:t")
1 0.000011 if filepath =~ '\v/(tasks|roles|handlers)/.*\.ya?ml$' | return 1 | en
1 0.000007 if filepath =~ '\v/(group|host)_vars/' | return 1 | en
1 0.000010 if filename =~ '\v(playbook|site|main|local)\.ya?ml$' | return 1 | en
1 0.000002 let shebang = getline(1)
1 0.000005 if shebang =~# '^#!.*/bin/env\s\+ansible-playbook\>' | return 1 | en
1 0.000004 if shebang =~# '^#!.*/bin/ansible-playbook\>' | return 1 | en
1 0.000001 return 0
FUNCTION <SNR>293_CreateCountDict()
Defined: ~/.vim/bundle/ale/autoload/ale/statusline.vim:4
Called 128 times
Total time: 0.000647
Self time: 0.000647
count total (s) self (s)
" Keys 0 and 1 are for backwards compatibility.
" The count object used to be a List of [error_count, warning_count].
128 0.000503 return { '0': 0, '1': 0, 'error': 0, 'warning': 0, 'info': 0, 'style_error': 0, 'style_warning': 0, 'total': 0,}
FUNCTION fugitive#BufReadCmd()
Defined: ~/.vim/bundle/fugitive/autoload/fugitive.vim:1963
Called 1 time
Total time: 0.322309
Self time: 0.004018
count total (s) self (s)
1 0.000009 let amatch = a:0 ? a:1 : expand('<amatch>')
1 0.000001 try
1 0.000078 0.000007 let [dir, rev] = s:DirRev(amatch)
1 0.000001 if empty(dir)
return 'echo "Invalid Fugitive URL"'
1 0.000000 endif
1 0.000003 if rev =~# '^:\d$'
let b:fugitive_type = 'stage'
1 0.000001 else
1 0.107626 0.000009 let [b:fugitive_type, exec_error] = s:ChompError([dir, 'cat-file', '-t', rev])
1 0.000001 if exec_error && rev =~# '^:0'
let sha = s:ChompDefault('', dir, 'write-tree', '--prefix=' . rev[3:-1])
let exec_error = empty(sha)
let b:fugitive_type = exec_error ? '' : 'tree'
1 0.000001 endif
1 0.000001 if exec_error
let error = b:fugitive_type
unlet b:fugitive_type
setlocal noswapfile
if empty(&bufhidden)
setlocal bufhidden=delete
endif
if rev =~# '^:\d:'
let &l:readonly = !filewritable(fugitive#Find('.git/index', dir))
return 'silent doautocmd BufNewFile'
else
setlocal readonly nomodifiable
return 'silent doautocmd BufNewFile|echo ' . string(error)
endif
1 0.000016 elseif b:fugitive_type !~# '^\%(tag\|commit\|tree\|blob\)$'
return "echoerr ".string("fugitive: unrecognized git type '".b:fugitive_type."'")
1 0.000000 endif
1 0.000004 if !exists('b:fugitive_display_format') && b:fugitive_type != 'blob'
1 0.000005 let b:fugitive_display_format = +getbufvar('#','fugitive_display_format')
1 0.000000 endif
1 0.000000 endif
1 0.000001 if b:fugitive_type !=# 'blob'
1 0.000006 setlocal nomodeline
1 0.000000 endif
1 0.000003 setlocal noreadonly modifiable
1 0.000002 let pos = getpos('.')
1 0.000005 silent keepjumps %delete_
1 0.000002 setlocal endofline
1 0.000001 try
1 0.000119 0.000006 silent doautocmd BufReadPre
1 0.000002 if b:fugitive_type ==# 'tree'
let b:fugitive_display_format = b:fugitive_display_format % 2
if b:fugitive_display_format
call s:ReplaceCmd([dir, 'ls-tree', exists('sha') ? sha : rev])
else
if !exists('sha')
let sha = s:TreeChomp(dir, 'rev-parse', '--verify', rev, '--')
endif
call s:ReplaceCmd([dir, 'show', '--no-color', sha])
endif
1 0.000001 elseif b:fugitive_type ==# 'tag'
let b:fugitive_display_format = b:fugitive_display_format % 2
if b:fugitive_display_format
call s:ReplaceCmd([dir, 'cat-file', b:fugitive_type, rev])
else
call s:ReplaceCmd([dir, 'cat-file', '-p', rev])
endif
1 0.000001 elseif b:fugitive_type ==# 'commit'
1 0.000002 let b:fugitive_display_format = b:fugitive_display_format % 2
1 0.000001 if b:fugitive_display_format
call s:ReplaceCmd([dir, 'cat-file', b:fugitive_type, rev])
1 0.000000 else
1 0.137575 0.000011 call s:ReplaceCmd([dir, 'show', '--no-color', '-m', '--first-parent', '--pretty=format:tree%x20%T%nparent%x20%P%nauthor%x20%an%x20<%ae>%x20%ad%ncommitter%x20%cn%x20<%ce>%x20%cd%nencoding%x20%e%n%n%s%n%n%b', rev])
1 0.000012 keepjumps call search('^parent ')
1 0.000003 if getline('.') ==# 'parent '
silent keepjumps delete_
1 0.000001 else
1 0.000131 silent exe (exists(':keeppatterns') ? 'keeppatterns' : '') 'keepjumps s/\m\C\%(^parent\)\@<! /\rparent /e' . (&gdefault ? '' : 'g')
1 0.000001 endif
1 0.000016 keepjumps let lnum = search('^encoding \%(<unknown>\)\=$','W',line('.')+3)
1 0.000001 if lnum
1 0.000028 silent keepjumps delete_
1 0.000001 end
1 0.000022 silent exe (exists(':keeppatterns') ? 'keeppatterns' : '') 'keepjumps 1,/^diff --git\|\%$/s/\r$//e'
1 0.000001 keepjumps 1
1 0.000001 endif
elseif b:fugitive_type ==# 'stage'
call s:ReplaceCmd([dir, 'ls-files', '--stage'])
elseif b:fugitive_type ==# 'blob'
call s:ReplaceCmd([dir, 'cat-file', b:fugitive_type, rev])
1 0.000000 endif
1 0.000001 finally
1 0.000003 keepjumps call setpos('.',pos)
1 0.003548 setlocal nomodified noswapfile
1 0.000016 let modifiable = rev =~# '^:.:' && b:fugitive_type !=# 'tree'
1 0.000007 let &l:readonly = !modifiable || !filewritable(fugitive#Find('.git/index', dir))
1 0.000004 if empty(&bufhidden)
1 0.000006 setlocal bufhidden=delete
1 0.000001 endif
1 0.000003 let &l:modifiable = modifiable
1 0.000002 if b:fugitive_type !=# 'blob'
1 0.065509 0.000008 setlocal filetype=git foldmethod=syntax
1 0.000130 0.000007 call s:Map('n', 'a', ":<C-U>let b:fugitive_display_format += v:count1<Bar>exe fugitive#BufReadCmd(@%)<CR>", '<silent>')
1 0.000098 0.000006 call s:Map('n', 'i', ":<C-U>let b:fugitive_display_format -= v:count1<Bar>exe fugitive#BufReadCmd(@%)<CR>", '<silent>')
1 0.000000 endif
1 0.007209 0.000005 call fugitive#MapJumps()
1 0.000001 endtry
1 0.000004 setlocal modifiable
1 0.000010 0.000006 return 'silent ' . s:DoAutocmd('BufReadPost') . (modifiable ? '' : '|setl nomodifiable')
catch /^fugitive:/
return 'echoerr ' . string(v:exception)
1 0.000001 endtry
FUNCTION <SNR>265_cpath()
Defined: ~/.vim/bundle/fugitive/autoload/fugitive.vim:110
Called 4 times
Total time: 0.000098
Self time: 0.000061
count total (s) self (s)
4 0.000009 if exists('+fileignorecase') && &fileignorecase
4 0.000050 0.000026 let path = FugitiveVimPath(tolower(a:path))
else
let path = FugitiveVimPath(a:path)
4 0.000002 endif
4 0.000009 return a:0 ? path ==# s:cpath(a:1) : path
FUNCTION airline#extensions#branch#get_head()
Defined: ~/.vim/bundle/airline/autoload/airline/extensions/branch.vim:305
Called 64 times
Total time: 3.665041
Self time: 0.001899
count total (s) self (s)
64 3.661815 0.000315 let head = airline#extensions#branch#head()
64 0.000665 0.000351 let winwidth = get(airline#parts#get('branch'), 'minwidth', 120)
64 0.000214 let minwidth = empty(get(b:, 'airline_hunks', '')) ? 14 : 7
64 0.001628 0.000300 let head = airline#util#shorten(head, winwidth, minwidth)
64 0.000227 let symbol = get(g:, 'airline#extensions#branch#symbol', g:airline_symbols.branch)
64 0.000402 return empty(head) ? get(g:, 'airline#extensions#branch#empty_message', '') : printf('%s%s', empty(symbol) ? '' : symbol.(g:airline_symbols.space), head)
FUNCTION airline#update_statusline_inactive()
Defined: ~/.vim/bundle/airline/autoload/airline.vim:156
Called 67 times
Total time: 0.002254
Self time: 0.001345
count total (s) self (s)
67 0.001118 0.000210 if airline#util#stl_disabled()
return
67 0.000027 endif
67 0.000076 for nr in a:range
if airline#util#getwinvar(nr, 'airline_disabled', 0)
continue
endif
call setwinvar(nr, 'airline_active', 0)
let context = { 'winnr': nr, 'active': 0, 'bufnr': winbufnr(nr) }
if get(g:, 'airline_inactive_alt_sep', 0)
call extend(context, { 'left_sep': g:airline_left_alt_sep, 'right_sep': g:airline_right_alt_sep }, 'keep')
endif
call s:invoke_funcrefs(context, s:inactive_funcrefs)
67 0.000080 endfor
FUNCTION <SNR>58_fancy_cmd_cr()
Defined: ~/.vim/plugin/fancy_cmd_cr.vim:4
Called 1 time
Total time: 0.000088
Self time: 0.000088
count total (s) self (s)
1 0.000005 if getcmdtype() isnot# ':'
return "\<CR>"
1 0.000001 endif
1 0.000003 let cmdline = getcmdline()
1 0.000011 if cmdline =~# '\v^\s*(ls|files|buffers)!?\s*(\s[+\-=auhx%#]+)?$'
" like :ls but prompts for a buffer command
return "\<CR>:buffer "
1 0.000004 elseif cmdline =~# '\v/(#|nu%[mber])$'
" like :g//# but prompts for a command
return "\<CR>:"
1 0.000011 elseif cmdline =~# '\v^\s*(dli%[st]|il%[ist])!?\s+\S'
" like :dlist or :ilist but prompts for a count for :djump or :ijump
return "\<CR>:" . cmdline[0] . "j " . split(cmdline, " ")[1] . "\<S-Left>\<Left>"
1 0.000007 elseif cmdline =~# '\v^\s*(cli|lli)%[st]!?\s*(\s\d+(,\s*\d+)?)?$'
" like :clist or :llist but prompts for an error/location number
return "\<CR>:silent " . repeat(cmdline[0], 2) . "\<Space>"
1 0.000005 elseif cmdline =~# '\v^\s*ol%[dfiles]\s*$'
" like :oldfiles but prompts for an old file to edit
set nomore
return "\<CR>:silent set more|edit #<"
1 0.000004 elseif cmdline =~# '^\s*changes\s*$'
" like :changes but prompts for a change to jump to
set nomore
return "\<CR>:silent set more|normal! g;\<S-Left>"
1 0.000003 elseif cmdline =~# '\v^\s*ju%[mps]'
" like :jumps but prompts for a position to jump to
set nomore
return "\<CR>:silent set more|normal! \<C-o>\<S-Left>"
1 0.000004 elseif cmdline =~# '\v^\s*marks\s*(\s\w+)?$'
" like :marks but prompts for a mark to jump to
return "\<CR>:normal! `"
1 0.000003 elseif cmdline =~# '\v^\s*undol%[ist]'
" like :undolist but prompts for a change to undo
return "\<CR>:undo "
1 0.000003 elseif cmdline =~# '\v^\s*reg%[isters]'
" like :registers but prompts for a registers to paste
return "\<CR>:norm! \"p\<Left>"
1 0.000000 else
1 0.000003 return "\<c-]>\<CR>"
endif
FUNCTION david#folding#try_use_syntax_folds()
Defined: ~/.vim/autoload/david/folding.vim:32
Called 1 time
Total time: 0.000014
Self time: 0.000014
count total (s) self (s)
" Still at default fold method. (Plugin didn't change to something else
" and not in diff mode.)
1 0.000001 if &foldmethod == 'indent'
if len(&filetype) > 0
if david#gen#foldfiletypes#has_foldable_syntax(&filetype)
setlocal foldmethod=syntax
" ficklefold uses these options and builds them on demand.
" Force build them so we can add syntax.
call ficklefold#init_options()
if match(b:fold_toggle_options, "syntax") < 0
" Syntax at the start.
let b:fold_toggle_options = ["syntax"] + b:fold_toggle_options
endif
endif
endif
1 0.000000 endif
FUNCTION focusclip#on_gain_focus()
Defined: ~/.vim/bundle/focusclip/autoload/focusclip.vim:12
Called 33 times
Total time: 0.000778
Self time: 0.000778
count total (s) self (s)
" If there was a change to the system clipboard register since last time
" we gained focus, apply it to unnamed register.
33 0.000692 if g:focusclip_system ==# @+
33 0.000025 return
endif
let g:focusclip_system = @+
" Update last yank in sync with focusclip_system so when we re-enter vim
" and yank something different from the clipboard, it always will be
" applied to the clipboard.
let g:focusclip_last_yank = @+
let @" = @+
FUNCTION <SNR>33_LoadFTPlugin()
Defined: C:/david/apps/vim/vim82/ftplugin.vim:14
Called 1 time
Total time: 0.019961
Self time: 0.019458
count total (s) self (s)
1 0.000003 if exists("b:undo_ftplugin")
exe b:undo_ftplugin
unlet! b:undo_ftplugin b:did_ftplugin
1 0.000001 endif
1 0.000003 let s = expand("<amatch>")
1 0.000001 if s != ""
1 0.000006 if &cpo =~# "S" && exists("b:did_ftplugin")
" In compatible mode options are reset to the global values, need to
" set the local values also when a plugin was already used.
unlet b:did_ftplugin
1 0.000000 endif
" When there is a dot it is used to separate filetype names. Thus for
" "aaa.bbb" load "aaa" and then "bbb".
2 0.000006 for name in split(s, '\.')
1 0.019925 0.019423 exe 'runtime! ftplugin/' . name . '.vim ftplugin/' . name . '_*.vim ftplugin/' . name . '/*.vim'
2 0.000002 endfor
1 0.000001 endif
FUNCTION FugitiveHead()
Defined: ~/.vim/bundle/fugitive/plugin/fugitive.vim:110
Called 64 times
Total time: 0.045971
Self time: 0.000714
count total (s) self (s)
64 0.001185 0.000253 let dir = FugitiveGitDir(a:0 > 1 ? a:2 : -1)
64 0.000069 if empty(dir)
return ''
64 0.000026 endif
64 0.044600 0.000274 return fugitive#Head(a:0 ? a:1 : 0, dir)
FUNCTION <SNR>239_update_branch()
Defined: ~/.vim/bundle/airline/autoload/airline/extensions/branch.vim:170
Called 64 times
Total time: 0.054518
Self time: 0.002408
count total (s) self (s)
192 0.000334 for vcs in keys(s:vcs_config)
128 0.052914 0.000804 call {s:vcs_config[vcs].update_branch}()
128 0.000353 if b:buffer_vcs_config[vcs].branch != s:vcs_config[vcs].branch
1 0.000002 let b:buffer_vcs_config[vcs].branch = s:vcs_config[vcs].branch
1 0.000001 unlet! b:airline_head
128 0.000059 endif
192 0.000118 endfor
FUNCTION airline#highlighter#highlight()
Defined: ~/.vim/bundle/airline/autoload/airline/highlighter.vim:243
Called 98 times
Total time: 0.760653
Self time: 0.135482
count total (s) self (s)
98 0.000160 let bufnr = a:0 ? a:1 : ''
98 0.000244 let p = g:airline#themes#{g:airline_theme}#palette
" draw the base mode, followed by any overrides
98 0.000624 let mapped = map(a:modes, 'v:val == a:modes[0] ? v:val : a:modes[0]."_".v:val')
98 0.000191 let suffix = a:modes[0] == 'inactive' ? '_inactive' : ''
98 0.000115 let airline_grouplist = []
98 0.000266 let buffers_in_tabpage = sort(tabpagebuflist())
98 0.000159 if exists("*uniq")
98 0.000184 let buffers_in_tabpage = uniq(buffers_in_tabpage)
98 0.000044 endif
" mapped might be something like ['normal', 'normal_modified']
" if a group is in both modes available, only define the second
" that is how this was done previously overwrite the previous definition
228 0.000313 for mode in reverse(mapped)
130 0.000480 if exists('g:airline#themes#{g:airline_theme}#palette[mode]')
98 0.000239 let dict = g:airline#themes#{g:airline_theme}#palette[mode]
1666 0.001921 for kvp in items(dict)
1568 0.002178 let mode_colors = kvp[1]
1568 0.001876 let name = kvp[0]
1568 0.003042 if name is# 'airline_c' && !empty(bufnr) && suffix is# '_inactive'
let name = 'airline_c'.bufnr
1568 0.000712 endif
" do not re-create highlighting for buffers that are no longer visible
" in the current tabpage
1568 0.006138 if name =~# 'airline_c\d\+'
let bnr = matchstr(name, 'airline_c\zs\d\+') + 0
if bnr > 0 && index(buffers_in_tabpage, bnr) == -1
continue
endif
1568 0.005933 elseif (name =~# '_to_') || (name[0:10] is# 'airline_tab' && !empty(suffix))
" group will be redefined below at exec_separator
" or is not needed for tabline with '_inactive' suffix
" since active flag is 1 for builder)
686 0.000406 continue
882 0.000377 endif
882 0.008602 0.004231 if s:group_not_done(airline_grouplist, name.suffix)
882 0.131932 0.004192 call airline#highlighter#exec(name.suffix, mode_colors)
882 0.000437 endif
2646 0.003476 for accent in keys(s:accents)
1764 0.003089 if !has_key(p.accents, accent)
continue
1764 0.000762 endif
1764 0.003965 let colors = copy(mode_colors)
1764 0.003087 if p.accents[accent][0] != ''
882 0.001761 let colors[0] = p.accents[accent][0]
1764 0.000782 endif
1764 0.002496 if p.accents[accent][2] != ''
882 0.001489 let colors[2] = p.accents[accent][2]
1764 0.000719 endif
1764 0.002100 if len(colors) >= 5
1764 0.004106 let colors[4] = get(p.accents[accent], 4, '')
else
call add(colors, get(p.accents[accent], 4, ''))
1764 0.000740 endif
1764 0.017630 0.009161 if s:group_not_done(airline_grouplist, name.suffix.'_'.accent)
1764 0.261727 0.009282 call airline#highlighter#exec(name.suffix.'_'.accent, colors)
1764 0.000912 endif
2646 0.001496 endfor
980 0.000498 endfor
98 0.000134 if empty(s:separators)
" nothing to be done
continue
98 0.000041 endif
" TODO: optimize this
784 0.001000 for sep in items(s:separators)
" we cannot check, that the group already exists, else the separators
" might not be correctly defined. But perhaps we can skip above groups
" that match the '_to_' name, because they would be redefined here...
686 0.237196 0.005048 call <sid>exec_separator(dict, sep[1][0], sep[1][1], sep[1][2], suffix)
784 0.000446 endfor
130 0.000064 endif
228 0.000218 endfor
FUNCTION <SNR>251_add_section()
Defined: ~/.vim/bundle/airline/autoload/airline/extensions/default.vim:47
Called 536 times
Total time: 0.032767
Self time: 0.010589
count total (s) self (s)
536 0.001610 let condition = (a:key is# "warning" || a:key is# "error") && (v:version == 704 && !has("patch1511"))
" i have no idea why the warning section needs special treatment, but it's
" needed to prevent separators from showing up
536 0.006248 0.001970 if ((a:key == 'error' || a:key == 'warning') && empty(s:get_section(a:context.winnr, a:key)))
return
536 0.000215 endif
536 0.000333 if condition
call a:builder.add_raw('%(')
536 0.000208 endif
536 0.021129 0.003229 call a:builder.add_section('airline_'.a:key, s:get_section(a:context.winnr, a:key))
536 0.000359 if condition
call a:builder.add_raw('%)')
536 0.000224 endif
FUNCTION fugitive#CommonDir()
Defined: ~/.vim/bundle/fugitive/autoload/fugitive.vim:283
Called 64 times
Total time: 0.001463
Self time: 0.001463
count total (s) self (s)
64 0.000101 if empty(a:dir)
return ''
64 0.000033 endif
64 0.000147 if !has_key(s:commondirs, a:dir)
1 0.000054 if getfsize(a:dir . '/HEAD') < 10
let s:commondirs[a:dir] = ''
1 0.000031 elseif filereadable(a:dir . '/commondir')
let cdir = get(readfile(a:dir . '/commondir', 1), 0, '')
if cdir =~# '^/\|^\a:/'
let s:commondirs[a:dir] = s:Slash(FugitiveVimPath(cdir))
else
let s:commondirs[a:dir] = simplify(a:dir . '/' . cdir)
endif
1 0.000000 else
1 0.000003 let s:commondirs[a:dir] = a:dir
1 0.000000 endif
64 0.000025 endif
64 0.000103 return s:commondirs[a:dir]
FUNCTION airline#parts#ffenc()
Defined: ~/.vim/bundle/airline/autoload/airline/parts.vim:108
Called 64 times
Total time: 0.001074
Self time: 0.001074
count total (s) self (s)
64 0.000182 let expected = get(g:, 'airline#parts#ffenc#skip_expected_string', '')
64 0.000098 let bomb = &l:bomb ? '[BOM]' : ''
64 0.000358 let ff = strlen(&ff) ? '['.&ff.']' : ''
64 0.000167 if expected is# &fenc.bomb.ff
return ''
64 0.000032 else
64 0.000110 return &fenc.bomb.ff
endif
FUNCTION <SNR>69_init()
Defined: ~/.vim/bundle/airline/plugin/airline.vim:15
Called 1 time
Total time: 0.000003
Self time: 0.000003
count total (s) self (s)
1 0.000001 if s:airline_initialized
1 0.000001 return
endif
let s:airline_initialized = 1
call airline#extensions#load()
call airline#init#sections()
let s:theme_in_vimrc = exists('g:airline_theme')
if s:theme_in_vimrc
try
if g:airline_theme is# 'random'
let g:airline_theme=s:random_theme()
endif
let palette = g:airline#themes#{g:airline_theme}#palette
catch
call airline#util#warning(printf('Could not resolve airline theme "%s". Themes have been migrated to github.com/vim-airline/vim-airline-themes.', g:airline_theme))
let g:airline_theme = 'dark'
endtry
try
silent call airline#switch_theme(g:airline_theme)
catch
call airline#util#warning(printf('Could not find airline theme "%s".', g:airline_theme))
let g:airline_theme = 'dark'
silent call airline#switch_theme(g:airline_theme)
endtry
else
let g:airline_theme = 'dark'
silent call s:on_colorscheme_changed()
endif
call airline#util#doautocmd('AirlineAfterInit')
FUNCTION neomru#_save()
Defined: ~/.vim/bundle/unite-neomru/autoload/neomru.vim:364
Called 1 time
Total time: 0.127976
Self time: 0.000036
count total (s) self (s)
1 0.000007 let opts = a:0 >= 1 && type(a:1) == type({}) ? a:1 : {}
3 0.000007 for m in values(s:MRUs)
2 0.127955 0.000015 call m.save(opts)
3 0.000003 endfor
FUNCTION airline#util#ignore_buf()
Defined: ~/.vim/bundle/airline/autoload/airline/util.vim:124
Called 64 times
Total time: 0.003162
Self time: 0.003162
count total (s) self (s)
64 0.000415 let pat = '\c\v'. get(g:, 'airline#ignore_bufadd_pat', ''). get(g:, 'airline#extensions#tabline#ignore_bufadd_pat', '!|defx|gundo|nerd_tree|startify|tagbar|term://|undotree|vimfiler')
64 0.002679 return match(a:name, pat) > -1
FUNCTION <SNR>236_CheckDefined()
Defined: ~/.vim/bundle/airline/autoload/airline/highlighter.vim:132
Called 4130 times
Total time: 0.041371
Self time: 0.041371
count total (s) self (s)
" Checks, whether the definition of the colors is valid and is not empty or NONE
" e.g. if the colors would expand to this:
" hi airline_c ctermfg=NONE ctermbg=NONE
" that means to clear that highlighting group, therefore, fallback to Normal
" highlighting group for the cterm values
" This only works, if the Normal highlighting group is actually defined, so
" return early, if it has been cleared
4130 0.008481 if !exists("g:airline#highlighter#normal_fg_hi")
let g:airline#highlighter#normal_fg_hi = synIDattr(synIDtrans(hlID('Normal')), 'fg', 'cterm')
4130 0.001684 endif
4130 0.008144 if empty(g:airline#highlighter#normal_fg_hi) || g:airline#highlighter#normal_fg_hi < 0
4130 0.003558 return a:colors
endif
for val in a:colors
if !empty(val) && val !=# 'NONE'
return a:colors
endif
endfor
" this adds the bold attribute to the term argument of the :hi command,
" but at least this makes sure, the group will be defined
let fg = g:airline#highlighter#normal_fg_hi
let bg = synIDattr(synIDtrans(hlID('Normal')), 'bg', 'cterm')
if bg < 0
" in case there is no background color defined for Normal
let bg = a:colors[3]
endif
return a:colors[0:1] + [fg, bg] + [a:colors[4]]
FUNCTION <SNR>86_savetofile()
Defined: ~/.vim/bundle/ctrlp/autoload/ctrlp/mrufiles.vim:84
Called 1 time
Total time: 0.004192
Self time: 0.000007
count total (s) self (s)
1 0.004192 0.000006 cal ctrlp#utils#writecache(a:mrufs, s:cadir, s:cafile)
FUNCTION fugitive#Head()
Defined: ~/.vim/bundle/fugitive/autoload/fugitive.vim:494
Called 64 times
Total time: 0.044326
Self time: 0.004884
count total (s) self (s)
64 0.000141 let dir = a:0 > 1 ? a:2 : s:Dir()
64 0.000066 if empty(dir)
return ''
64 0.000028 endif
64 0.039710 0.000268 let file = fugitive#Find('.git/HEAD', dir)
64 0.002491 let ftime = getftime(file)
64 0.000096 if ftime == -1
return ''
64 0.000298 elseif ftime != get(s:head_cache, dir, [-1])[0]
1 0.000056 let s:head_cache[dir] = [ftime, readfile(file)[0]]
64 0.000031 endif
64 0.000136 let head = s:head_cache[dir][1]
64 0.000287 if head =~# '^ref: '
64 0.000635 return substitute(head, '\C^ref: \%(refs/\%(heads/\|remotes/\|tags/\)\=\)\=', '', '')
elseif head =~# '^\x\{40,\}$'
let len = a:0 ? a:1 : 0
return len < 0 ? head : len ? head[0:len-1] : ''
else
return ''
endif
FUNCTION <SNR>265_ChompError()
Defined: ~/.vim/bundle/fugitive/autoload/fugitive.vim:456
Called 2 times
Total time: 0.319328
Self time: 0.000048
count total (s) self (s)
2 0.319281 0.000023 let [out, exec_error] = s:SystemError(call('fugitive#Prepare', a:000))
2 0.000046 0.000024 return [s:sub(out, '\n$', ''), exec_error]
FUNCTION airline#update_tabline()
Defined: ~/.vim/bundle/airline/autoload/airline.vim:273
Called 66 times
Total time: 0.000289
Self time: 0.000289
count total (s) self (s)
66 0.000138 if get(g:, 'airline_statusline_ontop', 0)
call airline#extensions#tabline#redraw()
66 0.000031 endif
FUNCTION airline#parts#get()
Defined: ~/.vim/bundle/airline/autoload/airline/parts.vim:49
Called 64 times
Total time: 0.000314
Self time: 0.000314
count total (s) self (s)
64 0.000290 return get(s:parts, a:key, {})
FUNCTION fugitive#Init()
Defined: ~/.vim/bundle/fugitive/autoload/fugitive.vim:6039
Called 1 time
Total time: 0.000121
Self time: 0.000058
count total (s) self (s)
1 0.000007 if exists('#User#FugitiveBoot')
exe s:DoAutocmd('User FugitiveBoot')
1 0.000000 endif
1 0.000021 0.000003 let dir = s:Dir()
1 0.000006 if &tags !~# '\.git' && @% !~# '\.git' && !exists('s:tags_warning')
let actualdir = fugitive#Find('.git/', dir)
if filereadable(actualdir . 'tags')
let s:tags_warning = 1
echohl WarningMsg
echo "Fugitive .git/tags support removed in favor of `:set tags^=./.git/tags;`"
echohl NONE
endif
1 0.000000 endif
1 0.000077 0.000031 exe s:DoAutocmd('User Fugitive')
FUNCTION airline#load_theme()
Defined: ~/.vim/bundle/airline/autoload/airline.vim:39
Called 33 times
Total time: 0.762131
Self time: 0.001424
count total (s) self (s)
33 0.000097 let g:airline_theme = get(g:, 'airline_theme', 'dark')
33 0.000117 if exists('*airline#themes#{g:airline_theme}#refresh')
call airline#themes#{g:airline_theme}#refresh()
33 0.000017 endif
33 0.000082 let palette = g:airline#themes#{g:airline_theme}#palette
33 0.006733 0.000126 call airline#themes#patch(palette)
33 0.000071 if exists('g:airline_theme_patch_func')
33 0.000112 let Fn = function(g:airline_theme_patch_func)
33 0.000355 0.000119 call Fn(palette)
33 0.000014 endif
33 0.515753 0.000227 call airline#highlighter#load_theme()
33 0.044292 0.000154 call airline#extensions#load_theme()
33 0.194336 0.000138 call airline#update_statusline()
FUNCTION airline#parts#paste()
Defined: ~/.vim/bundle/airline/autoload/airline/parts.vim:63
Called 64 times
Total time: 0.000156
Self time: 0.000156
count total (s) self (s)
64 0.000134 return g:airline_detect_paste && &paste ? g:airline_symbols.paste : ''
FUNCTION <SNR>295_is_sudo()
Defined: ~/.vim/bundle/neoyank/autoload/neoyank.vim:176
Called 33 times
Total time: 0.000513
Self time: 0.000513
count total (s) self (s)
33 0.000498 return $SUDO_USER != '' && $USER !=# $SUDO_USER && $HOME !=# expand('~'.$USER) && $HOME ==# expand('~'.$SUDO_USER)
FUNCTION matchup#loader#remove_capture_groups()
Defined: ~/.vim/bundle/matchup/autoload/matchup/loader.vim:652
Called 6 times
Total time: 0.000049
Self time: 0.000049
count total (s) self (s)
6 0.000009 let l:sub_grp = '\(\\\@<!\(\\\\\)*\)\@<=\\('
6 0.000038 return substitute(a:re, l:sub_grp, '\\%(', 'g')
FUNCTION airline#update_statusline()
Defined: ~/.vim/bundle/airline/autoload/airline.vim:127
Called 67 times
Total time: 0.398314
Self time: 0.002806
count total (s) self (s)
67 0.001290 0.000230 if airline#util#stl_disabled()
return
67 0.000029 endif
67 0.000338 let range = filter(range(1, winnr('$')), 'v:val != winnr()')
" create inactive statusline
67 0.002559 0.000305 call airline#update_statusline_inactive(range)
67 0.000153 unlet! w:airline_render_left w:airline_render_right
67 0.000624 exe 'unlet! ' 'w:airline_section_'. join(s:sections, ' w:airline_section_')
" Now create the active statusline
67 0.000086 let w:airline_active = 1
67 0.000262 let context = { 'winnr': winnr(), 'active': 1, 'bufnr': winbufnr(winnr()) }
67 0.392749 0.000555 call s:invoke_funcrefs(context, g:airline_statusline_funcrefs)
FUNCTION <SNR>279_StopCursorTimer()
Defined: ~/.vim/bundle/ale/autoload/ale/cursor.vim:51
Called 1 time
Total time: 0.000005
Self time: 0.000005
count total (s) self (s)
1 0.000001 if s:cursor_timer != -1
1 0.000002 call timer_stop(s:cursor_timer)
1 0.000001 let s:cursor_timer = -1
1 0.000000 endif
FUNCTION matchup#perf#tic()
Defined: ~/.vim/bundle/matchup/autoload/matchup/perf.vim:15
Called 1 time
Total time: 0.000004
Self time: 0.000004
count total (s) self (s)
1 0.000003 let s:time_start[a:context] = reltime()
FUNCTION <SNR>281_is_directory_exist()
Defined: ~/.vim/bundle/unite-neomru/autoload/neomru.vim:414
Called 2 times
Total time: 0.000039
Self time: 0.000039
count total (s) self (s)
2 0.000033 let ignore = !empty(g:neomru#directory_mru_ignore_pattern) && a:path =~ g:neomru#directory_mru_ignore_pattern
2 0.000004 return !ignore && (isdirectory(a:path) || a:path =~ '^\h\w\+:')
FUNCTION <SNR>265_Map()
Defined: ~/.vim/bundle/fugitive/autoload/fugitive.vim:153
Called 67 times
Total time: 0.006371
Self time: 0.006371
count total (s) self (s)
138 0.000343 for mode in split(a:mode, '\zs')
71 0.000253 let flags = (a:0 ? a:1 : '') . (a:rhs =~# '<Plug>' ? '' : '<script>')
71 0.000068 let head = a:lhs
71 0.000054 let tail = ''
71 0.000146 let keys = get(g:, mode.'remap', {})
71 0.000115 if type(keys) == type([])
return
71 0.000030 endif
180 0.000190 while !empty(head)
109 0.000136 if has_key(keys, head)
let head = keys[head]
if empty(head)
return
endif
break
109 0.000042 endif
109 0.000407 let tail = matchstr(head, '<[^<>]*>$\|.$') . tail
109 0.000397 let head = substitute(head, '<[^<>]*>$\|.$', '', '')
180 0.000092 endwhile
71 0.000233 if flags !~# '<unique>' || empty(mapcheck(head.tail, mode))
71 0.001152 exe mode.'map <buffer>' s:nowait flags head.tail a:rhs
71 0.000061 if a:0 > 1
let b:undo_ftplugin = get(b:, 'undo_ftplugin', 'exe') . '|sil! exe "' . mode . 'unmap <buffer> ' . head.tail . '"'
71 0.000030 endif
71 0.000030 endif
138 0.000095 endfor
FUNCTION neomru#_append()
Defined: ~/.vim/bundle/unite-neomru/autoload/neomru.vim:314
Called 2 times
Total time: 0.000549
Self time: 0.000026
count total (s) self (s)
2 0.000011 if &l:buftype =~ 'help\|nofile' || &l:previewwindow
return
2 0.000001 endif
2 0.000536 0.000012 call neomru#append(s:expand('%:p'))
FUNCTION airline#parts#readonly()
Defined: ~/.vim/bundle/airline/autoload/airline/parts.vim:89
Called 64 times
Total time: 0.006237
Self time: 0.003076
count total (s) self (s)
" only consider regular buffers (e.g. ones that represent actual files,
" but not special ones like e.g. NERDTree)
64 0.003685 0.000523 if !empty(&buftype) || airline#util#ignore_buf(bufname('%'))
return ''
64 0.000037 endif
64 0.002241 if &readonly && !filereadable(bufname('%'))
64 0.000073 return '[noperm]'
else
return &readonly ? g:airline_symbols.readonly : ''
endif
FUNCTION <SNR>271_GetLinterNames()
Defined: ~/.vim/bundle/ale/autoload/ale/linter.vim:372
Called 1 time
Total time: 0.000025
Self time: 0.000025
count total (s) self (s)
1 0.000002 let l:buffer_ale_linters = get(b:, 'ale_linters', {})
" b:ale_linters can be set to 'all'
1 0.000001 if l:buffer_ale_linters is# 'all'
return 'all'
1 0.000000 endif
" b:ale_linters can be set to a List.
1 0.000002 if type(l:buffer_ale_linters) is v:t_list
return l:buffer_ale_linters
1 0.000000 endif
" Try to get a buffer-local setting for the filetype
1 0.000002 if has_key(l:buffer_ale_linters, a:original_filetype)
return l:buffer_ale_linters[a:original_filetype]
1 0.000000 endif
" Try to get a global setting for the filetype
1 0.000002 if has_key(g:ale_linters, a:original_filetype)
return g:ale_linters[a:original_filetype]
1 0.000000 endif
" If the user has configured ALE to only enable linters explicitly, then
" don't enable any linters by default.
1 0.000001 if g:ale_linters_explicit
return []
1 0.000000 endif
" Try to get a default setting for the filetype
1 0.000002 if has_key(s:default_ale_linters, a:original_filetype)
return s:default_ale_linters[a:original_filetype]
1 0.000000 endif
1 0.000001 return 'all'
FUNCTION <SNR>265_DirCommitFile()
Defined: ~/.vim/bundle/fugitive/autoload/fugitive.vim:706
Called 33 times
Total time: 0.001617
Self time: 0.001344
count total (s) self (s)
33 0.001397 0.001124 let vals = matchlist(s:Slash(a:path), '\c^fugitive:\%(//\)\=\(.\{-\}\)\%(//\|::\)\(\x\{40,\}\|[0-3]\)\(/.*\)\=$')
33 0.000050 if empty(vals)
return ['', '', '']
33 0.000017 endif
33 0.000084 return vals[1:3]
FUNCTION <SNR>127_init_delim_skip()
Defined: ~/.vim/bundle/matchup/autoload/matchup/loader.vim:659
Called 1 time
Total time: 0.000005
Self time: 0.000005
count total (s) self (s)
1 0.000002 let l:skip = get(b:, 'match_skip', '')
1 0.000002 if empty(l:skip) | return '' | endif
" s:foo becomes (current syntax item) =~ foo
" S:foo becomes (current syntax item) !~ foo
" r:foo becomes (line before cursor) =~ foo
" R:foo becomes (line before cursor) !~ foo
let l:cursyn = "synIDattr(synID(s:effline('.'),s:effcol('.'),1),'name')"
let l:preline = "strpart(s:geteffline('.'),0,s:effcol('.'))"
if l:skip =~# '^[sSrR]:'
let l:syn = strpart(l:skip, 2)
let l:skip = { 's': l:cursyn."=~?'".l:syn."'", 'S': l:cursyn."!~?'".l:syn."'", 'r': l:preline."=~?'".l:syn."'", 'R': l:preline."!~?'".l:syn."'",}[l:skip[0]]
endif
for [l:pat, l:str] in [ [ '\<col\ze(', 's:effcol' ], [ '\<line\ze(', 's:effline' ], [ '\<getline\ze(', 's:geteffline' ],]
let l:skip = substitute(l:skip, l:pat, l:str, 'g')
endfor
return l:skip
FUNCTION <SNR>282_setup_if_required()
Defined: ~/.vim/bundle/asyncomplete/autoload/asyncomplete.vim:30
Called 1 time
Total time: 0.000029
Self time: 0.000029
count total (s) self (s)
1 0.000001 if !s:already_setup
" register asyncomplete change manager
for l:change_manager in g:asyncomplete_change_manager
call asyncomplete#log('core', 'initializing asyncomplete change manager', l:change_manager)
if type(l:change_manager) == type('')
execute 'let s:on_change_manager = function("'. l:change_manager .'")()'
else
let s:on_change_manager = l:change_manager()
endif
if has_key(s:on_change_manager, 'error')
call asyncomplete#log('core', 'initializing asyncomplete change manager failed', s:on_change_manager['name'], s:on_change_manager['error'])
else
call s:on_change_manager.register(function('s:on_change'))
call asyncomplete#log('core', 'initializing asyncomplete change manager complete', s:on_change_manager['name'])
break
endif
endfor
augroup asyncomplete
autocmd!
autocmd InsertEnter * call s:on_insert_enter()
autocmd InsertLeave * call s:on_insert_leave()
augroup END
doautocmd User asyncomplete_setup
let s:already_setup = 1
1 0.000000 endif
FUNCTION airline#builder#should_change_group()
Defined: ~/.vim/bundle/airline/autoload/airline/builder.vim:130
Called 402 times
Total time: 0.073739
Self time: 0.006554
count total (s) self (s)
402 0.000579 if a:group1 == a:group2
return 0
402 0.000167 endif
402 0.036605 0.001985 let color1 = airline#highlighter#get_highlight(a:group1)
402 0.034398 0.001832 let color2 = airline#highlighter#get_highlight(a:group2)
402 0.000412 if g:airline_gui_mode ==# 'gui'
402 0.000982 return color1[1] != color2[1] || color1[0] != color2[0]
else
return color1[3] != color2[3] || color1[2] != color2[2]
endif
FUNCTION <SNR>239_display_git_branch()
Defined: ~/.vim/bundle/airline/autoload/airline/extensions/branch.vim:114
Called 32 times
Total time: 3.596537
Self time: 0.009882
count total (s) self (s)
32 0.000059 let name = b:buffer_vcs_config['git'].branch
32 0.000020 try
32 0.002051 0.000312 let commit = matchstr(FugitiveParse()[0], '^\x\+')
32 0.000064 if has_key(s:names, commit)
let name = get(s:names, commit)."(".name.")"
32 0.000046 elseif !empty(commit)
32 3.585196 0.000395 let ref = fugitive#repo().git_chomp('describe', '--all', '--exact-match', commit)
32 0.000225 if ref !~ "^fatal: no tag exactly matches"
32 0.008454 0.008339 let name = s:format_name(substitute(ref, '\v\C^%(heads/|remotes/|tags/)=','',''))."(".name.")"
else
let name = matchstr(commit, '.\{'.s:sha1size.'}')."(".name.")"
32 0.000023 endif
32 0.000015 endif
catch
32 0.000027 endtry
32 0.000031 return name
FUNCTION airline#highlighter#exec()
Defined: ~/.vim/bundle/airline/autoload/airline/highlighter.vim:104
Called 4130 times
Total time: 0.585937
Self time: 0.165814
count total (s) self (s)
4130 0.004468 if pumvisible()
return
4130 0.001684 endif
4130 0.004519 let colors = a:colors
4130 0.003553 if s:is_win32term
let colors[2] = s:gui2cui(get(colors, 0, ''), get(colors, 2, ''))
let colors[3] = s:gui2cui(get(colors, 1, ''), get(colors, 3, ''))
4130 0.001707 endif
4130 0.363594 0.019370 let old_hi = airline#highlighter#get_highlight(a:group)
4130 0.005303 if len(colors) == 4
1155 0.001858 call add(colors, '')
4130 0.001722 endif
4130 0.004051 if g:airline_gui_mode ==# 'gui'
4130 0.012513 let new_hi = [colors[0], colors[1], '', '', colors[4]]
else
let new_hi = ['', '', printf("%s", colors[2]), printf("%s", colors[3]), colors[4]]
4130 0.001711 endif
4130 0.057159 0.015787 let colors = s:CheckDefined(colors)
4130 0.052871 0.018422 if old_hi != new_hi || !s:hl_group_exists(a:group)
1 0.000086 0.000006 let cmd = printf('hi %s%s', a:group, s:GetHiCmd(colors))
1 0.000011 exe cmd
1 0.000002 if has_key(s:hl_groups, a:group)
1 0.000002 let s:hl_groups[a:group] = colors
1 0.000001 endif
4130 0.001599 endif
FUNCTION <SNR>281_expand()
Defined: ~/.vim/bundle/unite-neomru/autoload/neomru.vim:19
Called 2 times
Total time: 0.000062
Self time: 0.000046
count total (s) self (s)
2 0.000061 0.000046 return s:substitute_path_separator(expand(a:path))
FUNCTION <SNR>101_UpdateBuf()
Defined: ~/.vim/bundle/FastFold/plugin/fastfold.vim:101
Called 2 times
Total time: 0.001790
Self time: 0.000037
count total (s) self (s)
" skip if another session still loading
2 0.000006 if exists('g:SessionLoad') | return | endif
2 0.000005 let s:curbuf = bufnr('%')
2 0.001604 0.000009 call s:WinDo("if bufnr('%') is s:curbuf | call s:LeaveWin() | endif")
2 0.000167 0.000010 call s:WinDo("if bufnr('%') is s:curbuf | call s:EnterWin() | endif")
2 0.000003 if !a:feedback | return | endif
if !exists('w:lastfdm')
echomsg "'" . &l:foldmethod . "' folds already continuously updated"
else
echomsg "updated '" . w:lastfdm . "' folds"
endif
FUNCTION <SNR>265_can_diffoff()
Defined: ~/.vim/bundle/fugitive/autoload/fugitive.vim:4467
Called 3 times
Total time: 0.000019
Self time: 0.000019
count total (s) self (s)
3 0.000017 return getwinvar(bufwinnr(a:buf), '&diff') && !empty(getwinvar(bufwinnr(a:buf), 'fugitive_diff_restore'))
FUNCTION ctrlp#utils#mkdir()
Defined: ~/.vim/bundle/ctrlp/autoload/ctrlp/utils.vim:56
Called 1 time
Total time: 0.000031
Self time: 0.000031
count total (s) self (s)
1 0.000026 if exists('*mkdir') && !isdirectory(a:dir)
sil! cal mkdir(a:dir, 'p')
1 0.000000 en
1 0.000001 retu a:dir
FUNCTION <SNR>265_Mods()
Defined: ~/.vim/bundle/fugitive/autoload/fugitive.vim:85
Called 1 time
Total time: 0.000020
Self time: 0.000020
count total (s) self (s)
1 0.000007 let mods = substitute(a:mods, '\C<mods>', '', '')
1 0.000004 let mods = mods =~# '\S$' ? mods . ' ' : mods
1 0.000002 if a:0 && mods !~# '\<\%(aboveleft\|belowright\|leftabove\|rightbelow\|topleft\|botright\|tab\)\>'
let mods = a:1 . ' ' . mods
1 0.000000 endif
1 0.000005 return substitute(mods, '\s\+', ' ', 'g')
FUNCTION neoyank#_append()
Defined: ~/.vim/bundle/neoyank/autoload/neoyank.vim:63
Called 33 times
Total time: 0.005423
Self time: 0.000841
count total (s) self (s)
33 0.003552 0.000103 call neoyank#_load()
66 0.000122 for register in g:neoyank#save_registers
33 0.000646 0.000315 call s:add_register(register, [getreg(register), getregtype(register)])
66 0.000044 endfor
33 0.000898 0.000097 call neoyank#_save()
FUNCTION ale#highlight#RemoveHighlights()
Defined: ~/.vim/bundle/ale/autoload/ale/highlight.vim:52
Called 1 time
Total time: 0.000006
Self time: 0.000006
count total (s) self (s)
1 0.000002 for l:match in getmatches()
if l:match.group =~# '^ALE'
call matchdelete(l:match.id)
endif
1 0.000001 endfor
FUNCTION FugitiveWorkTree()
Defined: ~/.vim/bundle/fugitive/plugin/fugitive.vim:133
Called 100 times
Total time: 0.040141
Self time: 0.000698
count total (s) self (s)
100 0.040098 0.000655 return s:Tree(FugitiveGitDir(a:0 ? a:1 : -1))
FUNCTION lsp#utils#path_to_uri()
Defined: ~/.vim/bundle/lsp/autoload/lsp/utils.vim:44
Called 1 time
Total time: 0.000930
Self time: 0.000027
count total (s) self (s)
1 0.000002 if empty(a:path)
return a:path
1 0.000001 else
" You must not encode the volume information on the path if
" present
1 0.000008 let l:end_pos_volume = matchstrpos(a:path, '\c[A-Z]:')[2]
1 0.000001 if l:end_pos_volume == -1
let l:end_pos_volume = 0
1 0.000000 endif
1 0.000913 0.000010 return s:encode_uri(substitute(a:path, '\', '/', 'g'), l:end_pos_volume, 'file:///')
endif
FUNCTION <SNR>2_autochdir()
Defined: ~/.vim/vimrc.vim:270
Called 1 time
Total time: 0.000203
Self time: 0.000203
count total (s) self (s)
1 0.000003 if (!exists("v:vim_did_enter") || v:vim_did_enter) " Don't mess with vim on startup. && dirvish#can_autochdir() " Don't mess with dirvish && david#init#find_ft_match(['help', 'dirvish']) < 0 " Not useful for some filetypes && filereadable(expand("%")) " Only change to real files.
1 0.000198 silent! cd %:p:h
1 0.000001 endif
FUNCTION <SNR>281_uniq_by()
Defined: ~/.vim/bundle/unite-neomru/autoload/neomru.vim:392
Called 2 times
Total time: 0.024451
Self time: 0.024451
count total (s) self (s)
2 0.003506 let list = map(copy(a:list), printf('[v:val, %s]', a:f))
2 0.000003 let i = 0
2 0.000002 let seen = {}
1873 0.001807 while i < len(list)
1871 0.004776 let key = string(list[i][1])
1871 0.002303 if has_key(seen, key)
call remove(list, i)
1871 0.000777 else
1871 0.004909 let seen[key] = 1
1871 0.001326 let i += 1
1871 0.000781 endif
1873 0.000800 endwhile
2 0.001269 return map(list, 'v:val[0]')
FUNCTION fugitive#GitVersion()
Defined: ~/.vim/bundle/fugitive/autoload/fugitive.vim:261
Called 5 times
Total time: 0.108298
Self time: 0.001425
count total (s) self (s)
5 0.000015 if !has_key(s:git_versions, g:fugitive_git_executable)
1 0.108123 0.001251 let s:git_versions[g:fugitive_git_executable] = matchstr(system(g:fugitive_git_executable.' --version'), '\d[^[:space:]]\+')
5 0.000005 endif
5 0.000004 if !a:0
return s:git_versions[g:fugitive_git_executable]
5 0.000002 endif
5 0.000052 let components = split(s:git_versions[g:fugitive_git_executable], '\D\+')
5 0.000008 if empty(components)
return -1
5 0.000002 endif
5 0.000015 for i in range(len(a:000))
5 0.000017 if a:000[i] > +get(components, i)
return 0
5 0.000010 elseif a:000[i] < +get(components, i)
5 0.000003 return 1
endif
endfor
return a:000[i] ==# get(components, i)
FUNCTION <SNR>265_BlurStatus()
Defined: ~/.vim/bundle/fugitive/autoload/fugitive.vim:4111
Called 1 time
Total time: 0.000015
Self time: 0.000015
count total (s) self (s)
1 0.000004 if (&previewwindow || exists('w:fugitive_status')) && get(b:,'fugitive_type', '') ==# 'index'
let winnrs = filter([winnr('#')] + range(1, winnr('$')), 's:UsableWin(v:val)')
if len(winnrs)
exe winnrs[0].'wincmd w'
else
belowright new
endif
if &diff
call s:DiffClose()
endif
1 0.000000 endif
FUNCTION <SNR>239_update_git_branch()
Defined: ~/.vim/bundle/airline/autoload/airline/extensions/branch.vim:87
Called 64 times
Total time: 0.049427
Self time: 0.002343
count total (s) self (s)
64 0.000657 0.000294 if !airline#util#has_fugitive() && !airline#util#has_gina()
let s:vcs_config['git'].branch = ''
return
64 0.000025 endif
64 0.000491 0.000198 if airline#util#has_fugitive()
64 0.046418 0.000447 let s:vcs_config['git'].branch = exists("*FugitiveHead") ? FugitiveHead(s:sha1size) : fugitive#head(s:sha1size)
64 0.000903 0.000447 if s:vcs_config['git'].branch is# 'master' && airline#util#winwidth() < 81
" Shorten default a bit
let s:vcs_config['git'].branch='mas'
64 0.000030 endif
else
try
let g:gina#component#repo#commit_length = s:sha1size
let s:vcs_config['git'].branch = gina#component#repo#branch()
catch
endtry
if s:vcs_config['git'].branch is# 'master' && airline#util#winwidth() < 81
" Shorten default a bit
let s:vcs_config['git'].branch='mas'
endif
64 0.000027 endif
FUNCTION fugitive#MapJumps()
Defined: ~/.vim/bundle/fugitive/autoload/fugitive.vim:5573
Called 1 time
Total time: 0.007205
Self time: 0.000825
count total (s) self (s)
1 0.000001 if !&modifiable
1 0.000002 if get(b:, 'fugitive_type', '') ==# 'blob'
let blame_map = 'Gblame<C-R>=v:count ? " --reverse" : ""<CR><CR>'
call s:Map('n', '<2-LeftMouse>', ':<C-U>0,1' . blame_map, '<silent>')
call s:Map('n', '<CR>', ':<C-U>0,1' . blame_map, '<silent>')
call s:Map('n', 'o', ':<C-U>0,2' . blame_map, '<silent>')
call s:Map('n', 'p', ':<C-U>0,3' . blame_map, '<silent>')
call s:Map('n', 'gO', ':<C-U>0,4' . blame_map, '<silent>')
call s:Map('n', 'O', ':<C-U>0,5' . blame_map, '<silent>')
call s:Map('n', 'D', ":<C-U>call <SID>DiffClose()<Bar>Gdiffsplit!<Bar>redraw<Bar>echohl WarningMsg<Bar> echo ':Gstatus D is deprecated in favor of dd'<Bar>echohl NONE<CR>", '<silent>')
call s:Map('n', 'dd', ":<C-U>call <SID>DiffClose()<Bar>Gdiffsplit!<CR>", '<silent>')
call s:Map('n', 'dh', ":<C-U>call <SID>DiffClose()<Bar>Ghdiffsplit!<CR>", '<silent>')
call s:Map('n', 'ds', ":<C-U>call <SID>DiffClose()<Bar>Ghdiffsplit!<CR>", '<silent>')
call s:Map('n', 'dv', ":<C-U>call <SID>DiffClose()<Bar>Gvdiffsplit!<CR>", '<silent>')
call s:Map('n', 'd?', ":<C-U>help fugitive_d<CR>", '<silent>')
1 0.000001 else
1 0.000095 0.000005 call s:Map('n', '<2-LeftMouse>', ':<C-U>exe <SID>GF("edit")<CR>', '<silent>')
1 0.000090 0.000005 call s:Map('n', '<CR>', ':<C-U>exe <SID>GF("edit")<CR>', '<silent>')
1 0.000087 0.000005 call s:Map('n', 'o', ':<C-U>exe <SID>GF("split")<CR>', '<silent>')
1 0.000102 0.000005 call s:Map('n', 'gO', ':<C-U>exe <SID>GF("vsplit")<CR>', '<silent>')
1 0.000086 0.000005 call s:Map('n', 'O', ':<C-U>exe <SID>GF("tabedit")<CR>', '<silent>')
1 0.000086 0.000005 call s:Map('n', 'p', ':<C-U>exe <SID>GF("pedit")<CR>', '<silent>')
1 0.000002 if !exists('g:fugitive_no_maps')
1 0.000006 if exists(':CtrlP') && get(g:, 'ctrl_p_map') =~? '^<c-p>$'
nnoremap <buffer> <silent> <C-P> :<C-U>execute line('.') == 1 ? 'CtrlP ' . fnameescape(<SID>Tree()) : <SID>PreviousItem(v:count1)<CR>
1 0.000000 else
1 0.000017 nnoremap <buffer> <silent> <C-P> :<C-U>execute <SID>PreviousItem(v:count1)<CR>
1 0.000000 endif
1 0.000016 nnoremap <buffer> <silent> <C-N> :<C-U>execute <SID>NextItem(v:count1)<CR>
1 0.000000 endif
1 0.000279 0.000005 call s:MapMotion('(', 'exe <SID>PreviousItem(v:count1)')
1 0.000268 0.000004 call s:MapMotion(')', 'exe <SID>NextItem(v:count1)')
1 0.000268 0.000004 call s:MapMotion('K', 'exe <SID>PreviousHunk(v:count1)')
1 0.000268 0.000004 call s:MapMotion('J', 'exe <SID>NextHunk(v:count1)')
1 0.000311 0.000004 call s:MapMotion('[c', 'exe <SID>PreviousHunk(v:count1)')
1 0.000307 0.000004 call s:MapMotion(']c', 'exe <SID>NextHunk(v:count1)')
1 0.000309 0.000005 call s:MapMotion('[/', 'exe <SID>PreviousFile(v:count1)')
1 0.000306 0.000005 call s:MapMotion(']/', 'exe <SID>NextFile(v:count1)')
1 0.000306 0.000004 call s:MapMotion('[m', 'exe <SID>PreviousFile(v:count1)')
1 0.000303 0.000004 call s:MapMotion(']m', 'exe <SID>NextFile(v:count1)')
1 0.000310 0.000004 call s:MapMotion('[[', 'exe <SID>PreviousSection(v:count1)')
1 0.000307 0.000004 call s:MapMotion(']]', 'exe <SID>NextSection(v:count1)')
1 0.000309 0.000005 call s:MapMotion('[]', 'exe <SID>PreviousSectionEnd(v:count1)')
1 0.000311 0.000005 call s:MapMotion('][', 'exe <SID>NextSectionEnd(v:count1)')
1 0.000193 0.000005 call s:Map('nxo', '*', '<SID>PatchSearchExpr(0)', '<expr>')
1 0.000192 0.000005 call s:Map('nxo', '#', '<SID>PatchSearchExpr(1)', '<expr>')
1 0.000001 endif
1 0.000086 0.000005 call s:Map('n', 'S', ':<C-U>echoerr "Use gO"<CR>', '<silent>')
1 0.000100 0.000005 call s:Map('n', 'dq', ":<C-U>call <SID>DiffClose()<CR>", '<silent>')
1 0.000107 0.000007 call s:Map('n', '-', ":<C-U>exe 'Gedit ' . <SID>fnameescape(<SID>NavigateUp(v:count1))<Bar> if getline(1) =~# '^tree \x\{40,\}$' && empty(getline(2))<Bar>call search('^'.escape(expand('#:t'),'.*[]~\').'/\=$','wc')<Bar>endif<CR>", '<silent>')
1 0.000093 0.000005 call s:Map('n', 'P', ":<C-U>exe 'Gedit ' . <SID>fnameescape(<SID>ContainingCommit().'^'.v:count1.<SID>Relative(':'))<CR>", '<silent>')
1 0.000094 0.000005 call s:Map('n', '~', ":<C-U>exe 'Gedit ' . <SID>fnameescape(<SID>ContainingCommit().'~'.v:count1.<SID>Relative(':'))<CR>", '<silent>')
1 0.000089 0.000005 call s:Map('n', 'C', ":<C-U>exe 'Gedit ' . <SID>fnameescape(<SID>ContainingCommit())<CR>", '<silent>')
1 0.000099 0.000005 call s:Map('n', 'cp', ":<C-U>echoerr 'Use gC'<CR>", '<silent>')
1 0.000103 0.000005 call s:Map('n', 'gC', ":<C-U>exe 'Gpedit ' . <SID>fnameescape(<SID>ContainingCommit())<CR>", '<silent>')
1 0.000103 0.000005 call s:Map('n', 'gc', ":<C-U>exe 'Gpedit ' . <SID>fnameescape(<SID>ContainingCommit())<CR>", '<silent>')
1 0.000104 0.000005 call s:Map('n', 'gi', ":<C-U>exe 'Gsplit' (v:count ? '.gitignore' : '.git/info/exclude')<CR>", '<silent>')
1 0.000103 0.000005 call s:Map('x', 'gi', ":<C-U>exe 'Gsplit' (v:count ? '.gitignore' : '.git/info/exclude')<CR>", '<silent>')
1 0.000010 nnoremap <buffer> c<Space> :Git commit<Space>
1 0.000008 nnoremap <buffer> c<CR> :Git commit<CR>
1 0.000009 nnoremap <buffer> cv<Space> :Git commit -v<Space>
1 0.000008 nnoremap <buffer> cv<CR> :Git commit -v<CR>
1 0.000008 nnoremap <buffer> <silent> ca :<C-U>Gcommit --amend<CR>
1 0.000007 nnoremap <buffer> <silent> cc :<C-U>Gcommit<CR>
1 0.000008 nnoremap <buffer> <silent> ce :<C-U>Gcommit --amend --no-edit<CR>
1 0.000008 nnoremap <buffer> <silent> cw :<C-U>Gcommit --amend --only<CR>
1 0.000008 nnoremap <buffer> <silent> cva :<C-U>Gcommit -v --amend<CR>
1 0.000007 nnoremap <buffer> <silent> cvc :<C-U>Gcommit -v<CR>
1 0.000009 nnoremap <buffer> <silent> cRa :<C-U>Gcommit --reset-author --amend<CR>
1 0.000010 nnoremap <buffer> <silent> cRe :<C-U>Gcommit --reset-author --amend --no-edit<CR>
1 0.000010 nnoremap <buffer> <silent> cRw :<C-U>Gcommit --reset-author --amend --only<CR>
1 0.000010 nnoremap <buffer> cf :<C-U>Gcommit --fixup=<C-R>=<SID>SquashArgument()<CR>
1 0.000016 nnoremap <buffer> cF :<C-U><Bar>Grebase --autosquash<C-R>=<SID>RebaseArgument()<CR><Home>Gcommit --fixup=<C-R>=<SID>SquashArgument()<CR>
1 0.000010 nnoremap <buffer> cs :<C-U>Gcommit --no-edit --squash=<C-R>=<SID>SquashArgument()<CR>
1 0.000016 nnoremap <buffer> cS :<C-U><Bar>Grebase --autosquash<C-R>=<SID>RebaseArgument()<CR><Home>Gcommit --no-edit --squash=<C-R>=<SID>SquashArgument()<CR>
1 0.000010 nnoremap <buffer> cA :<C-U>Gcommit --edit --squash=<C-R>=<SID>SquashArgument()<CR>
1 0.000007 nnoremap <buffer> <silent> c? :<C-U>help fugitive_c<CR>
1 0.000007 nnoremap <buffer> cr<Space> :Git revert<Space>
1 0.000007 nnoremap <buffer> cr<CR> :Git revert<CR>
1 0.000010 nnoremap <buffer> <silent> crc :<C-U>Grevert <C-R>=<SID>SquashArgument()<CR><CR>
1 0.000010 nnoremap <buffer> <silent> crn :<C-U>Grevert --no-commit <C-R>=<SID>SquashArgument()<CR><CR>
1 0.000007 nnoremap <buffer> <silent> cr? :help fugitive_cr<CR>
1 0.000007 nnoremap <buffer> cm<Space> :Git merge<Space>
1 0.000006 nnoremap <buffer> cm<CR> :Git merge<CR>
1 0.000007 nnoremap <buffer> <silent> cm? :help fugitive_cm<CR>
1 0.000006 nnoremap <buffer> cz<Space> :Git stash<Space>
1 0.000006 nnoremap <buffer> cz<CR> :Git stash<CR>
1 0.000014 nnoremap <buffer> <silent> cza :<C-U>exe <SID>EchoExec(['stash', 'apply', '--quiet', '--index', 'stash@{' . v:count . '}'])<CR>
1 0.000013 nnoremap <buffer> <silent> czA :<C-U>exe <SID>EchoExec(['stash', 'apply', '--quiet', 'stash@{' . v:count . '}'])<CR>
1 0.000013 nnoremap <buffer> <silent> czp :<C-U>exe <SID>EchoExec(['stash', 'pop', '--quiet', '--index', 'stash@{' . v:count . '}'])<CR>
1 0.000012 nnoremap <buffer> <silent> czP :<C-U>exe <SID>EchoExec(['stash', 'pop', '--quiet', 'stash@{' . v:count . '}'])<CR>
1 0.000011 nnoremap <buffer> <silent> czv :<C-U>exe 'Gedit' fugitive#RevParse('stash@{' . v:count . '}')<CR>
1 0.000017 nnoremap <buffer> <silent> czw :<C-U>exe <SID>EchoExec(['stash', '--keep-index'] + (v:count > 1 ? ['--all'] : v:count ? ['--include-untracked'] : []))<CR>
1 0.000016 nnoremap <buffer> <silent> czz :<C-U>exe <SID>EchoExec(['stash'] + (v:count > 1 ? ['--all'] : v:count ? ['--include-untracked'] : []))<CR>
1 0.000008 nnoremap <buffer> <silent> cz? :<C-U>help fugitive_cz<CR>
1 0.000007 nnoremap <buffer> co<Space> :Git checkout<Space>
1 0.000007 nnoremap <buffer> co<CR> :Git checkout<CR>
1 0.000012 nnoremap <buffer> coo :exe <SID>EchoExec(['checkout'] + split(<SID>SquashArgument()) + ['--'])<CR>
1 0.000008 nnoremap <buffer> co? :<C-U>help fugitive_co<CR>
1 0.000007 nnoremap <buffer> cb<Space> :Git branch<Space>
1 0.000007 nnoremap <buffer> cb<CR> :Git branch<CR>
1 0.000007 nnoremap <buffer> cb? :<C-U>help fugitive_cb<CR>
1 0.000007 nnoremap <buffer> r<Space> :Git rebase<Space>
1 0.000007 nnoremap <buffer> r<CR> :Git rebase<CR>
1 0.000010 nnoremap <buffer> <silent> ri :<C-U>Grebase --interactive<C-R>=<SID>RebaseArgument()<CR><CR>
1 0.000010 nnoremap <buffer> <silent> rf :<C-U>Grebase --autosquash<C-R>=<SID>RebaseArgument()<CR><CR>
1 0.000009 nnoremap <buffer> <silent> ru :<C-U>Grebase --interactive @{upstream}<CR>
1 0.000008 nnoremap <buffer> <silent> rp :<C-U>Grebase --interactive @{push}<CR>
1 0.000012 nnoremap <buffer> <silent> rw :<C-U>Grebase --interactive<C-R>=<SID>RebaseArgument()<CR><Bar>s/^pick/reword/e<CR>
1 0.000012 nnoremap <buffer> <silent> rm :<C-U>Grebase --interactive<C-R>=<SID>RebaseArgument()<CR><Bar>s/^pick/edit/e<CR>
1 0.000012 nnoremap <buffer> <silent> rd :<C-U>Grebase --interactive<C-R>=<SID>RebaseArgument()<CR><Bar>s/^pick/drop/e<CR>
1 0.000011 nnoremap <buffer> <silent> rk :<C-U>Grebase --interactive<C-R>=<SID>RebaseArgument()<CR><Bar>s/^pick/drop/e<CR>
1 0.000011 nnoremap <buffer> <silent> rx :<C-U>Grebase --interactive<C-R>=<SID>RebaseArgument()<CR><Bar>s/^pick/drop/e<CR>
1 0.000008 nnoremap <buffer> <silent> rr :<C-U>Grebase --continue<CR>
1 0.000007 nnoremap <buffer> <silent> rs :<C-U>Grebase --skip<CR>
1 0.000008 nnoremap <buffer> <silent> re :<C-U>Grebase --edit-todo<CR>
1 0.000007 nnoremap <buffer> <silent> ra :<C-U>Grebase --abort<CR>
1 0.000007 nnoremap <buffer> <silent> r? :<C-U>help fugitive_r<CR>
1 0.000096 0.000005 call s:Map('n', '.', ":<C-U> <C-R>=<SID>fnameescape(fugitive#Real(@%))<CR><Home>")
1 0.000093 0.000005 call s:Map('x', '.', ":<C-U> <C-R>=<SID>fnameescape(fugitive#Real(@%))<CR><Home>")
1 0.000102 0.000005 call s:Map('n', 'g?', ":<C-U>help fugitive-map<CR>", '<silent>')
1 0.000091 0.000005 call s:Map('n', '<F1>', ":<C-U>help fugitive-map<CR>", '<silent>')
1 0.000000 endif
FUNCTION airline#parts#spell()
Defined: ~/.vim/bundle/airline/autoload/airline/parts.vim:67
Called 64 times
Total time: 0.001294
Self time: 0.001294
count total (s) self (s)
64 0.000548 let spelllang = g:airline_detect_spelllang ? printf(" [%s]", toupper(substitute(&spelllang, ',', '/', 'g'))) : ''
64 0.000078 if g:airline_detect_spell && &spell
let winwidth = airline#util#winwidth()
if winwidth >= 90
return g:airline_symbols.spell . spelllang
elseif winwidth >= 70
return g:airline_symbols.spell
else
return split(g:airline_symbols.spell, '\zs')[0]
endif
64 0.000026 endif
64 0.000040 return ''
FUNCTION ale#linter#GetAll()
Defined: ~/.vim/bundle/ale/autoload/ale/linter.vim:314
Called 1 time
Total time: 0.003693
Self time: 0.003686
count total (s) self (s)
" Don't return linters in the sandbox.
" Otherwise a sandboxed script could modify them.
1 0.000009 0.000003 if ale#util#InSandbox()
return []
1 0.000000 endif
1 0.000001 let l:combined_linters = []
2 0.000003 for l:filetype in a:filetypes
" Load linters from runtimepath if we haven't done that yet.
1 0.000002 if !has_key(s:runtime_loaded_map, l:filetype)
1 0.003653 execute 'silent! runtime! ale_linters/' . l:filetype . '/*.vim'
1 0.000004 let s:runtime_loaded_map[l:filetype] = 1
1 0.000000 endif
1 0.000004 call extend(l:combined_linters, get(s:linters, l:filetype, []))
2 0.000002 endfor
1 0.000001 return l:combined_linters
FUNCTION FugitiveGitPath()
Defined: ~/.vim/bundle/fugitive/plugin/fugitive.vim:277
Called 3 times
Total time: 0.000027
Self time: 0.000012
count total (s) self (s)
3 0.000026 0.000011 return s:Slash(a:path)
FUNCTION <SNR>265_sub()
Defined: ~/.vim/bundle/fugitive/autoload/fugitive.vim:21
Called 34 times
Total time: 0.000620
Self time: 0.000620
count total (s) self (s)
34 0.000566 return substitute(a:str,'\v\C'.a:pat,a:rep,'')
FUNCTION <SNR>281_writefile()
Defined: ~/.vim/bundle/unite-neomru/autoload/neomru.vim:381
Called 2 times
Total time: 0.009680
Self time: 0.009680
count total (s) self (s)
2 0.000061 let path = fnamemodify(a:path, ':p')
2 0.000043 if !isdirectory(fnamemodify(path, ':h'))
call mkdir(fnamemodify(path, ':h'), 'p')
2 0.000001 endif
2 0.009565 call writefile(a:list, path)
FUNCTION <SNR>281_uniq()
Defined: ~/.vim/bundle/unite-neomru/autoload/neomru.vim:389
Called 2 times
Total time: 0.024549
Self time: 0.000098
count total (s) self (s)
2 0.024548 0.000098 return s:uniq_by(a:list, 'tolower(v:val)')
FUNCTION <SNR>101_isReasonable()
Defined: ~/.vim/bundle/FastFold/plugin/fastfold.vim:136
Called 2 times
Total time: 0.000008
Self time: 0.000008
count total (s) self (s)
2 0.000005 if (&l:foldmethod is# 'syntax' || &l:foldmethod is# 'expr') || g:fastfold_force == 1
1 0.000001 return 1
1 0.000000 else
1 0.000001 return 0
endif
FUNCTION matchup#perf#toc()
Defined: ~/.vim/bundle/matchup/autoload/matchup/perf.vim:19
Called 1 time
Total time: 0.000027
Self time: 0.000025
count total (s) self (s)
1 0.000008 0.000006 let l:elapsed = s:reltimefloat(reltime(s:time_start[a:context]))
1 0.000002 let l:key = a:context.'#'.a:state
1 0.000002 if has_key(g:matchup#perf#times, l:key)
1 0.000002 if l:elapsed > g:matchup#perf#times[l:key].maximum
let g:matchup#perf#times[l:key].maximum = l:elapsed
1 0.000000 endif
1 0.000002 let g:matchup#perf#times[l:key].last = l:elapsed
1 0.000004 let g:matchup#perf#times[l:key].emavg = s:alpha*l:elapsed + (1-s:alpha)*g:matchup#perf#times[l:key].emavg
else
let g:matchup#perf#times[l:key] = { 'maximum' : l:elapsed, 'emavg' : l:elapsed, 'last' : l:elapsed,}
1 0.000000 endif
FUNCTION airline#themes#patch()
Defined: ~/.vim/bundle/airline/autoload/airline/themes.vim:39
Called 33 times
Total time: 0.006607
Self time: 0.006607
count total (s) self (s)
462 0.000440 for mode in keys(a:palette)
429 0.000393 if mode == 'accents'
33 0.000020 continue
396 0.000153 endif
396 0.000744 if !has_key(a:palette[mode], 'airline_warning')
let a:palette[mode]['airline_warning'] = [ '#000000', '#df5f00', 232, 166 ]
396 0.000151 endif
396 0.000668 if !has_key(a:palette[mode], 'airline_error')
let a:palette[mode]['airline_error'] = [ '#000000', '#990000', 232, 160 ]
396 0.000153 endif
396 0.000662 if !has_key(a:palette[mode], 'airline_term')
let a:palette[mode]['airline_term'] = [ '#9cffd3', '#202020', 85, 232]
396 0.000150 endif
429 0.000202 endfor
33 0.000091 let a:palette.accents = get(a:palette, 'accents', {})
33 0.000079 let a:palette.accents.none = [ '', '', '', '', '' ]
33 0.000068 let a:palette.accents.bold = [ '', '', '', '', 'bold' ]
33 0.000067 let a:palette.accents.italic = [ '', '', '', '', 'italic' ]
33 0.000053 if !has_key(a:palette.accents, 'red')
let a:palette.accents.red = [ '#ff0000' , '' , 160 , '' ]
33 0.000015 endif
33 0.000046 if !has_key(a:palette.accents, 'green')
let a:palette.accents.green = [ '#008700' , '' , 22 , '' ]
33 0.000014 endif
33 0.000044 if !has_key(a:palette.accents, 'blue')
let a:palette.accents.blue = [ '#005fff' , '' , 27 , '' ]
33 0.000013 endif
33 0.000045 if !has_key(a:palette.accents, 'yellow')
let a:palette.accents.yellow = [ '#dfff00' , '' , 190 , '' ]
33 0.000013 endif
33 0.000042 if !has_key(a:palette.accents, 'orange')
let a:palette.accents.orange = [ '#df5f00' , '' , 166 , '' ]
33 0.000013 endif
33 0.000042 if !has_key(a:palette.accents, 'purple')
let a:palette.accents.purple = [ '#af00df' , '' , 128 , '' ]
33 0.000013 endif
FUNCTION ale#util#InSandbox()
Defined: ~/.vim/bundle/ale/autoload/ale/util.vim:269
Called 2 times
Total time: 0.000015
Self time: 0.000015
count total (s) self (s)
2 0.000001 try
2 0.000006 let &equalprg=&equalprg
catch /E48/
" E48 is the sandbox error.
return 1
2 0.000001 endtry
2 0.000001 return 0
FUNCTION airline#parts#crypt()
Defined: ~/.vim/bundle/airline/autoload/airline/parts.vim:59
Called 64 times
Total time: 0.000292
Self time: 0.000292
count total (s) self (s)
64 0.000265 return g:airline_detect_crypt && exists("+key") && !empty(&key) ? g:airline_symbols.crypt : ''
FUNCTION <SNR>265_TempReadPre()
Defined: ~/.vim/bundle/fugitive/autoload/fugitive.vim:2105
Called 1 time
Total time: 0.000040
Self time: 0.000020
count total (s) self (s)
1 0.000028 0.000007 if has_key(s:temp_files, s:cpath(a:file))
let dict = s:temp_files[s:cpath(a:file)]
setlocal nomodeline
setlocal bufhidden=delete nobuflisted
setlocal buftype=nowrite
if has_key(dict, 'modifiable')
let &l:modifiable = dict.modifiable
endif
if len(dict.dir)
let b:git_dir = dict.dir
call extend(b:, {'fugitive_type': 'temp'}, 'keep')
endif
1 0.000000 endif
FUNCTION <SNR>126_reltimefloat()
Defined: ~/.vim/bundle/matchup/autoload/matchup/perf.vim:103
Called 1 time
Total time: 0.000002
Self time: 0.000002
count total (s) self (s)
1 0.000002 return reltimefloat(a:time)
FUNCTION <SNR>265_SystemError()
Defined: ~/.vim/bundle/fugitive/autoload/fugitive.vim:432
Called 3 times
Total time: 0.332515
Self time: 0.001755
count total (s) self (s)
3 0.000003 try
3 0.000004 if &shellredir ==# '>' && &shell =~# 'sh\|cmd'
let shellredir = &shellredir
if &shell =~# 'csh'
set shellredir=>&
else
set shellredir=>%s\ 2>&1
endif
3 0.000002 endif
3 0.332401 0.001641 let out = call('system', [type(a:cmd) ==# type([]) ? fugitive#Prepare(a:cmd) : a:cmd] + a:000)
3 0.000019 return [out, v:shell_error]
catch /^Vim\%((\a\+)\)\=:E484:/
let opts = ['shell', 'shellcmdflag', 'shellredir', 'shellquote', 'shellxquote', 'shellxescape', 'shellslash']
call filter(opts, 'exists("+".v:val) && !empty(eval("&".v:val))')
call map(opts, 'v:val."=".eval("&".v:val)')
call s:throw('failed to run `' . a:cmd . '` with ' . join(opts, ' '))
3 0.000005 finally
3 0.000010 if exists('shellredir')
let &shellredir = shellredir
3 0.000002 endif
3 0.000003 endtry
FUNCTION airline#extensions#branch#head()
Defined: ~/.vim/bundle/airline/autoload/airline/extensions/branch.vim:236
Called 64 times
Total time: 3.661499
Self time: 0.004847
count total (s) self (s)
64 0.000169 if !exists('b:buffer_vcs_config')
1 0.000023 0.000004 call s:init_buffer()
64 0.000028 endif
64 0.054790 0.000271 call s:update_branch()
64 0.005836 0.000295 call s:update_untracked()
64 0.000178 if exists('b:airline_head') && !empty(b:airline_head)
32 0.000032 return b:airline_head
32 0.000013 endif
32 0.000043 let b:airline_head = ''
32 0.000088 let vcs_priority = get(g:, "airline#extensions#branch#vcs_priority", ["git", "mercurial"])
32 0.000029 let heads = []
96 0.000079 for vcs in vcs_priority
64 0.000120 if !empty(b:buffer_vcs_config[vcs].branch)
32 0.000056 let heads += [vcs]
64 0.000029 endif
96 0.000045 endfor
64 0.000064 for vcs in heads
32 0.000042 if !empty(b:airline_head)
let b:airline_head .= ' | '
32 0.000013 endif
32 0.000042 if len(heads) > 1
let b:airline_head .= s:vcs_config[vcs].exe .':'
32 0.000013 endif
32 3.597001 0.000428 let b:airline_head .= s:format_name({s:vcs_config[vcs].display_branch}())
32 0.000107 let additional = b:buffer_vcs_config[vcs].untracked
32 0.000190 if empty(additional) && has_key(b:buffer_vcs_config[vcs], 'dirty') && b:buffer_vcs_config[vcs].dirty
let additional = g:airline_symbols['dirty']
32 0.000019 endif
32 0.000066 let b:airline_head .= additional
64 0.000049 endfor
32 0.000045 if empty(heads)
if airline#util#has_vcscommand()
noa call VCSCommandEnableBufferSetup()
if exists('b:VCSCommandBufferInfo')
let b:airline_head = s:format_name(get(b:VCSCommandBufferInfo, 0, ''))
endif
endif
32 0.000015 endif
32 0.000041 if empty(heads)
if airline#util#has_custom_scm()
try
let Fn = function(g:airline#extensions#branch#custom_head)
let b:airline_head = Fn()
endtry
endif
32 0.000013 endif
32 0.000088 if exists("g:airline#extensions#branch#displayed_head_limit")
let w:displayed_head_limit = g:airline#extensions#branch#displayed_head_limit
if strwidth(b:airline_head) > w:displayed_head_limit - 1
let b:airline_head = airline#util#strcharpart(b:airline_head, 0, w:displayed_head_limit - 1) . (&encoding ==? 'utf-8' ? '…' : '.')
endif
32 0.000012 endif
32 0.000044 return b:airline_head
FUNCTION airline#extensions#load_theme()
Defined: ~/.vim/bundle/airline/autoload/airline/extensions.vim:140
Called 33 times
Total time: 0.044138
Self time: 0.000258
count total (s) self (s)
33 0.044124 0.000244 call airline#util#exec_funcrefs(s:ext._theme_funcrefs, g:airline#themes#{g:airline_theme}#palette)
FUNCTION <SNR>281_resolve()
Defined: ~/.vim/bundle/unite-neomru/autoload/neomru.vim:245
Called 2 times
Total time: 0.000005
Self time: 0.000005
count total (s) self (s)
2 0.000005 return g:neomru#follow_links ? resolve(a:fpath) : a:fpath
FUNCTION <SNR>105_Slash()
Defined: ~/.vim/bundle/fugitive/plugin/fugitive.vim:281
Called 136 times
Total time: 0.000678
Self time: 0.000678
count total (s) self (s)
136 0.000222 if exists('+shellslash')
136 0.000394 return tr(a:path, '\', '/')
else
return a:path
endif
FUNCTION 41()
Defined: ~/.vim/bundle/unite-neomru/autoload/neomru.vim:135
Called 2 times
Total time: 0.000089
Self time: 0.000089
count total (s) self (s)
2 0.000089 return self.mtime < getftime(self.mru_file)
FUNCTION 47()
Defined: ~/.vim/bundle/unite-neomru/autoload/neomru.vim:259
Called 1 time
Total time: 0.068281
Self time: 0.004419
count total (s) self (s)
1 0.000001 if self.do_validate
1 0.068278 0.004416 call filter(self.candidates, 's:is_file_exist(v:val)')
1 0.000001 endif
FUNCTION airline#parts#mode()
Defined: ~/.vim/bundle/airline/autoload/airline/parts.vim:55
Called 64 times
Total time: 0.001702
Self time: 0.000381
count total (s) self (s)
64 0.001675 0.000354 return airline#util#shorten(get(w:, 'airline_current_mode', ''), 79, 1)
FUNCTION <SNR>230_is_excluded_window()
Defined: ~/.vim/bundle/airline/autoload/airline/extensions.vim:120
Called 67 times
Total time: 0.002624
Self time: 0.002624
count total (s) self (s)
67 0.000107 for matchft in g:airline_exclude_filetypes
if matchft ==# &ft
return 1
endif
67 0.000041 endfor
268 0.000254 for matchw in g:airline_exclude_filenames
201 0.001241 if matchstr(expand('%'), matchw) ==# matchw
return 1
201 0.000083 endif
268 0.000125 endfor
67 0.000076 if g:airline_exclude_preview && &previewwindow
return 1
67 0.000027 endif
67 0.000042 return 0
FUNCTION <SNR>101_WinDo()
Defined: ~/.vim/bundle/FastFold/plugin/fastfold.vim:73
Called 4 times
Total time: 0.001753
Self time: 0.001652
count total (s) self (s)
" avoid errors in CmdWin
4 0.000013 if exists('*getcmdwintype') && !empty(getcmdwintype())
return
4 0.000002 endif
" Work around Vim bug.
" See https://groups.google.com/forum/#!topic/vim_dev/LLTw8JV6wKg
4 0.000010 let curaltwin = winnr('#') ? winnr('#') : 1
4 0.000005 let currwin=winnr()
4 0.000022 if &scrollopt =~# '\<jump\>'
4 0.000015 set scrollopt-=jump
4 0.000006 let l:restore = 'set scrollopt+=jump'
4 0.000002 endif
4 0.001600 0.001500 silent! execute 'keepjumps noautocmd windo ' . a:command
4 0.000024 silent! execute 'noautocmd ' . curaltwin . 'wincmd w'
4 0.000015 silent! execute 'noautocmd ' . currwin . 'wincmd w'
4 0.000007 if exists('l:restore')
4 0.000016 exe l:restore
4 0.000002 endif
FUNCTION <SNR>265_DirRev()
Defined: ~/.vim/bundle/fugitive/autoload/fugitive.vim:714
Called 1 time
Total time: 0.000071
Self time: 0.000018
count total (s) self (s)
1 0.000060 0.000007 let [dir, commit, file] = s:DirCommitFile(a:url)
1 0.000010 return [dir, (commit =~# '^.$' ? ':' : '') . commit . substitute(file, '^/', ':', '')]
FUNCTION airline#extensions#quickfix#apply()
Defined: ~/.vim/bundle/airline/autoload/airline/extensions/quickfix.vim:14
Called 67 times
Total time: 0.000493
Self time: 0.000493
count total (s) self (s)
67 0.000146 if &buftype == 'quickfix'
let w:airline_section_a = airline#extensions#quickfix#get_type()
let w:airline_section_b = '%{get(w:, "quickfix_title", "")}'
let w:airline_section_c = ''
let w:airline_section_x = ''
67 0.000030 endif
FUNCTION airline#mode_changed()
Defined: ~/.vim/bundle/airline/autoload/airline.vim:279
Called 32 times
Total time: 0.000595
Self time: 0.000449
count total (s) self (s)
" airline#visual_active
" Boolean: for when to get visual wordcount
" needed for the wordcount extension
32 0.000282 let g:airline#visual_active = (mode() =~? '[vs]')
32 0.000258 0.000112 call airline#update_tabline()
FUNCTION fugitive#Find()
Defined: ~/.vim/bundle/fugitive/autoload/fugitive.vim:837
Called 65 times
Total time: 0.251912
Self time: 0.011911
count total (s) self (s)
65 0.000128 if type(a:object) == type(0)
let name = bufname(a:object)
return FugitiveVimPath(name =~# '^$\|^/\|^\a\+:' ? name : getcwd() . '/' . name)
65 0.000311 elseif a:object =~# '^[~$]'
let prefix = matchstr(a:object, '^[~$]\i*')
let owner = expand(prefix)
return FugitiveVimPath((len(owner) ? owner : prefix) . strpart(a:object, len(prefix)))
65 0.001107 0.000828 elseif s:Slash(a:object) =~# '^$\|^/\|^\%(\a\a\+:\).*\%(//\|::\)' . (has('win32') ? '\|^\a:/' : '')
return FugitiveVimPath(a:object)
65 0.000670 0.000451 elseif s:Slash(a:object) =~# '^\.\.\=\%(/\|$\)'
return FugitiveVimPath(simplify(getcwd() . '/' . a:object))
65 0.000028 endif
65 0.000123 let dir = a:0 ? a:1 : s:Dir()
65 0.000072 if empty(dir)
let file = matchstr(a:object, '^\%(:\d:\|[^:]*:\)\zs.*', '', '')
let dir = FugitiveExtractGitDir(file)
if empty(dir)
return fnamemodify(FugitiveVimPath(len(file) ? file : a:object), ':p')
endif
65 0.000024 endif
65 0.000413 0.000208 let rev = s:Slash(a:object)
65 0.026022 0.000262 let tree = s:Tree(dir)
65 0.000214 let base = len(tree) ? tree : 'fugitive://' . dir . '//0'
65 0.000072 if rev ==# '.git'
let f = len(tree) ? tree . '/.git' : dir
65 0.000309 elseif rev =~# '^\.git/'
64 0.000353 let f = substitute(rev, '^\.git', '', '')
64 0.001745 0.000282 let cdir = fugitive#CommonDir(dir)
64 0.000270 if f =~# '^/\.\./\.\.\%(/\|$\)'
let f = simplify(len(tree) ? tree . f[3:-1] : dir . f)
64 0.000217 elseif f =~# '^/\.\.\%(/\|$\)'
let f = base . f[3:-1]
64 0.000285 elseif cdir !=# dir && ( f =~# '^/\%(config\|hooks\|info\|logs/refs\|objects\|refs\|worktrees\)\%(/\|$\)' || f !~# '^/\%(index$\|index\.lock$\|\w*MSG$\|\w*HEAD$\|logs/\w*HEAD$\|logs$\|rebase-\w\+\)\%(/\|$\)' && getftime(FugitiveVimPath(dir . f)) < 0 && getftime(FugitiveVimPath(cdir . f)) >= 0)
let f = simplify(cdir . f)
64 0.000030 else
64 0.000157 let f = simplify(dir . f)
64 0.000030 endif
1 0.000001 elseif rev ==# ':/'
let f = base
1 0.000003 elseif rev =~# '^\.\%(/\|$\)'
let f = base . rev[1:-1]
1 0.000003 elseif rev =~# '^::\%(/\|\a\+\:\)'
let f = rev[2:-1]
1 0.000003 elseif rev =~# '^::\.\.\=\%(/\|$\)'
let f = simplify(getcwd() . '/' . rev[2:-1])
1 0.000002 elseif rev =~# '^::'
let f = base . '/' . rev[2:-1]
1 0.000006 elseif rev =~# '^:\%([0-3]:\)\=\.\.\=\%(/\|$\)\|^:[0-3]:\%(/\|\a\+:\)'
let f = rev =~# '^:\%([0-3]:\)\=\.' ? simplify(getcwd() . '/' . matchstr(rev, '\..*')) : rev[3:-1]
if s:cpath(base . '/', (f . '/')[0 : len(base)])
let f = 'fugitive://' . dir . '//' . +matchstr(rev, '^:\zs\d\ze:') . '/' . strpart(f, len(base) + 1)
else
let altdir = FugitiveExtractGitDir(f)
if len(altdir) && !s:cpath(dir, altdir)
return fugitive#Find(a:object, altdir)
endif
endif
1 0.000002 elseif rev =~# '^:[0-3]:'
let f = 'fugitive://' . dir . '//' . rev[1] . '/' . rev[3:-1]
1 0.000001 elseif rev ==# ':'
if $GIT_INDEX_FILE =~# '/[^/]*index[^/]*\.lock$' && s:cpath(fnamemodify($GIT_INDEX_FILE,':p')[0:strlen(dir)]) ==# s:cpath(dir . '/') && filereadable($GIT_INDEX_FILE)
let f = fnamemodify($GIT_INDEX_FILE, ':p')
else
let f = fugitive#Find('.git/index', dir)
endif
1 0.000005 elseif rev =~# '^:(\%(top\|top,literal\|literal,top\|literal\))'
let f = matchstr(rev, ')\zs.*')
if f=~# '^\.\.\=\%(/\|$\)'
let f = simplify(getcwd() . '/' . f)
elseif f !~# '^/\|^\%(\a\a\+:\).*\%(//\|::\)' . (has('win32') ? '\|^\a:/' : '')
let f = base . '/' . f
endif
1 0.000002 elseif rev =~# '^:/\@!'
let f = 'fugitive://' . dir . '//0/' . rev[1:-1]
1 0.000000 else
1 0.000002 if !exists('f')
1 0.000012 let commit = substitute(matchstr(rev, '^[^:.-][^:]*\|^:.*'), '^@\%($\|[~^]\|@{\)\@=', 'HEAD', '')
1 0.000008 let file = substitute(matchstr(rev, '^[^:.-][^:]*\zs:.*'), '^:', '/', '')
1 0.000005 if file =~# '^/\.\.\=\%(/\|$\)\|^//\|^/\a\+:'
let file = file =~# '^/\.' ? simplify(getcwd() . file) : file[1:-1]
if s:cpath(base . '/', (file . '/')[0 : len(base)])
let file = '/' . strpart(file, len(base) + 1)
else
let altdir = FugitiveExtractGitDir(file)
if len(altdir) && !s:cpath(dir, altdir)
return fugitive#Find(a:object, altdir)
endif
return file
endif
1 0.000000 endif
1 0.000005 let commits = split(commit, '\.\.\.-\@!', 1)
1 0.000002 if len(commits) == 2
call map(commits, 'empty(v:val) || v:val ==# "@" ? "HEAD" : v:val')
let commit = matchstr(s:ChompDefault('', [dir, 'merge-base'] + commits + ['--']), '\<[0-9a-f]\{40,\}\>')
1 0.000000 endif
1 0.000007 if commit !~# '^[0-9a-f]\{40,\}$'
1 0.211741 0.000021 let commit = matchstr(s:ChompDefault('', [dir, 'rev-parse', '--verify', commit, '--']), '\<[0-9a-f]\{40,\}\>')
1 0.000001 endif
1 0.000002 if len(commit)
1 0.000003 let f = 'fugitive://' . dir . '//' . commit . file
else
let f = base . '/' . substitute(rev, '^:/:\=\|^[^:]\+:', '', '')
1 0.000000 endif
1 0.000000 endif
65 0.000030 endif
65 0.000580 0.000225 return FugitiveVimPath(f)
FUNCTION <SNR>89_DetectIfEditable()
Defined: ~/.vim/bundle/detectindent/plugin/detectindent.vim:312
Called 1 time
Total time: 0.000008
Self time: 0.000008
count total (s) self (s)
1 0.000003 if !exists("b:detectindent_has_tried_to_detect") && !&readonly && &modifiable
DetectIndent
let b:detectindent_has_tried_to_detect = 1
1 0.000000 endif
FUNCTION neoyank#_save()
Defined: ~/.vim/bundle/neoyank/autoload/neoyank.vim:86
Called 33 times
Total time: 0.000801
Self time: 0.000288
count total (s) self (s)
33 0.000762 0.000248 if g:neoyank#file == '' || s:is_sudo() || (exists('g:neoyank#disable_write') && g:neoyank#disable_write) || s:yank_histories ==# s:yank_histories_old
33 0.000018 return
endif
call s:writefile(g:neoyank#file, [s:VERSION, s:vim2json(s:yank_histories)])
let s:yank_histories_file_mtime = getftime(g:neoyank#file)
let s:yank_histories_old = copy(s:yank_histories)
FUNCTION <SNR>265_ChompDefault()
Defined: ~/.vim/bundle/fugitive/autoload/fugitive.vim:461
Called 1 time
Total time: 0.211720
Self time: 0.000009
count total (s) self (s)
1 0.211718 0.000007 let [out, exec_error] = call('s:ChompError', a:000)
1 0.000002 return exec_error ? a:default : out
FUNCTION <SNR>286_on_text_document_did_open()
Defined: ~/.vim/bundle/lsp/autoload/lsp.vim:206
Called 1 time
Total time: 0.005224
Self time: 0.000118
count total (s) self (s)
1 0.000002 let l:buf = bufnr('%')
1 0.000004 if getbufvar(l:buf, '&buftype') ==# 'terminal' | return | endif
1 0.000002 if getcmdwintype() !=# '' | return | endif
1 0.005116 0.000087 call lsp#log('s:on_text_document_did_open()', l:buf, &filetype, getcwd(), lsp#utils#get_buffer_uri(l:buf))
1 0.000092 0.000016 for l:server_name in lsp#get_whitelisted_servers(l:buf)
call s:ensure_flush(l:buf, l:server_name, function('s:fire_lsp_buffer_enabled', [l:server_name, l:buf]))
1 0.000001 endfor
FUNCTION <SNR>287_on_cursor_moved()
Defined: ~/.vim/bundle/lsp/autoload/lsp/ui/vim/signature_help.vim:114
Called 1 time
Total time: 0.000012
Self time: 0.000012
count total (s) self (s)
1 0.000002 let l:bufnr = bufnr('%')
1 0.000002 call timer_stop(s:debounce_timer_id)
1 0.000007 let s:debounce_timer_id = timer_start(200, { -> s:on_text_changed_after(l:bufnr) }, { 'repeat': 1 })
FUNCTION <SNR>281_substitute_path_separator()
Defined: ~/.vim/bundle/unite-neomru/autoload/neomru.vim:16
Called 8 times
Total time: 0.000047
Self time: 0.000047
count total (s) self (s)
8 0.000044 return s:is_windows ? substitute(a:path, '\\', '/', 'g') : a:path
FUNCTION asyncomplete#enable_for_buffer()
Defined: ~/.vim/bundle/asyncomplete/autoload/asyncomplete.vim:60
Called 1 time
Total time: 0.000037
Self time: 0.000008
count total (s) self (s)
1 0.000034 0.000005 call s:setup_if_required()
1 0.000002 let b:asyncomplete_enable = 1
FUNCTION <SNR>36_SynSet()
Defined: C:/david/apps/vim/vim82/syntax/synload.vim:33
Called 1 time
Total time: 0.031667
Self time: 0.022078
count total (s) self (s)
" clear syntax for :set syntax=OFF and any syntax name that doesn't exist
1 0.000003 syn clear
1 0.000002 if exists("b:current_syntax")
unlet b:current_syntax
1 0.000001 endif
1 0.000003 let s = expand("<amatch>")
1 0.000001 if s == "ON"
" :set syntax=ON
if &filetype == ""
echohl ErrorMsg
echo "filetype unknown"
echohl None
endif
let s = &filetype
1 0.000001 elseif s == "OFF"
let s = ""
1 0.000000 endif
1 0.000001 if s != ""
" Load the syntax file(s). When there are several, separated by dots,
" load each in sequence.
2 0.000006 for name in split(s, '\.')
1 0.031634 0.022044 exe "runtime! syntax/" . name . ".vim syntax/" . name . "/*.vim"
2 0.000002 endfor
1 0.000001 endif
FUNCTION airline#extensions#mundo#statusline()
Defined: ~/.vim/bundle/gundo/autoload/airline/extensions/mundo.vim:13
Called 67 times
Total time: 0.000852
Self time: 0.000852
count total (s) self (s)
67 0.000076 let builder = a:1
67 0.000077 if &filetype == 'Mundo'
call builder.add_section('airline_a', 'Mundo')
call builder.split()
call builder.add_section('airline_z', '%p%%')
return 1
67 0.000029 endif
67 0.000062 if &filetype == 'MundoDiff'
call builder.add_section('airline_a', 'Mundo Diff')
call builder.split()
return 1
67 0.000027 endif
FUNCTION airline#statusline()
Defined: ~/.vim/bundle/airline/autoload/airline.vim:190
Called 64 times
Total time: 0.000719
Self time: 0.000719
count total (s) self (s)
64 0.000283 if has_key(s:contexts, a:winnr)
64 0.000378 return '%{airline#check_mode('.a:winnr.')}'.s:contexts[a:winnr].line
endif
" in rare circumstances this happens...see #276
return ''
FUNCTION <SNR>86_mergelists()
Defined: ~/.vim/bundle/ctrlp/autoload/ctrlp/mrufiles.vim:29
Called 1 time
Total time: 0.000515
Self time: 0.000294
count total (s) self (s)
1 0.000221 0.000008 let diskmrufs = ctrlp#utils#readfile(ctrlp#mrufiles#cachefile())
1 0.000245 cal filter(diskmrufs, 'index(s:mrufs, v:val) < 0')
1 0.000036 let mrufs = s:mrufs + diskmrufs
1 0.000013 0.000005 retu s:chop(mrufs)
FUNCTION <SNR>241_legacy_airline_ale_get_line_number()
Defined: ~/.vim/bundle/airline/autoload/airline/extensions/ale.vim:11
Called 128 times
Total time: 0.000405
Self time: 0.000405
count total (s) self (s)
" Before ALE introduced the FirstProblem API function, this is how
" airline would get the line numbers:
" 1. Get the whole loclist; 2. Filter it for the desired problem type.
" 3. Return the line number of the first element in the filtered list.
128 0.000109 if a:cnt == 0
128 0.000082 return ''
endif
let buffer = bufnr('')
let problem_type = (a:type ==# 'error') ? 'E' : 'W'
let problems = copy(ale#engine#GetLoclist(buffer))
call filter(problems, 'v:val.bufnr is buffer && v:val.type is# problem_type')
if empty(problems)
return ''
endif
let open_lnum_symbol = get(g:, 'airline#extensions#ale#open_lnum_symbol', '(L')
let close_lnum_symbol = get(g:, 'airline#extensions#ale#close_lnum_symbol', ')')
return open_lnum_symbol . problems[0].lnum . close_lnum_symbol
FUNCTION <SNR>236_exec_separator()
Defined: ~/.vim/bundle/airline/autoload/airline/highlighter.vim:189
Called 1155 times
Total time: 0.392941
Self time: 0.032255
count total (s) self (s)
1155 0.001320 if pumvisible()
return
1155 0.000467 endif
1155 0.002556 let group = a:from.'_to_'.a:to.a:suffix
1155 0.106893 0.005265 let l:from = airline#themes#get_highlight(a:from.a:suffix)
1155 0.104206 0.005240 let l:to = airline#themes#get_highlight(a:to.a:suffix)
1155 0.000929 if a:inverse
330 0.001161 let colors = [ l:from[1], l:to[1], l:from[3], l:to[3] ]
825 0.000373 else
825 0.002796 let colors = [ l:to[1], l:from[1], l:to[3], l:from[3] ]
1155 0.000508 endif
1155 0.002080 let a:dict[group] = colors
1155 0.165357 0.005264 call airline#highlighter#exec(group, colors)
FUNCTION <SNR>265_ReplaceCmd()
Defined: ~/.vim/bundle/fugitive/autoload/fugitive.vim:1541
Called 1 time
Total time: 0.137564
Self time: 0.012660
count total (s) self (s)
1 0.000296 let temp = tempname()
1 0.124691 0.000013 let [err, exec_error] = s:TempCmd(temp, a:cmd)
1 0.000001 if exec_error
call s:throw((len(err) ? err : filereadable(temp) ? join(readfile(temp), ' ') : 'unknown error running ' . a:cmd))
1 0.000000 endif
1 0.000168 0.000011 let temp = s:Resolve(temp)
1 0.000025 let fn = expand('%:p')
1 0.001546 silent exe 'keepalt file '.temp
1 0.000007 let modelines = &modelines
1 0.000001 try
1 0.000008 set modelines=0
1 0.005461 silent keepjumps noautocmd edit!
1 0.000002 finally
1 0.000008 let &modelines = modelines
1 0.000001 try
1 0.004948 0.004924 silent exe 'keepalt file '.s:fnameescape(fn)
catch /^Vim\%((\a\+)\)\=:E302:/
1 0.000001 endtry
1 0.000171 call delete(temp)
1 0.000078 0.000034 if s:cpath(fnamemodify(bufname('$'), ':p'), temp)
1 0.000134 silent execute 'bwipeout '.bufnr('$')
1 0.000001 endif
1 0.000001 endtry
FUNCTION <SNR>265_Tree()
Defined: ~/.vim/bundle/fugitive/autoload/fugitive.vim:308
Called 100 times
Total time: 0.040698
Self time: 0.000557
count total (s) self (s)
100 0.040656 0.000516 return a:0 ? FugitiveWorkTree(a:1) : FugitiveWorkTree()
FUNCTION <SNR>236_hl_group_exists()
Defined: ~/.vim/bundle/airline/autoload/airline/highlighter.vim:95
Called 4129 times
Total time: 0.034449
Self time: 0.034449
count total (s) self (s)
4129 0.009535 if !hlexists(a:group)
return 0
4129 0.012799 elseif empty(synIDattr(hlID(a:group), 'fg'))
return 0
4129 0.001679 endif
4129 0.002381 return 1
FUNCTION airline#highlighter#get_highlight()
Defined: ~/.vim/bundle/airline/autoload/airline/highlighter.vim:67
Called 7244 times
Total time: 0.598919
Self time: 0.278896
count total (s) self (s)
7244 0.067040 let reverse = get(g:, 'airline_gui_mode', '') ==# 'gui' ? synIDattr(synIDtrans(hlID(a:group)), 'reverse', 'gui') : synIDattr(synIDtrans(hlID(a:group)), 'reverse', 'cterm')|| synIDattr(synIDtrans(hlID(a:group)), 'reverse', 'term')
7244 0.017807 if get(g:, 'airline_highlighting_cache', 0) && has_key(s:hl_groups, a:group)
let res = s:hl_groups[a:group]
return reverse ? [ res[1], res[0], res[3], res[2], res[4] ] : res
7244 0.003442 else
7244 0.169950 0.027192 let fg = s:get_syn(a:group, 'fg')
7244 0.162674 0.026421 let bg = s:get_syn(a:group, 'bg')
7244 0.024583 let bold = synIDattr(synIDtrans(hlID(a:group)), 'bold')
7244 0.005173 if reverse
let res = s:get_array(bg, fg, bold ? ['bold'] : a:000)
7244 0.003526 else
7244 0.073212 0.032201 let res = s:get_array(fg, bg, bold ? ['bold'] : a:000)
7244 0.003436 endif
7244 0.002917 endif
7244 0.013972 let s:hl_groups[a:group] = res
7244 0.004550 return res
FUNCTION airline#extensions#ctrlp#load_theme()
Defined: ~/.vim/bundle/airline/autoload/airline/extensions/ctrlp.vim:24
Called 33 times
Total time: 0.043336
Self time: 0.002378
count total (s) self (s)
33 0.000070 if exists('a:palette.ctrlp')
33 0.000041 let theme = a:palette.ctrlp
else
let s:color_template = has_key(a:palette, s:color_template) ? s:color_template : 'insert'
let theme = airline#extensions#ctrlp#generate_color_map( a:palette[s:color_template]['airline_c'], a:palette[s:color_template]['airline_b'], a:palette[s:color_template]['airline_a'])
33 0.000015 endif
330 0.000356 for key in keys(theme)
297 0.042359 0.001401 call airline#highlighter#exec(key, theme[key])
330 0.000176 endfor
FUNCTION airline#util#shorten()
Defined: ~/.vim/bundle/airline/autoload/airline/util.vim:27
Called 128 times
Total time: 0.002648
Self time: 0.001721
count total (s) self (s)
128 0.001578 0.000651 if airline#util#winwidth() < a:winwidth && len(split(a:text, '\zs')) > a:minwidth
if get(a:000, 0, 0)
" shorten from tail
return '…'.matchstr(a:text, '.\{'.a:minwidth.'}$')
else
" shorten from beginning of string
return matchstr(a:text, '^.\{'.a:minwidth.'}').'…'
endif
128 0.000053 else
128 0.000106 return a:text
endif
FUNCTION <SNR>69_airline_refresh()
Defined: ~/.vim/bundle/airline/plugin/airline.vim:219
Called 33 times
Total time: 0.965573
Self time: 0.001148
count total (s) self (s)
" a:1, fast refresh, do not reload the theme
33 0.000101 let fast=!empty(get(a:000, 0, 0))
33 0.000072 if !exists("#airline")
" disabled
return
33 0.000095 endif
33 0.003079 0.000157 call airline#util#doautocmd('AirlineBeforeRefresh')
33 0.001216 0.000163 call airline#highlighter#reset_hlcache()
33 0.000029 if !fast
33 0.762254 0.000122 call airline#load_theme()
33 0.000015 endif
33 0.198327 0.000147 call airline#update_statusline()
33 0.000262 0.000124 call airline#update_tabline()
FUNCTION FugitiveReal()
Defined: ~/.vim/bundle/fugitive/plugin/fugitive.vim:38
Called 32 times
Total time: 0.017550
Self time: 0.000657
count total (s) self (s)
32 0.000062 let file = a:0 ? a:1 : @%
32 0.000201 if file =~# '^\a\a\+:' || a:0 > 1
32 0.017246 0.000353 return call('fugitive#Real', [file] + a:000[1:-1])
elseif file =~# '^/\|^\a:\|^$'
return file
else
return fnamemodify(file, ':p' . (file =~# '[\/]$' ? '' : ':s?[\/]$??'))
endif
FUNCTION airline#highlighter#highlight_modified_inactive()
Defined: ~/.vim/bundle/airline/autoload/airline/highlighter.vim:229
Called 32 times
Total time: 0.005432
Self time: 0.000731
count total (s) self (s)
32 0.000085 if getbufvar(a:bufnr, '&modified')
let colors = exists('g:airline#themes#{g:airline_theme}#palette.inactive_modified.airline_c') ? g:airline#themes#{g:airline_theme}#palette.inactive_modified.airline_c : []
32 0.000016 else
32 0.000240 let colors = exists('g:airline#themes#{g:airline_theme}#palette.inactive.airline_c') ? g:airline#themes#{g:airline_theme}#palette.inactive.airline_c : []
32 0.000015 endif
32 0.000040 if !empty(colors)
32 0.004884 0.000182 call airline#highlighter#exec('airline_c'.(a:bufnr).'_inactive', colors)
32 0.000013 endif
FUNCTION airline#extensions#keymap#status()
Defined: ~/.vim/bundle/airline/autoload/airline/extensions/keymap.vim:10
Called 64 times
Total time: 0.000575
Self time: 0.000575
count total (s) self (s)
64 0.000287 if (get(g:, 'airline#extensions#keymap#enabled', 1) && has('keymap'))
64 0.000245 return printf('%s', (!empty(&keymap) ? (g:airline_symbols.keymap . ' '. &keymap) : ''))
else
return ''
endif
FUNCTION airline#extensions#ctrlp#apply()
Defined: ~/.vim/bundle/airline/autoload/airline/extensions/ctrlp.vim:70
Called 67 times
Total time: 0.000447
Self time: 0.000447
count total (s) self (s)
" disable statusline overwrite if ctrlp already did it
67 0.000408 return match(&statusline, 'CtrlPwhite') >= 0 ? -1 : 0
FUNCTION neoyank#_load()
Defined: ~/.vim/bundle/neoyank/autoload/neoyank.vim:100
Called 33 times
Total time: 0.003449
Self time: 0.003449
count total (s) self (s)
33 0.003383 if !filereadable(g:neoyank#file) || s:yank_histories_file_mtime == getftime(g:neoyank#file)
33 0.000036 return
endif
let file = readfile(g:neoyank#file)
" Version check.
if empty(file) || len(file) != 2 || file[0] !=# s:VERSION
return
endif
try
let yank_histories = s:json2vim(file[1])
catch
unlet! yank_histories
let yank_histories = {}
endtry
if type(yank_histories) != type({})
unlet! yank_histories
let yank_histories = {}
endif
for register in g:neoyank#save_registers
if !has_key(s:yank_histories, register)
let s:yank_histories[register] = []
endif
let s:yank_histories[register] = get(yank_histories, register, []) + s:yank_histories[register]
call s:uniq(register)
endfor
let s:yank_histories_file_mtime = getftime(g:neoyank#file)
FUNCTION <SNR>127_init_delim_lists_fast()
Defined: ~/.vim/bundle/matchup/autoload/matchup/loader.vim:468
Called 1 time
Total time: 0.000144
Self time: 0.000144
count total (s) self (s)
1 0.000003 let l:lists = { 'delim_tex': { 'regex': [], 'regex_capture': [] } }
1 0.000004 let l:sets = split(a:mps, ',')
1 0.000001 let l:seen = {}
4 0.000004 for l:s in l:sets
5 0.000012 if l:s =~# '^\s*$' | continue | endif
3 0.000004 if l:s ==# '[:]' || l:s ==# '\[:\]'
1 0.000001 let l:s = '\[:]'
3 0.000001 endif
5 0.000007 if has_key(l:seen, l:s) | continue | endif
3 0.000004 let l:seen[l:s] = 1
3 0.000009 let l:words = split(l:s, ':')
5 0.000006 if len(l:words) < 2 | continue | endif
3 0.000015 call add(l:lists.delim_tex.regex, { 'open' : l:words[0], 'close' : l:words[-1], 'mid' : '', 'mid_list' : [], 'augments' : {},})
3 0.000024 call add(l:lists.delim_tex.regex_capture, { 'open' : l:words[0], 'close' : l:words[-1], 'mid' : '', 'mid_list' : [], 'need_grp' : {}, 'grp_renu' : {}, 'aug_comp' : {}, 'has_zs' : 0, 'extra_list' : [{}, {}], 'extra_info' : { 'has_zs': 0, },})
4 0.000003 endfor
" TODO if this is empty!
" generate combined lists
1 0.000002 let l:lists.delim_all = {}
1 0.000001 let l:lists.all = {}
3 0.000003 for l:k in ['regex', 'regex_capture']
2 0.000004 let l:lists.delim_all[l:k] = l:lists.delim_tex[l:k]
2 0.000004 let l:lists.all[l:k] = l:lists.delim_all[l:k]
3 0.000001 endfor
1 0.000001 return l:lists
FUNCTION <SNR>96_abbrev()
Defined: ~/.vim/bundle/endwise/plugin/endwise.vim:60
Called 1 time
Total time: 0.000008
Self time: 0.000008
count total (s) self (s)
1 0.000002 if exists('g:endwise_abbreviations')
for word in split(get(b:, 'endwise_words', ''), ',')
execute 'iabbrev <buffer><script>' word word.'<CR><SID>DiscretionaryEnd<Space><C-U><BS>'
endfor
1 0.000000 endif
FUNCTION FugitiveParse()
Defined: ~/.vim/bundle/fugitive/plugin/fugitive.vim:71
Called 32 times
Total time: 0.001740
Self time: 0.001548
count total (s) self (s)
32 0.000329 0.000137 let path = s:Slash(a:0 ? a:1 : @%)
32 0.000144 if path !~# '^fugitive:'
return ['', '']
32 0.000015 endif
32 0.000838 let vals = matchlist(path, '\c^fugitive:\%(//\)\=\(.\{-\}\)\%(//\|::\)\(\x\{40,\}\|[0-3]\)\(/.*\)\=$')
32 0.000040 if len(vals)
32 0.000303 return [(vals[2] =~# '^.$' ? ':' : '') . vals[2] . substitute(vals[3], '^/', ':', ''), vals[1]]
endif
let v:errmsg = 'fugitive: invalid Fugitive URL ' . path
throw v:errmsg
FUNCTION <SNR>127_init_delim_regexes()
Defined: ~/.vim/bundle/matchup/autoload/matchup/loader.vim:522
Called 1 time
Total time: 0.000555
Self time: 0.000140
count total (s) self (s)
1 0.000001 let l:re = {}
1 0.000001 let l:re.delim_all = {}
1 0.000001 let l:re.all = {}
1 0.000422 0.000007 let l:re.delim_tex = s:init_delim_regexes_generator('delim_tex')
1 0.000003 let l:re.delim_tex._engine_info = { 'has_zs': {} }
" use a flag for b:match_ignorecase
1 0.000002 let l:ic = get(b:, 'match_ignorecase', 0) ? '\c' : '\C'
" if a particular engine is specified, use that for the patterns
" (currently only applied to delim_re TODO)
1 0.000003 let l:eng = string(get(b:, 'matchup_regexpengine', 0))
1 0.000002 let l:eng = l:eng > 0 ? '\%#='.l:eng : ''
7 0.000007 for l:k in keys(s:sidedict)
6 0.000035 let l:re.delim_tex._engine_info.has_zs[l:k] = l:re.delim_tex[l:k] =~# g:matchup#re#zs
6 0.000008 if l:re.delim_tex[l:k] ==# '\%(\)'
1 0.000001 let l:re.delim_tex[l:k] = ''
5 0.000002 else
" since these patterns are used in searchpos(),
" be explicit about regex mode (set magic mode and ignorecase)
5 0.000013 let l:re.delim_tex[l:k] = l:eng . '\m' . l:ic . l:re.delim_tex[l:k]
6 0.000003 endif
6 0.000010 let l:re.delim_all[l:k] = l:re.delim_tex[l:k]
6 0.000009 let l:re.all[l:k] = l:re.delim_all[l:k]
7 0.000003 endfor
1 0.000002 let l:re.delim_all._engine_info = l:re.delim_tex._engine_info
1 0.000001 let l:re.all._engine_info = l:re.delim_all._engine_info
1 0.000001 return l:re
FUNCTION airline#highlighter#reset_hlcache()
Defined: ~/.vim/bundle/airline/autoload/airline/highlighter.vim:63
Called 33 times
Total time: 0.001053
Self time: 0.001053
count total (s) self (s)
33 0.001042 let s:hl_groups = {}
FUNCTION <SNR>105_Tree()
Defined: ~/.vim/bundle/fugitive/plugin/fugitive.vim:146
Called 100 times
Total time: 0.036533
Self time: 0.036533
count total (s) self (s)
100 0.000128 let dir = a:path
100 0.000441 if dir =~# '/\.git$'
return len(dir) ==# 5 ? '/' : dir[0:-6]
100 0.000092 elseif dir ==# ''
return ''
100 0.000044 endif
100 0.000232 if !has_key(s:worktree_for_dir, dir)
let s:worktree_for_dir[dir] = ''
let config_file = dir . '/config'
if filereadable(config_file)
let config = readfile(config_file,'',10)
call filter(config,'v:val =~# "^\\s*worktree *="')
if len(config) == 1
let worktree = FugitiveVimPath(matchstr(config[0], '= *\zs.*'))
endif
elseif filereadable(dir . '/gitdir')
let worktree = fnamemodify(FugitiveVimPath(readfile(dir . '/gitdir')[0]), ':h')
if worktree ==# '.'
unlet! worktree
endif
endif
if exists('worktree')
let s:worktree_for_dir[dir] = s:Slash(resolve(worktree))
let s:dir_for_worktree[s:worktree_for_dir[dir]] = dir
endif
100 0.000046 endif
100 0.000345 if s:worktree_for_dir[dir] =~# '^\.'
100 0.032744 return simplify(dir . '/' . s:worktree_for_dir[dir])
else
return s:worktree_for_dir[dir]
endif
FUNCTION airline#util#prepend()
Defined: ~/.vim/bundle/airline/autoload/airline/util.vim:62
Called 192 times
Total time: 0.001131
Self time: 0.001131
count total (s) self (s)
192 0.000360 if a:minwidth > 0 && airline#util#winwidth() < a:minwidth
return ''
192 0.000086 endif
192 0.000437 return empty(a:text) ? '' : a:text.s:spc.g:airline_right_alt_sep.s:spc
FUNCTION <SNR>265_DoAutocmd()
Defined: ~/.vim/bundle/fugitive/autoload/fugitive.vim:141
Called 2 times
Total time: 0.000009
Self time: 0.000009
count total (s) self (s)
2 0.000004 if v:version >= 704 || (v:version == 703 && has('patch442'))
2 0.000003 return 'doautocmd <nomodeline>' . a:cmd
elseif &modelines > 0
return 'try|set modelines=0|doautocmd ' . a:cmd . '|finally|set modelines=' . &modelines . '|endtry'
else
return 'doautocmd ' . a:cmd
endif
FUNCTION <SNR>286_on_cursor_moved()
Defined: ~/.vim/bundle/lsp/autoload/lsp.vim:239
Called 1 time
Total time: 0.000013
Self time: 0.000011
count total (s) self (s)
1 0.000002 let l:buf = bufnr('%')
1 0.000004 if getbufvar(l:buf, '&buftype') ==# 'terminal' | return | endif
1 0.000007 0.000005 call lsp#ui#vim#diagnostics#echo#cursor_moved()
FUNCTION ale#cursor#EchoCursorWarningWithDelay()
Defined: ~/.vim/bundle/ale/autoload/ale/cursor.vim:88
Called 1 time
Total time: 0.000029
Self time: 0.000024
count total (s) self (s)
1 0.000001 if !g:ale_echo_cursor
return
1 0.000000 endif
" Only echo the warnings in normal mode, otherwise we will get problems.
1 0.000002 if mode() isnot# 'n'
return
1 0.000000 endif
1 0.000009 0.000004 call s:StopCursorTimer()
1 0.000004 let l:pos = getcurpos()[0:2]
" Check the current buffer, line, and column number against the last
" recorded position. If the position has actually changed, *then*
" we should echo something. Otherwise we can end up doing processing
" the echo message far too frequently.
1 0.000002 if l:pos != s:last_pos
let l:delay = ale#Var(bufnr(''), 'echo_delay')
let s:last_pos = l:pos
let s:cursor_timer = timer_start( l:delay, function('ale#cursor#EchoCursorWarning'))
1 0.000000 endif
FUNCTION <SNR>250_get_accented_line()
Defined: ~/.vim/bundle/airline/autoload/airline/builder.vim:166
Called 536 times
Total time: 0.021175
Self time: 0.021175
count total (s) self (s)
536 0.000551 if a:self._context.active
" active window
536 0.000571 let contents = []
536 0.003084 let content_parts = split(a:contents, '__accent')
1340 0.001366 for cpart in content_parts
804 0.004112 let accent = matchstr(cpart, '_\zs[^#]*\ze')
804 0.001494 call add(contents, cpart)
1340 0.000799 endfor
536 0.001209 let line = join(contents, a:group)
536 0.002965 let line = substitute(line, '__restore__', a:group, 'g')
else
" inactive window
let line = substitute(a:contents, '%#__accent[^#]*#', '', 'g')
let line = substitute(line, '%#__restore__#', '', 'g')
536 0.000244 endif
536 0.000438 return line
FUNCTION <SNR>265_Resolve()
Defined: ~/.vim/bundle/fugitive/autoload/fugitive.vim:102
Called 1 time
Total time: 0.000157
Self time: 0.000149
count total (s) self (s)
1 0.000112 let path = resolve(a:path)
1 0.000003 if has('win32')
1 0.000039 0.000031 let path = FugitiveVimPath(fnamemodify(fnamemodify(path, ':h'), ':p') . fnamemodify(path, ':t'))
1 0.000000 endif
1 0.000001 return path
FUNCTION <SNR>265_gsub()
Defined: ~/.vim/bundle/fugitive/autoload/fugitive.vim:25
Called 5 times
Total time: 0.000041
Self time: 0.000041
count total (s) self (s)
5 0.000040 return substitute(a:str,'\v\C'.a:pat,a:rep,'g')
FUNCTION <SNR>239_format_name()
Defined: ~/.vim/bundle/airline/autoload/airline/extensions/branch.vim:77
Called 64 times
Total time: 0.000151
Self time: 0.000151
count total (s) self (s)
64 0.000123 return a:name
FUNCTION airline#extensions#ale#get_warning()
Defined: ~/.vim/bundle/airline/autoload/airline/extensions/ale.vim:108
Called 64 times
Total time: 0.006598
Self time: 0.000335
count total (s) self (s)
64 0.006581 0.000318 return airline#extensions#ale#get('warning')
FUNCTION airline#builder#new()
Defined: ~/.vim/bundle/airline/autoload/airline/builder.vim:232
Called 67 times
Total time: 0.001093
Self time: 0.001093
count total (s) self (s)
67 0.000278 let builder = copy(s:prototype)
67 0.000102 let builder._context = a:context
67 0.000076 let builder._sections = []
67 0.000492 call extend(builder._context, { 'left_sep': g:airline_left_sep, 'left_alt_sep': g:airline_left_alt_sep, 'right_sep': g:airline_right_sep, 'right_alt_sep': g:airline_right_alt_sep, }, 'keep')
67 0.000052 return builder
FUNCTIONS SORTED ON TOTAL TIME
count total (s) self (s) function
64 3.665041 0.001899 airline#extensions#branch#get_head()
64 3.661499 0.004847 airline#extensions#branch#head()
32 3.596537 0.009882 <SNR>239_display_git_branch()
32 3.583146 0.019197 <SNR>265_repo_git_chomp()
33 0.965573 0.001148 <SNR>69_airline_refresh()
33 0.762131 0.001424 airline#load_theme()
98 0.760653 0.135482 airline#highlighter#highlight()
7244 0.598919 0.278896 airline#highlighter#get_highlight()
4130 0.585937 0.165814 airline#highlighter#exec()
33 0.515527 0.001155 airline#highlighter#load_theme()
67 0.398314 0.002806 airline#update_statusline()
1155 0.392941 0.032255 <SNR>236_exec_separator()
67 0.392194 0.002292 <SNR>232_invoke_funcrefs()
3 0.332515 0.001755 <SNR>265_SystemError()
67 0.326969 0.040393 32()
1 0.322309 0.004018 fugitive#BufReadCmd()
2 0.319328 0.000048 <SNR>265_ChompError()
14488 0.279012 <SNR>236_get_syn()
64 0.262394 0.006154 airline#check_mode()
65 0.251912 0.011911 fugitive#Find()
FUNCTIONS SORTED ON SELF TIME
count total (s) self (s) function
14488 0.279012 <SNR>236_get_syn()
7244 0.598919 0.278896 airline#highlighter#get_highlight()
4130 0.585937 0.165814 airline#highlighter#exec()
98 0.760653 0.135482 airline#highlighter#highlight()
1002 0.063924 <SNR>281_is_file_exist()
4130 0.041371 <SNR>236_CheckDefined()
7244 0.041011 <SNR>236_get_array()
67 0.326969 0.040393 32()
100 0.036533 <SNR>105_Tree()
4129 0.034449 <SNR>236_hl_group_exists()
1155 0.392941 0.032255 <SNR>236_exec_separator()
1 0.024588 48()
2 0.024451 <SNR>281_uniq_by()
1 0.031667 0.022078 <SNR>36_SynSet()
536 0.021175 <SNR>250_get_accented_line()
1 0.019961 0.019458 <SNR>33_LoadFTPlugin()
32 3.583146 0.019197 <SNR>265_repo_git_chomp()
64 0.036898 0.019162 airline#extensions#fugitiveline#bufname()
737 0.022438 0.017653 <SNR>251_get_section()
2310 0.200594 0.013083 airline#themes#get_highlight()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment