Created
September 15, 2014 19:04
-
-
Save saaguero/4f37d1ce3dda7b5e53c3 to your computer and use it in GitHub Desktop.
Profile of vim with vim-airline plugin
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
FUNCTION syntastic#log#debug() | |
Called 2 times | |
Total time: 0.000056 | |
Self time: 0.000040 | |
count total (s) self (s) | |
2 0.000048 0.000032 if !s:isDebugEnabled(a:level) | |
2 0.000004 return | |
endif | |
let leader = s:_logTimestamp() | |
call s:_logRedirect(1) | |
if a:0 > 0 | |
" filter out dictionary functions | |
echomsg leader . a:msg . ' ' . strtrans(string(type(a:1) == type({}) || type(a:1) == type([]) ? filter(copy(a:1), 'type(v:val) != type(function("tr"))') : a:1)) | |
else | |
echomsg leader . a:msg | |
endif | |
call s:_logRedirect(0) | |
FUNCTION airline#util#exec_funcrefs() | |
Called 2 times | |
Total time: 0.014371 | |
Self time: 0.000279 | |
count total (s) self (s) | |
10 0.000034 for Fn in a:list | |
10 0.014269 0.000177 let code = call(Fn, a:000) | |
10 0.000024 if code != 0 | |
2 0.000004 return code | |
endif | |
8 0.000009 endfor | |
return 0 | |
FUNCTION <SNR>93_CreateAutocommands() | |
Called 1 time | |
Total time: 0.000414 | |
Self time: 0.000394 | |
count total (s) self (s) | |
1 0.000033 0.000013 call s:debug('Creating autocommands') | |
1 0.000006 augroup TagbarAutoCmds | |
1 0.000156 autocmd! | |
1 0.000024 autocmd CursorHold __Tagbar__ call s:ShowPrototype(1) | |
1 0.000019 autocmd WinEnter __Tagbar__ call s:SetStatusLine('current') | |
1 0.000015 autocmd WinLeave __Tagbar__ call s:SetStatusLine('noncurrent') | |
1 0.000004 if g:tagbar_autopreview | |
autocmd CursorMoved __Tagbar__ nested call s:ShowInPreviewWin() | |
endif | |
1 0.000015 autocmd WinEnter * nested call s:QuitIfOnlyWindow() | |
1 0.000010 autocmd WinEnter * if bufwinnr('__Tagbar__') == -1 | call s:ShrinkIfExpanded() | endif | |
1 0.000009 autocmd BufWritePost * call s:AutoUpdate(fnamemodify(expand('<afile>'), ':p'), 1) | |
" BufReadPost is needed for reloading the current buffer if the file | |
" was changed by an external command; see commit 17d199f | |
1 0.000046 autocmd BufReadPost,BufEnter,CursorHold,FileType * call s:AutoUpdate(fnamemodify(expand('<afile>'), ':p'), 0) | |
1 0.000014 autocmd BufDelete,BufWipeout * call s:known_files.rm(fnamemodify(expand('<afile>'), ':p')) | |
1 0.000012 autocmd QuickFixCmdPre * let s:tagbar_qf_active = 1 | |
1 0.000011 autocmd QuickFixCmdPost * if exists('s:tagbar_qf_active') | unlet s:tagbar_qf_active | endif | |
1 0.000012 autocmd VimEnter * call s:CorrectFocusOnStartup() | |
1 0.000002 augroup END | |
1 0.000005 let s:autocommands_done = 1 | |
FUNCTION <SNR>93_IsValidFile() | |
Called 1 time | |
Total time: 0.000073 | |
Self time: 0.000035 | |
count total (s) self (s) | |
1 0.000040 0.000014 call s:debug('Checking if file is valid [' . a:fname . ']') | |
1 0.000005 if a:fname == '' || a:ftype == '' | |
1 0.000021 0.000009 call s:debug('Empty filename or type') | |
1 0.000002 return 0 | |
endif | |
if !filereadable(a:fname) && getbufvar(a:fname, 'netrw_tmpfile') == '' | |
call s:debug('File not readable') | |
return 0 | |
endif | |
if getbufvar(a:fname, 'tagbar_ignore') == 1 | |
call s:debug('File is marked as ignored') | |
return 0 | |
endif | |
if &previewwindow | |
call s:debug('In preview window') | |
return 0 | |
endif | |
if !has_key(s:known_types, a:ftype) | |
if exists('g:tagbar_type_' . a:ftype) | |
" Filetype definition must have been specified in an 'ftplugin' | |
" file, so load it now | |
call s:LoadUserTypeDefs(a:ftype) | |
else | |
call s:debug('Unsupported filetype: ' . a:ftype) | |
return 0 | |
endif | |
endif | |
return 1 | |
FUNCTION airline#check_mode() | |
Called 3 times | |
Total time: 0.000596 | |
Self time: 0.000596 | |
count total (s) self (s) | |
3 0.000034 let context = s:contexts[a:winnr] | |
3 0.000023 if get(w:, 'airline_active', 1) | |
3 0.000024 let l:m = mode() | |
3 0.000015 if l:m ==# "i" | |
let l:mode = ['insert'] | |
elseif l:m ==# "R" | |
let l:mode = ['replace'] | |
elseif l:m =~# '\v(v|V||s|S|)' | |
let l:mode = ['visual'] | |
else | |
3 0.000019 let l:mode = ['normal'] | |
3 0.000006 endif | |
3 0.000034 let w:airline_current_mode = get(g:airline_mode_map, l:m, l:m) | |
3 0.000004 else | |
let l:mode = ['inactive'] | |
let w:airline_current_mode = get(g:airline_mode_map, '__') | |
endif | |
3 0.000020 if g:airline_detect_modified && &modified | |
call add(l:mode, 'modified') | |
endif | |
3 0.000013 if g:airline_detect_paste && &paste | |
call add(l:mode, 'paste') | |
endif | |
3 0.000009 if &readonly || ! &modifiable | |
call add(l:mode, 'readonly') | |
endif | |
3 0.000029 let mode_string = join(l:mode) | |
3 0.000028 if get(w:, 'airline_lastmode', '') != mode_string | |
call airline#highlighter#highlight_modified_inactive(context.bufnr) | |
call airline#highlighter#highlight(l:mode) | |
let w:airline_lastmode = mode_string | |
endif | |
3 0.000006 return '' | |
FUNCTION airline#util#append() | |
Called 9 times | |
Total time: 0.000226 | |
Self time: 0.000226 | |
count total (s) self (s) | |
9 0.000045 if a:minwidth > 0 && winwidth(0) < a:minwidth | |
return '' | |
endif | |
9 0.000067 let prefix = s:spc == "\ua0" ? s:spc : s:spc.s:spc | |
9 0.000061 return empty(a:text) ? '' : prefix.g:airline_left_alt_sep.s:spc.a:text | |
FUNCTION ctrlp#utils#writecache() | |
Called 1 time | |
Total time: 0.002233 | |
Self time: 0.002093 | |
count total (s) self (s) | |
1 0.000250 0.000109 if isdirectory(ctrlp#utils#mkdir(a:0 ? a:1 : s:cache_dir)) | |
1 0.001972 sil! cal writefile(a:lines, a:0 >= 2 ? a:2 : ctrlp#utils#cachefile()) | |
1 0.000006 en | |
FUNCTION <SNR>17_gsub() | |
Called 4 times | |
Total time: 0.000065 | |
Self time: 0.000065 | |
count total (s) self (s) | |
4 0.000061 return substitute(a:str,'\v\C'.a:pat,a:rep,'g') | |
FUNCTION airline#themes#get_highlight() | |
Called 28 times | |
Total time: 0.006558 | |
Self time: 0.000494 | |
count total (s) self (s) | |
28 0.006540 0.000476 return call('airline#highlighter#get_highlight', [a:group] + a:000) | |
FUNCTION <SNR>93_debug() | |
Called 22 times | |
Total time: 0.000466 | |
Self time: 0.000466 | |
count total (s) self (s) | |
22 0.000083 if s:debug | |
execute 'redir >> ' . s:debug_file | |
silent echon s:gettime() . ': ' . a:msg . "\n" | |
redir END | |
endif | |
FUNCTION <SNR>93_GetNearbyTag() | |
Called 1 time | |
Total time: 0.000007 | |
Self time: 0.000007 | |
count total (s) self (s) | |
1 0.000003 if s:nearby_disabled | |
1 0.000003 return {} | |
endif | |
let fileinfo = s:known_files.getCurrent(a:forcecurrent) | |
if empty(fileinfo) | |
return {} | |
endif | |
let typeinfo = fileinfo.typeinfo | |
if a:0 > 0 | |
let curline = a:1 | |
else | |
let curline = line('.') | |
endif | |
let tag = {} | |
" If a tag appears in a file more than once (for example namespaces in | |
" C++) only one of them has a 'tline' entry and can thus be highlighted. | |
" The only way to solve this would be to go over the whole tag list again, | |
" making everything slower. Since this should be a rare occurence and | |
" highlighting isn't /that/ important ignore it for now. | |
for line in range(curline, 1, -1) | |
if has_key(fileinfo.fline, line) | |
let curtag = fileinfo.fline[line] | |
if a:all || typeinfo.getKind(curtag.fields.kind).stl | |
let tag = curtag | |
break | |
endif | |
endif | |
endfor | |
return tag | |
FUNCTION airline#parts#filetype() | |
Called 3 times | |
Total time: 0.000014 | |
Self time: 0.000014 | |
count total (s) self (s) | |
3 0.000012 return &filetype | |
FUNCTION airline#extensions#netrw#apply() | |
Called 2 times | |
Total time: 0.000080 | |
Self time: 0.000080 | |
count total (s) self (s) | |
2 0.000017 if &ft == 'netrw' | |
let spc = g:airline_symbols.space | |
call a:1.add_section('airline_a', spc.'netrw'.spc) | |
if exists('*airline#extensions#branch#get_head') | |
call a:1.add_section('airline_b', spc.'%{airline#extensions#branch#get_head()}'.spc) | |
endif | |
call a:1.add_section('airline_c', spc.'%f'.spc) | |
call a:1.split() | |
call a:1.add_section('airline_y', spc.'%{airline#extensions#netrw#sortstring()}'.spc) | |
return 1 | |
endif | |
FUNCTION <SNR>82_get_buffers() | |
Called 2 times | |
Total time: 0.009117 | |
Self time: 0.000304 | |
count total (s) self (s) | |
2 0.000021 let cur = bufnr('%') | |
2 0.000013 if cur == s:current_bufnr | |
1 0.000015 if !g:airline_detect_modified || getbufvar(cur, '&modified') == s:current_modified | |
1 0.000007 return s:current_tabline | |
endif | |
endif | |
1 0.000077 0.000013 let b = airline#builder#new(s:builder_context) | |
1 0.000008 let tab_bufs = tabpagebuflist(tabpagenr()) | |
2 0.006938 0.000026 for nr in s:get_visible_buffers() | |
1 0.000003 if nr < 0 | |
call b.add_raw('%#airline_tabhid#...') | |
continue | |
endif | |
1 0.000003 if cur == nr | |
1 0.000008 if g:airline_detect_modified && getbufvar(nr, '&modified') | |
let group = 'airline_tabmod' | |
else | |
1 0.000003 let group = 'airline_tabsel' | |
1 0.000003 endif | |
1 0.000007 let s:current_modified = (group == 'airline_tabmod') ? 1 : 0 | |
1 0.000002 else | |
if g:airline_detect_modified && getbufvar(nr, '&modified') | |
let group = 'airline_tabmod_unsel' | |
elseif index(tab_bufs, nr) > -1 | |
let group = 'airline_tab' | |
else | |
let group = 'airline_tabhid' | |
endif | |
endif | |
1 0.000192 0.000021 call b.add_section(group, s:spc.'%(%{airline#extensions#tabline#get_buffer_name('.nr.')}%)'.s:spc) | |
1 0.000002 endfor | |
1 0.000846 0.000011 call b.add_section('airline_tabfill', '') | |
1 0.000021 0.000008 call b.split() | |
1 0.000814 0.000010 call b.add_section('airline_tabtype', ' buffers ') | |
1 0.000004 let s:current_bufnr = cur | |
1 0.000024 0.000011 let s:current_tabline = b.build() | |
1 0.000003 return s:current_tabline | |
FUNCTION airline#parts#iminsert() | |
Called 3 times | |
Total time: 0.000053 | |
Self time: 0.000053 | |
count total (s) self (s) | |
3 0.000019 if g:airline_detect_iminsert && &iminsert && exists('b:keymap_name') | |
return toupper(b:keymap_name) | |
endif | |
3 0.000008 return '' | |
FUNCTION <SNR>82_get_visible_buffers() | |
Called 1 time | |
Total time: 0.006912 | |
Self time: 0.000186 | |
count total (s) self (s) | |
1 0.000120 0.000021 let buffers = s:get_buffer_list() | |
1 0.000005 let cur = bufnr('%') | |
1 0.000003 let total_width = 0 | |
1 0.000003 let max_width = 0 | |
2 0.000006 for nr in buffers | |
1 0.006654 0.000028 let width = len(airline#extensions#tabline#get_buffer_name(nr)) + 4 | |
1 0.000005 let total_width += width | |
1 0.000009 let max_width = max([max_width, width]) | |
1 0.000002 endfor | |
" only show current and surrounding buffers if there are too many buffers | |
1 0.000007 let position = index(buffers, cur) | |
1 0.000004 let vimwidth = &columns | |
1 0.000004 if total_width > vimwidth && position > -1 | |
let buf_count = len(buffers) | |
" determine how many buffers to show based on the longest buffer width, | |
" use one on the right side and put the rest on the left | |
let buf_max = vimwidth / max_width | |
let buf_right = 1 | |
let buf_left = max([0, buf_max - buf_right]) | |
let start = max([0, position - buf_left]) | |
let end = min([buf_count, position + buf_right]) | |
" fill up available space on the right | |
if position < buf_left | |
let end += (buf_left - position) | |
endif | |
" fill up available space on the left | |
if end > buf_count - 1 - buf_right | |
let start -= max([0, buf_right - (buf_count - 1 - position)]) | |
endif | |
let buffers = eval('buffers[' . start . ':' . end . ']') | |
if start > 0 | |
call insert(buffers, -1, 0) | |
endif | |
if end < buf_count - 1 | |
call add(buffers, -1) | |
endif | |
endif | |
1 0.000002 return buffers | |
FUNCTION <SNR>17_sub() | |
Called 12 times | |
Total time: 0.000281 | |
Self time: 0.000281 | |
count total (s) self (s) | |
12 0.000267 return substitute(a:str,'\v\C'.a:pat,a:rep,'') | |
FUNCTION fugitive#detect() | |
Called 1 time | |
Total time: 0.002304 | |
Self time: 0.000112 | |
count total (s) self (s) | |
1 0.000008 if exists('b:git_dir') && (b:git_dir ==# '' || b:git_dir =~# '/$') | |
unlet b:git_dir | |
endif | |
1 0.000004 if !exists('b:git_dir') | |
1 0.002213 0.000021 let dir = fugitive#extract_git_dir(a:path) | |
1 0.000003 if dir !=# '' | |
let b:git_dir = dir | |
endif | |
1 0.000001 endif | |
1 0.000004 if exists('b:git_dir') | |
silent doautocmd User FugitiveBoot | |
cnoremap <buffer> <expr> <C-R><C-G> fnameescape(<SID>recall()) | |
nnoremap <buffer> <silent> y<C-G> :call setreg(v:register, <SID>recall())<CR> | |
let buffer = fugitive#buffer() | |
if expand('%:p') =~# '//' | |
call buffer.setvar('&path', s:sub(buffer.getvar('&path'), '^\.%(,|$)', '')) | |
endif | |
if stridx(buffer.getvar('&tags'), escape(b:git_dir, ', ')) == -1 | |
if filereadable(b:git_dir.'/tags') | |
call buffer.setvar('&tags', escape(b:git_dir.'/tags', ', ').','.buffer.getvar('&tags')) | |
endif | |
if &filetype !=# '' && filereadable(b:git_dir.'/'.&filetype.'.tags') | |
call buffer.setvar('&tags', escape(b:git_dir.'/'.&filetype.'.tags', ', ').','.buffer.getvar('&tags')) | |
endif | |
endif | |
silent doautocmd User Fugitive | |
endif | |
FUNCTION ctrlp#utils#readfile() | |
Called 1 time | |
Total time: 0.000971 | |
Self time: 0.000971 | |
count total (s) self (s) | |
1 0.000382 if filereadable(a:file) | |
1 0.000563 let data = readfile(a:file) | |
1 0.000012 if empty(data) || type(data) != 3 | |
unl data | |
let data = [] | |
en | |
1 0.000002 retu data | |
en | |
retu [] | |
FUNCTION <SNR>17_winshell() | |
Called 4 times | |
Total time: 0.000153 | |
Self time: 0.000153 | |
count total (s) self (s) | |
4 0.000079 return &shell =~? 'cmd' || exists('+shellslash') && !&shellslash | |
FUNCTION session#save() | |
Called 1 time | |
Total time: 0.000068 | |
Self time: 0.000052 | |
count total (s) self (s) | |
1 0.000045 0.000029 if session#active() | |
call buffer#wipeout("drawers") | |
silent! execute "mksession!" v:this_session | |
endif | |
FUNCTION airline#highlighter#add_separator() | |
Called 14 times | |
Total time: 0.009646 | |
Self time: 0.000462 | |
count total (s) self (s) | |
14 0.000150 let s:separators[a:from.a:to] = [a:from, a:to, a:inverse] | |
14 0.009479 0.000295 call <sid>exec_separator({}, a:from, a:to, a:inverse, '') | |
FUNCTION 34() | |
Called 3 times | |
Total time: 0.000074 | |
Self time: 0.000074 | |
count total (s) self (s) | |
3 0.000032 if !exists("b:syntastic_loclist") || empty(b:syntastic_loclist) | |
let b:syntastic_loclist = g:SyntasticLoclist.New([]) | |
endif | |
3 0.000009 return b:syntastic_loclist | |
FUNCTION <SNR>59_savetofile() | |
Called 1 time | |
Total time: 0.002257 | |
Self time: 0.000024 | |
count total (s) self (s) | |
1 0.002256 0.000023 cal ctrlp#utils#writecache(a:mrufs, s:cadir, s:cafile) | |
FUNCTION ctrlp#mrufiles#cachefile() | |
Called 1 time | |
Total time: 0.008367 | |
Self time: 0.007700 | |
count total (s) self (s) | |
1 0.000007 if !exists('s:cadir') || !exists('s:cafile') | |
1 0.008331 0.007673 let s:cadir = ctrlp#utils#cachedir().ctrlp#utils#lash().'mru' | |
1 0.000020 0.000012 let s:cafile = s:cadir.ctrlp#utils#lash().'cache.txt' | |
1 0.000002 en | |
1 0.000003 retu s:cafile | |
FUNCTION <SNR>93_LoadUserTypeDefs() | |
Called 1 time | |
Total time: 0.003544 | |
Self time: 0.000158 | |
count total (s) self (s) | |
1 0.000007 if a:0 > 0 | |
let type = a:1 | |
call s:debug("Initializing user type '" . type . "'") | |
let defdict = {} | |
let defdict[type] = g:tagbar_type_{type} | |
else | |
1 0.000047 0.000019 call s:debug('Initializing user types') | |
1 0.003392 0.000032 let defdict = tagbar#getusertypes() | |
1 0.000002 endif | |
1 0.000004 let transformed = {} | |
1 0.000005 for [type, def] in items(defdict) | |
let transformed[type] = s:TransformUserTypeDef(def) | |
endfor | |
1 0.000004 for [key, value] in items(transformed) | |
if !has_key(s:known_types, key) || get(value, 'replace', 0) | |
let s:known_types[key] = s:TypeInfo.New(value) | |
else | |
call extend(s:known_types[key], value) | |
endif | |
endfor | |
1 0.000003 if a:0 > 0 | |
call s:known_types[type].createKinddict() | |
endif | |
FUNCTION 127() | |
Called 41 times | |
Total time: 0.001408 | |
Self time: 0.001408 | |
count total (s) self (s) | |
41 0.000468 let newobj = copy(self) | |
41 0.000209 let newobj.kinddict = {} | |
41 0.000125 if a:0 > 0 | |
call extend(newobj, a:1) | |
endif | |
41 0.000106 return newobj | |
FUNCTION 129() | |
Called 48 times | |
Total time: 0.002730 | |
Self time: 0.002730 | |
count total (s) self (s) | |
48 0.000140 let i = 0 | |
284 0.000508 for kind in self.kinds | |
236 0.000975 let self.kinddict[kind.short] = i | |
236 0.000492 let i += 1 | |
236 0.000255 endfor | |
FUNCTION <SNR>63_Highlight_Matching_Pair() | |
Called 1 time | |
Total time: 0.000137 | |
Self time: 0.000137 | |
count total (s) self (s) | |
" Remove any previous match. | |
1 0.000007 if exists('w:paren_hl_on') && w:paren_hl_on | |
silent! call matchdelete(3) | |
let w:paren_hl_on = 0 | |
endif | |
" Avoid that we remove the popup menu. | |
" Return when there are no colors (looks like the cursor jumps). | |
1 0.000009 if pumvisible() || (&t_Co < 8 && !has("gui_running")) | |
return | |
endif | |
" Get the character under the cursor and check if it's in 'matchpairs'. | |
1 0.000007 let c_lnum = line('.') | |
1 0.000005 let c_col = col('.') | |
1 0.000003 let before = 0 | |
1 0.000006 let text = getline(c_lnum) | |
1 0.000006 let c = text[c_col - 1] | |
1 0.000039 let plist = split(&matchpairs, '.\zs[:,]') | |
1 0.000008 let i = index(plist, c) | |
1 0.000002 if i < 0 | |
" not found, in Insert mode try character before the cursor | |
1 0.000006 if c_col > 1 && (mode() == 'i' || mode() == 'R') | |
let before = 1 | |
let c = text[c_col - 2] | |
let i = index(plist, c) | |
endif | |
1 0.000002 if i < 0 | |
" not found, nothing to do | |
1 0.000002 return | |
endif | |
endif | |
" Figure out the arguments for searchpairpos(). | |
if i % 2 == 0 | |
let s_flags = 'nW' | |
let c2 = plist[i + 1] | |
else | |
let s_flags = 'nbW' | |
let c2 = c | |
let c = plist[i - 1] | |
endif | |
if c == '[' | |
let c = '\[' | |
let c2 = '\]' | |
endif | |
" Find the match. When it was just before the cursor move it there for a | |
" moment. | |
if before > 0 | |
let has_getcurpos = exists("*getcurpos") | |
if has_getcurpos | |
" getcurpos() is more efficient but doesn't exist before 7.4.313. | |
let save_cursor = getcurpos() | |
else | |
let save_cursor = winsaveview() | |
endif | |
call cursor(c_lnum, c_col - before) | |
endif | |
" When not in a string or comment ignore matches inside them. | |
" We match "escape" for special items, such as lispEscapeSpecial. | |
let s_skip ='synIDattr(synID(line("."), col("."), 0), "name") ' . '=~? "string\\|character\\|singlequote\\|escape\\|comment"' | |
execute 'if' s_skip '| let s_skip = 0 | endif' | |
" Limit the search to lines visible in the window. | |
let stoplinebottom = line('w$') | |
let stoplinetop = line('w0') | |
if i % 2 == 0 | |
let stopline = stoplinebottom | |
else | |
let stopline = stoplinetop | |
endif | |
" Limit the search time to 300 msec to avoid a hang on very long lines. | |
" This fails when a timeout is not supported. | |
if mode() == 'i' || mode() == 'R' | |
let timeout = exists("b:matchparen_insert_timeout") ? b:matchparen_insert_timeout : g:matchparen_insert_timeout | |
else | |
let timeout = exists("b:matchparen_timeout") ? b:matchparen_timeout : g:matchparen_timeout | |
endif | |
try | |
let [m_lnum, m_col] = searchpairpos(c, '', c2, s_flags, s_skip, stopline, timeout) | |
catch /E118/ | |
" Can't use the timeout, restrict the stopline a bit more to avoid taking | |
" a long time on closed folds and long lines. | |
" The "viewable" variables give a range in which we can scroll while | |
" keeping the cursor at the same position. | |
" adjustedScrolloff accounts for very large numbers of scrolloff. | |
let adjustedScrolloff = min([&scrolloff, (line('w$') - line('w0')) / 2]) | |
let bottom_viewable = min([line('$'), c_lnum + &lines - adjustedScrolloff - 2]) | |
let top_viewable = max([1, c_lnum-&lines+adjustedScrolloff + 2]) | |
" one of these stoplines will be adjusted below, but the current values are | |
" minimal boundaries within the current window | |
if i % 2 == 0 | |
if has("byte_offset") && has("syntax_items") && &smc > 0 | |
let stopbyte = min([line2byte("$"), line2byte(".") + col(".") + &smc * 2]) | |
let stopline = min([bottom_viewable, byte2line(stopbyte)]) | |
else | |
let stopline = min([bottom_viewable, c_lnum + 100]) | |
endif | |
let stoplinebottom = stopline | |
else | |
if has("byte_offset") && has("syntax_items") && &smc > 0 | |
let stopbyte = max([1, line2byte(".") + col(".") - &smc * 2]) | |
let stopline = max([top_viewable, byte2line(stopbyte)]) | |
else | |
let stopline = max([top_viewable, c_lnum - 100]) | |
endif | |
let stoplinetop = stopline | |
endif | |
let [m_lnum, m_col] = searchpairpos(c, '', c2, s_flags, s_skip, stopline) | |
endtry | |
if before > 0 | |
if has_getcurpos | |
call setpos('.', save_cursor) | |
else | |
call winrestview(save_cursor) | |
endif | |
endif | |
" If a match is found setup match highlighting. | |
if m_lnum > 0 && m_lnum >= stoplinetop && m_lnum <= stoplinebottom | |
if exists('*matchaddpos') | |
call matchaddpos('MatchParen', [[c_lnum, c_col - before], [m_lnum, m_col]], 10, 3) | |
else | |
exe '3match MatchParen /\(\%' . c_lnum . 'l\%' . (c_col - before) . 'c\)\|\(\%' . m_lnum . 'l\%' . m_col . 'c\)/' | |
endif | |
let w:paren_hl_on = 1 | |
endif | |
FUNCTION 43() | |
Called 3 times | |
Total time: 0.000386 | |
Self time: 0.000386 | |
count total (s) self (s) | |
3 0.000021 if !exists("self._stl_format") | |
1 0.000006 let self._stl_format = '' | |
1 0.000002 endif | |
3 0.000016 if !exists("self._stl_flag") | |
1 0.000004 let self._stl_flag = '' | |
1 0.000001 endif | |
3 0.000016 if g:syntastic_stl_format !=# self._stl_format | |
1 0.000004 let self._stl_format = g:syntastic_stl_format | |
1 0.000004 if !empty(self._rawLoclist) | |
let errors = self.errors() | |
let warnings = self.warnings() | |
let num_errors = len(errors) | |
let num_warnings = len(warnings) | |
let num_issues = len(self._rawLoclist) | |
let output = self._stl_format | |
"hide stuff wrapped in %E(...) unless there are errors | |
let output = substitute(output, '\m\C%E{\([^}]*\)}', num_errors ? '\1' : '' , 'g') | |
"hide stuff wrapped in %W(...) unless there are warnings | |
let output = substitute(output, '\m\C%W{\([^}]*\)}', num_warnings ? '\1' : '' , 'g') | |
"hide stuff wrapped in %B(...) unless there are both errors and warnings | |
let output = substitute(output, '\m\C%B{\([^}]*\)}', (num_warnings && num_errors) ? '\1' : '' , 'g') | |
"sub in the total errors/warnings/both | |
let output = substitute(output, '\m\C%w', num_warnings, 'g') | |
let output = substitute(output, '\m\C%e', num_errors, 'g') | |
let output = substitute(output, '\m\C%t', num_issues, 'g') | |
"first error/warning line num | |
let output = substitute(output, '\m\C%F', num_issues ? self._rawLoclist[0]['lnum'] : '', 'g') | |
"first error line num | |
let output = substitute(output, '\m\C%fe', num_errors ? errors[0]['lnum'] : '', 'g') | |
"first warning line num | |
let output = substitute(output, '\m\C%fw', num_warnings ? warnings[0]['lnum'] : '', 'g') | |
let self._stl_flag = output | |
else | |
1 0.000003 let self._stl_flag = '' | |
1 0.000001 endif | |
1 0.000001 endif | |
3 0.000008 return self._stl_flag | |
FUNCTION airline#extensions#tabline#get_buffer_name() | |
Called 3 times | |
Total time: 0.007203 | |
Self time: 0.006227 | |
count total (s) self (s) | |
3 0.007198 0.006222 return airline#extensions#tabline#{s:formatter}#format(a:nr, get(s:, 'current_buffer_list', s:get_buffer_list())) | |
FUNCTION <SNR>93_Init() | |
Called 1 time | |
Total time: 0.703820 | |
Self time: 0.001557 | |
count total (s) self (s) | |
1 0.000009 if s:checked_ctags == 2 && a:silent | |
return 0 | |
elseif s:checked_ctags != 1 | |
1 0.347264 0.000050 if !s:CheckForExCtags(a:silent) | |
return 0 | |
endif | |
1 0.000002 endif | |
1 0.000005 if !s:checked_ctags_types | |
1 0.287079 0.000039 call s:GetSupportedFiletypes() | |
1 0.000002 endif | |
1 0.000003 if !s:type_init_done | |
1 0.066758 0.000039 call s:InitTypes() | |
1 0.000002 endif | |
1 0.000004 if !s:autocommands_done | |
1 0.000441 0.000027 call s:CreateAutocommands() | |
1 0.002214 0.001337 call s:AutoUpdate(fnamemodify(expand('%'), ':p'), 0) | |
1 0.000001 endif | |
1 0.000002 return 1 | |
FUNCTION <SNR>15_invoke_funcrefs() | |
Called 2 times | |
Total time: 0.014710 | |
Self time: 0.000191 | |
count total (s) self (s) | |
2 0.000147 0.000029 let builder = airline#builder#new(a:context) | |
2 0.014421 0.000050 let err = airline#util#exec_funcrefs(a:funcrefs + s:core_funcrefs, builder, a:context) | |
2 0.000005 if err == 1 | |
2 0.000061 0.000030 let a:context.line = builder.build() | |
2 0.000022 let s:contexts[a:context.winnr] = a:context | |
2 0.000041 call setwinvar(a:context.winnr, '&statusline', '%!airline#statusline('.a:context.winnr.')') | |
2 0.000004 endif | |
FUNCTION airline#extensions#default#apply() | |
Called 2 times | |
Total time: 0.013518 | |
Self time: 0.000248 | |
count total (s) self (s) | |
2 0.000010 let winnr = a:context.winnr | |
2 0.000008 let active = a:context.active | |
2 0.000049 0.000033 if airline#util#getwinvar(winnr, 'airline_render_left', active || (!active && !g:airline_inactive_collapse)) | |
2 0.005167 0.000039 call <sid>build_sections(a:builder, a:context, s:layout[0]) | |
2 0.000002 else | |
let text = <sid>get_section(winnr, 'c') | |
if empty(text) | |
let text = ' %f%m ' | |
endif | |
call a:builder.add_section('airline_c'.(a:context.bufnr), text) | |
endif | |
2 0.000212 0.000049 call a:builder.split(s:get_section(winnr, 'gutter', '', '')) | |
2 0.000033 0.000021 if airline#util#getwinvar(winnr, 'airline_render_right', 1) | |
2 0.007978 0.000028 call <sid>build_sections(a:builder, a:context, s:layout[1]) | |
2 0.000002 endif | |
2 0.000004 return 1 | |
FUNCTION airline#util#wrap() | |
Called 18 times | |
Total time: 0.000211 | |
Self time: 0.000211 | |
count total (s) self (s) | |
18 0.000091 if a:minwidth > 0 && winwidth(0) < a:minwidth | |
return '' | |
endif | |
18 0.000037 return a:text | |
FUNCTION <SNR>17_shellslash() | |
Called 4 times | |
Total time: 0.000338 | |
Self time: 0.000120 | |
count total (s) self (s) | |
4 0.000210 0.000057 if s:winshell() | |
4 0.000119 0.000054 return s:gsub(a:path,'\\','/') | |
else | |
return a:path | |
endif | |
FUNCTION <SNR>84_gui2cui() | |
Called 28 times | |
Total time: 0.000175 | |
Self time: 0.000175 | |
count total (s) self (s) | |
28 0.000081 if a:rgb == '' | |
28 0.000062 return a:fallback | |
endif | |
let rgb = map(matchlist(a:rgb, '#\(..\)\(..\)\(..\)')[1:3], '0 + ("0x".v:val)') | |
let rgb = [rgb[0] > 127 ? 4 : 0, rgb[1] > 127 ? 2 : 0, rgb[2] > 127 ? 1 : 0] | |
return rgb[0]+rgb[1]+rgb[2] | |
FUNCTION airline#extensions#tabline#get() | |
Called 2 times | |
Total time: 0.009277 | |
Self time: 0.000160 | |
count total (s) self (s) | |
2 0.000051 let curtabcnt = tabpagenr('$') | |
2 0.000015 if curtabcnt != s:current_tabcnt | |
1 0.000004 let s:current_tabcnt = curtabcnt | |
1 0.000004 let s:current_bufnr = -1 " force a refresh... | |
1 0.000002 endif | |
2 0.000013 if s:show_buffers && curtabcnt == 1 | |
2 0.009160 0.000043 return s:get_buffers() | |
else | |
return s:get_tabs() | |
endif | |
FUNCTION 96() | |
Called 17 times | |
Total time: 0.012724 | |
Self time: 0.003078 | |
count total (s) self (s) | |
17 0.000064 if self._curgroup != '' | |
14 0.000048 if self._curgroup == a:group | |
let self._line .= self._side ? self._context.left_alt_sep : self._context.right_alt_sep | |
else | |
14 0.009857 0.000211 call airline#highlighter#add_separator(self._curgroup, a:group, self._side) | |
14 0.000156 let self._line .= '%#'.self._curgroup.'_to_'.a:group.'#' | |
14 0.000118 let self._line .= self._side ? self._context.left_sep : self._context.right_sep | |
14 0.000018 endif | |
14 0.000013 endif | |
17 0.000055 if self._curgroup != a:group | |
17 0.000114 let self._line .= '%#'.a:group.'#' | |
17 0.000019 endif | |
17 0.000036 if self._context.active | |
17 0.000049 let contents = [] | |
17 0.000268 let content_parts = split(a:contents, '__accent') | |
39 0.000119 for cpart in content_parts | |
22 0.000394 let accent = matchstr(cpart, '_\zs[^#]*\ze') | |
22 0.000136 call add(contents, cpart) | |
22 0.000035 endfor | |
17 0.000122 let line = join(contents, a:group) | |
17 0.000251 let line = substitute(line, '__restore__', a:group, 'g') | |
17 0.000029 else | |
let line = substitute(a:contents, '%#__accent[^#]*#', '', 'g') | |
let line = substitute(line, '%#__restore__#', '', 'g') | |
endif | |
17 0.000105 let self._line .= line | |
17 0.000057 let self._curgroup = a:group | |
FUNCTION 97() | |
Called 4 times | |
Total time: 0.000032 | |
Self time: 0.000032 | |
count total (s) self (s) | |
4 0.000029 let self._line .= a:text | |
FUNCTION 98() | |
Called 3 times | |
Total time: 0.000044 | |
Self time: 0.000044 | |
count total (s) self (s) | |
3 0.000009 if !self._context.active | |
let self._line = substitute(self._line, '%#.\{-}\ze#', '\0_inactive', 'g') | |
endif | |
3 0.000012 return self._line | |
FUNCTION airline#util#getwinvar() | |
Called 20 times | |
Total time: 0.000149 | |
Self time: 0.000149 | |
count total (s) self (s) | |
20 0.000131 return getwinvar(a:winnr, a:key, a:def) | |
FUNCTION <SNR>84_get_array() | |
Called 28 times | |
Total time: 0.000731 | |
Self time: 0.000731 | |
count total (s) self (s) | |
28 0.000098 let fg = a:fg | |
28 0.000076 let bg = a:bg | |
28 0.000507 return has('gui_running') ? [ fg, bg, '', '', join(a:opts, ',') ] : [ '', '', fg, bg, join(a:opts, ',') ] | |
FUNCTION <SNR>34_QuitPreHook() | |
Called 1 time | |
Total time: 0.000143 | |
Self time: 0.000071 | |
count total (s) self (s) | |
1 0.000082 0.000044 call syntastic#log#debug(g:SyntasticDebugAutocommands, 'autocmd: QuitPre, buffer ' . bufnr("") . ' = ' . string(bufname(str2nr(bufnr(""))))) | |
1 0.000009 let b:syntastic_skip_checks = !g:syntastic_check_on_wq | |
1 0.000047 0.000014 call SyntasticLoclistHide() | |
FUNCTION airline#extensions#tagbar#currenttag() | |
Called 3 times | |
Total time: 0.725503 | |
Self time: 0.009062 | |
count total (s) self (s) | |
3 0.000016 if get(w:, 'airline_active', 0) | |
3 0.000023 if s:airline_tagbar_last_lookup_time != localtime() | |
1 0.725397 0.008956 let s:airline_tagbar_last_lookup_val = tagbar#currenttag('%s', '', s:flags) | |
1 0.000027 let s:airline_tagbar_last_lookup_time = localtime() | |
1 0.000002 endif | |
3 0.000009 return s:airline_tagbar_last_lookup_val | |
endif | |
return '' | |
FUNCTION <SNR>93_CheckExCtagsVersion() | |
Called 1 time | |
Total time: 0.000286 | |
Self time: 0.000228 | |
count total (s) self (s) | |
1 0.000055 0.000023 call s:debug('Checking Exuberant Ctags version') | |
1 0.000032 if a:output =~ 'Exuberant Ctags Development' | |
call s:debug("Found development version, assuming compatibility") | |
return 1 | |
endif | |
1 0.000082 let matchlist = matchlist(a:output, '\vExuberant Ctags (\d+)\.(\d+)') | |
1 0.000014 let major = matchlist[1] | |
1 0.000008 let minor = matchlist[2] | |
1 0.000054 0.000028 call s:debug("Ctags version: major='" . major . "', minor='" . minor . "'") | |
1 0.000010 return major >= 6 || (major == 5 && minor >= 5) | |
FUNCTION <SNR>93_EscapeCtagsCmd() | |
Called 2 times | |
Total time: 0.001203 | |
Self time: 0.001054 | |
count total (s) self (s) | |
2 0.000076 0.000034 call s:debug('EscapeCtagsCmd called') | |
2 0.000065 0.000030 call s:debug('ctags_bin: ' . a:ctags_bin) | |
2 0.000019 if type(a:args)==type('') | |
2 0.000062 0.000028 call s:debug('ctags_args (is a string): ' . a:args) | |
2 0.000013 elseif type(a:args)==type([]) | |
call s:debug('ctags_args (is a list): ' . string(a:args)) | |
endif | |
2 0.000014 if exists('+shellslash') | |
2 0.000012 let shellslash_save = &shellslash | |
2 0.000094 set noshellslash | |
2 0.000005 endif | |
"Set up 0th argument of ctags_cmd | |
"a:ctags_bin may have special characters that require escaping. | |
2 0.000099 if &shell =~ 'cmd\.exe$' && a:ctags_bin !~ '\s' | |
"For windows cmd.exe, escaping the 0th argument can cause | |
"problems if it references a batch file and the batch file uses %~dp0. | |
"So for windows cmd.exe, only escape the 0th argument iff necessary. | |
"Only known necessary case is when ctags_bin executable filename has | |
"whitespace character(s). | |
" Example: If 0th argument is wrapped in double quotes AND it is not | |
" an absolute path to ctags_bin, but rather an executable in %PATH%, | |
" then %~dp0 resolves to the current working directory rather than | |
" the batch file's directory. Batch files like this generally exepect | |
" and depend on %~dp0 to resolve the batch file's directory. | |
" Note: Documentation such as `help cmd.exe` and | |
" http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/cmd.mspx?mfr=true | |
" suggest other special characters that require escaping for command | |
" line completion. But tagbar.vim does not use the command line | |
" completion feature of cmd.exe and testing shows that the only special | |
" character that needs to be escaped for tagbar.vim is <space> for | |
" windows cmd.exe. | |
2 0.000015 let ctags_cmd = a:ctags_bin | |
2 0.000004 else | |
let ctags_cmd = shellescape(a:ctags_bin) | |
endif | |
"Add additional arguments to ctags_cmd | |
2 0.000014 if type(a:args)==type('') | |
"When a:args is a string, append the arguments | |
"Note: In this case, do not attempt to shell escape a:args string. | |
"This function expects the string to already be escaped properly for | |
"the shell type. Why not escape? Because it could be ambiguous about | |
"whether a space is an argument separator or included in the argument. | |
"Since escaping rules vary from shell to shell, it is better to pass a | |
"list of arguments to a:args. With a list, each argument is clearly | |
"separated, so shellescape() can calculate the appropriate escaping | |
"for each argument for the current &shell. | |
2 0.000017 let ctags_cmd .= ' ' . a:args | |
2 0.000011 elseif type(a:args)==type([]) | |
"When a:args is a list, shellescape() each argument and append ctags_cmd | |
"Note: It's a better practice to shellescape() each argument separately so that | |
"spaces used as a separator between arguments can be distinguished with | |
"spaces used inside a single argument. | |
for arg in a:args | |
let ctags_cmd .= ' ' . shellescape(arg) | |
endfor | |
endif | |
"if a filename was specified, add filename as final argument to ctags_cmd. | |
2 0.000007 if a:0 == 1 | |
let ctags_cmd .= ' ' . shellescape(a:1) | |
endif | |
2 0.000011 if exists('+shellslash') | |
2 0.000071 let &shellslash = shellslash_save | |
2 0.000004 endif | |
" Needed for cases where 'encoding' is different from the system's | |
" encoding | |
2 0.000028 if has('multi_byte') | |
2 0.000018 if g:tagbar_systemenc != &encoding | |
let ctags_cmd = iconv(ctags_cmd, &encoding, g:tagbar_systemenc) | |
elseif $LANG != '' | |
let ctags_cmd = iconv(ctags_cmd, &encoding, $LANG) | |
endif | |
2 0.000003 endif | |
2 0.000078 0.000041 call s:debug('Escaped ctags command: ' . ctags_cmd) | |
2 0.000008 if ctags_cmd == '' | |
echoerr 'Tagbar: Encoding conversion failed!' 'Please make sure your system is set up correctly' 'and that Vim is compiled with the "+iconv" feature.' | |
endif | |
2 0.000007 return ctags_cmd | |
FUNCTION fugitive#extract_git_dir() | |
Called 2 times | |
Total time: 0.004680 | |
Self time: 0.003570 | |
count total (s) self (s) | |
2 0.000275 0.000058 if s:shellslash(a:path) =~# '^fugitive://.*//' | |
return matchstr(s:shellslash(a:path), '\C^fugitive://\zs.\{-\}\ze//') | |
endif | |
2 0.000523 0.000402 let root = s:shellslash(simplify(fnamemodify(a:path, ':p:s?[\/]$??'))) | |
2 0.000008 let previous = "" | |
8 0.000039 while root !=# previous | |
6 0.000113 if root =~# '\v^//%([^/]+/?)?$' | |
" This is for accessing network shares from Cygwin Vim. There won't be | |
" any git directory called //.git or //serverName/.git so let's avoid | |
" checking for them since such checks are extremely slow. | |
break | |
endif | |
6 0.000227 if index(split($GIT_CEILING_DIRECTORIES, ':'), root) >= 0 | |
break | |
endif | |
6 0.000177 if root ==# $GIT_WORK_TREE && fugitive#is_git_dir($GIT_DIR) | |
return $GIT_DIR | |
endif | |
6 0.000225 0.000092 let dir = s:sub(root, '[\/]$', '') . '/.git' | |
6 0.001699 let type = getftype(dir) | |
6 0.000054 if type ==# 'dir' && fugitive#is_git_dir(dir) | |
return dir | |
elseif type ==# 'link' && fugitive#is_git_dir(dir) | |
return resolve(dir) | |
elseif type !=# '' && filereadable(dir) | |
let line = get(readfile(dir, '', 1), 0, '') | |
if line =~# '^gitdir: \.' && fugitive#is_git_dir(root.'/'.line[8:-1]) | |
return simplify(root.'/'.line[8:-1]) | |
elseif line =~# '^gitdir: ' && fugitive#is_git_dir(line[8:-1]) | |
return line[8:-1] | |
endif | |
elseif fugitive#is_git_dir(root) | |
return root | |
endif | |
6 0.000026 let previous = root | |
6 0.000048 let root = fnamemodify(root, ':h') | |
6 0.000015 endwhile | |
2 0.000003 return '' | |
FUNCTION <SNR>90__isDebugEnabled_smart() | |
Called 2 times | |
Total time: 0.000016 | |
Self time: 0.000016 | |
count total (s) self (s) | |
2 0.000013 return and(g:syntastic_debug, a:level) | |
FUNCTION ctrlp#utils#mkdir() | |
Called 1 time | |
Total time: 0.000141 | |
Self time: 0.000141 | |
count total (s) self (s) | |
1 0.000126 if exists('*mkdir') && !isdirectory(a:dir) | |
sil! cal mkdir(a:dir, 'p') | |
en | |
1 0.000003 retu a:dir | |
FUNCTION airline#extensions#branch#get_head() | |
Called 3 times | |
Total time: 0.007352 | |
Self time: 0.000149 | |
count total (s) self (s) | |
3 0.007255 0.000052 let head = airline#extensions#branch#head() | |
3 0.000034 let empty_message = get(g:, 'airline#extensions#branch#empty_message', get(g:, 'airline_branch_empty_message', '')) | |
3 0.000023 let symbol = get(g:, 'airline#extensions#branch#symbol', g:airline_symbols.branch) | |
3 0.000030 return empty(head) ? empty_message : printf('%s%s', empty(symbol) ? '' : symbol.(g:airline_symbols.space), head) | |
FUNCTION <SNR>59_chop() | |
Called 1 time | |
Total time: 0.000022 | |
Self time: 0.000022 | |
count total (s) self (s) | |
1 0.000017 if len(a:mrufs) > {s:max} | cal remove(a:mrufs, {s:max}, -1) | en | |
1 0.000002 retu a:mrufs | |
FUNCTION <SNR>82_get_buffer_list() | |
Called 4 times | |
Total time: 0.000448 | |
Self time: 0.000448 | |
count total (s) self (s) | |
4 0.000019 let buffers = [] | |
4 0.000024 let cur = bufnr('%') | |
8 0.000051 for nr in range(1, bufnr('$')) | |
4 0.000026 if buflisted(nr) && bufexists(nr) | |
4 0.000017 for ex in s:excludes | |
if match(bufname(nr), ex) | |
continue | |
endif | |
endfor | |
4 0.000028 if getbufvar(nr, 'current_syntax') == 'qf' | |
continue | |
endif | |
4 0.000030 call add(buffers, nr) | |
4 0.000006 endif | |
4 0.000007 endfor | |
4 0.000022 let s:current_buffer_list = buffers | |
4 0.000013 return buffers | |
FUNCTION 94() | |
Called 3 times | |
Total time: 0.000042 | |
Self time: 0.000042 | |
count total (s) self (s) | |
3 0.000010 let self._side = 0 | |
3 0.000029 let self._line .= '%#'.self._curgroup.'#'.(a:0 ? a:1 : '%=') | |
FUNCTION <SNR>64_LocalBrowse() | |
Called 1 time | |
Total time: 0.000086 | |
Self time: 0.000086 | |
count total (s) self (s) | |
" Unfortunate interaction -- only DechoMsg debugging calls can be safely used here. | |
" Otherwise, the BufEnter event gets triggered when attempts to write to | |
" the DBG buffer are made. | |
1 0.000009 if !exists("s:vimentered") | |
" If s:vimentered doesn't exist, then the VimEnter event hasn't fired. It will, | |
" and so s:VimEnter() will then be calling this routine, but this time with s:vimentered defined. | |
" call Dfunc("s:LocalBrowse(dirname<".a:dirname.">) (s:vimentered doesn't exist)") | |
" call Dret("s:LocalBrowse") | |
return | |
endif | |
" call Dfunc("s:LocalBrowse(dirname<".a:dirname.">) (s:vimentered=".s:vimentered.")") | |
1 0.000011 if has("amiga") | |
" The check against '' is made for the Amiga, where the empty | |
" string is the current directory and not checking would break | |
" things such as the help command. | |
" call Decho("(LocalBrowse) dirname<".a:dirname."> (isdirectory, amiga)") | |
if a:dirname != '' && isdirectory(a:dirname) | |
sil! call netrw#LocalBrowseCheck(a:dirname) | |
if exists("w:netrw_bannercnt") | |
exe w:netrw_bannercnt | |
endif | |
endif | |
elseif isdirectory(a:dirname) | |
" call Decho("(LocalBrowse) dirname<".a:dirname."> ft=".&ft." (isdirectory, not amiga)") | |
" call Dredir("LocalBrowse ft last set: ","verbose set ft") | |
sil! call netrw#LocalBrowseCheck(a:dirname) | |
if exists("w:netrw_bannercnt") | |
exe w:netrw_bannercnt | |
endif | |
else | |
" not a directory, ignore it | |
" call Decho("(LocalBrowse) dirname<".a:dirname."> not a directory, ignoring...") | |
1 0.000001 endif | |
" call Dret("s:LocalBrowse") | |
FUNCTION airline#parts#ffenc() | |
Called 3 times | |
Total time: 0.000072 | |
Self time: 0.000072 | |
count total (s) self (s) | |
3 0.000068 return printf('%s%s', &fenc, strlen(&ff) > 0 ? '['.&ff.']' : '') | |
FUNCTION airline#extensions#ctrlp#apply() | |
Called 2 times | |
Total time: 0.000049 | |
Self time: 0.000049 | |
count total (s) self (s) | |
" disable statusline overwrite if ctrlp already did it | |
2 0.000044 return match(&statusline, 'CtrlPwhite') >= 0 ? -1 : 0 | |
FUNCTION airline#parts#readonly() | |
Called 3 times | |
Total time: 0.000027 | |
Self time: 0.000027 | |
count total (s) self (s) | |
3 0.000024 return &readonly ? g:airline_symbols.readonly : '' | |
FUNCTION ctrlp#utils#opts() | |
Called 1 time | |
Total time: 0.000277 | |
Self time: 0.000199 | |
count total (s) self (s) | |
1 0.000041 0.000022 let s:lash = ctrlp#utils#lash() | |
1 0.000054 0.000022 let usrhome = $HOME . s:lash( $HOME ) | |
1 0.000041 let cahome = exists('$XDG_CACHE_HOME') ? $XDG_CACHE_HOME : usrhome.'.cache' | |
1 0.000104 0.000078 let cadir = isdirectory(usrhome.'.ctrlp_cache') ? usrhome.'.ctrlp_cache' : cahome.s:lash(cahome).'ctrlp' | |
1 0.000006 if exists('g:ctrlp_cache_dir') | |
let cadir = expand(g:ctrlp_cache_dir, 1) | |
if isdirectory(cadir.s:lash(cadir).'.ctrlp_cache') | |
let cadir = cadir.s:lash(cadir).'.ctrlp_cache' | |
en | |
en | |
1 0.000005 let s:cache_dir = cadir | |
FUNCTION <SNR>94_lash() | |
Called 2 times | |
Total time: 0.000058 | |
Self time: 0.000058 | |
count total (s) self (s) | |
2 0.000056 retu ( a:0 ? a:1 : getcwd() ) !~ '[\/]$' ? s:lash : '' | |
FUNCTION ctrlp#utils#lash() | |
Called 3 times | |
Total time: 0.000039 | |
Self time: 0.000039 | |
count total (s) self (s) | |
3 0.000036 retu &ssl || !exists('+ssl') ? '/' : '\' | |
FUNCTION tagbar#currenttag() | |
Called 1 time | |
Total time: 0.704093 | |
Self time: 0.000265 | |
count total (s) self (s) | |
" Indicate that the statusline functionality is being used. This prevents | |
" the CloseWindow() function from removing the autocommands. | |
1 0.000032 let s:statusline_in_use = 1 | |
1 0.000008 if a:0 > 0 | |
" also test for non-zero value for backwards compatibility | |
1 0.000064 let longsig = a:1 =~# 's' || (type(a:1) == type(0) && a:1 != 0) | |
1 0.000014 let fullpath = a:1 =~# 'f' | |
1 0.000010 let prototype = a:1 =~# 'p' | |
1 0.000004 else | |
let longsig = 0 | |
let fullpath = 0 | |
let prototype = 0 | |
endif | |
1 0.703864 0.000044 if !s:Init(1) | |
return a:default | |
endif | |
1 0.000028 0.000021 let tag = s:GetNearbyTag(0, 1) | |
1 0.000005 if !empty(tag) | |
if prototype | |
return tag.getPrototype(1) | |
else | |
return printf(a:fmt, tag.str(longsig, fullpath)) | |
endif | |
else | |
1 0.000003 return a:default | |
endif | |
FUNCTION <SNR>84_exec_separator() | |
Called 14 times | |
Total time: 0.009184 | |
Self time: 0.001100 | |
count total (s) self (s) | |
14 0.003571 0.000224 let l:from = airline#themes#get_highlight(a:from.a:suffix) | |
14 0.003411 0.000201 let l:to = airline#themes#get_highlight(a:to.a:suffix) | |
14 0.000090 let group = a:from.'_to_'.a:to.a:suffix | |
14 0.000027 if a:inverse | |
5 0.000051 let colors = [ l:from[1], l:to[1], l:from[3], l:to[3] ] | |
5 0.000007 else | |
9 0.000081 let colors = [ l:to[1], l:from[1], l:to[3], l:from[3] ] | |
9 0.000012 endif | |
14 0.000073 let a:dict[group] = colors | |
14 0.001725 0.000198 call airline#highlighter#exec(group, colors) | |
FUNCTION <SNR>59_mergelists() | |
Called 1 time | |
Total time: 0.010101 | |
Self time: 0.000742 | |
count total (s) self (s) | |
1 0.009370 0.000032 let diskmrufs = ctrlp#utils#readfile(ctrlp#mrufiles#cachefile()) | |
1 0.000594 cal filter(diskmrufs, 'index(s:mrufs, v:val) < 0') | |
1 0.000090 let mrufs = s:mrufs + diskmrufs | |
1 0.000043 0.000022 retu s:chop(mrufs) | |
FUNCTION airline#parts#paste() | |
Called 3 times | |
Total time: 0.000022 | |
Self time: 0.000022 | |
count total (s) self (s) | |
3 0.000017 return g:airline_detect_paste && &paste ? g:airline_symbols.paste : '' | |
FUNCTION airline#update_statusline() | |
Called 2 times | |
Total time: 0.015016 | |
Self time: 0.000305 | |
count total (s) self (s) | |
2 0.000040 for nr in filter(range(1, winnr('$')), 'v:val != winnr()') | |
call setwinvar(nr, 'airline_active', 0) | |
let context = { 'winnr': nr, 'active': 0, 'bufnr': winbufnr(nr) } | |
call s:invoke_funcrefs(context, s:inactive_funcrefs) | |
endfor | |
2 0.000008 unlet! w:airline_render_left | |
2 0.000004 unlet! w:airline_render_right | |
18 0.000039 for section in s:sections | |
16 0.000058 unlet! w:airline_section_{section} | |
16 0.000018 endfor | |
2 0.000007 let w:airline_active = 1 | |
2 0.000024 let context = { 'winnr': winnr(), 'active': 1, 'bufnr': winbufnr(winnr()) } | |
2 0.014753 0.000043 call s:invoke_funcrefs(context, g:airline_statusline_funcrefs) | |
FUNCTION ctrlp#utils#cachedir() | |
Called 1 time | |
Total time: 0.000007 | |
Self time: 0.000007 | |
count total (s) self (s) | |
1 0.000006 retu s:cache_dir | |
FUNCTION SyntasticLoclistHide() | |
Called 1 time | |
Total time: 0.000034 | |
Self time: 0.000016 | |
count total (s) self (s) | |
1 0.000028 0.000010 call syntastic#log#debug(g:SyntasticDebugNotifications, 'loclist: hide') | |
1 0.000004 silent! lclose | |
FUNCTION <SNR>80_get_git_branch() | |
Called 3 times | |
Total time: 0.002657 | |
Self time: 0.000169 | |
count total (s) self (s) | |
3 0.000055 if has_key(s:git_dirs, a:path) | |
2 0.000013 return s:git_dirs[a:path] | |
endif | |
1 0.002505 0.000017 let dir = fugitive#extract_git_dir(a:path) | |
1 0.000004 if empty(dir) | |
1 0.000003 let name = '' | |
1 0.000001 else | |
try | |
let line = join(readfile(dir . '/HEAD')) | |
if strpart(line, 0, 16) == 'ref: refs/heads/' | |
let name = strpart(line, 16) | |
else | |
" raw commit hash | |
let name = strpart(line, 0, 7) | |
endif | |
catch | |
let name = '' | |
endtry | |
endif | |
1 0.000008 let s:git_dirs[a:path] = name | |
1 0.000002 return name | |
FUNCTION <SNR>84_get_syn() | |
Called 56 times | |
Total time: 0.003129 | |
Self time: 0.003129 | |
count total (s) self (s) | |
" need to pass in mode, known to break on 7.3.547 | |
56 0.000664 let mode = has('gui_running') ? 'gui' : 'cterm' | |
56 0.000645 let color = synIDattr(synIDtrans(hlID(a:group)), a:what, mode) | |
56 0.000248 if empty(color) || color == -1 | |
2 0.000038 let color = synIDattr(synIDtrans(hlID('Normal')), a:what, mode) | |
2 0.000004 endif | |
56 0.000202 if empty(color) || color == -1 | |
if has('gui_running') | |
let color = a:what ==# 'fg' ? '#000000' : '#FFFFFF' | |
else | |
let color = a:what ==# 'fg' ? 0 : 1 | |
endif | |
endif | |
56 0.000114 return color | |
FUNCTION airline#highlighter#exec() | |
Called 14 times | |
Total time: 0.001526 | |
Self time: 0.001351 | |
count total (s) self (s) | |
14 0.000047 let colors = a:colors | |
14 0.000032 if s:is_win32term | |
14 0.000365 0.000270 let colors[2] = s:gui2cui(get(colors, 0, ''), get(colors, 2, '')) | |
14 0.000322 0.000241 let colors[3] = s:gui2cui(get(colors, 1, ''), get(colors, 3, '')) | |
14 0.000019 endif | |
14 0.000690 exec printf('hi %s %s %s %s %s %s %s %s', a:group, get(colors, 0, '') != '' ? 'guifg='.colors[0] : '', get(colors, 1, '') != '' ? 'guibg='.colors[1] : '', get(colors, 2, '') != '' ? 'ctermfg='.colors[2] : '', get(colors, 3, '') != '' ? 'ctermbg='.colors[3] : '', get(colors, 4, '') != '' ? 'gui='.colors[4] : '', get(colors, 4, '') != '' ? 'cterm='.colors[4] : '', get(colors, 4, '') != '' ? 'term='.colors[4] : '') | |
FUNCTION airline#extensions#tabline#default#wrap_name() | |
Called 3 times | |
Total time: 0.000164 | |
Self time: 0.000164 | |
count total (s) self (s) | |
3 0.000026 let _ = s:buf_nr_show ? printf(s:buf_nr_format, a:bufnr) : '' | |
3 0.000073 let _ .= substitute(a:buffer_name, '\\', '/', 'g') | |
3 0.000030 if getbufvar(a:bufnr, '&modified') == 1 | |
let _ .= s:buf_modified_symbol | |
endif | |
3 0.000007 return _ | |
FUNCTION <SNR>75_sync_active_winnr() | |
Called 1 time | |
Total time: 0.000016 | |
Self time: 0.000016 | |
count total (s) self (s) | |
1 0.000009 if exists('#airline') && winnr() != s:active_winnr | |
call airline#update_statusline() | |
endif | |
FUNCTION <SNR>64_VimEnter() | |
Called 1 time | |
Total time: 0.001194 | |
Self time: 0.001108 | |
count total (s) self (s) | |
" call Dfunc("s:VimEnter(dirname<".a:dirname.">) expand(%)<".expand("%").">") | |
1 0.000006 let curwin = winnr() | |
1 0.000004 let s:vimentered = 1 | |
1 0.001168 0.001082 windo call s:LocalBrowse(expand("%:p")) | |
1 0.000011 exe curwin."wincmd w" | |
" call Dret("s:VimEnter") | |
FUNCTION <SNR>89_build_sections() | |
Called 4 times | |
Total time: 0.013077 | |
Self time: 0.000439 | |
count total (s) self (s) | |
18 0.000047 for key in a:keys | |
14 0.000056 if key == 'warning' && !a:context.active | |
continue | |
endif | |
14 0.012838 0.000199 call s:add_section(a:builder, a:context, key) | |
14 0.000021 endfor | |
FUNCTION <SNR>93_InitTypes() | |
Called 1 time | |
Total time: 0.066719 | |
Self time: 0.038673 | |
count total (s) self (s) | |
1 0.000032 0.000013 call s:debug('Initializing types') | |
1 0.000006 let s:known_types = {} | |
" Ant {{{3 | |
1 0.000051 0.000019 let type_ant = s:TypeInfo.New() | |
1 0.000004 let type_ant.ctagstype = 'ant' | |
1 0.000016 let type_ant.kinds = [ {'short' : 'p', 'long' : 'projects', 'fold' : 0, 'stl' : 1}, {'short' : 't', 'long' : 'targets', 'fold' : 0, 'stl' : 1} ] | |
1 0.000004 let s:known_types.ant = type_ant | |
" Asm {{{3 | |
1 0.000034 0.000011 let type_asm = s:TypeInfo.New() | |
1 0.000004 let type_asm.ctagstype = 'asm' | |
1 0.000021 let type_asm.kinds = [ {'short' : 'm', 'long' : 'macros', 'fold' : 0, 'stl' : 1}, {'short' : 't', 'long' : 'types', 'fold' : 0, 'stl' : 1}, {'short' : 'd', 'long' : 'defines', 'fold' : 0, 'stl' : 1}, {'short' : 'l', 'long' : 'labels', 'fold' : 0, 'stl' : 1} ] | |
1 0.000004 let s:known_types.asm = type_asm | |
" ASP {{{3 | |
1 0.000031 0.000010 let type_aspvbs = s:TypeInfo.New() | |
1 0.000004 let type_aspvbs.ctagstype = 'asp' | |
1 0.000024 let type_aspvbs.kinds = [ {'short' : 'd', 'long' : 'constants', 'fold' : 0, 'stl' : 1}, {'short' : 'c', 'long' : 'classes', 'fold' : 0, 'stl' : 1}, {'short' : 'f', 'long' : 'functions', 'fold' : 0, 'stl' : 1}, {'short' : 's', 'long' : 'subroutines', 'fold' : 0, 'stl' : 1}, {'short' : 'v', 'long' : 'variables', 'fold' : 0, 'stl' : 1} ] | |
1 0.000004 let s:known_types.aspvbs = type_aspvbs | |
" Awk {{{3 | |
1 0.000030 0.000009 let type_awk = s:TypeInfo.New() | |
1 0.000004 let type_awk.ctagstype = 'awk' | |
1 0.000008 let type_awk.kinds = [ {'short' : 'f', 'long' : 'functions', 'fold' : 0, 'stl' : 1} ] | |
1 0.000004 let s:known_types.awk = type_awk | |
" Basic {{{3 | |
1 0.000030 0.000010 let type_basic = s:TypeInfo.New() | |
1 0.000004 let type_basic.ctagstype = 'basic' | |
1 0.000029 let type_basic.kinds = [ {'short' : 'c', 'long' : 'constants', 'fold' : 0, 'stl' : 1}, {'short' : 'g', 'long' : 'enumerations', 'fold' : 0, 'stl' : 1}, {'short' : 'f', 'long' : 'functions', 'fold' : 0, 'stl' : 1}, {'short' : 'l', 'long' : 'labels', 'fold' : 0, 'stl' : 1}, {'short' : 't', 'long' : 'types', 'fold' : 0, 'stl' : 1}, {'short' : 'v', 'long' : 'variables', 'fold' : 0, 'stl' : 1} ] | |
1 0.000004 let s:known_types.basic = type_basic | |
" BETA {{{3 | |
1 0.000030 0.000009 let type_beta = s:TypeInfo.New() | |
1 0.000004 let type_beta.ctagstype = 'beta' | |
1 0.000016 let type_beta.kinds = [ {'short' : 'f', 'long' : 'fragments', 'fold' : 0, 'stl' : 1}, {'short' : 's', 'long' : 'slots', 'fold' : 0, 'stl' : 1}, {'short' : 'v', 'long' : 'patterns', 'fold' : 0, 'stl' : 1} ] | |
1 0.000004 let s:known_types.beta = type_beta | |
" C {{{3 | |
1 0.000030 0.000009 let type_c = s:TypeInfo.New() | |
1 0.000004 let type_c.ctagstype = 'c' | |
1 0.000061 let type_c.kinds = [ {'short' : 'd', 'long' : 'macros', 'fold' : 1, 'stl' : 0}, {'short' : 'p', 'long' : 'prototypes', 'fold' : 1, 'stl' : 0}, {'short' : 'g', 'long' : 'enums', 'fold' : 0, 'stl' : 1}, {'short' : 'e', 'long' : 'enumerators', 'fold' : 0, 'stl' : 0}, {'short' : 't', 'long' : 'typedefs', 'fold' : 0, 'stl' : 0}, {'short' : 's', 'long' : 'structs', 'fold' : 0, 'stl' : 1}, {'short' : 'u', 'long' : 'unions', 'fold' : 0, 'stl' : 1}, {'short' : 'm', 'long' : 'members', 'fold' : 0, 'stl' : 0}, {'short' : 'v', 'long' : 'variables', 'fold' : 0, 'stl' : 0}, {'short' : 'f', 'long' : 'functions', 'fold' : 0, 'stl' : 1} ] | |
1 0.000004 let type_c.sro = '::' | |
1 0.000007 let type_c.kind2scope = { 'g' : 'enum', 's' : 'struct', 'u' : 'union' } | |
1 0.000007 let type_c.scope2kind = { 'enum' : 'g', 'struct' : 's', 'union' : 'u' } | |
1 0.000004 let s:known_types.c = type_c | |
" C++ {{{3 | |
1 0.000031 0.000009 let type_cpp = s:TypeInfo.New() | |
1 0.000004 let type_cpp.ctagstype = 'c++' | |
1 0.000052 let type_cpp.kinds = [ {'short' : 'd', 'long' : 'macros', 'fold' : 1, 'stl' : 0}, {'short' : 'p', 'long' : 'prototypes', 'fold' : 1, 'stl' : 0}, {'short' : 'g', 'long' : 'enums', 'fold' : 0, 'stl' : 1}, {'short' : 'e', 'long' : 'enumerators', 'fold' : 0, 'stl' : 0}, {'short' : 't', 'long' : 'typedefs', 'fold' : 0, 'stl' : 0}, {'short' : 'n', 'long' : 'namespaces', 'fold' : 0, 'stl' : 1}, {'short' : 'c', 'long' : 'classes', 'fold' : 0, 'stl' : 1}, {'short' : 's', 'long' : 'structs', 'fold' : 0, 'stl' : 1}, {'short' : 'u', 'long' : 'unions', 'fold' : 0, 'stl' : 1}, {'short' : 'f', 'long' : 'functions', 'fold' : 0, 'stl' : 1}, {'short' : 'm', 'long' : 'members', 'fold' : 0, 'stl' : 0}, {'short' : 'v', 'long' : 'variables', 'fold' : 0, 'stl' : 0} ] | |
1 0.000003 let type_cpp.sro = '::' | |
1 0.000009 let type_cpp.kind2scope = { 'g' : 'enum', 'n' : 'namespace', 'c' : 'class', 's' : 'struct', 'u' : 'union' } | |
1 0.000009 let type_cpp.scope2kind = { 'enum' : 'g', 'namespace' : 'n', 'class' : 'c', 'struct' : 's', 'union' : 'u' } | |
1 0.000004 let s:known_types.cpp = type_cpp | |
" C# {{{3 | |
1 0.000037 0.000009 let type_cs = s:TypeInfo.New() | |
1 0.000004 let type_cs.ctagstype = 'c#' | |
1 0.000051 let type_cs.kinds = [ {'short' : 'd', 'long' : 'macros', 'fold' : 1, 'stl' : 0}, {'short' : 'f', 'long' : 'fields', 'fold' : 0, 'stl' : 1}, {'short' : 'g', 'long' : 'enums', 'fold' : 0, 'stl' : 1}, {'short' : 'e', 'long' : 'enumerators', 'fold' : 0, 'stl' : 0}, {'short' : 't', 'long' : 'typedefs', 'fold' : 0, 'stl' : 1}, {'short' : 'n', 'long' : 'namespaces', 'fold' : 0, 'stl' : 1}, {'short' : 'i', 'long' : 'interfaces', 'fold' : 0, 'stl' : 1}, {'short' : 'c', 'long' : 'classes', 'fold' : 0, 'stl' : 1}, {'short' : 's', 'long' : 'structs', 'fold' : 0, 'stl' : 1}, {'short' : 'E', 'long' : 'events', 'fold' : 0, 'stl' : 1}, {'short' : 'm', 'long' : 'methods', 'fold' : 0, 'stl' : 1}, {'short' : 'p', 'long' : 'properties', 'fold' : 0, 'stl' : 1} ] | |
1 0.000003 let type_cs.sro = '.' | |
1 0.000008 let type_cs.kind2scope = { 'n' : 'namespace', 'i' : 'interface', 'c' : 'class', 's' : 'struct', 'g' : 'enum' } | |
1 0.000009 let type_cs.scope2kind = { 'namespace' : 'n', 'interface' : 'i', 'class' : 'c', 'struct' : 's', 'enum' : 'g' } | |
1 0.000004 let s:known_types.cs = type_cs | |
" COBOL {{{3 | |
1 0.000032 0.000010 let type_cobol = s:TypeInfo.New() | |
1 0.000004 let type_cobol.ctagstype = 'cobol' | |
1 0.000029 let type_cobol.kinds = [ {'short' : 'd', 'long' : 'data items', 'fold' : 0, 'stl' : 1}, {'short' : 'f', 'long' : 'file descriptions', 'fold' : 0, 'stl' : 1}, {'short' : 'g', 'long' : 'group items', 'fold' : 0, 'stl' : 1}, {'short' : 'p', 'long' : 'paragraphs', 'fold' : 0, 'stl' : 1}, {'short' : 'P', 'long' : 'program ids', 'fold' : 0, 'stl' : 1}, {'short' : 's', 'long' : 'sections', 'fold' : 0, 'stl' : 1} ] | |
1 0.000004 let s:known_types.cobol = type_cobol | |
" DOS Batch {{{3 | |
1 0.000030 0.000009 let type_dosbatch = s:TypeInfo.New() | |
1 0.000004 let type_dosbatch.ctagstype = 'dosbatch' | |
1 0.000012 let type_dosbatch.kinds = [ {'short' : 'l', 'long' : 'labels', 'fold' : 0, 'stl' : 1}, {'short' : 'v', 'long' : 'variables', 'fold' : 0, 'stl' : 1} ] | |
1 0.000004 let s:known_types.dosbatch = type_dosbatch | |
" Eiffel {{{3 | |
1 0.000030 0.000010 let type_eiffel = s:TypeInfo.New() | |
1 0.000004 let type_eiffel.ctagstype = 'eiffel' | |
1 0.000012 let type_eiffel.kinds = [ {'short' : 'c', 'long' : 'classes', 'fold' : 0, 'stl' : 1}, {'short' : 'f', 'long' : 'features', 'fold' : 0, 'stl' : 1} ] | |
1 0.000003 let type_eiffel.sro = '.' " Not sure, is nesting even possible? | |
1 0.000006 let type_eiffel.kind2scope = { 'c' : 'class', 'f' : 'feature' } | |
1 0.000006 let type_eiffel.scope2kind = { 'class' : 'c', 'feature' : 'f' } | |
1 0.000004 let s:known_types.eiffel = type_eiffel | |
" Erlang {{{3 | |
1 0.000029 0.000009 let type_erlang = s:TypeInfo.New() | |
1 0.000004 let type_erlang.ctagstype = 'erlang' | |
1 0.000023 let type_erlang.kinds = [ {'short' : 'm', 'long' : 'modules', 'fold' : 0, 'stl' : 1}, {'short' : 'd', 'long' : 'macro definitions', 'fold' : 0, 'stl' : 1}, {'short' : 'f', 'long' : 'functions', 'fold' : 0, 'stl' : 1}, {'short' : 'r', 'long' : 'record definitions', 'fold' : 0, 'stl' : 1} ] | |
1 0.000003 let type_erlang.sro = '.' " Not sure, is nesting even possible? | |
1 0.000005 let type_erlang.kind2scope = { 'm' : 'module' } | |
1 0.000005 let type_erlang.scope2kind = { 'module' : 'm' } | |
1 0.000004 let s:known_types.erlang = type_erlang | |
" Flex {{{3 | |
" Vim doesn't support Flex out of the box, this is based on rough | |
" guesses and probably requires | |
" http://www.vim.org/scripts/script.php?script_id=2909 | |
" Improvements welcome! | |
1 0.000029 0.000009 let type_as = s:TypeInfo.New() | |
1 0.000004 let type_as.ctagstype = 'flex' | |
1 0.000028 let type_as.kinds = [ {'short' : 'v', 'long' : 'global variables', 'fold' : 0, 'stl' : 0}, {'short' : 'c', 'long' : 'classes', 'fold' : 0, 'stl' : 1}, {'short' : 'm', 'long' : 'methods', 'fold' : 0, 'stl' : 1}, {'short' : 'p', 'long' : 'properties', 'fold' : 0, 'stl' : 1}, {'short' : 'f', 'long' : 'functions', 'fold' : 0, 'stl' : 1}, {'short' : 'x', 'long' : 'mxtags', 'fold' : 0, 'stl' : 0} ] | |
1 0.000003 let type_as.sro = '.' | |
1 0.000004 let type_as.kind2scope = { 'c' : 'class' } | |
1 0.000005 let type_as.scope2kind = { 'class' : 'c' } | |
1 0.000004 let s:known_types.mxml = type_as | |
1 0.000005 let s:known_types.actionscript = type_as | |
" Fortran {{{3 | |
1 0.000031 0.000010 let type_fortran = s:TypeInfo.New() | |
1 0.000004 let type_fortran.ctagstype = 'fortran' | |
1 0.000104 let type_fortran.kinds = [ {'short' : 'm', 'long' : 'modules', 'fold' : 0, 'stl' : 1}, {'short' : 'p', 'long' : 'programs', 'fold' : 0, 'stl' : 1}, {'short' : 'k', 'long' : 'components', 'fold' : 0, 'stl' : 1}, {'short' : 't', 'long' : 'derived types and structures', 'fold' : 0, 'stl' : 1}, {'short' : 'c', 'long' : 'common blocks', 'fold' : 0, 'stl' : 1}, {'short' : 'b', 'long' : 'block data', 'fold' : 0, 'stl' : 0}, {'short' : 'e', 'long' : 'entry points', 'fold' : 0, 'stl' : 1}, {'short' : 'f', 'long' : 'functions', 'fold' : 0, 'stl' : 1}, {'short' : 's', 'long' : 'subroutines', 'fold' : 0, 'stl' : 1}, {'short' : 'l', 'long' : 'labels', 'fold' : 0, 'stl' : 1}, {'short' : 'n', 'long' : 'namelists', 'fold' : 0, 'stl' : 1}, {'short' : 'v', 'long' : 'variables', 'fold' : 0, 'stl' : 0} ] | |
1 0.000004 let type_fortran.sro = '.' " Not sure, is nesting even possible? | |
1 0.000008 let type_fortran.kind2scope = { 'm' : 'module', 'p' : 'program', 'f' : 'function', 's' : 'subroutine' } | |
1 0.000009 let type_fortran.scope2kind = { 'module' : 'm', 'program' : 'p', 'function' : 'f', 'subroutine' : 's' } | |
1 0.000004 let s:known_types.fortran = type_fortran | |
" HTML {{{3 | |
1 0.000032 0.000010 let type_html = s:TypeInfo.New() | |
1 0.000004 let type_html.ctagstype = 'html' | |
1 0.000012 let type_html.kinds = [ {'short' : 'f', 'long' : 'JavaScript funtions', 'fold' : 0, 'stl' : 1}, {'short' : 'a', 'long' : 'named anchors', 'fold' : 0, 'stl' : 1} ] | |
1 0.000004 let s:known_types.html = type_html | |
" Java {{{3 | |
1 0.000051 0.000009 let type_java = s:TypeInfo.New() | |
1 0.000004 let type_java.ctagstype = 'java' | |
1 0.000033 let type_java.kinds = [ {'short' : 'p', 'long' : 'packages', 'fold' : 1, 'stl' : 0}, {'short' : 'f', 'long' : 'fields', 'fold' : 0, 'stl' : 0}, {'short' : 'g', 'long' : 'enum types', 'fold' : 0, 'stl' : 1}, {'short' : 'e', 'long' : 'enum constants', 'fold' : 0, 'stl' : 0}, {'short' : 'i', 'long' : 'interfaces', 'fold' : 0, 'stl' : 1}, {'short' : 'c', 'long' : 'classes', 'fold' : 0, 'stl' : 1}, {'short' : 'm', 'long' : 'methods', 'fold' : 0, 'stl' : 1} ] | |
1 0.000003 let type_java.sro = '.' | |
1 0.000006 let type_java.kind2scope = { 'g' : 'enum', 'i' : 'interface', 'c' : 'class' } | |
1 0.000007 let type_java.scope2kind = { 'enum' : 'g', 'interface' : 'i', 'class' : 'c' } | |
1 0.000004 let s:known_types.java = type_java | |
" JavaScript {{{3 | |
" JavaScript is weird -- it does have scopes, but ctags doesn't seem to | |
" properly generate the information for them, instead it simply uses the | |
" complete name. So ctags has to be fixed before I can do anything here. | |
" Alternatively jsctags/doctorjs will be used if available. | |
1 0.000031 0.000010 let type_javascript = s:TypeInfo.New() | |
1 0.000004 let type_javascript.ctagstype = 'javascript' | |
1 0.020380 0.000036 let jsctags = s:CheckFTCtags('jsctags', 'javascript') | |
1 0.000009 if jsctags != '' | |
let type_javascript.kinds = [ {'short' : 'v', 'long' : 'variables', 'fold' : 0, 'stl' : 0}, {'short' : 'f', 'long' : 'functions', 'fold' : 0, 'stl' : 1} ] | |
let type_javascript.sro = '.' | |
let type_javascript.kind2scope = { 'v' : 'namespace', 'f' : 'namespace' } | |
let type_javascript.scope2kind = { 'namespace' : 'v' } | |
let type_javascript.ctagsbin = jsctags | |
let type_javascript.ctagsargs = '-f -' | |
else | |
1 0.000054 let type_javascript.kinds = [ {'short' : 'v', 'long' : 'global variables', 'fold' : 0, 'stl' : 0}, {'short' : 'c', 'long' : 'classes', 'fold' : 0, 'stl' : 1}, {'short' : 'p', 'long' : 'properties', 'fold' : 0, 'stl' : 0}, {'short' : 'm', 'long' : 'methods', 'fold' : 0, 'stl' : 1}, {'short' : 'f', 'long' : 'functions', 'fold' : 0, 'stl' : 1} ] | |
1 0.000003 endif | |
1 0.000009 let s:known_types.javascript = type_javascript | |
" Lisp {{{3 | |
1 0.000081 0.000027 let type_lisp = s:TypeInfo.New() | |
1 0.000006 let type_lisp.ctagstype = 'lisp' | |
1 0.000016 let type_lisp.kinds = [ {'short' : 'f', 'long' : 'functions', 'fold' : 0, 'stl' : 1} ] | |
1 0.000008 let s:known_types.lisp = type_lisp | |
1 0.000007 let s:known_types.clojure = type_lisp | |
" Lua {{{3 | |
1 0.000061 0.000019 let type_lua = s:TypeInfo.New() | |
1 0.000006 let type_lua.ctagstype = 'lua' | |
1 0.000018 let type_lua.kinds = [ {'short' : 'f', 'long' : 'functions', 'fold' : 0, 'stl' : 1} ] | |
1 0.000008 let s:known_types.lua = type_lua | |
" Make {{{3 | |
1 0.000058 0.000017 let type_make = s:TypeInfo.New() | |
1 0.000006 let type_make.ctagstype = 'make' | |
1 0.000015 let type_make.kinds = [ {'short' : 'm', 'long' : 'macros', 'fold' : 0, 'stl' : 1} ] | |
1 0.000007 let s:known_types.make = type_make | |
" Matlab {{{3 | |
1 0.000060 0.000019 let type_matlab = s:TypeInfo.New() | |
1 0.000006 let type_matlab.ctagstype = 'matlab' | |
1 0.000016 let type_matlab.kinds = [ {'short' : 'f', 'long' : 'functions', 'fold' : 0, 'stl' : 1} ] | |
1 0.000008 let s:known_types.matlab = type_matlab | |
" Ocaml {{{3 | |
1 0.000101 0.000019 let type_ocaml = s:TypeInfo.New() | |
1 0.000006 let type_ocaml.ctagstype = 'ocaml' | |
1 0.000078 let type_ocaml.kinds = [ {'short' : 'M', 'long' : 'modules or functors', 'fold' : 0, 'stl' : 1}, {'short' : 'v', 'long' : 'global variables', 'fold' : 0, 'stl' : 0}, {'short' : 'c', 'long' : 'classes', 'fold' : 0, 'stl' : 1}, {'short' : 'C', 'long' : 'constructors', 'fold' : 0, 'stl' : 1}, {'short' : 'm', 'long' : 'methods', 'fold' : 0, 'stl' : 1}, {'short' : 'e', 'long' : 'exceptions', 'fold' : 0, 'stl' : 1}, {'short' : 't', 'long' : 'type names', 'fold' : 0, 'stl' : 1}, {'short' : 'f', 'long' : 'functions', 'fold' : 0, 'stl' : 1}, {'short' : 'r', 'long' : 'structure fields', 'fold' : 0, 'stl' : 0} ] | |
1 0.000008 let type_ocaml.sro = '.' " Not sure, is nesting even possible? | |
1 0.000013 let type_ocaml.kind2scope = { 'M' : 'Module', 'c' : 'class', 't' : 'type' } | |
1 0.000012 let type_ocaml.scope2kind = { 'Module' : 'M', 'class' : 'c', 'type' : 't' } | |
1 0.000007 let s:known_types.ocaml = type_ocaml | |
" Pascal {{{3 | |
1 0.000083 0.000019 let type_pascal = s:TypeInfo.New() | |
1 0.000006 let type_pascal.ctagstype = 'pascal' | |
1 0.000024 let type_pascal.kinds = [ {'short' : 'f', 'long' : 'functions', 'fold' : 0, 'stl' : 1}, {'short' : 'p', 'long' : 'procedures', 'fold' : 0, 'stl' : 1} ] | |
1 0.000008 let s:known_types.pascal = type_pascal | |
" Perl {{{3 | |
1 0.000058 0.000017 let type_perl = s:TypeInfo.New() | |
1 0.000007 let type_perl.ctagstype = 'perl' | |
1 0.000047 let type_perl.kinds = [ {'short' : 'p', 'long' : 'packages', 'fold' : 1, 'stl' : 0}, {'short' : 'c', 'long' : 'constants', 'fold' : 0, 'stl' : 0}, {'short' : 'f', 'long' : 'formats', 'fold' : 0, 'stl' : 0}, {'short' : 'l', 'long' : 'labels', 'fold' : 0, 'stl' : 1}, {'short' : 's', 'long' : 'subroutines', 'fold' : 0, 'stl' : 1} ] | |
1 0.000007 let s:known_types.perl = type_perl | |
" PHP {{{3 | |
1 0.000060 0.000019 let type_php = s:TypeInfo.New() | |
1 0.000007 let type_php.ctagstype = 'php' | |
1 0.000055 let type_php.kinds = [ {'short' : 'i', 'long' : 'interfaces', 'fold' : 0, 'stl' : 1}, {'short' : 'c', 'long' : 'classes', 'fold' : 0, 'stl' : 1}, {'short' : 'd', 'long' : 'constant definitions', 'fold' : 0, 'stl' : 0}, {'short' : 'f', 'long' : 'functions', 'fold' : 0, 'stl' : 1}, {'short' : 'v', 'long' : 'variables', 'fold' : 0, 'stl' : 0}, {'short' : 'j', 'long' : 'javascript functions', 'fold' : 0, 'stl' : 1} ] | |
1 0.000008 let s:known_types.php = type_php | |
" Python {{{3 | |
1 0.000058 0.000017 let type_python = s:TypeInfo.New() | |
1 0.000007 let type_python.ctagstype = 'python' | |
1 0.000047 let type_python.kinds = [ {'short' : 'i', 'long' : 'imports', 'fold' : 1, 'stl' : 0}, {'short' : 'c', 'long' : 'classes', 'fold' : 0, 'stl' : 1}, {'short' : 'f', 'long' : 'functions', 'fold' : 0, 'stl' : 1}, {'short' : 'm', 'long' : 'members', 'fold' : 0, 'stl' : 1}, {'short' : 'v', 'long' : 'variables', 'fold' : 0, 'stl' : 0} ] | |
1 0.000007 let type_python.sro = '.' | |
1 0.000013 let type_python.kind2scope = { 'c' : 'class', 'f' : 'function', 'm' : 'function' } | |
1 0.000012 let type_python.scope2kind = { 'class' : 'c', 'function' : 'f' } | |
1 0.000008 let s:known_types.python = type_python | |
1 0.000008 let s:known_types.pyrex = type_python | |
1 0.000007 let s:known_types.cython = type_python | |
" REXX {{{3 | |
1 0.000061 0.000017 let type_rexx = s:TypeInfo.New() | |
1 0.000007 let type_rexx.ctagstype = 'rexx' | |
1 0.000016 let type_rexx.kinds = [ {'short' : 's', 'long' : 'subroutines', 'fold' : 0, 'stl' : 1} ] | |
1 0.000008 let s:known_types.rexx = type_rexx | |
" Ruby {{{3 | |
1 0.000060 0.000017 let type_ruby = s:TypeInfo.New() | |
1 0.000007 let type_ruby.ctagstype = 'ruby' | |
1 0.000040 let type_ruby.kinds = [ {'short' : 'm', 'long' : 'modules', 'fold' : 0, 'stl' : 1}, {'short' : 'c', 'long' : 'classes', 'fold' : 0, 'stl' : 1}, {'short' : 'f', 'long' : 'methods', 'fold' : 0, 'stl' : 1}, {'short' : 'F', 'long' : 'singleton methods', 'fold' : 0, 'stl' : 1} ] | |
1 0.000007 let type_ruby.sro = '.' | |
1 0.000012 let type_ruby.kind2scope = { 'c' : 'class', 'm' : 'class' } | |
1 0.000009 let type_ruby.scope2kind = { 'class' : 'c' } | |
1 0.000008 let s:known_types.ruby = type_ruby | |
" Scheme {{{3 | |
1 0.000059 0.000017 let type_scheme = s:TypeInfo.New() | |
1 0.000008 let type_scheme.ctagstype = 'scheme' | |
1 0.000024 let type_scheme.kinds = [ {'short' : 'f', 'long' : 'functions', 'fold' : 0, 'stl' : 1}, {'short' : 's', 'long' : 'sets', 'fold' : 0, 'stl' : 1} ] | |
1 0.000008 let s:known_types.scheme = type_scheme | |
1 0.000006 let s:known_types.racket = type_scheme | |
" Shell script {{{3 | |
1 0.000058 0.000017 let type_sh = s:TypeInfo.New() | |
1 0.000007 let type_sh.ctagstype = 'sh' | |
1 0.000016 let type_sh.kinds = [ {'short' : 'f', 'long' : 'functions', 'fold' : 0, 'stl' : 1} ] | |
1 0.000007 let s:known_types.sh = type_sh | |
1 0.000007 let s:known_types.csh = type_sh | |
1 0.000007 let s:known_types.zsh = type_sh | |
" SLang {{{3 | |
1 0.000056 0.000019 let type_slang = s:TypeInfo.New() | |
1 0.000007 let type_slang.ctagstype = 'slang' | |
1 0.000069 let type_slang.kinds = [ {'short' : 'n', 'long' : 'namespaces', 'fold' : 0, 'stl' : 1}, {'short' : 'f', 'long' : 'functions', 'fold' : 0, 'stl' : 1} ] | |
1 0.000010 let s:known_types.slang = type_slang | |
" SML {{{3 | |
1 0.000063 0.000022 let type_sml = s:TypeInfo.New() | |
1 0.000006 let type_sml.ctagstype = 'sml' | |
1 0.000043 let type_sml.kinds = [ {'short' : 'e', 'long' : 'exception declarations', 'fold' : 0, 'stl' : 0}, {'short' : 'f', 'long' : 'function definitions', 'fold' : 0, 'stl' : 1}, {'short' : 'c', 'long' : 'functor definitions', 'fold' : 0, 'stl' : 1}, {'short' : 's', 'long' : 'signature declarations', 'fold' : 0, 'stl' : 0}, {'short' : 'r', 'long' : 'structure declarations', 'fold' : 0, 'stl' : 0}, {'short' : 't', 'long' : 'type definitions', 'fold' : 0, 'stl' : 1}, {'short' : 'v', 'long' : 'value bindings', 'fold' : 0, 'stl' : 0} ] | |
1 0.000005 let s:known_types.sml = type_sml | |
" SQL {{{3 | |
" The SQL ctags parser seems to be buggy for me, so this just uses the | |
" normal kinds even though scopes should be available. Improvements | |
" welcome! | |
1 0.000034 0.000011 let type_sql = s:TypeInfo.New() | |
1 0.000003 let type_sql.ctagstype = 'sql' | |
1 0.000103 let type_sql.kinds = [ {'short' : 'P', 'long' : 'packages', 'fold' : 1, 'stl' : 1}, {'short' : 'd', 'long' : 'prototypes', 'fold' : 0, 'stl' : 1}, {'short' : 'c', 'long' : 'cursors', 'fold' : 0, 'stl' : 1}, {'short' : 'f', 'long' : 'functions', 'fold' : 0, 'stl' : 1}, {'short' : 'F', 'long' : 'record fields', 'fold' : 0, 'stl' : 1}, {'short' : 'L', 'long' : 'block label', 'fold' : 0, 'stl' : 1}, {'short' : 'p', 'long' : 'procedures', 'fold' : 0, 'stl' : 1}, {'short' : 's', 'long' : 'subtypes', 'fold' : 0, 'stl' : 1}, {'short' : 't', 'long' : 'tables', 'fold' : 0, 'stl' : 1}, {'short' : 'T', 'long' : 'triggers', 'fold' : 0, 'stl' : 1}, {'short' : 'v', 'long' : 'variables', 'fold' : 0, 'stl' : 1}, {'short' : 'i', 'long' : 'indexes', 'fold' : 0, 'stl' : 1}, {'short' : 'e', 'long' : 'events', 'fold' : 0, 'stl' : 1}, {'short' : 'U', 'long' : 'publications', 'fold' : 0, 'stl' : 1}, {'short' : 'R', 'long' : 'services', 'fold' : 0, 'stl' : 1}, {'short' : 'D', 'long' : 'domains', 'fold' : 0, 'stl' : 1}, {'short' : 'V', 'long' : 'views', 'fold' : 0, 'stl' : 1}, {'short' : 'n', 'long' : 'synonyms', 'fold' : 0, 'stl' : 1}, {'short' : 'x', 'long' : 'MobiLink Table Scripts', 'fold' : 0, 'stl' : 1}, {'short' : 'y', 'long' : 'MobiLink Conn Scripts', 'fold' : 0, 'stl' : 1}, {'short' : 'z', 'long' : 'MobiLink Properties', 'fold' : 0, 'stl' : 1} ] | |
1 0.000004 let s:known_types.sql = type_sql | |
" Tcl {{{3 | |
1 0.000031 0.000011 let type_tcl = s:TypeInfo.New() | |
1 0.000003 let type_tcl.ctagstype = 'tcl' | |
1 0.000016 let type_tcl.kinds = [ {'short' : 'c', 'long' : 'classes', 'fold' : 0, 'stl' : 1}, {'short' : 'm', 'long' : 'methods', 'fold' : 0, 'stl' : 1}, {'short' : 'p', 'long' : 'procedures', 'fold' : 0, 'stl' : 1} ] | |
1 0.000004 let s:known_types.tcl = type_tcl | |
" LaTeX {{{3 | |
1 0.000029 0.000009 let type_tex = s:TypeInfo.New() | |
1 0.000003 let type_tex.ctagstype = 'tex' | |
1 0.000040 let type_tex.kinds = [ {'short' : 'i', 'long' : 'includes', 'fold' : 1, 'stl' : 0}, {'short' : 'p', 'long' : 'parts', 'fold' : 0, 'stl' : 1}, {'short' : 'c', 'long' : 'chapters', 'fold' : 0, 'stl' : 1}, {'short' : 's', 'long' : 'sections', 'fold' : 0, 'stl' : 1}, {'short' : 'u', 'long' : 'subsections', 'fold' : 0, 'stl' : 1}, {'short' : 'b', 'long' : 'subsubsections', 'fold' : 0, 'stl' : 1}, {'short' : 'P', 'long' : 'paragraphs', 'fold' : 0, 'stl' : 0}, {'short' : 'G', 'long' : 'subparagraphs', 'fold' : 0, 'stl' : 0}, {'short' : 'l', 'long' : 'labels', 'fold' : 0, 'stl' : 0} ] | |
1 0.000003 let type_tex.sro = '""' | |
1 0.000008 let type_tex.kind2scope = { 'p' : 'part', 'c' : 'chapter', 's' : 'section', 'u' : 'subsection', 'b' : 'subsubsection' } | |
1 0.000010 let type_tex.scope2kind = { 'part' : 'p', 'chapter' : 'c', 'section' : 's', 'subsection' : 'u', 'subsubsection' : 'b' } | |
1 0.000003 let type_tex.sort = 0 | |
1 0.000007 let s:known_types.tex = type_tex | |
" Vala {{{3 | |
" Vala is supported by the ctags fork provided by Anjuta, so only add the | |
" type if the fork is used to prevent error messages otherwise | |
1 0.018807 if has_key(s:ctags_types, 'vala') || executable('anjuta-tags') | |
let type_vala = s:TypeInfo.New() | |
let type_vala.ctagstype = 'vala' | |
let type_vala.kinds = [ {'short' : 'e', 'long' : 'Enumerations', 'fold' : 0, 'stl' : 1}, {'short' : 'v', 'long' : 'Enumeration values', 'fold' : 0, 'stl' : 0}, {'short' : 's', 'long' : 'Structures', 'fold' : 0, 'stl' : 1}, {'short' : 'i', 'long' : 'Interfaces', 'fold' : 0, 'stl' : 1}, {'short' : 'd', 'long' : 'Delegates', 'fold' : 0, 'stl' : 1}, {'short' : 'c', 'long' : 'Classes', 'fold' : 0, 'stl' : 1}, {'short' : 'p', 'long' : 'Properties', 'fold' : 0, 'stl' : 0}, {'short' : 'f', 'long' : 'Fields', 'fold' : 0, 'stl' : 0}, {'short' : 'm', 'long' : 'Methods', 'fold' : 0, 'stl' : 1}, {'short' : 'E', 'long' : 'Error domains', 'fold' : 0, 'stl' : 1}, {'short' : 'r', 'long' : 'Error codes', 'fold' : 0, 'stl' : 1}, {'short' : 'S', 'long' : 'Signals', 'fold' : 0, 'stl' : 1} ] | |
let type_vala.sro = '.' | |
" 'enum' doesn't seem to be used as a scope, but it can't hurt to have | |
" it here | |
let type_vala.kind2scope = { 's' : 'struct', 'i' : 'interface', 'c' : 'class', 'e' : 'enum' } | |
let type_vala.scope2kind = { 'struct' : 's', 'interface' : 'i', 'class' : 'c', 'enum' : 'e' } | |
let s:known_types.vala = type_vala | |
endif | |
1 0.015727 if !has_key(s:ctags_types, 'vala') && executable('anjuta-tags') | |
let s:known_types.vala.ctagsbin = 'anjuta-tags' | |
endif | |
" Vera {{{3 | |
" Why are variables 'virtual'? | |
1 0.000101 0.000036 let type_vera = s:TypeInfo.New() | |
1 0.000006 let type_vera.ctagstype = 'vera' | |
1 0.000082 let type_vera.kinds = [ {'short' : 'd', 'long' : 'macros', 'fold' : 1, 'stl' : 0}, {'short' : 'g', 'long' : 'enums', 'fold' : 0, 'stl' : 1}, {'short' : 'T', 'long' : 'typedefs', 'fold' : 0, 'stl' : 0}, {'short' : 'c', 'long' : 'classes', 'fold' : 0, 'stl' : 1}, {'short' : 'e', 'long' : 'enumerators', 'fold' : 0, 'stl' : 0}, {'short' : 'm', 'long' : 'members', 'fold' : 0, 'stl' : 1}, {'short' : 'f', 'long' : 'functions', 'fold' : 0, 'stl' : 1}, {'short' : 't', 'long' : 'tasks', 'fold' : 0, 'stl' : 1}, {'short' : 'v', 'long' : 'variables', 'fold' : 0, 'stl' : 0}, {'short' : 'p', 'long' : 'programs', 'fold' : 0, 'stl' : 1} ] | |
1 0.000006 let type_vera.sro = '.' " Nesting doesn't seem to be possible | |
1 0.000013 let type_vera.kind2scope = { 'g' : 'enum', 'c' : 'class', 'v' : 'virtual' } | |
1 0.000010 let type_vera.scope2kind = { 'enum' : 'g', 'class' : 'c', 'virtual' : 'v' } | |
1 0.000024 let s:known_types.vera = type_vera | |
" Verilog {{{3 | |
1 0.000067 0.000021 let type_verilog = s:TypeInfo.New() | |
1 0.000008 let type_verilog.ctagstype = 'verilog' | |
1 0.000061 let type_verilog.kinds = [ {'short' : 'c', 'long' : 'constants', 'fold' : 0, 'stl' : 0}, {'short' : 'e', 'long' : 'events', 'fold' : 0, 'stl' : 1}, {'short' : 'f', 'long' : 'functions', 'fold' : 0, 'stl' : 1}, {'short' : 'm', 'long' : 'modules', 'fold' : 0, 'stl' : 1}, {'short' : 'n', 'long' : 'net data types', 'fold' : 0, 'stl' : 1}, {'short' : 'p', 'long' : 'ports', 'fold' : 0, 'stl' : 1}, {'short' : 'r', 'long' : 'register data types', 'fold' : 0, 'stl' : 1}, {'short' : 't', 'long' : 'tasks', 'fold' : 0, 'stl' : 1} ] | |
1 0.000016 let s:known_types.verilog = type_verilog | |
" VHDL {{{3 | |
" The VHDL ctags parser unfortunately doesn't generate proper scopes | |
1 0.000060 0.000018 let type_vhdl = s:TypeInfo.New() | |
1 0.000007 let type_vhdl.ctagstype = 'vhdl' | |
1 0.000060 let type_vhdl.kinds = [ {'short' : 'P', 'long' : 'packages', 'fold' : 1, 'stl' : 0}, {'short' : 'c', 'long' : 'constants', 'fold' : 0, 'stl' : 0}, {'short' : 't', 'long' : 'types', 'fold' : 0, 'stl' : 1}, {'short' : 'T', 'long' : 'subtypes', 'fold' : 0, 'stl' : 1}, {'short' : 'r', 'long' : 'records', 'fold' : 0, 'stl' : 1}, {'short' : 'e', 'long' : 'entities', 'fold' : 0, 'stl' : 1}, {'short' : 'f', 'long' : 'functions', 'fold' : 0, 'stl' : 1}, {'short' : 'p', 'long' : 'procedures', 'fold' : 0, 'stl' : 1} ] | |
1 0.000013 let s:known_types.vhdl = type_vhdl | |
" Vim {{{3 | |
1 0.000061 0.000018 let type_vim = s:TypeInfo.New() | |
1 0.000007 let type_vim.ctagstype = 'vim' | |
1 0.000088 let type_vim.kinds = [ {'short' : 'n', 'long' : 'vimball filenames', 'fold' : 0, 'stl' : 1}, {'short' : 'v', 'long' : 'variables', 'fold' : 1, 'stl' : 0}, {'short' : 'f', 'long' : 'functions', 'fold' : 0, 'stl' : 1}, {'short' : 'a', 'long' : 'autocommand groups', 'fold' : 1, 'stl' : 1}, {'short' : 'c', 'long' : 'commands', 'fold' : 0, 'stl' : 0}, {'short' : 'm', 'long' : 'maps', 'fold' : 1, 'stl' : 0} ] | |
1 0.000012 let s:known_types.vim = type_vim | |
" YACC {{{3 | |
1 0.000064 0.000024 let type_yacc = s:TypeInfo.New() | |
1 0.000005 let type_yacc.ctagstype = 'yacc' | |
1 0.000014 let type_yacc.kinds = [ {'short' : 'l', 'long' : 'labels', 'fold' : 0, 'stl' : 1} ] | |
1 0.000039 let s:known_types.yacc = type_yacc | |
" }}}3 | |
1 0.003604 0.000059 call s:LoadUserTypeDefs() | |
49 0.000119 for typeinfo in values(s:known_types) | |
48 0.003125 0.000396 call typeinfo.createKinddict() | |
48 0.000054 endfor | |
1 0.000003 let s:type_init_done = 1 | |
FUNCTION <SNR>93_ExecuteCtags() | |
Called 2 times | |
Total time: 0.557662 | |
Self time: 0.031784 | |
count total (s) self (s) | |
2 0.000068 0.000034 call s:debug('Executing ctags command: ' . a:ctags_cmd) | |
2 0.000013 if exists('+shellslash') | |
2 0.000012 let shellslash_save = &shellslash | |
2 0.000069 set noshellslash | |
2 0.000004 endif | |
2 0.000032 if &shell =~ 'cmd\.exe' | |
2 0.000013 let shellxquote_save = &shellxquote | |
2 0.000019 set shellxquote=\" | |
2 0.000011 let shellcmdflag_save = &shellcmdflag | |
2 0.000011 set shellcmdflag=/s\ /c | |
2 0.000003 endif | |
2 0.000005 if s:debug | |
silent 5verbose let ctags_output = system(a:ctags_cmd) | |
call s:debug(v:statusmsg) | |
redraw! | |
else | |
2 0.557032 0.031188 let ctags_output = system(a:ctags_cmd) | |
2 0.000020 endif | |
2 0.000074 if &shell =~ 'cmd\.exe' | |
2 0.000034 let &shellxquote = shellxquote_save | |
2 0.000016 let &shellcmdflag = shellcmdflag_save | |
2 0.000005 endif | |
2 0.000019 if exists('+shellslash') | |
2 0.000099 let &shellslash = shellslash_save | |
2 0.000005 endif | |
2 0.000015 return ctags_output | |
FUNCTION fugitive#is_git_dir() | |
Called 6 times | |
Total time: 0.000640 | |
Self time: 0.000491 | |
count total (s) self (s) | |
6 0.000240 0.000090 let path = s:sub(a:path, '[\/]$', '') . '/' | |
6 0.000387 return isdirectory(path.'objects') && isdirectory(path.'refs') && getfsize(path.'HEAD') > 10 | |
FUNCTION airline#extensions#branch#head() | |
Called 3 times | |
Total time: 0.007203 | |
Self time: 0.004515 | |
count total (s) self (s) | |
3 0.000026 if exists('b:airline_head') && !empty(b:airline_head) | |
return b:airline_head | |
endif | |
3 0.000013 let b:airline_head = '' | |
3 0.000013 let found_fugitive_head = 0 | |
3 0.000021 if s:has_fugitive && !exists('b:mercurial_dir') | |
3 0.000078 0.000047 let b:airline_head = fugitive#head(7) | |
3 0.000011 let found_fugitive_head = 1 | |
3 0.000021 if empty(b:airline_head) && !exists('b:git_dir') | |
3 0.006718 0.004062 let b:airline_head = s:get_git_branch(expand("%:p:h")) | |
3 0.000006 endif | |
3 0.000004 endif | |
3 0.000014 if empty(b:airline_head) | |
3 0.000012 if s:has_lawrencium | |
let b:airline_head = lawrencium#statusline() | |
endif | |
3 0.000003 endif | |
3 0.000009 if empty(b:airline_head) | |
3 0.000007 if s:has_vcscommand | |
call VCSCommandEnableBufferSetup() | |
if exists('b:VCSCommandBufferInfo') | |
let b:airline_head = get(b:VCSCommandBufferInfo, 0, '') | |
endif | |
endif | |
3 0.000003 endif | |
3 0.000021 if empty(b:airline_head) || !found_fugitive_head && !s:check_in_path() | |
3 0.000010 let b:airline_head = '' | |
3 0.000002 endif | |
3 0.000019 if exists("g:airline#extensions#branch#displayed_head_limit") | |
let w:displayed_head_limit = g:airline#extensions#branch#displayed_head_limit | |
if len(b:airline_head) > w:displayed_head_limit - 1 | |
let b:airline_head = b:airline_head[0:w:displayed_head_limit - 1].'…' | |
endif | |
endif | |
3 0.000008 return b:airline_head | |
FUNCTION <SNR>75_is_excluded_window() | |
Called 2 times | |
Total time: 0.000218 | |
Self time: 0.000218 | |
count total (s) self (s) | |
2 0.000011 for matchft in g:airline_exclude_filetypes | |
if matchft ==# &ft | |
return 1 | |
endif | |
endfor | |
8 0.000023 for matchw in g:airline_exclude_filenames | |
6 0.000101 if matchstr(expand('%'), matchw) ==# matchw | |
return 1 | |
endif | |
6 0.000006 endfor | |
2 0.000006 if g:airline_exclude_preview && &previewwindow | |
return 1 | |
endif | |
2 0.000003 return 0 | |
FUNCTION airline#parts#mode() | |
Called 3 times | |
Total time: 0.000024 | |
Self time: 0.000024 | |
count total (s) self (s) | |
3 0.000021 return get(w:, 'airline_current_mode', '') | |
FUNCTION airline#extensions#quickfix#apply() | |
Called 2 times | |
Total time: 0.000042 | |
Self time: 0.000042 | |
count total (s) self (s) | |
2 0.000012 if &buftype == 'quickfix' | |
let w:airline_section_a = s:get_text() | |
let w:airline_section_b = '%{get(w:, "quickfix_title", "")}' | |
let w:airline_section_c = '' | |
let w:airline_section_x = '' | |
endif | |
FUNCTION <SNR>89_get_section() | |
Called 16 times | |
Total time: 0.001130 | |
Self time: 0.001009 | |
count total (s) self (s) | |
16 0.000093 if has_key(s:section_truncate_width, a:key) | |
8 0.000052 if winwidth(a:winnr) < s:section_truncate_width[a:key] | |
return '' | |
endif | |
8 0.000008 endif | |
16 0.000069 let spc = g:airline_symbols.space | |
16 0.000410 0.000290 let text = airline#util#getwinvar(a:winnr, 'airline_section_'.a:key, g:airline_section_{a:key}) | |
16 0.000218 let [prefix, suffix] = [get(a:000, 0, '%('.spc), get(a:000, 1, spc.'%)')] | |
16 0.000132 return empty(text) ? '' : prefix.text.suffix | |
FUNCTION fugitive#head() | |
Called 3 times | |
Total time: 0.000031 | |
Self time: 0.000031 | |
count total (s) self (s) | |
3 0.000015 if !exists('b:git_dir') | |
3 0.000009 return '' | |
endif | |
return s:repo().head(a:0 ? a:1 : 0) | |
FUNCTION airline#statusline() | |
Called 3 times | |
Total time: 0.000143 | |
Self time: 0.000143 | |
count total (s) self (s) | |
3 0.000058 if has_key(s:contexts, a:winnr) | |
3 0.000071 return '%{airline#check_mode('.a:winnr.')}'.s:contexts[a:winnr].line | |
endif | |
" in rare circumstances this happens...see #276 | |
return '' | |
FUNCTION <SNR>93_CheckFTCtags() | |
Called 1 time | |
Total time: 0.020344 | |
Self time: 0.020344 | |
count total (s) self (s) | |
1 0.020257 if executable(a:bin) | |
return a:bin | |
endif | |
1 0.000020 if exists('g:tagbar_type_' . a:ftype) | |
execute 'let userdef = ' . 'g:tagbar_type_' . a:ftype | |
if has_key(userdef, 'ctagsbin') | |
return userdef.ctagsbin | |
else | |
return '' | |
endif | |
endif | |
1 0.000004 return '' | |
FUNCTION airline#extensions#tabline#default#format() | |
Called 3 times | |
Total time: 0.000372 | |
Self time: 0.000208 | |
count total (s) self (s) | |
3 0.000017 let _ = '' | |
3 0.000022 let name = bufname(a:bufnr) | |
3 0.000014 if empty(name) | |
3 0.000015 let _ .= '[No Name]' | |
3 0.000006 else | |
if s:fnamecollapse | |
let _ .= substitute(fnamemodify(name, s:fmod), '\v\w\zs.{-}\ze(\\|/)', '', 'g') | |
else | |
let _ .= fnamemodify(name, s:fmod) | |
endif | |
endif | |
3 0.000218 0.000054 return airline#extensions#tabline#default#wrap_name(a:bufnr, _) | |
FUNCTION airline#extensions#apply() | |
Called 2 times | |
Total time: 0.000404 | |
Self time: 0.000186 | |
count total (s) self (s) | |
2 0.000010 let s:active_winnr = winnr() | |
2 0.000246 0.000028 if s:is_excluded_window() | |
return -1 | |
endif | |
2 0.000006 if &buftype == 'help' | |
call airline#extensions#apply_left_override('Help', '%f') | |
let w:airline_section_x = '' | |
let w:airline_section_y = '' | |
let w:airline_render_right = 1 | |
endif | |
2 0.000004 if &previewwindow | |
let w:airline_section_a = 'Preview' | |
let w:airline_section_b = '' | |
let w:airline_section_c = bufname(winbufnr(winnr())) | |
endif | |
2 0.000017 if has_key(s:filetype_overrides, &ft) | |
let args = s:filetype_overrides[&ft] | |
call airline#extensions#apply_left_override(args[0], args[1]) | |
endif | |
2 0.000013 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 | |
endfor | |
FUNCTION airline#highlighter#get_highlight() | |
Called 28 times | |
Total time: 0.006064 | |
Self time: 0.002204 | |
count total (s) self (s) | |
28 0.002096 0.000437 let fg = s:get_syn(a:group, 'fg') | |
28 0.001878 0.000408 let bg = s:get_syn(a:group, 'bg') | |
28 0.000772 let reverse = has('gui_running') ? synIDattr(synIDtrans(hlID(a:group)), 'reverse', 'gui') : synIDattr(synIDtrans(hlID(a:group)), 'reverse', 'cterm')|| synIDattr(synIDtrans(hlID(a:group)), 'reverse', 'term') | |
28 0.001253 0.000522 return reverse ? s:get_array(bg, fg, a:000) : s:get_array(fg, bg, a:000) | |
FUNCTION airline#extensions#syntastic#get_warnings() | |
Called 3 times | |
Total time: 0.000623 | |
Self time: 0.000077 | |
count total (s) self (s) | |
3 0.000585 0.000038 let errors = SyntasticStatuslineFlag() | |
3 0.000014 if strlen(errors) > 0 | |
return errors.(g:airline_symbols.space) | |
endif | |
3 0.000005 return '' | |
FUNCTION tagbar#getusertypes() | |
Called 1 time | |
Total time: 0.003360 | |
Self time: 0.003360 | |
count total (s) self (s) | |
1 0.003318 let userdefs = filter(copy(g:), 'v:key =~ "^tagbar_type_"') | |
1 0.000009 let typedict = {} | |
1 0.000011 for [key, val] in items(userdefs) | |
let type = substitute(key, '^tagbar_type_', '', '') | |
let typedict[type] = val | |
endfor | |
1 0.000003 return typedict | |
FUNCTION <SNR>93_AutoUpdate() | |
Called 1 time | |
Total time: 0.000877 | |
Self time: 0.000752 | |
count total (s) self (s) | |
1 0.000052 0.000028 call s:debug('AutoUpdate called [' . a:fname . ']') | |
" This file is being loaded due to a quickfix command like vimgrep, so | |
" don't process it | |
1 0.000006 if exists('s:tagbar_qf_active') | |
return | |
elseif exists('s:window_opening') | |
" This can happen if another plugin causes the active window to change | |
" with an autocmd during the initial Tagbar window creation. In that | |
" case InitWindow() hasn't had a chance to run yet and things can | |
" break. MiniBufExplorer does this, for example. Completely disabling | |
" autocmds at that point is also not ideal since for example | |
" statusline plugins won't be able to update. | |
call s:debug('Still opening window, stopping processing') | |
return | |
endif | |
" Get the filetype of the file we're about to process | |
1 0.000566 let bufnr = bufnr(a:fname) | |
1 0.000014 let ftype = getbufvar(bufnr, '&filetype') | |
" Don't do anything if we're in the tagbar window | |
1 0.000005 if ftype == 'tagbar' | |
call s:debug('In Tagbar window, stopping processing') | |
return | |
endif | |
" Only consider the main filetype in cases like 'python.django' | |
1 0.000021 let sftype = get(split(ftype, '\.'), 0, '') | |
1 0.000038 0.000021 call s:debug("Vim filetype: '" . ftype . "', " . "sanitized filetype: '" . sftype . "'") | |
" Don't do anything if the file isn't supported | |
1 0.000096 0.000024 if !s:IsValidFile(a:fname, sftype) | |
1 0.000020 0.000009 call s:debug('Not a valid file, stopping processing') | |
1 0.000004 let s:nearby_disabled = 1 | |
1 0.000002 return | |
endif | |
let updated = 0 | |
" Process the file if it's unknown or the information is outdated. | |
" Testing the mtime of the file is necessary in case it got changed | |
" outside of Vim, for example by checking out a different version from a | |
" VCS. | |
if s:known_files.has(a:fname) | |
let curfile = s:known_files.get(a:fname) | |
" if a:force || getbufvar(curfile.bufnr, '&modified') || | |
if a:force || empty(curfile) || (filereadable(a:fname) && getftime(a:fname) > curfile.mtime) | |
call s:debug('File data outdated, updating [' . a:fname . ']') | |
call s:ProcessFile(a:fname, sftype) | |
let updated = 1 | |
else | |
call s:debug('File data seems up to date [' . a:fname . ']') | |
endif | |
elseif !s:known_files.has(a:fname) | |
call s:debug('New file, processing [' . a:fname . ']') | |
call s:ProcessFile(a:fname, sftype) | |
let updated = 1 | |
endif | |
let fileinfo = s:known_files.get(a:fname) | |
" If we don't have an entry for the file by now something must have gone | |
" wrong, so don't change the tagbar content | |
if empty(fileinfo) | |
call s:debug('fileinfo empty after processing [' . a:fname . ']') | |
return | |
endif | |
" Display the tagbar content if the tags have been updated or a different | |
" file is being displayed | |
if bufwinnr('__Tagbar__') != -1 && !s:paused && (s:new_window || updated || (!empty(s:known_files.getCurrent(0)) && a:fname != s:known_files.getCurrent(0).fpath)) | |
call s:RenderContent(fileinfo) | |
endif | |
" Call setCurrent after rendering so RenderContent can check whether the | |
" same file is being redisplayed | |
if !empty(fileinfo) | |
call s:debug('Setting current file [' . a:fname . ']') | |
call s:known_files.setCurrent(fileinfo) | |
let s:nearby_disabled = 0 | |
endif | |
call s:HighlightTag(0) | |
call s:debug('AutoUpdate finished successfully') | |
FUNCTION session#active() | |
Called 1 time | |
Total time: 0.000016 | |
Self time: 0.000016 | |
count total (s) self (s) | |
1 0.000014 return v:this_session != "" | |
FUNCTION <SNR>14_init() | |
Called 2 times | |
Total time: 0.000075 | |
Self time: 0.000075 | |
count total (s) self (s) | |
2 0.000006 if !s:airline_initialized | |
let s:airline_initialized = 1 | |
call airline#init#bootstrap() | |
call airline#extensions#load() | |
call airline#init#sections() | |
let s:airline_theme_defined = exists('g:airline_theme') | |
if s:airline_theme_defined || !airline#switch_matching_theme() | |
let g:airline_theme = get(g:, 'airline_theme', 'dark') | |
call airline#switch_theme(g:airline_theme) | |
endif | |
endif | |
FUNCTION SyntasticStatuslineFlag() | |
Called 3 times | |
Total time: 0.000547 | |
Self time: 0.000086 | |
count total (s) self (s) | |
3 0.000543 0.000082 return g:SyntasticLoclist.current().getStatuslineFlag() | |
FUNCTION airline#util#prepend() | |
Called 3 times | |
Total time: 0.000046 | |
Self time: 0.000046 | |
count total (s) self (s) | |
3 0.000014 if a:minwidth > 0 && winwidth(0) < a:minwidth | |
return '' | |
endif | |
3 0.000019 return empty(a:text) ? '' : a:text.s:spc.g:airline_right_alt_sep.s:spc | |
FUNCTION <SNR>93_GetSupportedFiletypes() | |
Called 1 time | |
Total time: 0.287040 | |
Self time: 0.000582 | |
count total (s) self (s) | |
1 0.000043 0.000018 call s:debug('Getting filetypes sypported by Exuberant Ctags') | |
1 0.000654 0.000023 let ctags_cmd = s:EscapeCtagsCmd(g:tagbar_ctags_bin, '--list-languages') | |
1 0.000004 if ctags_cmd == '' | |
return | |
endif | |
1 0.285823 0.000021 let ctags_output = s:ExecuteCtags(ctags_cmd) | |
1 0.000003 if v:shell_error | |
" this shouldn't happen as potential problems would have already been | |
" caught by the previous ctags checking | |
return | |
endif | |
1 0.000112 let types = split(ctags_output, '\n\+') | |
42 0.000075 for type in types | |
41 0.000229 let s:ctags_types[tolower(type)] = 1 | |
41 0.000055 endfor | |
1 0.000004 let s:checked_ctags_types = 1 | |
FUNCTION <SNR>93_CheckForExCtags() | |
Called 1 time | |
Total time: 0.347214 | |
Self time: 0.074451 | |
count total (s) self (s) | |
1 0.000091 0.000047 call s:debug('Checking for Exuberant Ctags') | |
1 0.000015 if !exists('g:tagbar_ctags_bin') | |
1 0.000016 let ctagsbins = [] | |
1 0.000014 let ctagsbins += ['ctags-exuberant'] " Debian | |
1 0.000005 let ctagsbins += ['exuberant-ctags'] | |
1 0.000009 let ctagsbins += ['exctags'] " FreeBSD, NetBSD | |
1 0.000006 let ctagsbins += ['/usr/local/bin/ctags'] " Homebrew | |
1 0.000006 let ctagsbins += ['/opt/local/bin/ctags'] " Macports | |
1 0.000008 let ctagsbins += ['ectags'] " OpenBSD | |
1 0.000008 let ctagsbins += ['ctags'] | |
1 0.000012 let ctagsbins += ['ctags.exe'] | |
1 0.000004 let ctagsbins += ['tags'] | |
7 0.000050 for ctags in ctagsbins | |
7 0.073770 if executable(ctags) | |
1 0.000013 let g:tagbar_ctags_bin = ctags | |
1 0.000003 break | |
endif | |
6 0.000017 endfor | |
1 0.000009 if !exists('g:tagbar_ctags_bin') | |
let errmsg = 'Tagbar: Exuberant ctags not found!' | |
let infomsg = 'Please download Exuberant Ctags from' . ' ctags.sourceforge.net and install it in a' . ' directory in your $PATH or set g:tagbar_ctags_bin.' | |
call s:CtagsErrMsg(errmsg, infomsg, a:silent) | |
let s:checked_ctags = 2 | |
return 0 | |
endif | |
1 0.000002 else | |
" reset 'wildignore' temporarily in case *.exe is included in it | |
let wildignore_save = &wildignore | |
set wildignore& | |
let g:tagbar_ctags_bin = expand(g:tagbar_ctags_bin) | |
let &wildignore = wildignore_save | |
if !executable(g:tagbar_ctags_bin) | |
let errmsg = "Tagbar: Exuberant ctags not found at " . "'" . g:tagbar_ctags_bin . "'!" | |
let infomsg = 'Please check your g:tagbar_ctags_bin setting.' | |
call s:CtagsErrMsg(errmsg, infomsg, a:silent) | |
let s:checked_ctags = 2 | |
return 0 | |
endif | |
endif | |
1 0.000615 0.000043 let ctags_cmd = s:EscapeCtagsCmd(g:tagbar_ctags_bin, '--version') | |
1 0.000003 if ctags_cmd == '' | |
let s:checked_ctags = 2 | |
return 0 | |
endif | |
1 0.271895 0.000034 let ctags_output = s:ExecuteCtags(ctags_cmd) | |
1 0.000023 if v:shell_error || ctags_output !~# 'Exuberant Ctags' | |
let errmsg = 'Tagbar: Ctags doesn''t seem to be Exuberant Ctags!' | |
let infomsg = 'GNU ctags will NOT WORK.' . ' Please download Exuberant Ctags from ctags.sourceforge.net' . ' and install it in a directory in your $PATH' . ' or set g:tagbar_ctags_bin.' | |
call s:CtagsErrMsg(errmsg, infomsg, a:silent, ctags_cmd, ctags_output) | |
let s:checked_ctags = 2 | |
return 0 | |
elseif !s:CheckExCtagsVersion(ctags_output) | |
let errmsg = 'Tagbar: Exuberant Ctags is too old!' | |
let infomsg = 'You need at least version 5.5 for Tagbar to work.' . ' Please download a newer version from ctags.sourceforge.net.' | |
call s:CtagsErrMsg(errmsg, infomsg, a:silent, ctags_cmd, ctags_output) | |
let s:checked_ctags = 2 | |
return 0 | |
else | |
1 0.000007 let s:checked_ctags = 1 | |
1 0.000003 return 1 | |
endif | |
FUNCTION <SNR>17_can_diffoff() | |
Called 1 time | |
Total time: 0.000018 | |
Self time: 0.000018 | |
count total (s) self (s) | |
1 0.000017 return getwinvar(bufwinnr(a:buf), '&diff') && !empty(getbufvar(a:buf, 'git_dir')) && !empty(getwinvar(bufwinnr(a:buf), 'fugitive_diff_restore')) | |
FUNCTION <SNR>89_add_section() | |
Called 14 times | |
Total time: 0.012639 | |
Self time: 0.000698 | |
count total (s) self (s) | |
" i have no idea why the warning section needs special treatment, but it's | |
" needed to prevent separators from showing up | |
14 0.000042 if a:key == 'warning' | |
2 0.000042 0.000026 call a:builder.add_raw('%(') | |
2 0.000003 endif | |
14 0.012278 0.000369 call a:builder.add_section('airline_'.a:key, s:get_section(a:context.winnr, a:key)) | |
14 0.000048 if a:key == 'warning' | |
2 0.000039 0.000022 call a:builder.add_raw('%)') | |
2 0.000003 endif | |
FUNCTION <SNR>14_on_window_changed() | |
Called 2 times | |
Total time: 0.015157 | |
Self time: 0.000067 | |
count total (s) self (s) | |
2 0.000009 if pumvisible() | |
return | |
endif | |
2 0.000096 0.000021 call <sid>init() | |
2 0.015039 0.000024 call airline#update_statusline() | |
FUNCTION airline#builder#new() | |
Called 3 times | |
Total time: 0.000182 | |
Self time: 0.000182 | |
count total (s) self (s) | |
3 0.000041 let builder = copy(s:prototype) | |
3 0.000017 let builder._context = a:context | |
3 0.000010 let builder._side = 1 | |
3 0.000010 let builder._curgroup = '' | |
3 0.000009 let builder._line = '' | |
3 0.000071 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') | |
3 0.000007 return builder | |
FUNCTIONS SORTED ON TOTAL TIME | |
count total (s) self (s) function | |
3 0.725503 0.009062 airline#extensions#tagbar#currenttag() | |
1 0.704093 0.000265 tagbar#currenttag() | |
1 0.703820 0.001557 <SNR>93_Init() | |
2 0.557662 0.031784 <SNR>93_ExecuteCtags() | |
1 0.347214 0.074451 <SNR>93_CheckForExCtags() | |
1 0.287040 0.000582 <SNR>93_GetSupportedFiletypes() | |
1 0.066719 0.038673 <SNR>93_InitTypes() | |
1 0.020344 <SNR>93_CheckFTCtags() | |
2 0.015157 0.000067 <SNR>14_on_window_changed() | |
2 0.015016 0.000305 airline#update_statusline() | |
2 0.014710 0.000191 <SNR>15_invoke_funcrefs() | |
2 0.014371 0.000279 airline#util#exec_funcrefs() | |
2 0.013518 0.000248 airline#extensions#default#apply() | |
4 0.013077 0.000439 <SNR>89_build_sections() | |
17 0.012724 0.003078 96() | |
14 0.012639 0.000698 <SNR>89_add_section() | |
1 0.010101 0.000742 <SNR>59_mergelists() | |
14 0.009646 0.000462 airline#highlighter#add_separator() | |
2 0.009277 0.000160 airline#extensions#tabline#get() | |
14 0.009184 0.001100 <SNR>84_exec_separator() | |
FUNCTIONS SORTED ON SELF TIME | |
count total (s) self (s) function | |
1 0.347214 0.074451 <SNR>93_CheckForExCtags() | |
1 0.066719 0.038673 <SNR>93_InitTypes() | |
2 0.557662 0.031784 <SNR>93_ExecuteCtags() | |
1 0.020344 <SNR>93_CheckFTCtags() | |
3 0.725503 0.009062 airline#extensions#tagbar#currenttag() | |
1 0.008367 0.007700 ctrlp#mrufiles#cachefile() | |
3 0.007203 0.006227 airline#extensions#tabline#get_buffer_name() | |
3 0.007203 0.004515 airline#extensions#branch#head() | |
2 0.004680 0.003570 fugitive#extract_git_dir() | |
1 0.003360 tagbar#getusertypes() | |
56 0.003129 <SNR>84_get_syn() | |
17 0.012724 0.003078 96() | |
48 0.002730 129() | |
28 0.006064 0.002204 airline#highlighter#get_highlight() | |
1 0.002233 0.002093 ctrlp#utils#writecache() | |
1 0.703820 0.001557 <SNR>93_Init() | |
41 0.001408 127() | |
14 0.001526 0.001351 airline#highlighter#exec() | |
1 0.001194 0.001108 <SNR>64_VimEnter() | |
14 0.009184 0.001100 <SNR>84_exec_separator() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment