vital#of('incsearch')
はPR以前ではなくこのPRのものなので以前より速くなってます.(そのベンチマークは後ほど)- 計測してるプラグインはこれ haya14busa/incsearch.vim#113
- この revital の記事 http://haya14busa.com/revital-vim-makes-vital-vim-a-lot-faster/ より
s:_vital_incsearch_of()
が僅かに遅いです. これはおそらく,:finish
対応をするためにモジュールファイルを書き換えるコードをスクリプトの先頭にもってきた結果function('s:method')
を先に保存しておけなくなったということが考えられるけどそれほど変わるかは謎. - なお計測は実行の順番入れ替えたり何度も実行したりしてますがほとんど変わらないです.
FUNCTIONS SORTED ON SELF TIME count total (s) self (s) function 4 0.117675 0.117447 neocomplete#helper#clean() 100 0.117161 0.115500 vital#of()
雑に :profile
した結果 vital#of()
自体が遅いので vital#of({plugin-name})
よりvital#{plugin-name}#of()
が速いことがわかるかとおもいます.
command! -bar TimerStart let start_time = reltime()
command! -bar TimerEnd echo reltimestr(reltime(start_time)) | unlet start_time
function! s:_vital_of() abort
let V = vital#of('incsearch')
call V.load('Data.List')
call V.unload()
endfunction
function! s:_vital_incsearch_of() abort
let V = vital#incsearch#of()
call V.load('Data.List')
call V.unload()
endfunction
let s:times = 100
TimerStart
for _ in range(s:times)
call s:_vital_incsearch_of()
endfor
TimerEnd
" => 0.040110
TimerStart
for _ in range(s:times)
call s:_vital_of()
endfor
TimerEnd
" => 0.156313
vital#of({plugin-name}) | vital#of{plugin-name}#() |
---|---|
0.156313 | 0.040110 |
FUNCTION yankround#on_cmdwinleave()
Called 1 time
Total time: 0.000227
Self time: 0.000015
count total (s) self (s)
1 0.000003 if !has_key(s:, 'save_rounder')
return
end
1 0.000002 let g:_yankround_stop_caching = 1
1 0.000002 let s:rounder = s:save_rounder
1 0.000219 0.000007 call s:_rounder_autocmd()
FUNCTION <SNR>203_single_word()
Called 2 times
Total time: 0.000101
Self time: 0.000038
count total (s) self (s)
2 0.000004 let pattern = a:pattern
2 0.000002 if pattern ==# ""
let word = expand("<cword>")
else
2 0.000078 0.000015 let word = s:Buffer.get_text_from_pattern(pattern)
2 0.000001 endif
" マルチバイト文字はハイライトしない
2 0.000006 if word == "" || !empty(filter(split(word, '\zs'), "strlen(v:val) > 1"))
2 0.000002 return
endif
let ignore_word_pattern = get(b:, "brightest_ignore_word_pattern", g:brightest#ignore_word_pattern)
if !empty(ignore_word_pattern) && word =~ ignore_word_pattern
return
endif
let pattern = s:Prelude.escape_pattern(word)
if &cursorline && a:cursorline.group ==# "BrightestCursorLineBg"
call brightest#define_cursorline_highlight_group(a:highlight.group)
endif
" nocursorline の場合、BrightestCursorLineBg でハイライトしない
let is_highlight_cursorline = !(a:cursorline.group ==# "BrightestCursorLineBg" && &cursorline == 0 || a:cursorline.group == "")
if is_highlight_cursorline
call s:highlight("cursor_line_over", '\%<' . line('.') . 'l' . pattern, a:highlight)
call s:highlight("cursor_line_down", '\%>' . line('.') . 'l' . pattern, a:highlight)
else
call s:highlight("cursor_word", pattern, a:highlight)
endif
if is_highlight_cursorline
call s:highlight("cursor_line", '\%' . line('.') . 'l' . pattern, a:cursorline)
endif
return 1
FUNCTION neocomplete#available_sources()
Called 1 time
Total time: 0.000014
Self time: 0.000009
count total (s) self (s)
1 0.000014 0.000009 return copy(neocomplete#variables#get_sources())
FUNCTION neocomplete#is_cache_disabled()
Called 10 times
Total time: 0.000331
Self time: 0.000201
count total (s) self (s)
10 0.000034 let ignore_filetypes = ['fuf', 'ku']
10 0.000039 let bufnr = a:0 > 0 ? a:1 : bufnr('%')
10 0.000249 0.000119 return !neocomplete#is_enabled() || index(ignore_filetypes, &filetype) >= 0 || neocomplete#get_current_neocomplete().lock || (g:neocomplete#lock_buffer_name_pattern != '' && bufname(bufnr) =~ g:neocomplete#lock_buffer_name_pattern)
FUNCTION neocomplete#init#_current_neocomplete()
Called 1 time
Total time: 0.000131
Self time: 0.000036
count total (s) self (s)
1 0.000130 0.000035 let b:neocomplete = { 'context' : { 'input' : '', 'complete_pos' : -1, 'complete_str' : '', 'candidates' : [], }, 'lock' : 0, 'skip_next_complete' : 0, 'filetype' : '', 'context_filetype' : '', 'context_filetypes' : [], 'completion_length' : -1, 'update_time_save' : &updatetime, 'foldinfo' : [], 'skipped' : 0, 'event' : '', 'cur_text' : '', 'old_cur_text' : '', 'old_linenr' : line('.'), 'old_complete_pos' : -1, 'old_char' : '', 'complete_str' : '', 'complete_pos' : -1, 'candidates' : [], 'complete_sources' : [], 'manual_sources' : [], 'start_time' : reltime(), 'linenr' : 0, 'completeopt' : &completeopt, 'sources' : [], 'sources_filetype' : '', 'within_comment' : 0, 'is_auto_complete' : 0, 'indent_text' : '', 'default_matchers' : neocomplete#init#_filters( (g:neocomplete#enable_fuzzy_completion ? ['matcher_fuzzy'] : ['matcher_head']) + ['matcher_length']),}
FUNCTION neocomplete#util#uniq()
Called 3 times
Total time: 0.000232
Self time: 0.000034
count total (s) self (s)
3 0.000231 0.000033 return call(s:get_list().uniq, a:000)
FUNCTION vital#_incsearch#new()
Called 100 times
Total time: 0.001661
Self time: 0.000481
count total (s) self (s)
100 0.001628 0.000448 return vital#{s:_plugin_name[1:]}#of()
FUNCTION neosnippet#helpers#get_completion_snippets()
Called 1 time
Total time: 0.002100
Self time: 0.000149
count total (s) self (s)
1 0.002099 0.000148 return filter(neosnippet#helpers#get_snippets(), "!get(v:val.options, 'oneshot', 0)")
FUNCTION <SNR>287_vp_dlclose()
Called 1 time
Total time: 0.000132
Self time: 0.000007
count total (s) self (s)
1 0.000132 0.000007 call s:libcall('vp_dlclose', [a:handle])
FUNCTION <SNR>408_reset_filetype()
Called 2 times
Total time: 0.000035
Self time: 0.000017
count total (s) self (s)
2 0.000028 0.000010 if &filetype != precious#base_filetype()
let &filetype = precious#base_filetype()
endif
FUNCTION <SNR>414_get_list()
Called 3 times
Total time: 0.000023
Self time: 0.000023
count total (s) self (s)
3 0.000009 if !exists('s:List')
let s:List = neocomplete#util#get_vital().import('Data.List')
endif
3 0.000002 return s:List
FUNCTION anzu#clear_search_status()
Called 1 time
Total time: 0.000003
Self time: 0.000003
count total (s) self (s)
1 0.000003 let s:status_cache = ""
FUNCTION neocomplete#variables#get_sources()
Called 4 times
Total time: 0.000024
Self time: 0.000024
count total (s) self (s)
4 0.000011 if !exists('s:sources')
let s:sources = {}
endif
4 0.000004 return s:sources
FUNCTION neocomplete#helper#match_word()
Called 11 times
Total time: 0.000275
Self time: 0.000275
count total (s) self (s)
11 0.000032 let pattern = a:0 >= 1 ? a:1 : neocomplete#get_keyword_pattern_end()
" Check wildcard.
11 0.000165 let complete_pos = match(a:cur_text, pattern)
11 0.000040 let complete_str = (complete_pos >=0) ? a:cur_text[complete_pos :] : ''
11 0.000020 return [complete_pos, complete_str]
FUNCTION neocomplete#cache#load_from_cache()
Called 1 time
Total time: 0.000308
Self time: 0.000174
count total (s) self (s)
1 0.000004 let is_string = get(a:000, 0, 0)
1 0.000001 try
" Note: For neocomplete.
1 0.000001 let list = []
1 0.000001 if is_string
1 0.000001 lua << EOF
do
local ret = vim.eval('list')
local list = {}
for line in io.lines(vim.eval(
'neocomplete#cache#encode_name(a:cache_dir, a:filename)')) do
list = (loadstring) and loadstring('return ' .. line)()
or load('return ' .. line)()
end
for i = 1, #list do
ret:add(list[i])
end
end
EOF
1 0.000001 else
let list = eval(get(neocomplete#cache#readfile( a:cache_dir, a:filename), 0, '[]'))
endif
1 0.000005 if !empty(list) && is_string && type(list[0]) != type('')
" Type check.
throw 'Type error'
endif
1 0.000002 return list
catch
" echomsg string(v:errmsg)
" echomsg string(v:exception)
" Delete old cache file.
let cache_name = neocomplete#cache#encode_name(a:cache_dir, a:filename)
if filereadable(cache_name)
call delete(cache_name)
endif
return []
endtry
FUNCTION 300()
Called 1 time
Total time: 0.017766
Self time: 0.001217
count total (s) self (s)
1 0.000002 if self.do_validate
1 0.017763 0.001214 call filter(self.candidates, 's:is_file_exist(v:val)')
1 0.000001 endif
FUNCTION fugitive#detect()
Called 1 time
Total time: 0.001103
Self time: 0.000161
count total (s) self (s)
1 0.000004 if exists('b:git_dir') && (b:git_dir ==# '' || b:git_dir =~# '/$')
unlet b:git_dir
endif
1 0.000001 if !exists('b:git_dir')
1 0.000268 0.000007 let dir = fugitive#extract_git_dir(a:path)
1 0.000001 if dir !=# ''
1 0.000002 let b:git_dir = dir
1 0.000001 endif
1 0.000000 endif
1 0.000002 if exists('b:git_dir')
1 0.000004 if exists('#User#FugitiveBoot')
try
let [save_mls, &modelines] = [&mls, 0]
doautocmd User FugitiveBoot
finally
let &mls = save_mls
endtry
endif
1 0.000002 if !exists('g:fugitive_no_maps')
1 0.000028 cnoremap <buffer> <expr> <C-R><C-G> fnameescape(<SID>recall())
1 0.000025 nnoremap <buffer> <silent> y<C-G> :call setreg(v:register, <SID>recall())<CR>
1 0.000001 endif
1 0.000042 0.000009 let buffer = fugitive#buffer()
1 0.000007 if expand('%:p') =~# '//'
call buffer.setvar('&path', s:sub(buffer.getvar('&path'), '^\.%(,|$)', ''))
endif
1 0.000011 0.000008 if stridx(buffer.getvar('&tags'), escape(b:git_dir, ', ')) == -1
1 0.000007 if filereadable(b:git_dir.'/tags')
call buffer.setvar('&tags', escape(b:git_dir.'/tags', ', ').','.buffer.getvar('&tags'))
endif
1 0.000005 if &filetype !=# '' && filereadable(b:git_dir.'/'.&filetype.'.tags')
call buffer.setvar('&tags', escape(b:git_dir.'/'.&filetype.'.tags', ', ').','.buffer.getvar('&tags'))
endif
1 0.000001 endif
1 0.000001 try
1 0.000008 let [save_mls, &modelines] = [&mls, 0]
1 0.000651 0.000006 doautocmd User Fugitive
1 0.000001 finally
1 0.000006 let &mls = save_mls
1 0.000001 endtry
1 0.000000 endif
FUNCTION context_filetype#get()
Called 17 times
Total time: 0.011298
Self time: 0.000286
count total (s) self (s)
17 0.000044 let base_filetype = get(a:, 1, &filetype)
17 0.000226 0.000074 let filetypes = s:get_filetypes({})
17 0.010934 0.000074 let context = s:get_nest(base_filetype, filetypes)
17 0.000019 if context.range == s:null_range
17 0.000031 let context.filetype = base_filetype
17 0.000012 endif
17 0.000017 return context
FUNCTION <SNR>443_check_force_omni()
Called 3 times
Total time: 0.001588
Self time: 0.000045
count total (s) self (s)
3 0.000005 let cur_text = a:cur_text
3 0.001561 0.000018 let complete_pos = neocomplete#helper#get_force_omni_complete_pos(cur_text)
3 0.000007 if complete_pos >= 0 && !neocomplete#complete#_check_previous_position( cur_text, complete_pos)
call s:complete_key("\<Plug>(neocomplete_start_omni_complete)")
endif
3 0.000002 return complete_pos
FUNCTION neosnippet#handlers#_cursor_moved()
Called 4 times
Total time: 0.000083
Self time: 0.000040
count total (s) self (s)
4 0.000062 0.000019 let expand_stack = neosnippet#variables#expand_stack()
" Get patterns and count.
4 0.000012 if !&l:modifiable || !&l:modified || empty(expand_stack)
4 0.000003 return
endif
let expand_info = expand_stack[-1]
if expand_info.begin_line == expand_info.end_line && line('.') != expand_info.begin_line
call neosnippet#view#_clear_markers(expand_info)
endif
FUNCTION <SNR>287_garbage_collect()
Called 1 time
Total time: 0.000025
Self time: 0.000025
count total (s) self (s)
1 0.000005 for pid in values(s:bg_processes)
" Check processes.
try
let [cond, _] = s:libcall('vp_waitpid', [pid])
" echomsg string([pid, cond, _])
if cond !=# 'run' || a:is_force
if cond !=# 'exit'
" Kill process.
call vimproc#kill(pid, g:vimproc#SIGTERM)
endif
if vimproc#util#is_windows()
call s:libcall('vp_close_handle', [pid])
endif
call remove(s:bg_processes, pid)
endif
catch
" Ignore error.
endtry
endfor
FUNCTION <SNR>2_init_cmdwin()
Called 1 time
Total time: 0.000280
Self time: 0.000280
count total (s) self (s)
1 0.000005 setlocal nonumber
1 0.000039 silent! 1,$-20 delete _ | call cursor('$', 0)
1 0.000070 nnoremap <silent><buffer>q :<C-u>quit<CR>
1 0.000020 nnoremap <silent><buffer><CR> <CR>
1 0.000020 inoremap <silent><buffer><expr><CR> pumvisible() ? "\<C-y>\<CR>" : "\<CR>"
1 0.000019 nnoremap <silent><buffer><TAB> :<C-u>quit<CR>
1 0.000016 nnoremap <silent><buffer><Space> <CR>q:
1 0.000017 nnoremap <silent><buffer>;; <CR>q:
1 0.000016 inoremap <silent><buffer>;; <CR>q:
" Completion.
1 0.000017 inoremap <silent><buffer><expr><TAB> pumvisible() ? "\<C-n>" : "\<TAB>"
1 0.000017 inoremap <silent><buffer><expr><C-p> pumvisible() ? "\<C-p>" : "\<C-o>0\<UP>"
1 0.000017 inoremap <silent><buffer><expr><C-n> pumvisible() ? "\<C-n>" : "\<C-o>0\<DOWN>"
1 0.000002 startinsert!
FUNCTION <SNR>441_uniq()
Called 5 times
Total time: 0.000227
Self time: 0.000028
count total (s) self (s)
5 0.000226 0.000027 return s:uniq_by(a:list, 'v:val')
FUNCTION <SNR>97_append()
Called 1 time
Total time: 0.000025
Self time: 0.000017
count total (s) self (s)
1 0.000003 if bufnr('%') != expand('<abuf>')
return
endif
1 0.000006 if !has('vim_starting') || bufname(bufnr('%')) != ''
1 0.000014 0.000006 call unite#sources#buffer#variables#append(bufnr('%'))
1 0.000001 endif
FUNCTION <SNR>456_is_beginning_of_line()
Called 1 time
Total time: 0.000019
Self time: 0.000019
count total (s) self (s)
1 0.000001 let keyword_pattern = '\S\+'
1 0.000007 let cur_keyword_str = matchstr(a:cur_text, keyword_pattern.'$')
1 0.000004 let line_part = a:cur_text[: -1-len(cur_keyword_str)]
1 0.000005 let prev_word_end = matchend(line_part, keyword_pattern)
1 0.000001 return prev_word_end <= 0
FUNCTION neocomplete#get_cur_text()
Called 3 times
Total time: 0.000204
Self time: 0.000038
count total (s) self (s)
" Return cached text.
3 0.000032 0.000013 let neocomplete = neocomplete#get_current_neocomplete()
3 0.000171 0.000024 return (a:0 == 0 && mode() ==# 'i' && neocomplete.cur_text != '') ? neocomplete.cur_text : neocomplete#helper#get_cur_text()
FUNCTION <SNR>232_is_sudo()
Called 2 times
Total time: 0.000012
Self time: 0.000012
count total (s) self (s)
2 0.000012 return $SUDO_USER != '' && $USER !=# $SUDO_USER && $HOME !=# expand('~'.$USER) && $HOME ==# expand('~'.$SUDO_USER)
FUNCTION <SNR>409_get_context()
Called 34 times
Total time: 0.010323
Self time: 0.005366
count total (s) self (s)
34 0.000102 let base_filetype = empty(a:filetype) ? 'nothing' : a:filetype
34 0.000111 let context_filetypes = get(a:context_filetypes, base_filetype, [])
34 0.000052 if empty(context_filetypes)
return s:null_context
endif
34 0.000089 let pos = [line('.'), col('.')]
170 0.000188 for context in context_filetypes
136 0.005550 0.000593 let range = s:search_range(context.start, context.end)
" insert 時にカーソル座標がずれるのでそれの対応
136 0.000239 let start = range[0]
136 0.000521 let end = [range[1][0], (mode() ==# 'i') ? range[1][1]+1 : range[1][1]]
" start <= pos && pos <= end
" search_range[0] <= start && start <= search_range[1]
" search_range[0] <= end && end <= search_range[1]
136 0.000682 if range != s:null_range && s:is_in(start, end, pos) && s:is_in(a:search_range[0], a:search_range[1], range[0]) && s:is_in(a:search_range[0], a:search_range[1], range[1])
let context_filetype = context.filetype
if context.filetype =~ '\\\d\+'
let stopline_back = s:stopline_back()
let line = getline( searchpos(context.start, 'nbW', stopline_back)[0] )
let match_list = matchlist(line, context.start)
let context_filetype = s:replace_submatch(context.filetype, match_list)
endif
return { "filetype" : context_filetype, "range" : range }
endif
136 0.000098 endfor
34 0.000036 return s:null_context
FUNCTION neocomplete#get_current_neocomplete()
Called 144 times
Total time: 0.000999
Self time: 0.000868
count total (s) self (s)
144 0.000306 if !exists('b:neocomplete')
1 0.000140 0.000009 call neocomplete#init#_current_neocomplete()
1 0.000001 endif
144 0.000151 return b:neocomplete
FUNCTION precious#context_filetype()
Called 1 time
Total time: 0.000845
Self time: 0.000015
count total (s) self (s)
1 0.000004 for matcher in values(s:matchers)
1 0.000836 0.000006 let filetype = matcher.apply()
1 0.000002 if !empty(filetype)
1 0.000001 return filetype
endif
endfor
return precious#base_filetype()
FUNCTION neocomplete#init#_filters()
Called 1 time
Total time: 0.000095
Self time: 0.000089
count total (s) self (s)
1 0.000001 let _ = []
1 0.000017 0.000011 let filters = neocomplete#variables#get_filters()
3 0.000004 for name in a:names
2 0.000004 if !has_key(filters, name)
" Search autoload.
for filter_name in map(split(globpath(&runtimepath, 'autoload/neocomplete/filters/'. substitute(name,'^\%(matcher\|sorter\|converter\)_[^/_-]\+\zs[/_-].*$', '', '') .'*.vim'), '\n'), "fnamemodify(v:val, ':t:r')")
let filter = neocomplete#filters#{filter_name}#define()
if empty(filter)
" Ignore.
continue
endif
call neocomplete#define_filter(filter)
endfor
if !has_key(filters, name)
" Not found.
call neocomplete#print_error( printf('filter name : %s is not found.', string(name)))
continue
endif
endif
2 0.000004 if has_key(filters, name)
2 0.000005 call add(_, filters[name])
2 0.000001 endif
2 0.000001 endfor
1 0.000001 return _
FUNCTION <SNR>139_repo_head()
Called 18 times
Total time: 0.001530
Self time: 0.000460
count total (s) self (s)
18 0.000989 0.000102 let head = s:repo().head_ref()
18 0.000095 if head =~# '^ref: '
18 0.000274 0.000091 let branch = s:sub(head,'^ref: %(refs/%(heads/|remotes/|tags/)=)=','')
18 0.000019 elseif head =~# '^\x\{40\}$'
" truncate hash to a:1 characters if we're in detached head mode
let len = a:0 ? a:1 : 0
let branch = len ? head[0:len-1] : ''
else
return ''
endif
18 0.000018 return branch
FUNCTION 839()
Called 2 times
Total time: 0.000218
Self time: 0.000078
count total (s) self (s)
2 0.000004 let filetype = a:context.filetype
2 0.000005 if filetype ==# 'vimshell' || filetype ==# 'unite' || filetype ==# 'int-ssh'
return -1
endif
" Filename pattern.
2 0.000088 0.000017 let pattern = neocomplete#get_keyword_pattern_end('filename', self.name)
2 0.000065 0.000017 let [complete_pos, complete_str] = neocomplete#helper#match_word(a:context.input, pattern)
2 0.000046 0.000025 if (complete_str =~ '//' || complete_str == '/' || (neocomplete#is_auto_complete() && (complete_str !~ '/' || len(complete_str) < g:neocomplete#auto_completion_start_length || complete_str =~# '\\[^ ;*?[]"={}'']\|\.\.\+$\|/c\%[ygdrive/]$')))
" Not filename pattern.
2 0.000001 return -1
endif
if complete_str =~ '/'
let complete_pos += strridx(complete_str, '/') + 1
endif
return complete_pos
FUNCTION <SNR>486_restore_options()
Called 1 time
Total time: 0.000003
Self time: 0.000003
count total (s) self (s)
1 0.000002 if s:search_highlighted || s:set_flag == 0
1 0.000001 return
endif
let s:set_flag = 0
let &incsearch = s:old_incsearch
let &hlsearch = s:old_hlsearch
if g:over_enable_auto_nohlsearch
call s:silent_feedkeys(":nohlsearch\<CR>", "nohlsearch", 'n')
call feedkeys("\<Plug>(over-restore-nohlsearch)")
endif
execute "normal \<Plug>(over-restore-search-pattern)"
" call s:silent_feedkeys(":let @/ = " . string(s:old_search_pattern) . "\<CR>", "restore-search-pattern", 'n')
FUNCTION <SNR>563__get_module()
Called 200 times
Total time: 0.026817
Self time: 0.004411
count total (s) self (s)
200 0.000237 try
200 0.024620 0.002214 let module = vital#_{self.plugin_name}#{substitute(a:name, '\.', '#', 'g')}#import()
200 0.000283 catch /E117: Unknown function:/
if !s:has_latest_module
throw 'vital: module not found: ' . a:name
endif
" Retry to support loading self modules.
let module = s:_get_latest_module(a:name)
endtry
200 0.000206 return module
FUNCTION <SNR>435_make_cache_current_buffer()
Called 3 times
Total time: 0.001455
Self time: 0.000872
count total (s) self (s)
3 0.000007 let srcname = bufnr('%')
" Make cache from current buffer.
3 0.000080 0.000013 if !s:should_create_cache(srcname)
return
endif
3 0.000075 0.000013 if !s:exists_current_source()
1 0.000228 0.000006 call s:initialize_source(srcname)
1 0.000000 endif
3 0.000008 let source = s:buffer_sources[srcname]
3 0.000006 let keyword_pattern = source.keyword_pattern
3 0.000005 if keyword_pattern == ''
return
endif
3 0.000003 let words = []
3 0.000003 lua << EOF
do
local words = vim.eval('words')
local dup = {}
local b = vim.buffer()
local min_length = vim.eval('g:neocomplete#min_keyword_length')
for linenr = vim.eval('a:start'), vim.eval('a:end') do
local match = 0
while 1 do
local match_str = vim.eval('matchstr(getline('..linenr..
'), keyword_pattern, ' .. match .. ')')
if match_str == '' then
break
end
if dup[match_str] == nil
and string.len(match_str) >= min_length then
dup[match_str] = 1
words:add(match_str)
end
-- Next match.
match = vim.eval('matchend(getline(' .. linenr ..
'), keyword_pattern, ' .. match .. ')')
end
end
end
EOF
3 0.000262 0.000030 let source.words = neocomplete#util#uniq(source.words + words)
FUNCTION precious#switch()
Called 2 times
Total time: 0.000056
Self time: 0.000029
count total (s) self (s)
2 0.000005 let context_filetype = a:filetype
2 0.000041 0.000014 let prev_context_filetype = s:prev_context_filetype()
2 0.000005 if context_filetype == prev_context_filetype
2 0.000002 return 0
endif
let base_filetype = precious#base_filetype()
let context = { "base_filetype" : base_filetype, "context_filetype" : context_filetype, "prev_context_filetype" : prev_context_filetype }
call precious#reset_contextlocal()
try
for [name, switcher] in items(s:switchers)
if s:is_enable_switch(name, base_filetype)
call switcher.apply(context)
endif
endfor
finally
let b:precious_prev_context_filetype = context_filetype
endtry
FUNCTION neocomplete#helper#check_invalid_omnifunc()
Called 7 times
Total time: 0.000021
Self time: 0.000021
count total (s) self (s)
7 0.000019 return a:omnifunc == '' || (a:omnifunc !~ '#' && !exists('*' . a:omnifunc))
FUNCTION fugitive#extract_git_dir()
Called 1 time
Total time: 0.000261
Self time: 0.000143
count total (s) self (s)
1 0.000031 0.000010 if s:shellslash(a:path) =~# '^fugitive://.*//'
return matchstr(s:shellslash(a:path), '\C^fugitive://\zs.\{-\}\ze//')
endif
1 0.000028 0.000017 let root = s:shellslash(simplify(fnamemodify(a:path, ':p:s?[\/]$??')))
1 0.000001 let previous = ""
2 0.000004 while root !=# previous
2 0.000011 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
2 0.000013 if index(split($GIT_CEILING_DIRECTORIES, ':'), root) >= 0
break
endif
2 0.000005 if root ==# $GIT_WORK_TREE && fugitive#is_git_dir($GIT_DIR)
return $GIT_DIR
endif
2 0.000040 0.000009 if fugitive#is_git_dir($GIT_DIR)
" Ensure that we've cached the worktree
call s:configured_tree($GIT_DIR)
if has_key(s:dir_for_worktree, root)
return s:dir_for_worktree[root]
endif
endif
2 0.000022 0.000008 let dir = s:sub(root, '[\/]$', '') . '/.git'
2 0.000008 let type = getftype(dir)
2 0.000025 0.000005 if type ==# 'dir' && fugitive#is_git_dir(dir)
1 0.000001 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
1 0.000001 let previous = root
1 0.000003 let root = fnamemodify(root, ':h')
1 0.000001 endwhile
return ''
FUNCTION <SNR>203_is_enable_on_cursorhold()
Called 4 times
Total time: 0.000013
Self time: 0.000013
count total (s) self (s)
4 0.000008 return g:brightest#enable_on_CursorHold && get(b:, "brightest_enable_on_CursorHold", 1)
FUNCTION <SNR>139_repo()
Called 36 times
Total time: 0.000694
Self time: 0.000694
count total (s) self (s)
36 0.000190 let dir = a:0 ? a:1 : (exists('b:git_dir') && b:git_dir !=# '' ? b:git_dir : fugitive#extract_git_dir(expand('%:p')))
36 0.000040 if dir !=# ''
36 0.000073 if has_key(s:repos, dir)
36 0.000082 let repo = get(s:repos, dir)
36 0.000019 else
let repo = {'git_dir': dir}
let s:repos[dir] = repo
endif
36 0.000166 return extend(extend(repo, s:repo_prototype, 'keep'), s:abstract_prototype, 'keep')
endif
call s:throw('not a git repository: '.expand('%:p'))
FUNCTION neosnippet#commands#_make_cache()
Called 3 times
Total time: 0.000088
Self time: 0.000058
count total (s) self (s)
3 0.000027 0.000012 call neosnippet#init#check()
3 0.000008 let filetype = a:filetype == '' ? &filetype : a:filetype
3 0.000003 if filetype ==# ''
let filetype = 'nothing'
endif
3 0.000028 0.000013 let snippets = neosnippet#variables#snippets()
3 0.000006 if has_key(snippets, filetype)
3 0.000001 return
endif
let snippets[filetype] = {}
let path = join(neosnippet#helpers#get_snippets_directory(), ',')
let cache_dir = neosnippet#variables#data_dir()
for filename in s:get_snippets_files(path, filetype)
" Clear cache file
call s:Cache.deletefile(cache_dir, filename)
let snippets[filetype] = extend(snippets[filetype], neosnippet#parser#_parse_snippets(filename))
endfor
if g:neosnippet#enable_snipmate_compatibility
" Load file snippets
for filename in s:get_snippet_files(path, filetype)
let trigger = fnamemodify(filename, ':t:r')
let snippets[filetype][trigger] = neosnippet#parser#_parse_snippet(filename, trigger)
endfor
endif
FUNCTION neosnippet#util#get_cur_text()
Called 1 time
Total time: 0.000009
Self time: 0.000009
count total (s) self (s)
1 0.000008 return (mode() ==# 'i' ? (col('.')-1) : col('.')) >= len(getline('.')) ? getline('.') : matchstr(getline('.'), '^.*\%' . col('.') . 'c' . (mode() ==# 'i' ? '' : '.'))
FUNCTION neocomplete#complete#_get_complete_pos()
Called 2 times
Total time: 0.000022
Self time: 0.000022
count total (s) self (s)
2 0.000004 if empty(a:sources)
return -1
endif
2 0.000016 return min([col('.')] + map(copy(a:sources), 'v:val.neocomplete__context.complete_pos'))
FUNCTION 849()
Called 1 time
Total time: 0.000005
Self time: 0.000005
count total (s) self (s)
1 0.000004 silent! delcommand NeoCompleteTagMakeCache
FUNCTION neomru#_append()
Called 1 time
Total time: 0.000007
Self time: 0.000007
count total (s) self (s)
1 0.000006 if &l:buftype =~ 'help\|nofile' || &l:previewwindow
1 0.000001 return
endif
let path = s:substitute_path_separator(expand('%:p'))
if path !~ '\a\+:'
let path = s:substitute_path_separator( simplify(resolve(path)))
endif
" Append the current buffer to the mru list.
if s:is_file_exist(path)
call s:file_mru.append(path)
endif
let filetype = getbufvar(bufnr('%'), '&filetype')
if filetype ==# 'vimfiler' && type(getbufvar(bufnr('%'), 'vimfiler')) == type({})
let path = getbufvar(bufnr('%'), 'vimfiler').current_dir
elseif filetype ==# 'vimshell' && type(getbufvar(bufnr('%'), 'vimshell')) == type({})
let path = getbufvar(bufnr('%'), 'vimshell').current_dir
else
let path = getcwd()
endif
let path = s:substitute_path_separator(simplify(resolve(path)))
" Chomp last /.
let path = substitute(path, '/$', '', '')
" Append the current buffer to the mru list.
if s:is_directory_exist(path)
call s:directory_mru.append(path)
endif
FUNCTION <SNR>232_uniq()
Called 2 times
Total time: 0.014227
Self time: 0.000056
count total (s) self (s)
2 0.014227 0.000056 return s:uniq_by(a:list, 'tolower(v:val)')
FUNCTION <SNR>207_region()
Called 2 times
Total time: 0.000040
Self time: 0.000040
count total (s) self (s)
2 0.000006 let flag_first = get(a:, 1, "")
2 0.000005 let flag_last = get(a:, 2, "")
2 0.000029 return [searchpos(a:pattern, flag_first), searchpos(a:pattern, flag_last)]
FUNCTION neocomplete#filters#escape()
Called 3 times
Total time: 0.000026
Self time: 0.000026
count total (s) self (s)
" Escape string for lua regexp.
3 0.000022 return substitute(a:string, '[%\[\]().*+?^$-]', '%\0', 'g')
FUNCTION <SNR>404_is_enable_switch_CursorMoved()
Called 1 time
Total time: 0.000007
Self time: 0.000007
count total (s) self (s)
1 0.000007 return (get(g:precious_enable_switch_CursorMoved, "*", 1) || get(g:precious_enable_switch_CursorMoved, a:filetype, 0)) && get(g:precious_enable_switch_CursorMoved, a:filetype, 1)
FUNCTION <SNR>203_is_ignore()
Called 2 times
Total time: 0.000055
Self time: 0.000026
count total (s) self (s)
2 0.000054 0.000025 return !s:is_enable_in_current(a:context) || s:is_ignore_syntax_in_cursor(a:context)
FUNCTION <SNR>563_load()
Called 200 times
Total time: 0.077336
Self time: 0.022675
count total (s) self (s)
400 0.000624 for arg in a:000
200 0.001060 let [name; as] = type(arg) == type([]) ? arg[: 1] : [arg, arg]
200 0.001648 let target = split(join(as, ''), '\W\+')
200 0.000275 let dict = self
200 0.000418 let dict_type = type({})
600 0.000856 while !empty(target)
400 0.000867 let ns = remove(target, 0)
400 0.000715 if !has_key(dict, ns)
400 0.000690 let dict[ns] = {}
400 0.000232 endif
400 0.000835 if type(dict[ns]) == dict_type
400 0.000564 let dict = dict[ns]
400 0.000219 else
unlet dict
break
endif
400 0.000285 endwhile
200 0.000358 if exists('dict')
200 0.059340 0.004679 call extend(dict, self._import(name))
200 0.000162 endif
200 0.000285 unlet arg
200 0.000155 endfor
200 0.000197 return self
FUNCTION <SNR>443_is_skip_auto_complete()
Called 3 times
Total time: 0.000073
Self time: 0.000056
count total (s) self (s)
3 0.000027 0.000010 let neocomplete = neocomplete#get_current_neocomplete()
3 0.000024 if (g:neocomplete#lock_iminsert && &l:iminsert) || (&l:formatoptions =~# '[tca]' && &l:textwidth > 0 && strwidth(a:cur_text) >= &l:textwidth)
let neocomplete.skip_next_complete = 0
return 1
endif
3 0.000006 let skip = neocomplete.skip_next_complete
3 0.000003 if !skip
3 0.000003 return 0
endif
let neocomplete.skip_next_complete = 0
return skip
FUNCTION neoyank#_append()
Called 2 times
Total time: 0.000081
Self time: 0.000046
count total (s) self (s)
2 0.000008 let prev_histories = copy(s:yank_histories)
4 0.000006 for register in g:neoyank#save_registers
2 0.000048 0.000013 call s:add_register(register)
2 0.000003 endfor
2 0.000004 if prev_histories !=# s:yank_histories
" Updated.
call neoyank#_save()
endif
FUNCTION <SNR>489_Hier()
Called 2 times
Total time: 0.000448
Self time: 0.000409
count total (s) self (s)
4 0.000007 for m in getmatches()
14 0.000016 for h in ['QFError', 'QFWarning', 'QFInfo', 'LocError', 'LocWarning', 'LocInfo']
12 0.000013 if m.group == h
call matchdelete(m.id)
endif
12 0.000006 endfor
2 0.000001 endfor
2 0.000004 if g:hier_enabled == 0 || a:clearonly == 1
return
endif
2 0.000004 let bufnr = bufnr('%')
6 0.000007 for type in ['qf', 'loc']
14 0.000076 0.000037 for i in s:Getlist(0, type)
10 0.000010 if i.bufnr == bufnr
let hi_group = 'QFError'
if i.type == 'I' || i.type == 'info'
let hi_group = 'QFInfo'
elseif i.type == 'W' || i.type == 'warning'
let hi_group = 'QFWarning'
elseif eval('g:hier_highlight_group_'.type) == ""
continue
endif
if i.lnum > 0
call matchadd(hi_group, '\%'.i.lnum.'l')
elseif i.pattern != ''
call matchadd(hi_group, i.pattern)
endif
endif
10 0.000004 endfor
4 0.000003 endfor
FUNCTION neocomplete#helper#clean()
Called 4 times
Total time: 0.117675
Self time: 0.117447
count total (s) self (s)
4 0.000250 0.000022 let directory = neocomplete#get_data_directory() .'/'.a:directory
2024 0.089451 for file in split(glob(directory . '/*'), '\n')
2020 0.015801 let orig = substitute(substitute(fnamemodify(file, ':t'), '=-', ':', 'g'), '=+', '/', 'g')
2020 0.007935 if !filereadable(orig)
call delete(file)
endif
2020 0.001045 endfor
FUNCTION 804()
Called 1 time
Total time: 0.000830
Self time: 0.000028
count total (s) self (s)
1 0.000012 0.000004 let base_filetype = precious#base_filetype()
1 0.000002 let has_contextfiletype_vim = 0
1 0.000019 0.000013 silent! let has_contextfiletype_vim = context_filetype#version()
1 0.000002 if has_contextfiletype_vim
1 0.000795 0.000007 return context_filetype#get_filetype(base_filetype)
else
echo "precious.vim - Please install context_filetype.vim"
return ""
endif
FUNCTION 807()
Called 3 times
Total time: 0.000858
Self time: 0.000775
count total (s) self (s)
3 0.000008 if len(a:context.complete_str) > 10
" Mix fuzzy mode.
let len = len(a:context.complete_str)
let fuzzy_len = len - len/(1 + len/10)
let pattern = neocomplete#filters#escape( a:context.complete_str[: fuzzy_len-1]) . neocomplete#filters#fuzzy_escape( a:context.complete_str[fuzzy_len :])
else
3 0.000101 0.000018 let pattern = neocomplete#filters#fuzzy_escape( a:context.complete_str)
3 0.000002 endif
" The first letter must be matched.
3 0.000005 let pattern = '^' . pattern
3 0.000004 lua << EOF
do
local pattern = vim.eval('pattern')
local input = vim.eval('a:context.complete_str')
local candidates = vim.eval('a:context.candidates')
if vim.eval('&ignorecase') ~= 0 then
pattern = string.lower(pattern)
input = string.lower(input)
for i = #candidates-1, 0, -1 do
local word = vim.type(candidates[i]) == 'dict' and
string.lower(candidates[i].word) or string.lower(candidates[i])
if string.find(word, pattern, 1) == nil then
candidates[i] = nil
end
end
else
for i = #candidates-1, 0, -1 do
local word = vim.type(candidates[i]) == 'dict' and
candidates[i].word or candidates[i]
if string.find(word, pattern, 1) == nil then
candidates[i] = nil
end
end
end
end
EOF
3 0.000007 return a:context.candidates
FUNCTION neocomplete#complete#_set_results_pos()
Called 2 times
Total time: 0.003792
Self time: 0.001247
count total (s) self (s)
" Initialize sources.
2 0.000017 0.000004 let neocomplete = neocomplete#get_current_neocomplete()
2 0.000026 0.000005 let filetype = neocomplete#get_context_filetype()
2 0.000165 0.000014 let sources = (a:0 > 0) ? a:1 : (filetype ==# neocomplete.sources_filetype) ? neocomplete.sources : neocomplete#helper#get_sources_list()
2 0.000005 let pos = winsaveview()
" Try source completion. "{{{
2 0.000002 let complete_sources = []
20 0.000541 0.000089 for source in filter(values(sources), 'neocomplete#helper#is_enabled_source(v:val, filetype)')
18 0.000020 if !source.loaded
call neocomplete#helper#call_hook(source, 'on_init', {})
let source.loaded = 1
endif
18 0.000025 let context = source.neocomplete__context
18 0.000035 let context.input = a:cur_text
18 0.000024 let context.filetype = filetype
18 0.000254 0.000073 let context.filetypes = neocomplete#context_filetype#filetypes()
18 0.000019 try
18 0.001889 0.000263 let complete_pos = s:use_previous_result(source, context) ? context.prev_complete_pos : has_key(source, 'get_complete_position') ? source.get_complete_position(context) : neocomplete#helper#match_word(context.input, neocomplete#get_keyword_pattern_end(filetype, source.name))[0]
18 0.000015 catch
call neocomplete#print_error(v:throwpoint)
call neocomplete#print_error(v:exception)
call neocomplete#print_error( 'Error occurred in source''s get_complete_position()!')
call neocomplete#print_error( 'Source name is ' . source.name)
return complete_sources
finally
18 0.000060 if winsaveview() != pos
call winrestview(pos)
endif
18 0.000011 endtry
18 0.000018 if complete_pos < 0
8 0.000012 let context.complete_pos = -1
8 0.000009 let context.complete_str = ''
8 0.000010 continue
endif
10 0.000022 let complete_str = context.input[complete_pos :]
10 0.000151 0.000050 if neocomplete#is_auto_complete() && len(complete_str) < source.min_pattern_length
" Skip.
5 0.000005 let context.complete_pos = -1
5 0.000008 let context.complete_str = ''
5 0.000007 continue
endif
5 0.000009 let context.complete_pos = complete_pos
5 0.000008 let context.complete_str = complete_str
5 0.000013 call add(complete_sources, source)
5 0.000004 endfor
"}}}
2 0.000002 return complete_sources
FUNCTION neocomplete#helper#get_sources_list()
Called 1 time
Total time: 0.000151
Self time: 0.000085
count total (s) self (s)
1 0.000012 0.000002 let filetype = neocomplete#get_context_filetype()
1 0.000008 let source_names = exists('b:neocomplete_sources') ? b:neocomplete_sources : get(a:000, 0, get(g:neocomplete#sources, filetype, get(g:neocomplete#sources, '_', ['_'])))
1 0.000022 0.000007 call neocomplete#init#_sources(source_names)
1 0.000020 0.000006 let all_sources = neocomplete#available_sources()
1 0.000001 let sources = {}
1 0.000002 for source_name in source_names
1 0.000001 if source_name ==# '_'
" All sources.
1 0.000002 let sources = all_sources
1 0.000001 break
endif
if !has_key(all_sources, source_name)
call neocomplete#print_warning(printf( 'Invalid source name "%s" is given.', source_name))
continue
endif
let sources[source_name] = all_sources[source_name]
endfor
1 0.000009 0.000003 let neocomplete = neocomplete#get_current_neocomplete()
1 0.000055 0.000034 let neocomplete.sources = filter(sources, " empty(v:val.filetypes) || neocomplete#helper#check_filetype(v:val.filetypes)")
1 0.000002 let neocomplete.sources_filetype = neocomplete.context_filetype
1 0.000001 return neocomplete.sources
FUNCTION <SNR>414_get_prelude()
Called 7 times
Total time: 0.000050
Self time: 0.000050
count total (s) self (s)
7 0.000015 if !exists('s:Prelude')
let s:Prelude = neocomplete#util#get_vital().import('Prelude')
endif
7 0.000008 return s:Prelude
FUNCTION neosnippet#mappings#_clear_select_mode_mappings()
Called 1 time
Total time: 0.001887
Self time: 0.001887
count total (s) self (s)
1 0.000002 if !g:neosnippet#disable_select_mode_mappings
return
endif
1 0.000003 redir => mappings
1 0.000729 silent! smap
1 0.000005 redir END
1 0.001052 for map in map(filter(split(mappings, '\n'), "v:val !~# '^s' && v:val !~ '^\\a*\\s*<\\S\\+>'"), "matchstr(v:val, '^\\a*\\s*\\zs\\S\\+')")
silent! execute 'sunmap' map
silent! execute 'sunmap <buffer>' map
endfor
" Define default select mode mappings.
1 0.000025 snoremap <CR> a<BS>
1 0.000018 snoremap <BS> a<BS>
1 0.000015 snoremap <Del> a<BS>
1 0.000015 snoremap <C-h> a<BS>
1 0.000014 snoremap <ESC> <BS><ESC>
FUNCTION 830()
Called 1 time
Total time: 0.002138
Self time: 0.000038
count total (s) self (s)
1 0.002119 0.000019 let snippets = values(neosnippet#helpers#get_completion_snippets())
1 0.000015 if matchstr(a:context.input, '\S\+$') !=# matchstr(a:context.input, '\w\+$')
" Word filtering
call filter(snippets, 'v:val.options.word')
endif
1 0.000001 return snippets
FUNCTION 833()
Called 1 time
Total time: 0.000009
Self time: 0.000009
count total (s) self (s)
1 0.000003 silent! delcommand NeoCompleteBufferMakeCache
1 0.000006 let s:buffer_sources = {}
FUNCTION 835()
Called 1 time
Total time: 0.000536
Self time: 0.000030
count total (s) self (s)
1 0.000486 0.000007 call s:check_async_cache(a:context)
1 0.000002 let keyword_list = []
3 0.000037 0.000010 for source in s:get_sources_list(a:context)
2 0.000005 let keyword_list += source.words
2 0.000002 endfor
1 0.000001 return keyword_list
FUNCTION 837()
Called 1 time
Total time: 0.000004
Self time: 0.000004
count total (s) self (s)
1 0.000004 silent! delcommand NeoCompleteDictionaryMakeCache
FUNCTION 838()
Called 1 time
Total time: 0.000087
Self time: 0.000048
count total (s) self (s)
1 0.000001 let list = []
2 0.000003 for ft in a:context.filetypes
1 0.000003 if !has_key(s:dictionary_cache, ft)
1 0.000012 0.000005 call s:make_cache(ft)
1 0.000001 endif
1 0.000041 0.000009 call neocomplete#cache#check_cache( 'dictionary_cache', ft, s:async_dictionary_list, s:dictionary_cache, 1)
1 0.000005 let list += get(s:dictionary_cache, ft, [])
1 0.000001 endfor
1 0.000001 return list
FUNCTION 843()
Called 2 times
Total time: 0.000064
Self time: 0.000056
count total (s) self (s)
" Check member prefix pattern.
2 0.000004 let filetype = a:context.filetype
2 0.000010 let prefix = get(g:neocomplete#sources#member#prefix_patterns, filetype, get(g:neocomplete#sources#member#prefix_patterns, '_', ''))
2 0.000003 if prefix == ''
return -1
endif
2 0.000017 0.000009 let member = s:get_member_pattern(filetype)
2 0.000022 let complete_pos = matchend(a:context.input, member . '\m\%(' . prefix . '\m\)\ze\w*$')
2 0.000002 return complete_pos
FUNCTION neosnippet#init#check()
Called 4 times
Total time: 0.000020
Self time: 0.000020
count total (s) self (s)
4 0.000010 if !exists('s:is_initialized')
call neosnippet#init#_initialize()
endif
FUNCTION 846()
Called 2 times
Total time: 0.000399
Self time: 0.000042
count total (s) self (s)
2 0.000379 0.000028 let a:context.source__complete_results = s:set_complete_results_pos( s:get_omni_funcs(a:context.filetype), a:context.input)
2 0.000019 0.000013 return s:get_complete_pos(a:context.source__complete_results)
FUNCTION <SNR>435_get_sources_list()
Called 2 times
Total time: 0.000053
Self time: 0.000053
count total (s) self (s)
2 0.000004 let filetypes_dict = {}
4 0.000005 for filetype in a:context.filetypes
2 0.000005 let filetypes_dict[filetype] = 1
2 0.000001 endfor
2 0.000032 return values(filter(copy(s:buffer_sources), "has_key(filetypes_dict, v:val.filetype) || has_key(filetypes_dict, '_') || bufnr('%') == v:key || (bufname('%') ==# '[Command Line]' && bufwinnr('#') == v:key)"))
FUNCTION 850()
Called 1 time
Total time: 0.000205
Self time: 0.000035
count total (s) self (s)
1 0.000006 if !has_key(s:async_tags_list, bufnr('%')) && !has_key(s:tags_list, bufnr('%'))
1 0.000139 0.000006 call neocomplete#sources#tag#make_cache(0)
1 0.000000 endif
1 0.000016 0.000008 if neocomplete#within_comment()
return []
endif
1 0.000036 0.000007 call neocomplete#cache#check_cache( 'tags_cache', bufnr('%'), s:async_tags_list, s:tags_list, 0)
1 0.000004 return copy(get(s:tags_list, bufnr('%'), []))
FUNCTION fugitive#head()
Called 24 times
Total time: 0.002145
Self time: 0.000230
count total (s) self (s)
24 0.000049 if !exists('b:git_dir')
6 0.000003 return ''
endif
18 0.002040 0.000125 return s:repo().head(a:0 ? a:1 : 0)
FUNCTION <SNR>439_make_cache_current_buffer()
Called 3 times
Total time: 0.004855
Self time: 0.000074
count total (s) self (s)
3 0.004360 0.000011 let filetype = neocomplete#get_context_filetype(1)
3 0.000011 if !has_key(s:member_sources, bufnr('%'))
1 0.000088 0.000010 call s:initialize_source(bufnr('%'), filetype)
1 0.000001 endif
3 0.000384 0.000030 call s:make_cache_lines(bufnr('%'), filetype, getline(a:start, a:end))
FUNCTION neosnippet#get_sync_placeholder_marker_pattern()
Called 1 time
Total time: 0.000001
Self time: 0.000001
count total (s) self (s)
1 0.000001 return '<{\d\+\%(:.\{-}\)\?\\\@<!}>'
FUNCTION neobundle#util#expand()
Called 1 time
Total time: 0.000013
Self time: 0.000013
count total (s) self (s)
1 0.000009 let path = (a:path =~ '^\~') ? fnamemodify(a:path, ':p') : (a:path =~ '^\$\h\w*') ? substitute(a:path, '^\$\h\w*', '\=eval(submatch(0))', '') : a:path
1 0.000003 return (s:is_windows && path =~ '\\') ? neobundle#util#substitute_path_separator(path) : path
FUNCTION fugitive#buffer()
Called 1 time
Total time: 0.000033
Self time: 0.000007
count total (s) self (s)
1 0.000033 0.000007 return s:buffer(a:0 ? a:1 : '%')
FUNCTION unite#loaded_sources_list()
Called 1 time
Total time: 0.000023
Self time: 0.000006
count total (s) self (s)
1 0.000022 0.000005 return unite#variables#loaded_sources()
FUNCTION <SNR>440_get_complete_pos()
Called 2 times
Total time: 0.000006
Self time: 0.000006
count total (s) self (s)
2 0.000004 if empty(a:complete_results)
2 0.000002 return -1
endif
let complete_pos = col('.')
for result in values(a:complete_results)
if complete_pos > result.complete_pos
let complete_pos = result.complete_pos
endif
endfor
return complete_pos
FUNCTION automatic#run()
Called 13 times
Total time: 0.001008
Self time: 0.000455
count total (s) self (s)
13 0.000649 0.000096 let context = automatic#make_current_context(get(a:, 1, {}))
13 0.000028 let def_conf = g:automatic_default_match_config
13 0.000066 let setlist = filter(deepcopy(g:automatic_config), "s:is_match(v:val, def_conf, context)")
" let setlist = filter(deepcopy(g:automatic_config), "automatic#is_match(extend(deepcopy(def_conf), s:as_match_config(get(v:val, 'match', {}))), context)")
13 0.000019 let unsettings = []
13 0.000028 for config in setlist
if get(get(config, "set", {}), "unsetting", 0)
return -1
endif
let unsettings = get(get(config, "set", {}), "unsettings", [])
endfor
13 0.000028 let def_set = g:automatic_default_set_config
13 0.000051 call map(setlist, "automatic#set_current(extend(deepcopy(def_set), get(v:val, 'set', {})), context, unsettings)")
FUNCTION vital#of()
Called 100 times
Total time: 0.117161
Self time: 0.115500
count total (s) self (s)
100 0.111954 let files = globpath(&runtimepath, 'autoload/vital/' . a:name . '.vital')
100 0.000567 let file = split(files, "\n")
100 0.000163 if empty(file)
throw 'vital: version file not found: ' . a:name
endif
100 0.001176 let ver = readfile(file[0], 'b')
100 0.000148 if empty(ver)
throw 'vital: invalid version file: ' . a:name
endif
100 0.002622 0.000961 return vital#_{substitute(ver[0], '\W', '', 'g')}#new()
FUNCTION context_filetype#get_filetype()
Called 17 times
Total time: 0.011449
Self time: 0.000151
count total (s) self (s)
17 0.000057 let base_filetype = get(a:, 1, &filetype)
17 0.011386 0.000088 return context_filetype#get(base_filetype).filetype
FUNCTION <SNR>161_add_register()
Called 2 times
Total time: 0.000035
Self time: 0.000035
count total (s) self (s)
" Append register value.
2 0.000006 if !has_key(s:yank_histories, a:name)
let s:yank_histories[a:name] = []
endif
2 0.000012 let reg = [getreg(a:name), getregtype(a:name)]
2 0.000008 if get(s:yank_histories[a:name], 0, []) ==# reg
" Skip same register value.
2 0.000002 return
endif
let len_history = len(reg[0])
" Ignore too long yank.
if len_history < 2 || len_history > 100000 || reg[0] =~ '[\x00-\x09\x10-\x1a\x1c-\x1f]\{3,}'
return
endif
let s:prev_registers[a:name] = reg
call insert(s:yank_histories[a:name], reg)
call s:uniq(a:name)
FUNCTION unite#variables#loaded_sources()
Called 1 time
Total time: 0.000017
Self time: 0.000008
count total (s) self (s)
" Initialize load.
1 0.000013 0.000004 let unite = unite#get_current_unite()
1 0.000004 return a:0 == 0 ? unite.sources : get(filter(copy(unite.sources), 'v:val.name ==# a:1'), 0, {})
FUNCTION <SNR>139_define_commands()
Called 1 time
Total time: 0.000308
Self time: 0.000308
count total (s) self (s)
28 0.000022 for command in s:commands
27 0.000260 exe 'command! -buffer '.command
27 0.000018 endfor
FUNCTION <SNR>206_get_text_from_pattern()
Called 2 times
Total time: 0.000063
Self time: 0.000023
count total (s) self (s)
2 0.000057 0.000017 let [first, last] = s:Search.region(a:pattern, "Wncb", "Wnce")
2 0.000004 if first == [0, 0]
2 0.000001 return ""
endif
if last == [0, 0]
return ""
endif
let result = s:get_text_from_region([0] + first + [0], [0] + last + [0], "v")
if result !~ '^' . a:pattern . '$'
return ""
endif
return result
FUNCTION <SNR>203_highlighting()
Called 2 times
Total time: 0.000267
Self time: 0.000062
count total (s) self (s)
2 0.000033 0.000006 call brightest#hl_clear()
2 0.000036 0.000014 let context = s:context()
2 0.000064 0.000009 if s:is_ignore(context)
return
endif
2 0.000005 if get(a:, 1, "") == ""
2 0.000116 0.000015 if s:single_word(a:pattern, a:highlight, a:cursorline)
call s:highlight_on()
endif
2 0.000001 else
" return s:with_current(a:1, a:group, a:pattern)
endif
FUNCTION neocomplete#get_keyword_pattern()
Called 13 times
Total time: 0.000381
Self time: 0.000301
count total (s) self (s)
13 0.000038 let filetype = a:0 != 0? a:1 : neocomplete#get_context_filetype()
13 0.000012 if a:0 < 2
return neocomplete#helper#unite_patterns( g:neocomplete#keyword_patterns, filetype)
endif
13 0.000135 0.000055 let source = neocomplete#variables#get_source(a:2)
13 0.000029 if !has_key(source, 'neocomplete__keyword_patterns')
let source.neocomplete__keyword_patterns = {}
endif
13 0.000026 if !has_key(source.neocomplete__keyword_patterns, filetype)
let source.neocomplete__keyword_patterns[filetype] = neocomplete#helper#unite_patterns( source.keyword_patterns, filetype)
endif
13 0.000022 return source.neocomplete__keyword_patterns[filetype]
FUNCTION neocomplete#util#expand()
Called 7 times
Total time: 0.000093
Self time: 0.000093
count total (s) self (s)
7 0.000089 return expand(escape(a:path, '*?[]"={}'), 1)
FUNCTION unite#get_context()
Called 1 time
Total time: 0.000015
Self time: 0.000006
count total (s) self (s)
1 0.000012 0.000003 let unite = unite#get_current_unite()
1 0.000003 return has_key(unite, 'context') ? unite.context : unite#init#_context({})
FUNCTION <SNR>417_substitute_path_separator()
Called 7 times
Total time: 0.000023
Self time: 0.000023
count total (s) self (s)
7 0.000022 return s:is_windows ? substitute(a:path, '\\', '/', 'g') : a:path
FUNCTION neobundle#config#source_bundles()
Called 2 times
Total time: 0.000012
Self time: 0.000012
count total (s) self (s)
2 0.000003 if !empty(a:bundles)
call neobundle#config#source(map(copy(a:bundles), "type(v:val) == type({}) ? v:val.name : v:val"))
endif
FUNCTION automatic#make_current_context()
Called 13 times
Total time: 0.000553
Self time: 0.000553
count total (s) self (s)
13 0.000041 let base = get(a:, 1, {})
13 0.000029 if has_key(base, "autocmd")
13 0.000051 call add(s:autocmd_histories, base.autocmd)
13 0.000039 if len(s:autocmd_histories) > g:autocmd_history_size
13 0.000027 unlet s:autocmd_histories[0]
13 0.000011 endif
13 0.000010 endif
13 0.000035 let bufname = bufname("%")
13 0.000286 return extend({ "filetype" : &filetype, "bufname" : bufname, "buftype" : &buftype, "filename" : substitute(fnamemodify(bufname, ":p"), '\\', '/', "g"), "autocmd" : "", "autocmd_history" : s:autocmd_histories, "localtime" : localtime(), }, base)
FUNCTION yankround#on_cmdwinenter()
Called 1 time
Total time: 0.000004
Self time: 0.000004
count total (s) self (s)
1 0.000002 if !has_key(s:, 'rounder')
1 0.000001 return
end
let s:save_rounder = deepcopy(s:rounder)
unlet s:rounder
aug yankround_rounder
autocmd!
aug END
let g:_yankround_stop_caching = 0
FUNCTION <SNR>203_highlight_in_cursorline()
Called 2 times
Total time: 0.000013
Self time: 0.000013
count total (s) self (s)
2 0.000012 return get(b:, "brightest_highlight_in_cursorline", extend(copy(s:highlight_in_cursorline_default), g:brightest#highlight_in_cursorline))
FUNCTION neocomplete#get_context_filetype()
Called 9 times
Total time: 0.005812
Self time: 0.000106
count total (s) self (s)
9 0.000037 let neocomplete = exists('b:neocomplete') ? b:neocomplete : neocomplete#get_current_neocomplete()
9 0.000023 if a:0 != 0 || mode() !=# 'i' || neocomplete.context_filetype == ''
4 0.005720 0.000014 call neocomplete#context_filetype#set()
4 0.000004 endif
9 0.000011 return neocomplete.context_filetype
FUNCTION <SNR>28_LoadFTPlugin()
Called 1 time
Total time: 0.008462
Self time: 0.007541
count total (s) self (s)
1 0.000003 if exists("b:undo_ftplugin")
exe b:undo_ftplugin
unlet! b:undo_ftplugin b:did_ftplugin
endif
1 0.000003 let s = expand("<amatch>")
1 0.000002 if s != ""
1 0.000006 if &cpo =~# "S" && exists("b:did_ftplugin")
" In compatible mode options are reset to the global values, need to
" set the local values also when a plugin was already used.
unlet b:did_ftplugin
endif
" When there is a dot it is used to separate filetype names. Thus for
" "aaa.bbb" load "aaa" and then "bbb".
2 0.000008 for name in split(s, '\.')
1 0.008420 0.007499 exe 'runtime! ftplugin/' . name . '.vim ftplugin/' . name . '_*.vim ftplugin/' . name . '/*.vim'
1 0.000004 endfor
1 0.000002 endif
FUNCTION <SNR>563_new()
Called 200 times
Total time: 0.001554
Self time: 0.001554
count total (s) self (s)
200 0.000815 let base = deepcopy(s:Vital)
200 0.000444 let base.plugin_name = a:plugin_name
200 0.000180 return base
FUNCTION unite#handlers#_on_buf_unload()
Called 2 times
Total time: 0.000454
Self time: 0.000322
count total (s) self (s)
2 0.000022 0.000012 call unite#view#_clear_match()
2 0.000020 0.000007 call unite#view#_clear_match_highlight()
" Save unite value.
2 0.000227 silent! let unite = getbufvar(a:bufname, 'unite')
2 0.000006 if type(unite) != type({})
" Invalid unite.
return
endif
2 0.000009 if &l:statusline == unite.statusline
" Restore statusline.
let &l:statusline = &g:statusline
endif
2 0.000002 if unite.is_finalized
1 0.000001 return
endif
" Restore options.
1 0.000002 if has_key(unite, 'redrawtime_save')
1 0.000004 let &redrawtime = unite.redrawtime_save
1 0.000001 endif
1 0.000003 let &sidescrolloff = unite.sidescrolloff_save
1 0.000041 0.000010 call unite#handlers#_restore_updatetime()
" Call finalize functions.
1 0.000092 0.000014 call unite#helper#call_hook(unite#loaded_sources_list(), 'on_close')
1 0.000002 let unite.is_finalized = 1
FUNCTION neocomplete#cache#encode_name()
Called 2 times
Total time: 0.000284
Self time: 0.000034
count total (s) self (s)
" Check cache directory.
2 0.000161 0.000018 let cache_dir = neocomplete#get_data_directory() . '/' . a:cache_dir
2 0.000121 0.000014 return s:Cache.getfilename(cache_dir, a:filename)
FUNCTION neocomplete#complete#_set_results_words()
Called 2 times
Total time: 0.005151
Self time: 0.000780
count total (s) self (s)
" Try source completion.
" Save options.
2 0.000004 let ignorecase_save = &ignorecase
2 0.000005 let pos = winsaveview()
2 0.000002 try
7 0.000008 for source in a:sources
5 0.000280 0.000016 if neocomplete#complete_check()
return
endif
5 0.000008 let context = source.neocomplete__context
5 0.000047 let &ignorecase = (g:neocomplete#enable_smart_case || g:neocomplete#enable_camel_case) ? context.complete_str !~ '\u' : g:neocomplete#enable_ignore_case
5 0.000149 0.000028 if s:use_previous_result(source, context)
" Use previous candidates.
1 0.000261 let context.candidates = deepcopy(context.prev_candidates)
1 0.000001 else
4 0.000005 try
4 0.002990 0.000024 let context.candidates = source.gather_candidates(context)
4 0.000004 catch
call neocomplete#print_error(v:throwpoint)
call neocomplete#print_error(v:exception)
call neocomplete#print_error( 'Source name is ' . source.name)
call neocomplete#print_error( 'Error occurred in source''s gather_candidates()!')
return
finally
4 0.000018 if winsaveview() != pos
call winrestview(pos)
endif
4 0.000004 endtry
4 0.000007 let context.prev_line = context.input
4 0.000021 let context.prev_candidates = copy(context.candidates)
4 0.000008 let context.prev_complete_pos = context.complete_pos
4 0.000003 endif
5 0.000007 if !empty(context.candidates)
3 0.000021 0.000014 let matchers = empty(source.neocomplete__matchers) ? neocomplete#get_current_neocomplete().default_matchers : source.neocomplete__matchers
3 0.001013 0.000021 let context.candidates = neocomplete#helper#call_filters( matchers, source, {})
3 0.000003 endif
5 0.000068 0.000047 call neocomplete#print_debug(source.name)
5 0.000004 endfor
2 0.000002 finally
2 0.000007 let &ignorecase = ignorecase_save
2 0.000002 endtry
FUNCTION <SNR>2_hl_trailing_spaces()
Called 1 time
Total time: 0.000027
Self time: 0.000027
count total (s) self (s)
" Test
1 0.000014 highlight! link TrailingSpaces Error
1 0.000011 syntax match TrailingSpaces containedin=ALL /\s\+$/
FUNCTION 301()
Called 1 time
Total time: 0.001054
Self time: 0.001054
count total (s) self (s)
1 0.000002 if self.do_validate
1 0.001051 call filter(self.candidates, 'getftype(v:val) ==# "dir"')
1 0.000001 endif
FUNCTION unite#sources#buffer#variables#append()
Called 1 time
Total time: 0.000008
Self time: 0.000008
count total (s) self (s)
" Append the current buffer.
1 0.000007 let s:buffer_list[a:bufnr] = { 'action__buffer_nr' : a:bufnr, 'source__time' : localtime(), }
FUNCTION neocomplete#is_enabled()
Called 17 times
Total time: 0.000090
Self time: 0.000061
count total (s) self (s)
17 0.000088 0.000059 return neocomplete#init#is_enabled()
FUNCTION MyFugitive()
Called 24 times
Total time: 0.002567
Self time: 0.000422
count total (s) self (s)
24 0.000040 try
24 0.000224 if &ft !~? 'vimfiler\|gundo' && exists('*fugitive#head')
24 0.002217 0.000072 return fugitive#head()
endif
catch
endtry
return ''
FUNCTION neocomplete#context_filetype#filetypes()
Called 39 times
Total time: 0.000371
Self time: 0.000147
count total (s) self (s)
39 0.000362 0.000138 return copy(neocomplete#get_current_neocomplete().context_filetypes)
FUNCTION <SNR>443_close_preview_window()
Called 4 times
Total time: 0.000028
Self time: 0.000028
count total (s) self (s)
4 0.000017 if g:neocomplete#enable_auto_close_preview && bufname('%') !=# '[Command Line]' && winnr('$') != 1 && !&l:previewwindow && !neocomplete#is_cache_disabled()
" Close preview window.
pclose!
endif
FUNCTION MyModified()
Called 17 times
Total time: 0.000164
Self time: 0.000164
count total (s) self (s)
17 0.000155 return &ft =~ 'help\|vimfiler\|gundo' ? '' : &modified ? '+' : &modifiable ? '' : '-'
FUNCTION <SNR>165_subseparator()
Called 12 times
Total time: 0.000391
Self time: 0.000391
count total (s) self (s)
12 0.000044 let [c, f, v] = [ s:lightline.component, s:lightline.component_function, s:lightline.component_visible_condition ]
12 0.000338 return '%{('.(a:a?'1':has_key(f,a:x)?'!!strlen(exists("*'.f[a:x].'")?'.f[a:x].'():"")':get(v,a:x,has_key(c,a:x)?'1': '0')).')*(('.join(map(range(len(a:y)),'(a:b[v:val]?"1":has_key(f,a:y[v:val])?"!!strlen(exists(\"*".f[a:y[v:val]]."\")?".f[a:y[v:val]]."():\"\")":get(v,a:y[v:val],has_key(c,a:y[v:val])?"1":"0"))'),')+(')."))?('".a:s."'):''}"
FUNCTION <SNR>435_exists_current_source()
Called 3 times
Total time: 0.000062
Self time: 0.000022
count total (s) self (s)
3 0.000061 0.000021 return has_key(s:buffer_sources, bufnr('%')) && !s:check_changed_buffer(bufnr('%'))
FUNCTION <SNR>435_check_async_cache()
Called 1 time
Total time: 0.000479
Self time: 0.000070
count total (s) self (s)
3 0.000036 0.000010 for source in s:get_sources_list(a:context)
2 0.000006 if !has_key(s:async_dictionary_list, source.path)
1 0.000002 continue
endif
" Load from cache.
1 0.000402 0.000019 let [loaded, file_cache] = neocomplete#cache#get_cache_list( 'buffer_cache', s:async_dictionary_list[source.path])
1 0.000001 if loaded
1 0.000006 let source.words = file_cache
1 0.000001 endif
1 0.000003 if empty(s:async_dictionary_list[source.path])
1 0.000004 call remove(s:async_dictionary_list, source.path)
1 0.000000 endif
1 0.000001 endfor
FUNCTION neosnippet#variables#expand_stack()
Called 5 times
Total time: 0.000050
Self time: 0.000050
count total (s) self (s)
5 0.000014 if !exists('s:expand_stack')
let s:expand_stack = []
endif
5 0.000006 return s:expand_stack
FUNCTION neocomplete#complete#_set_previous_position()
Called 5 times
Total time: 0.000074
Self time: 0.000047
count total (s) self (s)
5 0.000044 0.000017 let neocomplete = neocomplete#get_current_neocomplete()
5 0.000011 let neocomplete.old_complete_pos = a:complete_pos
5 0.000010 let neocomplete.old_linenr = line('.')
5 0.000008 let neocomplete.old_cur_text = a:cur_text
FUNCTION <SNR>563__import()
Called 200 times
Total time: 0.054661
Self time: 0.027844
count total (s) self (s)
200 0.000459 if has_key(s:loaded, a:name)
return copy(s:loaded[a:name])
endif
200 0.027651 0.000834 let module = self._get_module(a:name)
200 0.000395 if has_key(module, '_vital_created')
call module._vital_created(module)
endif
200 0.019520 let export_module = filter(copy(module), 'v:key =~# "^\\a"')
" Cache module before calling module.vital_loaded() to avoid cyclic
" dependences but remove the cache if module._vital_loaded() fails.
" let s:loaded[a:name] = export_module
200 0.000571 let s:loaded[a:name] = export_module
200 0.000374 if has_key(module, '_vital_loaded')
try
call module._vital_loaded(vital#{s:plugin_name}#of())
catch
unlet s:loaded[a:name]
throw 'vital: fail to call ._vital_loaded(): ' . v:exception
endtry
endif
200 0.002752 return copy(s:loaded[a:name])
FUNCTION neocomplete#util#is_text_changed()
Called 2 times
Total time: 0.000017
Self time: 0.000017
count total (s) self (s)
" Note: Vim 7.4.143 fixed TextChangedI bug.
2 0.000015 return v:version > 704 || v:version == 704 && has('patch143')
FUNCTION <SNR>490_Show_Quickfix_In_Status()
Called 4 times
Total time: 0.000016
Self time: 0.000016
count total (s) self (s)
4 0.000010 if !exists("b:qfstatus_list")
4 0.000003 return
endif
let ln = line('.')
if !has_key(b:qfstatus_list,ln)
echo
return
else
echo b:qfstatus_list[ln]
endif
FUNCTION <SNR>139_buffer_type()
Called 1 time
Total time: 0.000156
Self time: 0.000081
count total (s) self (s)
1 0.000005 0.000003 if self.getvar('fugitive_type') != ''
let type = self.getvar('fugitive_type')
elseif fnamemodify(self.spec(),':p') =~# '.\git/refs/\|\.git/\w*HEAD$'
let type = 'head'
elseif self.getline(1) =~ '^tree \x\{40\}$' && self.getline(2) == ''
let type = 'tree'
elseif self.getline(1) =~ '^\d\{6\} \w\{4\} \x\{40\}\>\t'
let type = 'tree'
elseif self.getline(1) =~ '^\d\{6\} \x\{40\}\> \d\t'
let type = 'index'
elseif isdirectory(self.spec())
let type = 'directory'
elseif self.spec() == ''
let type = 'null'
else
1 0.000001 let type = 'file'
1 0.000001 endif
1 0.000001 if a:0
1 0.000006 return !empty(filter(copy(a:000),'v:val ==# type'))
else
return type
endif
FUNCTION vimfiler#util#expand()
Called 1 time
Total time: 0.000035
Self time: 0.000024
count total (s) self (s)
1 0.000034 0.000023 return s:get_prelude().substitute_path_separator( (a:path =~ '^\~') ? substitute(a:path, '^\~', expand('~'), '') : (a:path =~ '^\$\h\w*') ? substitute(a:path, '^\$\h\w*', '\=eval(submatch(0))', '') : a:path)
FUNCTION <SNR>203_is_ignore_syntax_in_cursor()
Called 2 times
Total time: 0.000015
Self time: 0.000015
count total (s) self (s)
2 0.000007 let list = get(b:, "brightest_ignore_syntax_list", g:brightest#ignore_syntax_list)
2 0.000003 if empty(list)
2 0.000002 return 0
endif
return index(list, a:context.syntax_name) != -1
FUNCTION neocomplete#has_vimproc()
Called 1 time
Total time: 0.000021
Self time: 0.000005
count total (s) self (s)
1 0.000021 0.000005 return neocomplete#util#has_vimproc()
FUNCTION neosnippet#commands#_clear_markers()
Called 1 time
Total time: 0.000019
Self time: 0.000012
count total (s) self (s)
1 0.000012 0.000005 let expand_stack = neosnippet#variables#expand_stack()
" Get patterns and count.
1 0.000004 if !&l:modifiable || !&l:modified || empty(expand_stack) || neosnippet#variables#current_neosnippet().trigger
1 0.000001 return
endif
call neosnippet#view#_clear_markers(expand_stack[-1])
FUNCTION neocomplete#variables#get_source()
Called 13 times
Total time: 0.000080
Self time: 0.000080
count total (s) self (s)
13 0.000024 if !exists('s:sources')
let s:sources = {}
endif
13 0.000031 return get(s:sources, a:name, {})
FUNCTION neomru#_save()
Called 1 time
Total time: 0.034519
Self time: 0.000050
count total (s) self (s)
1 0.000005 let opts = a:0 >= 1 && type(a:1) == type({}) ? a:1 : {}
3 0.000007 for m in values(s:MRUs)
2 0.034501 0.000032 call m.save(opts)
2 0.000002 endfor
FUNCTION <SNR>563_unload()
Called 200 times
Total time: 0.001136
Self time: 0.001136
count total (s) self (s)
200 0.000810 let s:loaded = {}
200 0.000219 unlet! s:vital_files
FUNCTION lightline#mode()
Called 16 times
Total time: 0.000107
Self time: 0.000107
count total (s) self (s)
16 0.000098 return get(s:lightline.mode_map, mode(), s:lightline.mode_map['?'])
FUNCTION neocomplete#handler#_on_text_changed()
Called 2 times
Total time: 0.000116
Self time: 0.000038
count total (s) self (s)
2 0.000068 0.000007 if neocomplete#is_cache_disabled()
return
endif
2 0.000004 if getline('.') == ''
call s:make_cache_current_line()
endif
2 0.000028 0.000011 if !neocomplete#util#is_text_changed()
call s:indent_current_line()
endif
FUNCTION neocomplete#is_multibyte_input()
Called 2 times
Total time: 0.000022
Self time: 0.000022
count total (s) self (s)
2 0.000020 return (exists('b:skk_on') && b:skk_on) || (!g:neocomplete#enable_multibyte_completion && char2nr(split(a:cur_text, '\zs')[-1]) > 0x80)
FUNCTION zenspace#is_on()
Called 2 times
Total time: 0.000019
Self time: 0.000019
count total (s) self (s)
2 0.000006 if !exists('w:zenspace_mode')
1 0.000003 let w:zenspace_mode = g:zenspace#default_mode
1 0.000001 endif
2 0.000002 if w:zenspace_mode ==# 'list'
2 0.000003 return &l:list
endif
return w:zenspace_mode ==# 'on'
FUNCTION neocomplete#sources#tag#make_cache()
Called 1 time
Total time: 0.000133
Self time: 0.000129
count total (s) self (s)
1 0.000008 0.000004 if !neocomplete#is_enabled()
call neocomplete#initialize()
endif
1 0.000002 let bufnumber = bufnr('%')
1 0.000003 let s:async_tags_list[bufnumber] = []
1 0.000098 let tagfiles = tagfiles()
1 0.000003 if get(g:, 'loaded_neoinclude', 0)
let tagfiles += neoinclude#include#get_tag_files()
endif
1 0.000005 for tags in map(filter(tagfiles, 'getfsize(v:val) > 0'), "neocomplete#util#substitute_path_separator( fnamemodify(v:val, ':p'))")
if tags !~? '/doc/tags\%(-\w\+\)\?$' && (a:force || getfsize(tags) < g:neocomplete#sources#tags#cache_limit_size)
call add(s:async_tags_list[bufnumber], s:initialize_tags(tags))
endif
endfor
FUNCTION <SNR>139_shellslash()
Called 6 times
Total time: 0.000074
Self time: 0.000044
count total (s) self (s)
6 0.000050 0.000020 if s:winshell()
return s:gsub(a:path,'\\','/')
else
6 0.000006 return a:path
endif
FUNCTION neocomplete#sources#buffer#make_cache_current_line()
Called 3 times
Total time: 0.001623
Self time: 0.000066
count total (s) self (s)
3 0.000112 0.000010 if neocomplete#is_locked()
return
endif
" let start = reltime()
3 0.001501 0.000046 call s:make_cache_current_buffer( max([1, line('.') - winline()]), min([line('$'), line('.') + winheight(0) - winline()]))
" echomsg reltimestr(reltime(start))
FUNCTION <SNR>120_append()
Called 1 time
Total time: 0.000016
Self time: 0.000009
count total (s) self (s)
1 0.000003 if bufnr('%') != expand('<abuf>') || a:path == ''
return
endif
1 0.000011 0.000004 call neomru#_append()
FUNCTION <SNR>203_is_enable()
Called 2 times
Total time: 0.000009
Self time: 0.000009
count total (s) self (s)
2 0.000009 return get(g:, "brightest_enable", 1) && get(b:, "brightest_enable", 1)
FUNCTION neosnippet#variables#current_neosnippet()
Called 1 time
Total time: 0.000011
Self time: 0.000011
count total (s) self (s)
1 0.000002 if !exists('b:neosnippet')
1 0.000006 let b:neosnippet = { 'snippets' : {}, 'selected_text' : '', 'target' : '', 'trigger' : 0, 'optional_tabstop' : 0,}
1 0.000000 endif
1 0.000001 return b:neosnippet
FUNCTION neosnippet#get_placeholder_marker_pattern()
Called 1 time
Total time: 0.000002
Self time: 0.000002
count total (s) self (s)
1 0.000002 return '<`\d\+\%(:.\{-}\)\?\\\@<!`>'
FUNCTION neocomplete#handler#_on_insert_leave()
Called 1 time
Total time: 0.002371
Self time: 0.000024
count total (s) self (s)
1 0.000030 0.000003 call neocomplete#helper#clear_result()
1 0.000012 0.000005 call s:close_preview_window()
1 0.002313 0.000007 call s:make_cache_current_line()
1 0.000012 0.000005 let neocomplete = neocomplete#get_current_neocomplete()
1 0.000002 let neocomplete.cur_text = ''
FUNCTION fugitive#is_git_dir()
Called 4 times
Total time: 0.000072
Self time: 0.000042
count total (s) self (s)
4 0.000046 0.000016 let path = s:sub(a:path, '[\/]$', '') . '/'
4 0.000020 return isdirectory(path.'objects') && isdirectory(path.'refs') && getfsize(path.'HEAD') > 10
FUNCTION <SNR>399_substitute_path_separator()
Called 1 time
Total time: 0.000004
Self time: 0.000004
count total (s) self (s)
1 0.000004 return s:is_windows ? substitute(a:path, '\\', '/', 'g') : a:path
FUNCTION context_filetype#version()
Called 1 time
Total time: 0.000006
Self time: 0.000006
count total (s) self (s)
1 0.000005 return str2nr(printf('%02d%02d', 1, 0))
FUNCTION <SNR>102_WinDo()
Called 2 times
Total time: 0.000017
Self time: 0.000017
count total (s) self (s)
" Work around Vim bug.
" See https://groups.google.com/forum/#!topic/vim_dev/LLTw8JV6wKg
2 0.000005 let curaltwin = winnr('#') ? winnr('#') : 1
2 0.000002 let currwin=winnr()
" avoid errors in CmdWin
2 0.000005 if exists('*getcmdwintype') && getcmdwintype() != ''
2 0.000001 return
endif
silent! execute 'keepjumps noautocmd windo ' . a:command
silent! execute curaltwin . 'wincmd w'
silent! execute currwin . 'wincmd w'
FUNCTION 828()
Called 2 times
Total time: 0.000029
Self time: 0.000010
count total (s) self (s)
2 0.000027 0.000008 if neocomplete#is_auto_complete() || !vimshell#check_prompt()
2 0.000002 return -1
endif
return vimshell#get_prompt_length()
FUNCTION <SNR>440_get_omni_funcs()
Called 2 times
Total time: 0.000280
Self time: 0.000203
count total (s) self (s)
2 0.000003 let funcs = []
6 0.000015 for ft in insert(split(a:filetype, '\.'), '_')
4 0.000046 0.000032 let omnifuncs = neocomplete#util#convert2list( get(g:neocomplete#sources#omni#functions, ft, &l:omnifunc))
8 0.000009 for omnifunc in omnifuncs
4 0.000026 0.000015 if neocomplete#helper#check_invalid_omnifunc(omnifunc)
" omnifunc is irregal.
4 0.000006 continue
endif
if get(g:neocomplete#sources#omni#input_patterns, omnifunc, '') != ''
let pattern = g:neocomplete#sources#omni#input_patterns[omnifunc]
elseif get(g:neocomplete#sources#omni#input_patterns, ft, '') != ''
let pattern = g:neocomplete#sources#omni#input_patterns[ft]
else
let pattern = ''
endif
if pattern == ''
continue
endif
call add(funcs, [omnifunc, pattern])
endfor
4 0.000000 endfor
2 0.000062 0.000010 return s:List.uniq(funcs)
FUNCTION 242()
Called 4 times
Total time: 0.000011
Self time: 0.000011
count total (s) self (s)
4 0.000009 return keys(self.variables.hl_list)
FUNCTION neocomplete#handler#_on_moved_i()
Called 3 times
Total time: 0.000101
Self time: 0.000057
count total (s) self (s)
3 0.000036 0.000013 let neocomplete = neocomplete#get_current_neocomplete()
3 0.000009 if neocomplete.linenr != line('.')
call neocomplete#helper#clear_result()
endif
3 0.000008 let neocomplete.linenr = line('.')
3 0.000040 0.000019 call s:close_preview_window()
FUNCTION neosnippet#get_mirror_placeholder_marker_pattern()
Called 1 time
Total time: 0.000001
Self time: 0.000001
count total (s) self (s)
1 0.000001 return '<|\d\+|>'
FUNCTION unite#variables#current_unite()
Called 3 times
Total time: 0.000017
Self time: 0.000017
count total (s) self (s)
3 0.000006 if !exists('s:current_unite')
let s:current_unite = {}
endif
3 0.000004 return s:current_unite
FUNCTION <SNR>149_Highlight_Matching_Pair()
Called 7 times
Total time: 0.000501
Self time: 0.000501
count total (s) self (s)
" Remove any previous match.
7 0.000022 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).
7 0.000022 if pumvisible() || (&t_Co < 8 && !has("gui_running"))
return
endif
" Get the character under the cursor and check if it's in 'matchpairs'.
7 0.000018 let c_lnum = line('.')
7 0.000012 let c_col = col('.')
7 0.000009 let before = 0
7 0.000017 let text = getline(c_lnum)
7 0.000079 let matches = matchlist(text, '\(.\)\=\%'.c_col.'c\(.\=\)')
7 0.000012 if empty(matches)
let [c_before, c] = ['', '']
else
7 0.000027 let [c_before, c] = matches[1:2]
7 0.000003 endif
7 0.000082 let plist = split(&matchpairs, '.\zs[:,]')
7 0.000019 let i = index(plist, c)
7 0.000007 if i < 0
" not found, in Insert mode try character before the cursor
7 0.000018 if c_col > 1 && (mode() == 'i' || mode() == 'R')
4 0.000010 let before = strlen(c_before)
4 0.000006 let c = c_before
4 0.000008 let i = index(plist, c)
4 0.000002 endif
7 0.000005 if i < 0
" not found, nothing to do
7 0.000005 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
" Build an expression that detects whether the current cursor position is in
" certain syntax types (string, comment, etc.), for use as searchpairpos()'s
" skip argument.
" We match "escape" for special items, such as lispEscapeSpecial.
let s_skip = '!empty(filter(map(synstack(line("."), col(".")), ''synIDattr(v:val, "name")''), ' . '''v:val =~? "string\\|character\\|singlequote\\|escape\\|comment"''))'
" If executing the expression determines that the cursor is currently in
" one of the syntax types, then we want searchpairpos() to find the pair
" within those syntax types (i.e., not skip). Otherwise, the cursor is
" outside of the syntax types and s_skip should keep its value so we skip any
" matching pair inside the syntax types.
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 neocomplete#print_debug()
Called 11 times
Total time: 0.000043
Self time: 0.000043
count total (s) self (s)
11 0.000013 if g:neocomplete#enable_debug
echomsg string(a:expr)
endif
FUNCTION neobundle#autoload#filetype()
Called 1 time
Total time: 0.000584
Self time: 0.000173
count total (s) self (s)
1 0.000474 0.000087 let bundles = filter(neobundle#config#get_autoload_bundles(), "has_key(v:val.autoload, 'filetypes')")
3 0.000030 0.000018 for filetype in add(neobundle#util#get_filetypes(), 'all')
2 0.000072 0.000060 call neobundle#config#source_bundles(filter(copy(bundles)," index(v:val.autoload.filetypes, filetype) >= 0"))
2 0.000002 endfor
FUNCTION <SNR>165_expand()
Called 8 times
Total time: 0.001321
Self time: 0.001321
count total (s) self (s)
8 0.000034 let [e, t, d, f] = [ s:lightline.component_expand, s:lightline.component_type, s:lightline.component, s:lightline.component_function ]
8 0.000019 let [a, c, _] = [[], [], []]
23 0.000035 for i in range(len(a:x))
36 0.000080 if !len(_) || len(_[-1]) | call add(_, []) | call add(c, []) | endif
42 0.000060 for j in range(len(a:x[i]))
27 0.000057 if has_key(e, a:x[i][j])
call s:_expand(a, c, _, e, t, i, j, a:x)
elseif has_key(d, a:x[i][j]) || has_key(f, a:x[i][j])
27 0.000077 if !len(a) || type(a[-1]) != type(i) || a[-1] != i
15 0.000028 call add(a, i)
15 0.000050 if len(_) && len(_[-1]) | call add(_, []) | call add(c, []) | endif
15 0.000011 endif
46 0.000109 call add(_[-1], a:x[i][j]) | call add(c[-1], 0)
27 0.000014 endif
27 0.000013 endfor
15 0.000012 endfor
8 0.000016 call add(a, len(a:x))
8 0.000036 while len(_) && !len(_[-1]) | call remove(_, -1) | call remove(c, -1) | endwhile
8 0.000013 return [a, c, _]
FUNCTION <SNR>203_context()
Called 2 times
Total time: 0.000022
Self time: 0.000022
count total (s) self (s)
2 0.000021 return { "filetype" : &filetype, "line" : line("."), "col" : col("."), "syntax_name" : synIDattr(synIDtrans(synID(line("."), col("."), 1)), "name") }
FUNCTION <SNR>139_buffer()
Called 3 times
Total time: 0.000070
Self time: 0.000060
count total (s) self (s)
3 0.000013 let buffer = {'#': bufnr(a:0 ? a:1 : '%')}
3 0.000027 call extend(extend(buffer,s:buffer_prototype,'keep'),s:abstract_prototype,'keep')
3 0.000023 0.000013 if buffer.getvar('git_dir') !=# ''
3 0.000003 return buffer
endif
call s:throw('not a git repository: '.expand('%:p'))
FUNCTION neocomplete#util#convert2list()
Called 5 times
Total time: 0.000018
Self time: 0.000018
count total (s) self (s)
5 0.000016 return type(a:expr) ==# type([]) ? a:expr : [a:expr]
FUNCTION anzu#clear_search_cache()
Called 2 times
Total time: 0.000021
Self time: 0.000021
count total (s) self (s)
2 0.000010 let bufnr = get(a:, 1, bufnr("%"))
2 0.000010 call setbufvar(bufnr, "anzu_searchpos_cache", {})
FUNCTION Yankround_append()
Called 1 time
Total time: 0.000065
Self time: 0.000019
count total (s) self (s)
1 0.000052 0.000006 call s:_reloadhistory()
1 0.000012 if g:_yankround_stop_caching || @" ==# substitute(get(g:_yankround_cache, 0, ''), '^.\d*\t', '', '') || @"=~'^.\?$' || g:yankround_max_element_length!=0 && strlen(@")>g:yankround_max_element_length
1 0.000001 return
end
call insert(g:_yankround_cache, getregtype('"'). "\t". @")
call s:newDupliMiller().mill(g:_yankround_cache)
if len(g:_yankround_cache) > g:yankround_max_history
call remove(g:_yankround_cache, g:yankround_max_history, -1)
end
call s:_persistent()
FUNCTION 294()
Called 2 times
Total time: 0.000013
Self time: 0.000013
count total (s) self (s)
2 0.000011 return self.mtime < getftime(self.mru_file)
FUNCTION 295()
Called 2 times
Total time: 0.034469
Self time: 0.000556
count total (s) self (s)
2 0.000027 0.000015 if s:is_sudo()
return
endif
2 0.000008 let opts = a:0 >= 1 && type(a:1) == type({}) ? a:1 : {}
2 0.000023 0.000010 if self.has_external_update() && filereadable(self.mru_file)
" only need to get the list which contains the latest MRUs
let [ver; items] = readfile(self.mru_file)
if self.version_check(ver)
call extend(self.candidates, items)
endif
endif
2 0.014335 0.000108 let self.candidates = s:uniq(self.candidates)
2 0.000006 if len(self.candidates) > self.limit
let self.candidates = self.candidates[: self.limit - 1]
endif
2 0.000006 if get(opts, 'event') ==# 'VimLeavePre'
2 0.019001 0.000181 call self.validate()
2 0.000000 endif
2 0.001015 0.000174 call s:writefile(self.mru_file, [self.version] + self.candidates)
2 0.000013 let self.mtime = getftime(self.mru_file)
FUNCTION localrc#search()
Called 1 time
Total time: 0.006607
Self time: 0.000186
count total (s) self (s)
1 0.000003 let path = 1 <= a:0 ? a:1 : expand('%:p:h')
1 0.000004 if empty(a:fnames) || !isdirectory(path)
return []
endif
1 0.000001 let depth = 2 <= a:0 ? a:2 : -1
1 0.000001 let targets = []
1 0.000004 let dir = fnamemodify(path, ':p:h')
1 0.000001 let updir = ''
7 0.000013 while depth != 0 && dir !=# updir
6 0.006466 0.000045 let targets = s:match_files(dir, a:fnames) + targets
6 0.000009 let updir = dir
6 0.000018 let dir = fnamemodify(dir, ':h')
6 0.000045 if (has('win32') || has('win64')) && dir =~ '^\\\\[^\\]\+$'
break
endif
6 0.000010 let depth -= 1
6 0.000005 endwhile
1 0.000001 return targets
FUNCTION neocomplete#get_data_directory()
Called 7 times
Total time: 0.000461
Self time: 0.000231
count total (s) self (s)
7 0.000073 let g:neocomplete#data_directory = get(g:, 'neocomplete#data_directory', ($XDG_CACHE_HOME != '' ? $XDG_CACHE_HOME . '/neocomplete' : '~/.cache/neocomplete'))
7 0.000303 0.000073 let directory = neocomplete#util#substitute_path_separator( neocomplete#util#expand(g:neocomplete#data_directory))
7 0.000019 if !isdirectory(directory)
if neocomplete#util#is_sudo()
call neocomplete#print_error(printf( 'Cannot create Directory "%s" in sudo session.', directory))
else
call mkdir(directory, 'p')
endif
endif
7 0.000009 return directory
FUNCTION neocomplete#is_auto_complete()
Called 21 times
Total time: 0.000209
Self time: 0.000095
count total (s) self (s)
21 0.000180 0.000066 let neocomplete = neocomplete#get_current_neocomplete()
21 0.000024 return neocomplete.is_auto_complete
FUNCTION neosnippet#helpers#get_filetype()
Called 1 time
Total time: 0.000695
Self time: 0.000020
count total (s) self (s)
1 0.000002 if !exists('s:exists_context_filetype')
" context_filetype.vim installation check.
try
call context_filetype#version()
let s:exists_context_filetype = 1
catch
let s:exists_context_filetype = 0
endtry
endif
1 0.000680 0.000005 let context_filetype = s:exists_context_filetype ? context_filetype#get_filetype() : &filetype
1 0.000001 if context_filetype == ''
let context_filetype = 'nothing'
endif
1 0.000001 return context_filetype
FUNCTION vital#_incsearch#Data#List#import()
Called 200 times
Total time: 0.022406
Self time: 0.022406
count total (s) self (s)
200 0.022295 return map({'combinations': '', 'and': '', 'sort_by': '', 'foldr1': '', 'sort': '', 'flatten': '', 'has_index': '', 'find_indices': '', 'any': '', 'unshift': '', 'span': '', 'pop': '', 'binary_search': '', 'uniq_by': '', 'or': '', 'all': '', 'zip': '', 'find_last_index': '', 'find': '', 'partition': '', 'map_accum': '', 'permutations': '', 'break': '', 'max_by': '', 'foldl': '', 'foldr': '', 'find_index': '', 'group_by': '', 'take_while': '', 'conj': '', 'push': '', 'char_range': '', 'cons': '', 'foldl1': '', 'intersect': '', 'concat': '', 'shift': '', 'clear': '', 'has_common_items': '', 'product': '', 'zip_fill': '', 'uniq': '', 'has': '', 'min_by': '', 'with_index': ''}, 'function("s:" . v:key)')
FUNCTION neocomplete#init#disable()
Called 1 time
Total time: 0.000428
Self time: 0.000234
count total (s) self (s)
1 0.000011 0.000005 if !neocomplete#is_enabled()
return
endif
1 0.000002 let s:is_enabled = 0
1 0.000003 augroup neocomplete
1 0.000186 autocmd!
1 0.000001 augroup END
1 0.000010 silent! delcommand NeoCompleteDisable
1 0.000210 0.000022 call neocomplete#helper#call_hook(filter(values( neocomplete#variables#get_sources()), 'v:val.loaded'), 'on_final', {})
FUNCTION <SNR>29_LoadIndent()
Called 1 time
Total time: 0.001255
Self time: 0.001222
count total (s) self (s)
1 0.000007 if exists("b:undo_indent")
exe b:undo_indent
unlet! b:undo_indent b:did_indent
endif
1 0.000013 let s = expand("<amatch>")
1 0.000001 if s != ""
1 0.000002 if exists("b:did_indent")
unlet b:did_indent
endif
" When there is a dot it is used to separate filetype names. Thus for
" "aaa.bbb" load "indent/aaa.vim" and then "indent/bbb.vim".
2 0.000007 for name in split(s, '\.')
1 0.001194 0.001161 exe 'runtime! indent/' . name . '.vim'
1 0.000001 endfor
1 0.000001 endif
FUNCTION <SNR>443_check_in_do_auto_complete()
Called 3 times
Total time: 0.000131
Self time: 0.000030
count total (s) self (s)
3 0.000115 0.000014 if neocomplete#is_locked()
return 1
endif
" Detect completefunc.
3 0.000006 if &l:completefunc != '' && &l:buftype =~ 'nofile'
return 1
endif
FUNCTION <SNR>102_isReasonable()
Called 2 times
Total time: 0.000024
Self time: 0.000024
count total (s) self (s)
2 0.000007 if &l:foldmethod ==# 'manual' | return 0 | endif
2 0.000004 if g:fastfold_force | return 1 | endif
2 0.000003 if &l:foldmethod ==# 'syntax' || &l:foldmethod ==# 'expr'
return 1
endif
2 0.000002 return 0
FUNCTION <SNR>443_make_cache_current_line()
Called 1 time
Total time: 0.002306
Self time: 0.000028
count total (s) self (s)
1 0.000010 0.000004 let neocomplete = neocomplete#get_current_neocomplete()
1 0.000053 0.000005 if neocomplete#helper#is_enabled_source('buffer', neocomplete.context_filetype)
" Caching current cache line.
1 0.000547 0.000005 call neocomplete#sources#buffer#make_cache_current_line()
1 0.000001 endif
1 0.000061 0.000007 if neocomplete#helper#is_enabled_source('member', neocomplete.context_filetype)
" Caching current cache line.
1 0.001633 0.000005 call neocomplete#sources#member#make_cache_current_line()
1 0.000000 endif
FUNCTION neocomplete#complete#_get_results()
Called 2 times
Total time: 0.009270
Self time: 0.000136
count total (s) self (s)
2 0.000014 0.000008 call neocomplete#print_debug('start get_complete_sources')
2 0.000018 0.000007 let neocomplete = neocomplete#get_current_neocomplete()
2 0.000005 let neocomplete.start_time = reltime()
" Comment check.
2 0.000117 0.000013 let neocomplete.within_comment = neocomplete#helper#get_syn_name(1) ==# 'Comment'
2 0.003811 0.000019 let complete_sources = call( 'neocomplete#complete#_set_results_pos', [a:cur_text] + a:000)
2 0.000004 if empty(complete_sources)
call neocomplete#print_debug('Skipped.')
return []
endif
2 0.000029 0.000009 if neocomplete#is_auto_complete()
2 0.000034 0.000012 let complete_pos = neocomplete#complete#_get_complete_pos(complete_sources)
2 0.000038 0.000010 call neocomplete#complete#_set_previous_position(a:cur_text, complete_pos)
2 0.000001 endif
2 0.005169 0.000018 call neocomplete#complete#_set_results_words(complete_sources)
2 0.000015 return filter(copy(complete_sources), '!empty(v:val.neocomplete__context.candidates)')
FUNCTION neocomplete#util#substitute_path_separator()
Called 7 times
Total time: 0.000137
Self time: 0.000064
count total (s) self (s)
7 0.000134 0.000061 return call(s:get_prelude().substitute_path_separator, a:000)
FUNCTION lightline#update()
Called 3 times
Total time: 0.003596
Self time: 0.000153
count total (s) self (s)
3 0.000016 if s:_ | call lightline#init() | call lightline#colorscheme() | endif
3 0.000011 if !s:lightline.enable.statusline | return | endif
3 0.000006 let w = winnr()
3 0.003471 0.000028 let s = winnr('$') == 1 ? [lightline#statusline(0)] : [lightline#statusline(0), lightline#statusline(1)]
7 0.000011 for n in range(1, winnr('$'))
4 0.000049 call setwinvar(n, '&statusline', s[n!=w])
4 0.000011 call setwinvar(n, 'lightline', n!=w)
4 0.000003 endfor
FUNCTION zenspace#update()
Called 2 times
Total time: 0.000070
Self time: 0.000051
count total (s) self (s)
2 0.000028 0.000009 let on = zenspace#is_on()
2 0.000006 let current_state = exists('w:zenspace_match_id')
2 0.000002 if on == current_state
1 0.000000 return
endif
1 0.000001 if on
1 0.000022 let w:zenspace_match_id = matchadd('ZenSpace', ' ')
1 0.000001 else
call matchdelete(w:zenspace_match_id)
unlet w:zenspace_match_id
endif
FUNCTION MyMode()
Called 16 times
Total time: 0.000204
Self time: 0.000097
count total (s) self (s)
16 0.000198 0.000091 return winwidth('.') > 60 ? lightline#mode() : ''
FUNCTION <SNR>486_parse_substitute()
Called 2 times
Total time: 0.000116
Self time: 0.000116
count total (s) self (s)
2 0.000004 let very_magic = '\v'
2 0.000003 let range = '(.{-})'
2 0.000004 let command = 's%[ubstitute]'
2 0.000004 let first_slash = '([\x00-\xff]&[^\\"|[:alnum:][:blank:]])'
2 0.000003 let pattern = '(%(\\.|.){-})'
2 0.000003 let second_slash = '\2'
2 0.000003 let string = '(%(\\.|.){-})'
2 0.000004 let flags = '%(\2([&cegiInp#lr]*))?'
2 0.000017 let parse_pattern = very_magic . '^:*' . range . command . first_slash . pattern . '%(' . second_slash . string . flags . ')?$'
2 0.000055 let result = matchlist(a:word, parse_pattern)[1:5]
2 0.000008 if type(result) == type(0) || empty(result)
2 0.000002 return []
endif
unlet result[1]
return result
FUNCTION neocomplete#is_locked()
Called 6 times
Total time: 0.000203
Self time: 0.000037
count total (s) self (s)
6 0.000201 0.000035 return neocomplete#is_cache_disabled() || &paste || (&t_Co != '' && &t_Co < 8) || g:neocomplete#disable_auto_complete
FUNCTION <SNR>409_stopline_forward()
Called 136 times
Total time: 0.000767
Self time: 0.000767
count total (s) self (s)
136 0.000378 let stopline_forward = line('.') + g:context_filetype#search_offset
136 0.000333 return (stopline_forward > line('$')) ? line('$') : stopline_forward
FUNCTION <SNR>203_is_enable_in_current()
Called 2 times
Total time: 0.000014
Self time: 0.000014
count total (s) self (s)
2 0.000007 let default = get(g:brightest#enable_filetypes, "_", 1)
2 0.000005 return get(g:brightest#enable_filetypes, a:context.filetype, default)
FUNCTION neocomplete#helper#complete_check()
Called 5 times
Total time: 0.000245
Self time: 0.000168
count total (s) self (s)
5 0.000046 0.000017 let neocomplete = neocomplete#get_current_neocomplete()
5 0.000005 if g:neocomplete#enable_debug
echomsg split(reltimestr(reltime(neocomplete.start_time)))[0]
endif
5 0.000139 0.000091 let ret = neocomplete#is_auto_complete() && g:neocomplete#skip_auto_completion_time != '' && split(reltimestr(reltime(neocomplete.start_time)))[0] > g:neocomplete#skip_auto_completion_time
5 0.000005 if ret
let neocomplete = neocomplete#get_current_neocomplete()
let neocomplete.skipped = 1
call neocomplete#print_debug('Skipped.')
endif
5 0.000004 return ret
FUNCTION <SNR>65__persistent()
Called 1 time
Total time: 0.000290
Self time: 0.000290
count total (s) self (s)
1 0.000004 if g:yankround_dir=='' || g:_yankround_cache==[]
return
end
1 0.000003 let path = s:yankround_dir. '/history'
1 0.000273 call writefile(g:_yankround_cache, path)
1 0.000007 let s:_histfilever = getftime(path)
FUNCTION neocomplete#cache#get_cache_list()
Called 1 time
Total time: 0.000383
Self time: 0.000075
count total (s) self (s)
1 0.000003 let cache_list = a:async_cache_list
1 0.000001 let loaded_keywords = []
1 0.000002 let loaded = 0
2 0.000022 for cache in filter(copy(cache_list), 'filereadable(v:val.cachename)')
1 0.000002 let loaded = 1
1 0.000334 0.000026 let loaded_keywords = neocomplete#cache#load_from_cache( a:cache_dir, cache.filename, 1)
1 0.000001 endfor
1 0.000010 call filter(cache_list, '!filereadable(v:val.cachename)')
1 0.000002 return [loaded, loaded_keywords]
FUNCTION <SNR>439_initialize_source()
Called 1 time
Total time: 0.000078
Self time: 0.000044
count total (s) self (s)
1 0.000016 let path = (a:srcname=~ '^\d\+$') ? fnamemodify(bufname(a:srcname), ':p') : a:srcname
1 0.000004 let filename = fnamemodify(path, ':t')
1 0.000001 if filename == ''
let filename = '[No Name]'
let path .= '/[No Name]'
endif
1 0.000002 let ft = a:filetype
1 0.000001 if ft == ''
let ft = 'nothing'
endif
1 0.000050 0.000016 let s:member_sources[a:srcname] = { 'member_cache' : {}, 'filetype' : ft, 'time' : getftime(path), 'keyword_pattern' : neocomplete#get_keyword_pattern(ft, s:source.name),}
FUNCTION <SNR>102_EnterWin()
Called 2 times
Total time: 0.000054
Self time: 0.000018
count total (s) self (s)
2 0.000043 0.000007 if s:Skip()
2 0.000008 if exists('w:lastfdm') | unlet w:lastfdm | endif
2 0.000002 return
endif
let w:lastfdm = &l:foldmethod
setlocal foldmethod=manual
FUNCTION neocomplete#util#has_vimproc()
Called 1 time
Total time: 0.000016
Self time: 0.000016
count total (s) self (s)
" Initialize.
1 0.000003 if !exists('g:neocomplete#use_vimproc')
" Check vimproc.
try
call vimproc#version()
let exists_vimproc = 1
catch
let exists_vimproc = 0
endtry
let g:neocomplete#use_vimproc = exists_vimproc
endif
1 0.000002 return g:neocomplete#use_vimproc
FUNCTION unite#helper#call_hook()
Called 1 time
Total time: 0.000055
Self time: 0.000040
count total (s) self (s)
1 0.000023 0.000008 let context = unite#get_context()
1 0.000002 if context.unite__disable_hooks
return
endif
2 0.000003 for source in a:sources
1 0.000003 if !has_key(source.hooks, a:hook_name)
1 0.000001 continue
endif
try
call call(source.hooks[a:hook_name], [source.args, source.unite__context], source.hooks)
catch
call unite#print_error(v:throwpoint)
call unite#print_error(v:exception)
call unite#print_error( 'Error occurred in calling hook "' . a:hook_name . '"!')
call unite#print_error( 'Source name is ' . source.name)
endtry
endfor
FUNCTION <SNR>287_finalize()
Called 1 time
Total time: 0.000180
Self time: 0.000023
count total (s) self (s)
1 0.000036 0.000011 call s:garbage_collect(1)
1 0.000003 if exists('s:dll_handle')
1 0.000139 0.000007 call s:vp_dlclose(s:dll_handle)
1 0.000001 endif
FUNCTION <SNR>435_initialize_source()
Called 1 time
Total time: 0.000222
Self time: 0.000041
count total (s) self (s)
1 0.000006 let path = fnamemodify(bufname(a:srcname), ':p')
1 0.000002 let filename = fnamemodify(path, ':t')
1 0.000001 if filename == ''
let filename = '[No Name]'
let path .= '/[No Name]'
endif
1 0.000002 let ft = getbufvar(a:srcname, '&filetype')
1 0.000001 if ft == ''
let ft = 'nothing'
endif
1 0.000036 0.000005 let keyword_pattern = neocomplete#get_keyword_pattern(ft, s:source.name)
1 0.000166 0.000016 let s:buffer_sources[a:srcname] = { 'words' : [], 'frequencies' : {}, 'name' : filename, 'filetype' : ft, 'keyword_pattern' : keyword_pattern, 'cached_time' : 0, 'path' : path, 'cache_name' : neocomplete#cache#encode_name('buffer_cache', path),}
FUNCTION neocomplete#helper#check_filetype()
Called 21 times
Total time: 0.000318
Self time: 0.000128
count total (s) self (s)
21 0.000311 0.000121 return !empty(filter(neocomplete#context_filetype#filetypes(), 'get(a:dictionary, v:val, 0)'))
FUNCTION over#setup()
Called 1 time
Total time: 0.000237
Self time: 0.000237
count total (s) self (s)
1 0.000002 let s:set_flag = 0
1 0.000001 let s:search_highlighted = 0
1 0.000003 augroup over-cmdwindow
1 0.000210 autocmd!
1 0.000008 autocmd InsertCharPre * call s:search_highlight(getline(".") . v:char)
1 0.000005 autocmd InsertEnter * call s:set_options()
1 0.000005 autocmd InsertLeave * call s:restore_options()
1 0.000001 augroup END
FUNCTION <SNR>112_optionset()
Called 1 time
Total time: 0.000012
Self time: 0.000012
count total (s) self (s)
1 0.000004 if s:ON && expand('<amatch>') is# 'number'
if v:option_new
call s:dummysign_off()
else
call s:clear_enable_auto()
call s:dummysign()
endif
endif
FUNCTION neocomplete#helper#call_filters()
Called 3 times
Total time: 0.000992
Self time: 0.000130
count total (s) self (s)
3 0.000010 let context = extend(a:source.neocomplete__context, a:context)
7 0.000010 for filter in a:filters
4 0.000004 try
4 0.000893 0.000031 let context.candidates = call(filter.filter, [context], filter)
4 0.000003 catch
call neocomplete#print_error(v:throwpoint)
call neocomplete#print_error(v:exception)
call neocomplete#print_error( 'Error occurred in calling filter ' . filter.name . '!')
call neocomplete#print_error( 'Source name is ' . a:source.name)
endtry
4 0.000003 endfor
3 0.000003 return context.candidates
FUNCTION <SNR>561__vital_of()
Called 100 times
Total time: 0.158038
Self time: 0.001568
count total (s) self (s)
100 0.117609 0.000448 let V = vital#of('incsearch')
100 0.039234 0.000493 call V.load('Data.List')
100 0.001141 0.000573 call V.unload()
FUNCTION <SNR>102_LeaveWin()
Called 2 times
Total time: 0.000013
Self time: 0.000013
count total (s) self (s)
2 0.000007 if exists('w:lastfdm') && &l:foldmethod ==# 'manual'
let &l:foldmethod= w:lastfdm
endif
FUNCTION <SNR>486_search_highlight()
Called 2 times
Total time: 0.000136
Self time: 0.000020
count total (s) self (s)
2 0.000131 0.000015 let result = s:parse_substitute(a:line)
2 0.000003 if empty(result)
2 0.000002 return
endif
if !s:set_flag
let s:search_highlighted = 1
let s:set_flag = 1
call feedkeys("\<C-o>:set hlsearch | set incsearch\<CR>", 'n')
endif
let @/ = result[1]
FUNCTION <SNR>441_uniq_by()
Called 5 times
Total time: 0.000199
Self time: 0.000199
count total (s) self (s)
5 0.000040 let list = map(copy(a:list), printf('[v:val, %s]', a:f))
5 0.000007 let i = 0
5 0.000007 let seen = {}
10 0.000020 while i < len(list)
5 0.000019 let key = string(list[i][1])
5 0.000010 if has_key(seen, key)
2 0.000005 call remove(list, i)
2 0.000001 else
3 0.000008 let seen[key] = 1
3 0.000004 let i += 1
3 0.000003 endif
5 0.000004 endwhile
5 0.000014 return map(list, 'v:val[0]')
FUNCTION <SNR>102_Skip()
Called 2 times
Total time: 0.000036
Self time: 0.000012
count total (s) self (s)
2 0.000035 0.000011 if !s:isReasonable() | return 1 | endif
if !&l:modifiable | return 1 | endif
if s:inSkipList() | return 1 | endif
return 0
FUNCTION neocomplete#init#is_enabled()
Called 17 times
Total time: 0.000029
Self time: 0.000029
count total (s) self (s)
17 0.000024 return s:is_enabled
FUNCTION neobundle#autoload#explorer()
Called 1 time
Total time: 0.000042
Self time: 0.000029
count total (s) self (s)
1 0.000001 if a:path == ''
return
endif
1 0.000002 let path = a:path
" For ":edit ~".
1 0.000003 if fnamemodify(path, ':t') ==# '~'
let path = '~'
endif
1 0.000020 0.000007 let path = neobundle#util#expand(path)
1 0.000012 if !(isdirectory(path) || (!filereadable(path) && path =~ '^\h\w\+://'))
1 0.000001 return
endif
let bundles = filter(neobundle#config#get_autoload_bundles(), "get(v:val.autoload, 'explorer', 0)")
if empty(bundles)
augroup neobundle-explorer
autocmd!
augroup END
else
call neobundle#config#source_bundles(bundles)
execute 'doautocmd' a:event
endif
FUNCTION <SNR>439_get_member_pattern()
Called 5 times
Total time: 0.000022
Self time: 0.000022
count total (s) self (s)
5 0.000020 return get(g:neocomplete#sources#member#input_patterns, a:filetype, get(g:neocomplete#sources#member#input_patterns, '_', ''))
FUNCTION neocomplete#complete_check()
Called 5 times
Total time: 0.000264
Self time: 0.000019
count total (s) self (s)
5 0.000263 0.000018 return neocomplete#helper#complete_check()
FUNCTION context_filetype#get_filetypes()
Called 8 times
Total time: 0.005700
Self time: 0.000336
count total (s) self (s)
8 0.005214 0.000042 let filetype = call('context_filetype#get_filetype', a:000)
8 0.000014 let filetypes = [filetype]
8 0.000038 if filetype =~ '\.'
if has_key(g:context_filetype#ignore_composite_filetypes, filetype)
let filetypes = [g:context_filetype#ignore_composite_filetypes[filetype]]
else
" Set composite filetype.
let filetypes += split(filetype, '\.')
endif
endif
16 0.000029 for ft in copy(filetypes)
8 0.000259 0.000067 let filetypes += s:get_same_filetypes(ft)
8 0.000005 endfor
8 0.000014 if len(filetypes) > 1
let filetypes = s:uniq(filetypes)
endif
8 0.000008 return filetypes
FUNCTION <SNR>201_uniq()
Called 6 times
Total time: 0.000102
Self time: 0.000102
count total (s) self (s)
6 0.000011 let i = 0
6 0.000014 let len = len(a:list)
6 0.000010 let seen = {}
6 0.000011 while i < len
if has_key(seen, a:list[i])
call remove(a:list, i)
else
let seen[a:list[i]] = 1
let i += 1
endif
endwhile
6 0.000008 return a:list
FUNCTION brightest#highlighting()
Called 2 times
Total time: 0.000329
Self time: 0.000033
count total (s) self (s)
2 0.000328 0.000032 call s:highlighting( get(b:, "brightest_pattern", g:brightest#pattern), s:default(), s:highlight_in_cursorline(), )
FUNCTION <SNR>139_sub()
Called 24 times
Total time: 0.000227
Self time: 0.000227
count total (s) self (s)
24 0.000221 return substitute(a:str,'\v\C'.a:pat,a:rep,'')
FUNCTION neocomplete#handler#_do_auto_complete()
Called 3 times
Total time: 0.016130
Self time: 0.000316
count total (s) self (s)
3 0.000030 0.000011 let neocomplete = neocomplete#get_current_neocomplete()
3 0.000158 0.000027 if (g:neocomplete#enable_cursor_hold_i && empty(neocomplete.candidates) && a:event ==# 'CursorMovedI') || s:check_in_do_auto_complete() || (a:event ==# 'InsertEnter' && neocomplete.old_cur_text != '')
return
endif
3 0.000004 let neocomplete.skipped = 0
3 0.000006 let neocomplete.event = a:event
3 0.000076 0.000011 call neocomplete#helper#clear_result()
" Set context filetype.
3 0.004338 0.000018 call neocomplete#context_filetype#set()
3 0.000223 0.000019 let cur_text = neocomplete#get_cur_text(1)
3 0.000004 let complete_pos = -1
3 0.000029 0.000017 call neocomplete#print_debug('cur_text = ' . cur_text)
3 0.000004 try
" Prevent infinity loop.
3 0.000087 0.000014 if s:is_skip_auto_complete(cur_text)
call neocomplete#print_debug('Skipped.')
return
endif
3 0.001602 0.000014 let complete_pos = s:check_force_omni(cur_text)
3 0.000004 if complete_pos >= 0
return
endif
" Check multibyte input or eskk or spaces.
3 0.000057 0.000029 if cur_text =~ '^\s*$' || neocomplete#is_eskk_enabled() || neocomplete#is_multibyte_input(cur_text)
1 0.000008 0.000004 call neocomplete#print_debug('Skipped.')
1 0.000001 return
endif
2 0.000002 try
2 0.000003 let neocomplete.is_auto_complete = 1
" Do prefetch.
2 0.009283 0.000013 let neocomplete.complete_sources = neocomplete#complete#_get_results(cur_text)
2 0.000002 finally
2 0.000004 let neocomplete.is_auto_complete = 0
2 0.000001 endtry
2 0.000003 if empty(neocomplete.complete_sources)
2 0.000068 0.000014 call s:check_fallback(cur_text)
2 0.000002 return
endif
" Start auto complete.
call s:complete_key( "\<Plug>(neocomplete_start_auto_complete)")
finally
3 0.000068 0.000022 call neocomplete#complete#_set_previous_position(cur_text, complete_pos)
3 0.000003 endtry
FUNCTION <SNR>464_getfilename()
Called 2 times
Total time: 0.000107
Self time: 0.000012
count total (s) self (s)
2 0.000107 0.000012 return s:_encode_name(a:cache_dir, a:filename)
FUNCTION <SNR>139_buffer_getline()
Called 3 times
Total time: 0.000012
Self time: 0.000012
count total (s) self (s)
3 0.000012 return get(getbufline(self['#'], a:lnum), 0, '')
FUNCTION neocomplete#sources#member#remake_cache()
Called 1 time
Total time: 0.000020
Self time: 0.000013
count total (s) self (s)
1 0.000014 0.000007 if !neocomplete#is_enabled()
call neocomplete#initialize()
endif
1 0.000003 if get(g:neocomplete#sources#member#prefix_patterns, a:filetype, '') == ''
1 0.000001 return
endif
for dictionary in filter(map(neocomplete#sources#dictionary#get_dictionaries(a:filetype), "neocomplete#util#substitute_path_separator( fnamemodify(v:val, ':p'))"), "filereadable(v:val) && (!has_key(s:member_sources, v:val) || getftime(v:val) > s:member_sources[v:val].time)")
call s:make_cache_lines(dictionary, a:filetype, readfile(dictionary))
endfor
FUNCTION <SNR>102_UpdateWin()
Called 1 time
Total time: 0.000035
Self time: 0.000018
count total (s) self (s)
" skip if another session still loading
1 0.000004 if a:check && exists('g:SessionLoad') | return | endif
1 0.000002 let s:curwin = winnr()
1 0.000016 0.000006 call s:WinDo("if winnr() == s:curwin | call s:LeaveWin() | endif")
1 0.000011 0.000004 call s:WinDo("if winnr() == s:curwin | call s:EnterWin() | endif")
FUNCTION <SNR>139_repo_dir()
Called 36 times
Total time: 0.000147
Self time: 0.000147
count total (s) self (s)
36 0.000132 return join([self.git_dir]+a:000,'/')
FUNCTION <SNR>485__rounder_autocmd()
Called 1 time
Total time: 0.000212
Self time: 0.000212
count total (s) self (s)
1 0.000004 aug yankround_rounder
1 0.000189 autocmd!
1 0.000009 autocmd CursorMoved * if s:rounder.is_cursormoved()| call s:destroy_rounder()| end
1 0.000004 autocmd BufWritePost * call s:rounder.update_changedtick()
1 0.000004 autocmd InsertEnter * call s:rounder.clear_region_hl()
1 0.000001 aug END
FUNCTION <SNR>287_libcall()
Called 1 time
Total time: 0.000125
Self time: 0.000095
count total (s) self (s)
1 0.000120 0.000090 let stack_buf = libcall(g:vimproc#dll_path, a:func, s:encode_list(a:args))
1 0.000003 if empty(stack_buf)
1 0.000001 return []
endif
let [result, err] = s:decode_list(stack_buf)
if err
let s:lasterr = result
let msg = vimproc#util#iconv(string(result), vimproc#util#systemencoding(), &encoding)
throw printf('vimproc: %s: %s', a:func, msg)
endif
return result
FUNCTION <SNR>160_IndentLinesDisable()
Called 1 time
Total time: 0.000160
Self time: 0.000160
count total (s) self (s)
1 0.000002 let b:indentLine_enabled = 0
1 0.000001 try
1 0.000125 syntax clear IndentLine
1 0.000017 syntax clear IndentLineSpace
catch /^Vim\%((\a\+)\)\=:E28/ " catch error E28
1 0.000002 endtry
FUNCTION <SNR>139_can_diffoff()
Called 2 times
Total time: 0.000016
Self time: 0.000016
count total (s) self (s)
2 0.000014 return getwinvar(bufwinnr(a:buf), '&diff') && !empty(getbufvar(a:buf, 'git_dir')) && !empty(getwinvar(bufwinnr(a:buf), 'fugitive_diff_restore'))
FUNCTION MyFilename()
Called 17 times
Total time: 0.000775
Self time: 0.000385
count total (s) self (s)
17 0.000757 0.000367 return ('' != MyReadonly() ? MyReadonly() . ' ' : '') . (&ft == 'vimfiler' ? vimfiler#get_status_string() : &ft == 'unite' ? unite#get_status_string() : &ft == 'vimshell' ? vimshell#get_status_string() : '' != expand('%:t') ? expand('%:t') : '[No Name]') . ('' != MyModified() ? ' ' . MyModified() : '')
FUNCTION vital#incsearch#of()
Called 200 times
Total time: 0.002289
Self time: 0.000735
count total (s) self (s)
200 0.002237 0.000683 return s:new(s:plugin_name)
FUNCTION neobundle#autoload#insert()
Called 1 time
Total time: 0.000433
Self time: 0.000087
count total (s) self (s)
1 0.000426 0.000080 let bundles = filter(neobundle#config#get_autoload_bundles(), "get(v:val.autoload, 'insert', 0)")
1 0.000002 if !empty(bundles)
call neobundle#config#source_bundles(bundles)
doautocmd InsertEnter
endif
FUNCTION neocomplete#handler#_on_insert_enter()
Called 1 time
Total time: 0.000201
Self time: 0.000030
count total (s) self (s)
1 0.000007 0.000002 if !neocomplete#is_enabled()
return
endif
1 0.000152 0.000007 let neocomplete = neocomplete#get_current_neocomplete()
1 0.000002 if neocomplete.linenr != line('.')
1 0.000030 0.000009 call neocomplete#helper#clear_result()
1 0.000000 endif
1 0.000001 let neocomplete.linenr = line('.')
1 0.000002 if &l:foldmethod ==# 'expr' && foldlevel('.') != 0
foldopen
endif
FUNCTION neocomplete#helper#is_enabled_source()
Called 20 times
Total time: 0.000554
Self time: 0.000245
count total (s) self (s)
20 0.000099 0.000087 let source = type(a:source) == type('') ? get(neocomplete#variables#get_sources(), a:source, {}) : a:source
20 0.000441 0.000144 return !empty(source) && (empty(source.filetypes) || neocomplete#helper#check_filetype(source.filetypes)) && (!get(source.disabled_filetypes, '_', 0) && !neocomplete#helper#check_filetype(source.disabled_filetypes))
FUNCTION unite#handlers#_restore_updatetime()
Called 1 time
Total time: 0.000031
Self time: 0.000016
count total (s) self (s)
1 0.000022 0.000007 let unite = unite#get_current_unite()
1 0.000002 if !has_key(unite, 'update_time_save')
return
endif
1 0.000003 if unite.context.update_time > 0 && &updatetime < unite.update_time_save
let &updatetime = unite.update_time_save
endif
FUNCTION <SNR>139_buffer_getvar()
Called 5 times
Total time: 0.000015
Self time: 0.000015
count total (s) self (s)
5 0.000013 return getbufvar(self['#'],a:var)
FUNCTION over#unsetup()
Called 1 time
Total time: 0.000057
Self time: 0.000057
count total (s) self (s)
1 0.000002 augroup over-cmdwindow
1 0.000054 autocmd!
1 0.000001 augroup END
FUNCTION <SNR>404_is_enable_switch_CursorMoved_i()
Called 3 times
Total time: 0.000023
Self time: 0.000023
count total (s) self (s)
3 0.000022 return (get(g:precious_enable_switch_CursorMoved_i, "*", 1) || get(g:precious_enable_switch_CursorMoved_i, a:filetype, 0)) && get(g:precious_enable_switch_CursorMoved_i, a:filetype, 1)
FUNCTION <SNR>409_get_nest_impl()
Called 17 times
Total time: 0.005196
Self time: 0.000214
count total (s) self (s)
17 0.005083 0.000101 let context = s:get_context(a:filetype, a:context_filetypes, a:prev_context.range)
17 0.000035 if context.range != s:null_range && context.filetype !=# a:filetype
return s:get_nest_impl(context.filetype, a:context_filetypes, context)
else
17 0.000020 return a:prev_context
endif
FUNCTION neobundle#util#get_filetypes()
Called 1 time
Total time: 0.000012
Self time: 0.000012
count total (s) self (s)
1 0.000006 let filetype = exists('b:neocomplcache.context_filetype') ? b:neocomplcache.context_filetype : &filetype
1 0.000006 return split(filetype, '\.')
FUNCTION <SNR>160_InitColor()
Called 1 time
Total time: 0.000066
Self time: 0.000066
count total (s) self (s)
1 0.000002 if ! g:indentLine_setColors
return
endif
1 0.000004 if ! exists("g:indentLine_color_term")
if &background ==# "light"
let term_color = 249
else
let term_color = 239
endif
else
1 0.000002 let term_color = g:indentLine_color_term
1 0.000000 endif
1 0.000002 if ! exists("g:indentLine_color_gui")
1 0.000001 if &background ==# "light"
let gui_color = "Grey70"
else
1 0.000001 let gui_color = "Grey30"
1 0.000001 endif
1 0.000000 else
let gui_color = g:indentLine_color_gui
endif
1 0.000016 execute "highlight Conceal ctermfg=" . term_color . " ctermbg=NONE"
1 0.000012 execute "highlight Conceal guifg=" . gui_color . " guibg=NONE"
1 0.000001 if &term ==# "linux"
if &background ==# "light"
let tty_color = exists("g:indentLine_color_tty_light") ? g:indentLine_color_tty_light : 4
else
let tty_color = exists("g:indentLine_color_tty_dark") ? g:indentLine_color_tty_dark : 2
endif
execute "highlight Conceal cterm=bold ctermfg=" . tty_color . " ctermbg=NONE"
endif
FUNCTION lightline#statusline()
Called 4 times
Total time: 0.003443
Self time: 0.000047
count total (s) self (s)
4 0.000018 if a:inactive && !has_key(s:highlight, 'inactive') | call lightline#highlight('inactive') | endif
4 0.003423 0.000027 return s:line(0, a:inactive)
FUNCTION <SNR>287_encode_list()
Called 1 time
Total time: 0.000030
Self time: 0.000021
count total (s) self (s)
" End Of Value
1 0.000002 let EOV = "\xFF"
" EOV, encoded size0, data0, EOV, encoded size1, data1, EOV, ...
1 0.000026 0.000017 return empty(a:arr) ? '' : (EOV . join(map(copy(a:arr), 's:encode_size(strlen(v:val)) . v:val'), EOV) . EOV)
FUNCTION <SNR>232_is_file_exist()
Called 500 times
Total time: 0.016549
Self time: 0.016549
count total (s) self (s)
500 0.014113 let ignore = !empty(g:neomru#file_mru_ignore_pattern) && a:path =~ g:neomru#file_mru_ignore_pattern
500 0.002194 return !ignore && (getftype(a:path) ==# 'file' || a:path =~ '^\h\w\+:')
FUNCTION <SNR>435_clean()
Called 1 time
Total time: 0.112289
Self time: 0.000597
count total (s) self (s)
1 0.111609 0.000007 call neocomplete#helper#clean('buffer_cache')
" Remove temporary files
1 0.000676 0.000586 call map(glob(printf('%s/%d_*', neocomplete#get_data_directory() . '/buffer_temp', getpid()), 1, 1), 'delete(v:val)')
FUNCTION neocomplete#helper#get_force_omni_complete_pos()
Called 3 times
Total time: 0.001543
Self time: 0.000090
count total (s) self (s)
" Check eskk complete length.
3 0.000024 0.000013 if neocomplete#is_eskk_enabled() && exists('g:eskk#start_completion_length')
if !neocomplete#is_eskk_convertion(a:cur_text) || !neocomplete#is_multibyte_input(a:cur_text)
return -1
endif
let complete_pos = call(&l:omnifunc, [1, ''])
let complete_str = a:cur_text[complete_pos :]
return (neocomplete#util#mb_strlen(complete_str) >= g:eskk#start_completion_length) ? complete_pos : -1
endif
3 0.001449 0.000017 let filetype = neocomplete#get_context_filetype()
3 0.000004 let omnifunc = &l:omnifunc
3 0.000026 0.000016 if neocomplete#helper#check_invalid_omnifunc(omnifunc)
3 0.000003 return -1
endif
let pattern = ''
if has_key(g:neocomplete#force_omni_input_patterns, omnifunc)
let pattern = g:neocomplete#force_omni_input_patterns[omnifunc]
elseif filetype != '' && get(g:neocomplete#force_omni_input_patterns, filetype, '') != ''
let pattern = g:neocomplete#force_omni_input_patterns[filetype]
endif
if pattern == ''
return -1
endif
return match(a:cur_text, '\%(' . pattern . '\m\)$')
FUNCTION neocomplete#helper#get_syn_name()
Called 2 times
Total time: 0.000104
Self time: 0.000104
count total (s) self (s)
2 0.000103 return len(getline('.')) < 200 ? synIDattr(synIDtrans(synID(line('.'), mode() ==# 'i' ? col('.')-1 : col('.'), a:is_trans)), 'name') : ''
FUNCTION <SNR>464__encode_name()
Called 2 times
Total time: 0.000095
Self time: 0.000048
count total (s) self (s)
" Check cache directory.
2 0.000005 if !isdirectory(a:cache_dir)
call mkdir(a:cache_dir, 'p')
endif
2 0.000004 let cache_dir = a:cache_dir
2 0.000014 if cache_dir !~ '/$'
2 0.000004 let cache_dir .= '/'
2 0.000002 endif
2 0.000060 0.000013 return cache_dir . s:_create_hash(cache_dir, a:filename)
FUNCTION <SNR>98_append()
Called 1 time
Total time: 0.000013
Self time: 0.000013
count total (s) self (s)
1 0.000002 if &filetype == 'unite'
" Ignore unite window.
return
endif
" Save unite window information.
1 0.000007 let w:unite_window = { 'time' : localtime(), 'cwd' : getcwd(),}
FUNCTION <SNR>439_make_cache_lines()
Called 3 times
Total time: 0.000354
Self time: 0.000340
count total (s) self (s)
3 0.000006 let filetype = a:filetype
3 0.000006 if !has_key(s:member_sources, a:srcname)
call s:initialize_source(a:srcname, filetype)
endif
3 0.000015 let prefix = get(g:neocomplete#sources#member#prefix_patterns, filetype, get(g:neocomplete#sources#member#prefix_patterns, '_', ''))
3 0.000003 if prefix == ''
return
endif
3 0.000007 let source = s:member_sources[a:srcname]
3 0.000029 0.000015 let member_pattern = s:get_member_pattern(filetype)
3 0.000009 let prefix_pattern = member_pattern . '\m\%(' . prefix . '\m\)'
3 0.000006 let keyword_pattern = prefix_pattern . member_pattern
" Cache member pattern.
9 0.000009 for line in a:lines
6 0.000053 let match = match(line, keyword_pattern)
6 0.000007 while match >= 0 "{{{
let match_str = matchstr(line, '^'.keyword_pattern, match)
" Next match.
let match = matchend(line, prefix_pattern, match)
let member_name = matchstr(match_str, member_pattern . '$')
if member_name == ''
continue
endif
let var_name = match_str[ : -len(member_name)-1]
if !has_key(source.member_cache, var_name)
let source.member_cache[var_name] = {}
endif
if !has_key(source.member_cache[var_name], member_name)
let source.member_cache[var_name][member_name] = 1
endif
let match_str = matchstr(var_name, '^'.keyword_pattern)
endwhile"}}}
6 0.000003 endfor
FUNCTION <SNR>409_stopline_back()
Called 136 times
Total time: 0.000598
Self time: 0.000598
count total (s) self (s)
136 0.000348 let stopline_back = line('.') - g:context_filetype#search_offset
136 0.000197 return (stopline_back <= 1) ? 1 : stopline_back
FUNCTION <SNR>201_match_files()
Called 12 times
Total time: 0.012561
Self time: 0.006319
count total (s) self (s)
12 0.000031 if type(a:fname) == type([])
6 0.000010 let files = []
12 0.000021 for f in a:fname
6 0.000019 let files += s:match_files(a:path, f)
6 0.000023 endfor
6 0.000144 0.000042 return s:uniq(files)
endif
6 0.000023 let path = escape(a:path, '*?[,')
6 0.000012 if a:fname[0] == '/'
6 0.003854 let files = split(globpath(path, '/.*', 1), "\n") + split(globpath(path, '/*' , 1), "\n")
6 0.000043 let pat = a:fname[1:]
6 0.002078 call filter(map(files, 'fnamemodify(v:val, ":t")'), 'v:val =~# pat')
6 0.000008 else
let files = map(split(globpath(path, a:fname, 1), "\n"), 'fnamemodify(v:val, ":t")')
endif
6 0.000023 return filter(map(files, 'a:path . "/" . v:val'), 'filereadable(v:val)')
FUNCTION <SNR>232_writefile()
Called 2 times
Total time: 0.000841
Self time: 0.000841
count total (s) self (s)
2 0.000015 let path = fnamemodify(a:path, ':p')
2 0.000009 if !isdirectory(fnamemodify(path, ':h'))
call mkdir(fnamemodify(path, ':h'), 'p')
endif
2 0.000809 call writefile(a:list, path)
FUNCTION <SNR>139_buffer_spec()
Called 4 times
Total time: 0.000086
Self time: 0.000044
count total (s) self (s)
4 0.000012 let bufname = bufname(self['#'])
4 0.000074 0.000032 return s:shellslash(bufname == '' ? '' : fnamemodify(bufname,':p'))
FUNCTION neocomplete#sources#member#make_cache_current_line()
Called 3 times
Total time: 0.004902
Self time: 0.000035
count total (s) self (s)
3 0.000020 0.000008 if !neocomplete#is_enabled()
call neocomplete#initialize()
endif
" Make cache from current line.
3 0.004874 0.000019 return s:make_cache_current_buffer(line('.')-1, line('.')+1)
FUNCTION precious#base_filetype()
Called 9 times
Total time: 0.000076
Self time: 0.000076
count total (s) self (s)
9 0.000028 if !has_key(b:, "precious_base_filetype")
call precious#set_base_filetype(&filetype)
endif
9 0.000016 return b:precious_base_filetype
FUNCTION neocomplete#is_eskk_enabled()
Called 5 times
Total time: 0.000017
Self time: 0.000017
count total (s) self (s)
5 0.000014 return exists('*eskk#is_enabled') && eskk#is_enabled()
FUNCTION brightest#on_CursorMoved()
Called 2 times
Total time: 0.000429
Self time: 0.000078
count total (s) self (s)
2 0.000005 let s:is_CursorMoved = 1
2 0.000004 let mode = mode()
2 0.000019 0.000011 if s:is_enable_on_cursorhold() && g:brightest#enable_clear_highlight_on_CursorMoved
call brightest#hl_clear()
endif
2 0.000031 0.000017 if s:is_enable() && !s:is_enable_on_cursorhold()
2 0.000338 0.000009 call brightest#highlighting()
2 0.000001 endif
" Workaround : visual mode to normal mode
" https://github.com/osyo-manga/vim-brightest/issues/13
2 0.000019 if mode =~# "[\<C-v>vV]" && mode != mode() && g:brightest#enable_highlight_all_window
normal! gv
endif
FUNCTION anzu#search_status()
Called 32 times
Total time: 0.000255
Self time: 0.000255
count total (s) self (s)
32 0.000242 return substitute(s:status_cache, '<anzustatushighlight>.\{-}<\/anzustatushighlight>', "", "g")
FUNCTION unite#view#_clear_match()
Called 2 times
Total time: 0.000010
Self time: 0.000010
count total (s) self (s)
2 0.000003 if &filetype ==# 'unite'
setlocal nocursorline
endif
FUNCTION <SNR>435_check_changed_buffer()
Called 2 times
Total time: 0.000040
Self time: 0.000040
count total (s) self (s)
2 0.000006 let source = s:buffer_sources[a:bufnr]
2 0.000006 let ft = getbufvar(a:bufnr, '&filetype')
2 0.000002 if ft == ''
let ft = 'nothing'
endif
2 0.000007 let filename = fnamemodify(bufname(a:bufnr), ':t')
2 0.000003 if filename == ''
let filename = '[No Name]'
endif
2 0.000006 return source.name != filename || source.filetype != ft
FUNCTION MyReadonly()
Called 17 times
Total time: 0.000226
Self time: 0.000226
count total (s) self (s)
17 0.000218 return &ft !~? 'help\|vimfiler\|gundo' && &readonly ? 'x' : ''
FUNCTION <SNR>561__vital_incsearch_of()
Called 100 times
Total time: 0.041596
Self time: 0.001324
count total (s) self (s)
100 0.001472 0.000363 let V = vital#incsearch#of()
100 0.039008 0.000413 call V.load('Data.List')
100 0.001082 0.000514 call V.unload()
FUNCTION lightline#link()
Called 9 times
Total time: 0.001081
Self time: 0.001081
count total (s) self (s)
9 0.000089 let mode = get(s:lightline._mode_, a:0 ? a:1 : mode(), 'normal')
9 0.000036 if s:mode == mode | return '' | endif
1 0.000003 let s:mode = mode
1 0.000004 if !has_key(s:highlight, mode) | call lightline#highlight(mode) | endif
1 0.000007 let [left, right, types] = [s:lightline.active.left, s:lightline.active.right, values(s:lightline.component_type)]
3 0.000007 for i in range(len(left))
2 0.000039 exec printf('hi link LightLineLeft_active_%d LightLineLeft_%s_%d', i, mode, i)
2 0.000037 exec printf('hi link LightLineLeft_active_%d_%d LightLineLeft_%s_%d_%d', i, i + 1, mode, i, i + 1)
6 0.000006 for j in types
4 0.000066 exec printf('hi link LightLineLeft_active_%d_%s LightLineLeft_%s_%d_%s', i, j, mode, i, j)
4 0.000065 exec printf('hi link LightLineLeft_active_%s_%d LightLineLeft_%s_%s_%d', j, i, mode, j, i)
4 0.000003 endfor
2 0.000001 endfor
1 0.000013 exec printf('hi link LightLineMiddle_active LightLineMiddle_%s', mode)
3 0.000003 for i in range(len(right))
2 0.000032 exec printf('hi link LightLineRight_active_%d LightLineRight_%s_%d', i, mode, i)
2 0.000033 exec printf('hi link LightLineRight_active_%d_%d LightLineRight_%s_%d_%d', i, i + 1, mode, i, i + 1)
6 0.000005 for j in types
4 0.000063 exec printf('hi link LightLineRight_active_%d_%s LightLineRight_%s_%d_%s', i, j, mode, i, j)
4 0.000061 exec printf('hi link LightLineRight_active_%s_%d LightLineRight_%s_%s_%d', j, i, mode, j, i)
4 0.000001 endfor
2 0.000002 endfor
3 0.000003 for j in types
2 0.000028 exec printf('hi link LightLineLeft_active_%s LightLineLeft_%s_%s', j, mode, j)
2 0.000036 exec printf('hi link LightLineRight_active_%s LightLineRight_%s_%s', j, mode, j)
2 0.000033 exec printf('hi link LightLineLeft_active_%s_%d LightLineLeft_%s_%s_%d', j, len(left), mode, j, len(left))
2 0.000030 exec printf('hi link LightLineLeft_active_%d_%s LightLineLeft_%s_%d_%s', len(left), j, mode, len(left), j)
2 0.000030 exec printf('hi link LightLineRight_active_%s_%d LightLineRight_%s_%s_%d', j, len(right), mode, j, len(right))
2 0.000031 exec printf('hi link LightLineRight_active_%d_%s LightLineRight_%s_%d_%s', len(right), j, mode, len(right), j)
6 0.000008 for k in types
4 0.000054 exec printf('hi link LightLineLeft_active_%s_%s LightLineLeft_%s_%s_%s', j, k, mode, j, k)
4 0.000053 exec printf('hi link LightLineLeft_active_%s_%s LightLineLeft_%s_%s_%s', k, j, mode, k, j)
4 0.000053 exec printf('hi link LightLineRight_active_%s_%s LightLineRight_%s_%s_%s', j, k, mode, j, k)
4 0.000051 exec printf('hi link LightLineRight_active_%s_%s LightLineRight_%s_%s_%s', k, j, mode, k, j)
4 0.000002 endfor
2 0.000000 endfor
1 0.000001 return ''
FUNCTION neocomplete#context_filetype#set()
Called 7 times
Total time: 0.010026
Self time: 0.000177
count total (s) self (s)
7 0.000078 0.000025 let neocomplete = neocomplete#get_current_neocomplete()
7 0.004847 0.000033 let context_filetype = s:exists_context_filetype ? context_filetype#get_filetype() : &filetype
7 0.000007 if context_filetype == ''
let context_filetype = 'nothing'
endif
7 0.000013 let neocomplete.context_filetype = context_filetype
7 0.005051 0.000069 let neocomplete.context_filetypes = s:exists_context_filetype ? context_filetype#get_filetypes(context_filetype) : [context_filetype] + split(context_filetype, '\.')
7 0.000008 return neocomplete.context_filetype
FUNCTION neosnippet#helpers#get_snippets()
Called 1 time
Total time: 0.001951
Self time: 0.000421
count total (s) self (s)
1 0.000008 0.000003 call neosnippet#init#check()
1 0.000020 0.000009 let neosnippet = neosnippet#variables#current_neosnippet()
1 0.000002 let snippets = copy(neosnippet.snippets)
3 0.001442 0.000018 for filetype in s:get_sources_filetypes(neosnippet#helpers#get_filetype())
2 0.000066 0.000012 call neosnippet#commands#_make_cache(filetype)
2 0.000058 0.000050 call extend(snippets, neosnippet#variables#snippets()[filetype])
2 0.000001 endfor
1 0.000016 0.000007 let cur_text = neosnippet#util#get_cur_text()
1 0.000001 if mode() ==# 'i'
" Special filters.
1 0.000026 0.000007 if !s:is_beginning_of_line(cur_text)
call filter(snippets, '!v:val.options.head')
endif
1 0.000000 endif
1 0.000290 call filter(snippets, "cur_text =~# get(v:val, 'regexp', '')")
1 0.000003 if exists('b:neosnippet_disable_snippet_triggers')
call filter(snippets, "index(b:neosnippet_disable_snippet_triggers, v:val.word) < 0")
endif
1 0.000001 return snippets
FUNCTION neocomplete#filters#fuzzy_escape()
Called 3 times
Total time: 0.000083
Self time: 0.000057
count total (s) self (s)
" Escape string for lua regexp.
3 0.000055 0.000029 let string = substitute(neocomplete#filters#escape(a:string), '\w', '\0.*', 'g')
3 0.000012 if g:neocomplete#enable_camel_case && string =~ '\u'
let string = substitute(string, '\l', '[\0\u\0\E]', 'g')
endif
3 0.000003 return string
FUNCTION neocomplete#get_keyword_pattern_end()
Called 11 times
Total time: 0.000377
Self time: 0.000061
count total (s) self (s)
11 0.000375 0.000059 return '\%('.call('neocomplete#get_keyword_pattern', a:000).'\m\)$'
FUNCTION recover#CheckSwapFileExists()
Called 2 times
Total time: 0.000008
Self time: 0.000008
count total (s) self (s)
2 0.000004 if !&swapfile
2 0.000000 return
endif
let swap = s:Swapname()
if !empty(swap) && !filereadable(swap)
" previous SwapExists autocommand deleted our swapfile,
" recreate it and avoid E325 Message
call s:SetSwapfile()
endif
FUNCTION neocomplete#within_comment()
Called 1 time
Total time: 0.000008
Self time: 0.000002
count total (s) self (s)
1 0.000008 0.000002 return neocomplete#get_current_neocomplete().within_comment
FUNCTION localrc#load()
Called 1 time
Total time: 0.006626
Self time: 0.000019
count total (s) self (s)
1 0.006622 0.000015 for file in localrc#search(a:fnames, 1 <= a:0 ? a:1 : expand('%:p:h'), 2 <= a:0 ? a:2 : -1)
" XXX: Handle error?
source `=file`
endfor
FUNCTION <SNR>139_winshell()
Called 6 times
Total time: 0.000030
Self time: 0.000030
count total (s) self (s)
6 0.000029 return &shell =~? 'cmd' || exists('+shellslash') && !&shellslash
FUNCTION <SNR>139_repo_head_ref()
Called 18 times
Total time: 0.000578
Self time: 0.000431
count total (s) self (s)
18 0.000280 0.000194 if !filereadable(self.dir('HEAD'))
return ''
endif
18 0.000260 0.000199 return readfile(self.dir('HEAD'))[0]
FUNCTION unite#get_current_unite()
Called 3 times
Total time: 0.000033
Self time: 0.000016
count total (s) self (s)
3 0.000033 0.000016 return exists('b:unite') && !unite#variables#use_current_unite() ? b:unite : unite#variables#current_unite()
FUNCTION <SNR>405_prev_context_filetype()
Called 2 times
Total time: 0.000027
Self time: 0.000021
count total (s) self (s)
2 0.000007 if !exists("b:precious_prev_context_filetype")
1 0.000011 0.000005 let b:precious_prev_context_filetype = precious#base_filetype()
1 0.000001 endif
2 0.000003 return b:precious_prev_context_filetype
FUNCTION <SNR>253_get_prelude()
Called 1 time
Total time: 0.000007
Self time: 0.000007
count total (s) self (s)
1 0.000002 if !exists('s:Prelude')
let s:Prelude = vimfiler#util#get_vital().import('Prelude')
endif
1 0.000001 return s:Prelude
FUNCTION <SNR>160_IndentLinesEnable()
Called 1 time
Total time: 0.000297
Self time: 0.000274
count total (s) self (s)
1 0.000008 if exists("b:indentLine_enabled") && b:indentLine_enabled
return
else
1 0.000004 let b:indentLine_enabled = 1
1 0.000000 endif
1 0.000033 0.000010 call s:SetConcealOption()
1 0.000004 let space = &l:shiftwidth is 0 ? &l:tabstop : &l:shiftwidth
1 0.000002 if g:indentLine_showFirstIndentLevel
execute 'syntax match IndentLine /^ / containedin=ALL conceal cchar=' . g:indentLine_first_char
endif
1 0.000001 if g:indentLine_faster
execute 'syntax match IndentLineSpace /^\s\+/ containedin=ALL contains=IndentLine'
execute 'syntax match IndentLine / \{'.(space-1).'}\zs / contained conceal cchar=' . g:indentLine_char
execute 'syntax match IndentLine /\t\zs / contained conceal cchar=' . g:indentLine_char
else
1 0.000004 let pattern = line('$') < g:indentLine_maxLines ? 'v' : 'c'
11 0.000017 for i in range(space+1, space * g:indentLine_indentLevel + 1, space)
10 0.000192 execute 'syntax match IndentLine /\%(^\s\+\)\@<=\%'.i.pattern.' / containedin=ALL conceal cchar=' . g:indentLine_char
10 0.000007 endfor
1 0.000001 endif
FUNCTION neosnippet#variables#snippets()
Called 5 times
Total time: 0.000023
Self time: 0.000023
count total (s) self (s)
5 0.000009 if !exists('s:snippets')
let s:snippets= {}
endif
5 0.000005 return s:snippets
FUNCTION <SNR>489_Getlist()
Called 4 times
Total time: 0.000039
Self time: 0.000039
count total (s) self (s)
4 0.000006 if a:type == 'qf'
2 0.000013 return getqflist()
else
2 0.000004 return getloclist(a:winnr)
endif
FUNCTION <SNR>409_file_range()
Called 17 times
Total time: 0.000081
Self time: 0.000081
count total (s) self (s)
17 0.000074 return [[1, 1], [line('$'), len(getline('$'))+1]]
FUNCTION <SNR>287_encode_size()
Called 1 time
Total time: 0.000009
Self time: 0.000009
count total (s) self (s)
" Set each bit7 to 1 in order to avoid NUL byte.
1 0.000008 return printf("%c%c%c%c%c", ((a:n / 0x10000000) % 0x80) + 0x80, ((a:n / 0x200000) % 0x80) + 0x80, ((a:n / 0x4000) % 0x80) + 0x80, ((a:n / 0x80) % 0x80) + 0x80, ( a:n % 0x80) + 0x80)
FUNCTION unite#view#_clear_match_highlight()
Called 2 times
Total time: 0.000013
Self time: 0.000013
count total (s) self (s)
2 0.000012 silent! call matchdelete(10)
FUNCTION precious#set_base_filetype()
Called 1 time
Total time: 0.000004
Self time: 0.000004
count total (s) self (s)
1 0.000002 let b:precious_base_filetype = a:filetype
FUNCTION <SNR>203_default()
Called 2 times
Total time: 0.000016
Self time: 0.000016
count total (s) self (s)
2 0.000013 return get(b:, "brightest_highlight", extend(copy(s:highlight_default), g:brightest#highlight))
FUNCTION <SNR>440_set_complete_results_pos()
Called 2 times
Total time: 0.000071
Self time: 0.000071
count total (s) self (s)
" Try omnifunc completion. "{{{
2 0.000004 let complete_results = {}
2 0.000003 for [omnifunc, pattern] in a:funcs
if neocomplete#is_auto_complete() && (pattern == '' || a:cur_text !~# '\%(' . pattern . '\m\)$')
continue
endif
" Save pos.
let pos = getpos('.')
try
let complete_pos = call(omnifunc, [1, ''])
catch
call neocomplete#print_error( 'Error occurred calling omnifunction: ' . omnifunc)
call neocomplete#print_error(v:throwpoint)
call neocomplete#print_error(v:exception)
let complete_pos = -1
finally
if getpos('.') != pos
call setpos('.', pos)
endif
endtry
if complete_pos < 0
continue
endif
let complete_str = a:cur_text[complete_pos :]
let complete_results[omnifunc] = { 'candidates' : [], 'complete_pos' : complete_pos, 'complete_str' : complete_str, 'omnifunc' : omnifunc,}
endfor
"}}}
2 0.000003 return complete_results
FUNCTION <SNR>409_get_filetypes()
Called 17 times
Total time: 0.000152
Self time: 0.000152
count total (s) self (s)
17 0.000135 return extend(extend( copy(s:default_filetypes), g:context_filetype#filetypes), a:filetypes)
FUNCTION <SNR>435_should_create_cache()
Called 3 times
Total time: 0.000067
Self time: 0.000067
count total (s) self (s)
3 0.000031 let filepath = fnamemodify(bufname(a:bufnr), ':p')
3 0.000034 return getfsize(filepath) < g:neocomplete#sources#buffer#cache_limit_size && getbufvar(a:bufnr, '&modifiable') && !getwinvar(bufwinnr(a:bufnr), '&previewwindow') && (g:neocomplete#sources#buffer#disabled_pattern == '' || filepath !~# g:neocomplete#sources#buffer#disabled_pattern)
FUNCTION <SNR>486_set_options()
Called 1 time
Total time: 0.000011
Self time: 0.000011
count total (s) self (s)
1 0.000002 if s:search_highlighted
let s:search_highlighted = 0
return
endif
1 0.000002 let s:old_incsearch = &incsearch
1 0.000002 let s:old_hlsearch = &hlsearch
1 0.000002 let s:old_search_pattern = @/
FUNCTION neobundle#config#get_autoload_bundles()
Called 2 times
Total time: 0.000733
Self time: 0.000733
count total (s) self (s)
2 0.000732 return filter(values(s:neobundles), "!v:val.sourced && v:val.lazy && !v:val.disabled")
FUNCTION neocomplete#helper#get_cur_text()
Called 3 times
Total time: 0.000147
Self time: 0.000131
count total (s) self (s)
3 0.000027 0.000011 let neocomplete = neocomplete#get_current_neocomplete()
3 0.000008 let is_skip_char = get(a:000, 0, 0)
3 0.000032 let cur_text = ((neocomplete.event ==# 'InsertEnter' || mode() ==# 'i') ? (col('.')-1) : col('.')) >= len(getline('.')) ? getline('.') : matchstr(getline('.'), '^.*\%' . (mode() ==# 'i' && !is_skip_char ? col('.') : col('.') - 1) . 'c' . (mode() ==# 'i' ? '' : '.'))
3 0.000019 if cur_text =~ '^.\{-}\ze\S\+$'
2 0.000011 let complete_str = matchstr(cur_text, '\S\+$')
2 0.000009 let cur_text = matchstr(cur_text, '^.\{-}\ze\S\+$')
2 0.000001 else
1 0.000002 let complete_str = ''
1 0.000000 endif
3 0.000004 if neocomplete.event ==# 'InsertCharPre'
let complete_str .= v:char
endif
3 0.000007 let neocomplete.cur_text = cur_text . complete_str
" Save cur_text.
3 0.000003 return neocomplete.cur_text
FUNCTION neocomplete#cache#check_cache()
Called 2 times
Total time: 0.000061
Self time: 0.000061
count total (s) self (s)
2 0.000004 if !has_key(a:async_cache_dictionary, a:key)
return
endif
2 0.000006 let cache_list = a:async_cache_dictionary[a:key]
2 0.000004 if !has_key(a:keyword_cache, a:key)
2 0.000006 let a:keyword_cache[a:key] = []
2 0.000002 endif
2 0.000008 for cache in filter(copy(cache_list), 'filereadable(v:val.cachename)')
let a:keyword_cache[a:key] += neocomplete#cache#load_from_cache( a:cache_dir, cache.filename, a:is_string)
endfor
2 0.000005 call filter(cache_list, '!filereadable(v:val.cachename)')
2 0.000002 if empty(cache_list)
" Delete from dictionary.
2 0.000006 call remove(a:async_cache_dictionary, a:key)
2 0.000002 return
endif
FUNCTION <SNR>464__create_hash()
Called 2 times
Total time: 0.000047
Self time: 0.000047
count total (s) self (s)
2 0.000006 if len(a:dir) + len(a:str) < 150
2 0.000032 let hash = substitute(substitute( a:str, ':', '=-', 'g'), '[/\\]', '=+', 'g')
2 0.000002 else
let hash = s:S.hash(a:str)
endif
2 0.000002 return hash
FUNCTION <SNR>443_check_fallback()
Called 2 times
Total time: 0.000054
Self time: 0.000042
count total (s) self (s)
2 0.000004 let cur_text = a:cur_text
2 0.000014 let complete_pos = match(cur_text, '\h\w*$')
2 0.000019 0.000007 let neocomplete = neocomplete#get_current_neocomplete()
2 0.000012 if empty(g:neocomplete#fallback_mappings) || len(matchstr(cur_text, '\h\w*$')) < g:neocomplete#auto_completion_start_length || neocomplete.skip_next_complete || neocomplete#complete#_check_previous_position( cur_text, complete_pos)
2 0.000001 return
endif
let key = ''
for i in range(0, len(g:neocomplete#fallback_mappings)-1)
let key .= '<C-r>=neocomplete#mappings#fallback(' . i . ')<CR>'
endfor
execute 'inoremap <silent> <Plug>(neocomplete_fallback)' key
" Fallback
call s:complete_key("\<Plug>(neocomplete_fallback)")
FUNCTION <SNR>436_make_cache()
Called 2 times
Total time: 0.000015
Self time: 0.000015
count total (s) self (s)
2 0.000008 if !has_key(s:dictionary_cache, a:filetype) && !has_key(s:async_dictionary_list, a:filetype)
call neocomplete#sources#dictionary#remake_cache(a:filetype)
endif
FUNCTION <SNR>409_get_same_filetypes()
Called 8 times
Total time: 0.000192
Self time: 0.000192
count total (s) self (s)
8 0.000140 let same_filetypes = extend(copy(s:default_same_filetypes), g:context_filetype#same_filetypes)
8 0.000048 return split(get(same_filetypes, a:filetype, get(same_filetypes, '_', '')), ',')
FUNCTION <SNR>165_line()
Called 4 times
Total time: 0.003396
Self time: 0.001684
count total (s) self (s)
4 0.000010 let _ = a:tabline ? '' : '%{lightline#link()}'
4 0.000016 if s:lightline.palette == {} | call lightline#colorscheme() | endif
4 0.000022 let [l, r] = a:tabline ? [s:lightline.tab_llen, s:lightline.tab_rlen] : [s:lightline.llen, s:lightline.rlen]
4 0.000017 let [p, s] = a:tabline ? [s:lightline.tabline_separator, s:lightline.tabline_subseparator] : [s:lightline.separator, s:lightline.subseparator]
4 0.000014 let [c, f, t] = [s:lightline.component, s:lightline.component_function, s:lightline.component_type]
4 0.000011 let mode = a:tabline ? 'tabline' : a:inactive ? 'inactive' : 'active'
4 0.000018 let l_ = has_key(s:lightline, mode) ? s:lightline[mode].left : s:lightline.active.left
4 0.000827 0.000031 let [ll, lc, lt] = s:expand(copy(l_))
4 0.000016 let r_ = has_key(s:lightline, mode) ? s:lightline[mode].right : s:lightline.active.right
4 0.000554 0.000029 let [rl, rc, rt] = s:expand(copy(r_))
11 0.000015 for i in range(len(lt))
7 0.000036 let _ .= printf('%%#LightLineLeft_%s_%s#', mode, ll[i])
26 0.000029 for j in range(len(lt[i]))
19 0.000261 let x = substitute('%( '.(lc[i][j] ? lt[i][j] : has_key(f,lt[i][j])?'%{exists("*'.f[lt[i][j]].'")?'.f[lt[i][j]].'():""}':get(c,lt[i][j],'')).' %)', '^%( %)', '', '')
19 0.000111 let _ .= has_key(t,lt[i][j])&&t[lt[i][j]]==#'raw'&&strlen(x)>7 ? x[3:-4] : x
37 0.000572 0.000181 if j < len(lt[i]) - 1 | let _ .= s:subseparator(lt[i][j], lt[i][j+1:], s.left, lc[i][j], lc[i][j+1:]) | endif
19 0.000011 endfor
7 0.000091 let _ .= printf('%%#LightLineLeft_%s_%s_%s#', mode, ll[i], ll[i + 1]) . (i < l + len(lt) - len(l_) && ll[i] < l || type(ll[i]) != type(ll[i + 1]) || type(ll[i]) && type(ll[i + 1]) && ll[i] != ll[i + 1] ? p.left : len(lt[i]) ? s.left : '')
7 0.000006 endfor
4 0.000015 let _ .= printf('%%#LightLineMiddle_%s#%%=', mode)
12 0.000018 for i in reverse(range(len(rt)))
8 0.000085 let _ .= printf('%%#LightLineRight_%s_%s_%s#', mode, rl[i], rl[i + 1]) . (i < r + len(rt) - len(r_) && rl[i] < r || type(rl[i]) != type(rl[i + 1]) || type(rl[i]) && type(rl[i + 1]) && rl[i] != rl[i + 1] ? p.right : len(rt[i]) ? s.right : '')
8 0.000030 let _ .= printf('%%#LightLineRight_%s_%s#', mode, rl[i])
16 0.000023 for j in range(len(rt[i]))
8 0.000019 if j | let _ .= s:subseparator(rt[i][j], rt[i][:j-1], s.right, rc[i][j], rc[i][:j-1]) | endif
8 0.000097 let x = substitute('%( '.(rc[i][j] ? rt[i][j] : has_key(f,rt[i][j])?'%{exists("*'.f[rt[i][j]].'")?'.f[rt[i][j]].'():""}':get(c,rt[i][j],'')).' %)', '^%( %)', '', '')
8 0.000038 let _ .= has_key(t,rt[i][j])&&t[rt[i][j]]==#'raw'&&strlen(x)>7 ? x[3:-4] : x
8 0.000006 endfor
8 0.000005 endfor
4 0.000005 return _
FUNCTION lightline#update_once()
Called 5 times
Total time: 0.001037
Self time: 0.000046
count total (s) self (s)
5 0.001031 0.000040 if !exists('w:lightline') || w:lightline | call lightline#update() | endif
FUNCTION neocomplete#handler#_on_insert_char_pre()
Called 2 times
Total time: 0.000170
Self time: 0.000053
count total (s) self (s)
2 0.000116 0.000012 if neocomplete#is_cache_disabled()
return
endif
2 0.000024 0.000011 let neocomplete = neocomplete#get_current_neocomplete()
2 0.000008 if neocomplete.old_char != ' ' && v:char == ' ' && v:count == 0
call s:make_cache_current_line()
endif
2 0.000006 let neocomplete.old_char = v:char
FUNCTION <SNR>31_SynSet()
Called 1 time
Total time: 0.022816
Self time: 0.002534
count total (s) self (s)
" clear syntax for :set syntax=OFF and any syntax name that doesn't exist
1 0.000004 syn clear
1 0.000002 if exists("b:current_syntax")
unlet b:current_syntax
endif
1 0.000003 let s = expand("<amatch>")
1 0.000002 if s == "ON"
" :set syntax=ON
if &filetype == ""
echohl ErrorMsg
echo "filetype unknown"
echohl None
endif
let s = &filetype
elseif s == "OFF"
let s = ""
endif
1 0.000001 if s != ""
" Load the syntax file(s). When there are several, separated by dots,
" load each in sequence.
2 0.000011 for name in split(s, '\.')
1 0.022772 0.002490 exe "runtime! syntax/" . name . ".vim syntax/" . name . "/*.vim"
1 0.000001 endfor
1 0.000000 endif
FUNCTION neocomplete#init#_sources()
Called 1 time
Total time: 0.000015
Self time: 0.000015
count total (s) self (s)
1 0.000003 if !exists('s:loaded_source_files')
" Initialize.
let s:loaded_source_files = {}
let s:loaded_all_sources = 0
let s:runtimepath_save = ''
endif
" Initialize sources table.
1 0.000006 if s:loaded_all_sources && &runtimepath ==# s:runtimepath_save
1 0.000001 return
endif
let runtimepath_save = neocomplete#util#split_rtp(s:runtimepath_save)
let runtimepath = neocomplete#util#join_rtp( filter(neocomplete#util#split_rtp(), 'index(runtimepath_save, v:val) < 0'))
let sources = neocomplete#variables#get_sources()
for name in filter(copy(a:names), '!has_key(sources, v:val)')
" Search autoload.
for source_name in map(filter(split(globpath(runtimepath, 'autoload/neocomplete/sources/*.vim'), '\n'), "index(g:neocomplete#ignore_source_files, fnamemodify(v:val, ':t')) < 0"), "fnamemodify(v:val, ':t:r')")
if has_key(s:loaded_source_files, source_name)
continue
endif
let s:loaded_source_files[source_name] = 1
let source = neocomplete#sources#{source_name}#define()
if empty(source)
" Ignore.
continue
endif
call neocomplete#define_source(source)
endfor
if name == '_'
let s:loaded_all_sources = 1
let s:runtimepath_save = &runtimepath
endif
endfor
FUNCTION <SNR>409_get_nest()
Called 17 times
Total time: 0.010860
Self time: 0.000242
count total (s) self (s)
17 0.005557 0.000135 let context = s:get_context(a:filetype, a:context_filetypes, s:file_range())
17 0.005294 0.000098 return s:get_nest_impl(context.filetype, a:context_filetypes, context)
FUNCTION <SNR>484_use_previous_result()
Called 23 times
Total time: 0.000504
Self time: 0.000378
count total (s) self (s)
23 0.000199 0.000073 let neocomplete = neocomplete#get_current_neocomplete()
23 0.000291 return !a:source.is_volatile && substitute(a:context.input, '\w\+$', '', '') ==# substitute(a:context.prev_line, '\w\+$', '', '') && stridx(a:context.input, a:context.prev_line) == 0 && !empty(a:context.prev_candidates) && line('.') == neocomplete.old_linenr
FUNCTION <SNR>232_uniq_by()
Called 2 times
Total time: 0.014171
Self time: 0.014171
count total (s) self (s)
2 0.002434 let list = map(copy(a:list), printf('[v:val, %s]', a:f))
2 0.000004 let i = 0
2 0.000002 let seen = {}
1027 0.001137 while i < len(list)
1025 0.002991 let key = string(list[i][1])
1025 0.001478 if has_key(seen, key)
call remove(list, i)
else
1025 0.001822 let seen[key] = 1
1025 0.000887 let i += 1
1025 0.000435 endif
1025 0.000511 endwhile
2 0.000662 return map(list, 'v:val[0]')
FUNCTION <SNR>139_buffer_commit()
Called 1 time
Total time: 0.000038
Self time: 0.000013
count total (s) self (s)
1 0.000037 0.000012 return matchstr(self.spec(),'^fugitive://.\{-\}//\zs\w*')
FUNCTION MyFiletype()
Called 8 times
Total time: 0.000038
Self time: 0.000038
count total (s) self (s)
8 0.000032 return winwidth('.') > 70 ? (strlen(&filetype) ? &filetype : 'no ft') : ''
FUNCTION neocomplete#helper#call_hook()
Called 1 time
Total time: 0.000181
Self time: 0.000159
count total (s) self (s)
10 0.000016 0.000012 for source in neocomplete#util#convert2list(a:sources)
9 0.000007 try
9 0.000018 if has_key(source.hooks, a:hook_name)
3 0.000040 0.000022 call call(source.hooks[a:hook_name], [extend(source.neocomplete__context, a:context)], source.hooks)
3 0.000001 endif
9 0.000005 catch
call neocomplete#print_error(v:throwpoint)
call neocomplete#print_error(v:exception)
call neocomplete#print_error( 'Error occurred in calling hook "' . a:hook_name . '"!')
call neocomplete#print_error( 'Source name is ' . source.name)
endtry
9 0.000005 endfor
FUNCTION <SNR>58_browse_check()
Called 1 time
Total time: 0.000249
Self time: 0.000214
count total (s) self (s)
1 0.000005 if !g:vimfiler_as_default_explorer || bufnr('%') != expand('<abuf>') || a:path == ''
return
endif
" Disable netrw.
1 0.000003 augroup FileExplorer
1 0.000182 autocmd!
1 0.000001 augroup END
1 0.000002 let path = a:path
" For ":edit ~".
1 0.000002 if fnamemodify(path, ':t') ==# '~'
let path = '~'
endif
1 0.000002 if &filetype ==# 'vimfiler' && line('$') != 1
return
endif
1 0.000044 0.000009 if isdirectory(vimfiler#util#expand(path))
call vimfiler#handler#_event_handler('BufReadCmd')
endif
FUNCTION neocomplete#helper#clear_result()
Called 5 times
Total time: 0.000113
Self time: 0.000081
count total (s) self (s)
5 0.000050 0.000018 let neocomplete = neocomplete#get_current_neocomplete()
5 0.000009 let neocomplete.complete_str = ''
5 0.000009 let neocomplete.candidates = []
5 0.000005 let neocomplete.complete_sources = []
5 0.000008 let neocomplete.complete_pos = -1
" Restore completeopt.
5 0.000009 if neocomplete.completeopt !=# &completeopt
" Restore completeopt.
let &completeopt = neocomplete.completeopt
endif
FUNCTION <SNR>209_hl_list()
Called 4 times
Total time: 0.000034
Self time: 0.000023
count total (s) self (s)
4 0.000033 0.000022 return call(s:global.hl_list, a:000, s:global)
FUNCTION neocomplete#variables#get_filters()
Called 1 time
Total time: 0.000006
Self time: 0.000006
count total (s) self (s)
1 0.000002 if !exists('s:filters')
let s:filters = {}
endif
1 0.000001 return s:filters
FUNCTION <SNR>65__reloadhistory()
Called 1 time
Total time: 0.000046
Self time: 0.000046
count total (s) self (s)
1 0.000002 if g:yankround_dir==''
return
end
1 0.000029 let path = expand(g:yankround_dir). '/history'
1 0.000012 if !filereadable(path) || getftime(path) <= s:_histfilever
1 0.000001 return
end
let g:_yankround_cache = readfile(path)
let s:_histfilever = getftime(path)
FUNCTION <SNR>435_check_source()
Called 1 time
Total time: 0.000099
Self time: 0.000078
count total (s) self (s)
" Check new buffer.
1 0.000090 0.000069 call map(filter(range(1, bufnr('$')), " (v:val != bufnr('%') || neocomplete#has_vimproc()) && (!has_key(s:buffer_sources, v:val) && buflisted(v:val) || (has_key(s:buffer_sources, v:val) && s:buffer_sources[v:val].cached_time < getftime(s:buffer_sources[v:val].path))) && (!neocomplete#is_locked(v:val) || g:neocomplete#disable_auto_complete) && s:should_create_cache(v:val) "), 's:make_cache_file(v:val)')
" Remove unlisted buffers.
1 0.000006 call filter(s:buffer_sources, "v:key == bufnr('%') || buflisted(str2nr(v:key))")
FUNCTION <SNR>409_search_range()
Called 136 times
Total time: 0.004957
Self time: 0.003592
count total (s) self (s)
136 0.001227 0.000460 let stopline_forward = s:stopline_forward()
136 0.001030 0.000432 let stopline_back = s:stopline_back()
136 0.002198 let start = searchpos(a:start_pattern, 'bnceW', stopline_back)
136 0.000195 if start == s:null_pos
136 0.000141 return s:null_range
endif
let start[1] += 1
let end_pattern = a:end_pattern
if end_pattern =~ '\\\d\+'
let match_list = matchlist(getline(start[0]), a:start_pattern)
let end_pattern = s:replace_submatch(end_pattern, match_list)
endif
let end_forward = searchpos(end_pattern, 'ncW', stopline_forward)
if end_forward == s:null_pos
let end_forward = [line('$'), len(getline('$'))+1]
endi
let end_backward = searchpos(end_pattern, 'bnW', stopline_back)
if s:pos_less_equal(start, end_backward)
return s:null_range
endif
let end_forward[1] -= 1
if start[1] >= strdisplaywidth(getline(start[0]))
let start[0] += 1
let start[1] = 1
endif
if end_forward[1] <= 1
let end_forward[0] -= 1
let len = strdisplaywidth(getline(end_forward[0]))
let len = len ? len : 1
let end_forward[1] = len
endif
return [start, end_forward]
FUNCTION <SNR>160_SetConcealOption()
Called 1 time
Total time: 0.000023
Self time: 0.000023
count total (s) self (s)
1 0.000004 if ! exists("b:indentLine_ConcealOptionSet")
1 0.000003 let b:indentLine_ConcealOptionSet = 1
1 0.000008 let &l:concealcursor = exists("g:indentLine_concealcursor") ? g:indentLine_concealcursor : "inc"
1 0.000007 let &l:conceallevel = exists("g:indentLine_conceallevel") ? g:indentLine_conceallevel : "2"
1 0.000001 endif
FUNCTION 808()
Called 1 time
Total time: 0.000004
Self time: 0.000004
count total (s) self (s)
1 0.000002 if empty(a:context.candidates)
1 0.000002 return []
endif
lua << EOF
do
local candidates = vim.eval('a:context.candidates')
local len = string.len(vim.eval('a:context.complete_str'))
for i = #candidates-1, 0, -1 do
local word = vim.type(candidates[i]) == 'dict' and
candidates[i].word or candidates[i]
if string.len(word) <= len then
candidates[i] = nil
end
end
end
EOF
return a:context.candidates
FUNCTION <SNR>456_get_sources_filetypes()
Called 1 time
Total time: 0.000729
Self time: 0.000011
count total (s) self (s)
1 0.000727 0.000009 let filetypes = exists('*context_filetype#get_filetypes') ? context_filetype#get_filetypes(a:filetype) : split(((a:filetype == '') ? 'nothing' : a:filetype), '\.')
1 0.000002 return ['_'] + filetypes
FUNCTION brightest#hl_clear()
Called 4 times
Total time: 0.000063
Self time: 0.000029
count total (s) self (s)
4 0.000058 0.000024 if empty(s:Highlight.hl_list())
4 0.000003 return
endif
" call s:Highlight.as_windo().disable_all()
if g:brightest#enable_highlight_all_window || s:old_enable_window_all
call s:Highlight.as_windo().disable_all()
endif
call s:Highlight.clear_all()
let s:old_enable_window_all = g:brightest#enable_highlight_all_window
FUNCTIONS SORTED ON TOTAL TIME
count total (s) self (s) function
100 0.158038 0.001568 <SNR>561__vital_of()
4 0.117675 0.117447 neocomplete#helper#clean()
100 0.117161 0.115500 vital#of()
1 0.112289 0.000597 <SNR>435_clean()
200 0.077336 0.022675 <SNR>563_load()
200 0.054661 0.027844 <SNR>563__import()
100 0.041596 0.001324 <SNR>561__vital_incsearch_of()
1 0.034519 0.000050 neomru#_save()
2 0.034469 0.000556 295()
200 0.026817 0.004411 <SNR>563__get_module()
1 0.022816 0.002534 <SNR>31_SynSet()
200 0.022406 vital#_incsearch#Data#List#import()
1 0.017766 0.001217 300()
500 0.016549 <SNR>232_is_file_exist()
3 0.016130 0.000316 neocomplete#handler#_do_auto_complete()
2 0.014227 0.000056 <SNR>232_uniq()
2 0.014171 <SNR>232_uniq_by()
12 0.012561 0.006319 <SNR>201_match_files()
17 0.011449 0.000151 context_filetype#get_filetype()
17 0.011298 0.000286 context_filetype#get()
FUNCTIONS SORTED ON SELF TIME
count total (s) self (s) function
4 0.117675 0.117447 neocomplete#helper#clean()
100 0.117161 0.115500 vital#of()
200 0.054661 0.027844 <SNR>563__import()
200 0.077336 0.022675 <SNR>563_load()
200 0.022406 vital#_incsearch#Data#List#import()
500 0.016549 <SNR>232_is_file_exist()
2 0.014171 <SNR>232_uniq_by()
1 0.008462 0.007541 <SNR>28_LoadFTPlugin()
12 0.012561 0.006319 <SNR>201_match_files()
34 0.010323 0.005366 <SNR>409_get_context()
200 0.026817 0.004411 <SNR>563__get_module()
136 0.004957 0.003592 <SNR>409_search_range()
1 0.022816 0.002534 <SNR>31_SynSet()
1 0.001887 neosnippet#mappings#_clear_select_mode_mappings()
4 0.003396 0.001684 <SNR>165_line()
100 0.158038 0.001568 <SNR>561__vital_of()
200 0.001554 <SNR>563_new()
100 0.041596 0.001324 <SNR>561__vital_incsearch_of()
8 0.001321 <SNR>165_expand()
2 0.003792 0.001247 neocomplete#complete#_set_results_pos()