liuchengxu / vim-clap

:clap: Modern performant fuzzy picker, tree-sitter highlighting, and more, for both Vim and NeoVim
https://liuchengxu.github.io/vim-clap/
MIT License
2.11k stars 87 forks source link

Performance is dramatically bad comparing to fzf.vim #343

Closed alex-popov-tech closed 4 years ago

alex-popov-tech commented 4 years ago

Environment (please complete the following information):

Describe the bug I know that comparing this plugin to fzf.vim is not very relevant, but just to be more descriprive what would i expect from this plugin :) The problem is - when i typing some text in Clap fzf it loads very slowly and i can see several chars appear at the same time...long story short - here is the video https://share.getcloudapp.com/P8uRk8lB

Clap debug

            has cargo: 1
            has maple: /Users/alexanderpopov/.config/nvim/plugged/vim-clap/bin/maple
           maple info: version 0.1.8 (git v0.8), built for x86_64-apple-darwin by rustc 1.41.0 (5e1a79984 2020-01-27).

         has +python3: 1
has py dynamic module: 0
     Current FileType: vim
Third Party Providers: []
       Global Options:
    let g:clap#autoload_dir = '/Users/alexanderpopov/.config/nvim/plugged/vim-clap/autoload'
    let g:clap#provider_alias = {'gfiles': 'git_files', 'hist:': 'command_history', 'hist/': 'search_history'}
    let g:clap_disable_bottom_top = 0
    let g:clap_enable_icon = 0
    let g:clap_forerunner_status_sign = {'done': '•', 'running': '!'}
    let g:clap_insert_mode_only = v:false
    let g:clap_no_matches_msg = 'NO MATCHES FOUND'
    let g:clap_open_action = {'ctrl-v': 'vsplit', 'ctrl-x': 'split', 'ctrl-t': 'tab split'}
    let g:clap_search_box_border_style = 'curve'
    let g:clap_search_box_border_symbols = {'nil': ['', ''], 'curve': ['', ''], 'arrow': ['', '']}
  Provider Variables:
    let g:clap_providers_relaunch_code = '@@'

To Reproduce Steps to reproduce the behavior:

  1. As a reference you can use my dotfiles - https://github.com/alex-popov-tech/.dotfiles/blob/master/nvim/plugins.vim#L154
  2. Try to use Clap files or Clap gfiles

Note - it seems like lags disappear after some quantity of chars

Expected behavior Text should appear in search bar smoothly

Actual behavior While typing text is lagging

Additional context Video - https://share.getcloudapp.com/BluBYnLB

liuchengxu commented 4 years ago

Since you have merely 2k items, which is a small dataset, all fuzzy finder should be fast in this case, even ctrlp.vim, let alone clap is expected to handle 1M items with Rust extension easily, see https://github.com/liuchengxu/vim-clap/issues/1#issuecomment-570006188.

I can't see the problem from the video, try using :h profile to find which part is slow for you, refer to https://codeinthehole.com/tips/debugging-vim-by-example/#why-is-action-slow for more info.

I'm unsure if it's related to the rust binary is not latest. Since you already installed cargo, you can try building the Rust binary yourself instead of using the prebuilt binary. Try running make in the plugin root directory.

The advantage of fzf.vim(or fzf) is the dynamic refresh, letting you feel more responsive. The good of clap is the ability to give the final determistic results much faster. You can try that, searching somthing in 1M items, clap will finish the job much faster than fzf.vim especially when the search string is very short, while fzf.vim is still freshing. The bad thing is the dynamic refresh is still missing in clap, see https://github.com/liuchengxu/vim-clap/issues/302.

If you do care about the performence(2k items is not deserved to talk about the perf), I would suggest you just using fzf.vim as I have to admit that fzf is more polished than clap's Rust binary, and fzf.vim now supports both floating_win of neovim and popup of vim too.

vn-ki commented 4 years ago

I would like to add there is a visible lag in opening Clap compared to fzf. Is it possible to minimize this lag?

liuchengxu commented 4 years ago

try using :h profile to find which part is slow for you, refer to https://codeinthehole.com/tips/debugging-vim-by-example/#why-is-action-slow for more info.

Not sure how big is your dataset, you can find what is slowing you down using the profile, see :h profile. Without the profile report, I don't know why you are meeting the slowness issue, thus can't give you more advices directly.

What's more, as I have said, the dynamic refreshing is missing at the moment, you have to wait for #353 and #364 for this feature.

If you are using vim, you can try decreasing g:clap_popup_input_delay whose default value is 100ms.

vn-ki commented 4 years ago

The dataset is quite small, I am just using Clap files.

Also I'm using nvim. I'm attaching the profile below.

My main problem is that there is slight lag when opening Clap, but the same is not present when fzf is opened.

Profile ``` SCRIPT /home/vn-ki/.config/nvim/plugged/vim-clap/ftplugin/clap_spinner.vim Sourced 1 time Total time: 0.000054 Self time: 0.000054 count total (s) self (s) 1 0.000027 if exists('b:clap_spinner_loaded') 1 0.000009 finish endif let b:clap_spinner_loaded = 1 setlocal \ nonumber \ norelativenumber \ nopaste \ nomodeline \ noswapfile \ nocursorline \ nocursorcolumn \ colorcolumn= \ nobuflisted \ buftype=nofile \ bufhidden=hide \ textwidth=0 \ nolist \ winfixwidth \ winfixheight \ nospell \ nofoldenable \ foldcolumn=0 \ nowrap SCRIPT /home/vn-ki/.config/nvim/plugged/vim-clap/ftplugin/clap_input.vim Sourced 1 time Total time: 0.000022 Self time: 0.000022 count total (s) self (s) 1 0.000012 if exists('b:clap_input_loaded') || !has('nvim') 1 0.000003 finish endif let b:clap_input_loaded = 1 setlocal \ nonumber \ norelativenumber \ nopaste \ nomodeline \ noswapfile \ nocursorline \ nocursorcolumn \ colorcolumn= \ nobuflisted \ buftype=nofile \ bufhidden=hide \ signcolumn=no \ textwidth=0 \ nolist \ winfixwidth \ winfixheight \ nospell \ nofoldenable \ foldcolumn=0 \ nowrap augroup ClapOnTyped autocmd! autocmd CursorMoved,CursorMovedI call clap#handler#on_typed() augroup END " From vim-rsi if !exists('g:loaded_rsi') inoremap 0 inoremap inoremap getline('.')=~'^\s*$'&&col('.')>strlen(getline('.'))?"0\C-D>\Esc>kJs":"\Left>" inoremap col('.')>strlen(getline('.'))?"\C-F>":"\Right>" inoremap col('.')>strlen(getline('.'))?"\C-D>":"\Del>" endif inoremap col('.')>strlen(getline('.'))pumvisible()?"\C-E>":"\End>" inoremap :call clap#handler#relaunch_providers() inoremap :call clap#handler#sink() inoremap :call clap#handler#exit() inoremap :call clap#handler#exit() inoremap =clap#navigation#linewise('down') inoremap =clap#navigation#linewise('up') inoremap =clap#navigation#scroll('down') inoremap =clap#navigation#scroll('up') inoremap =clap#handler#tab_action() inoremap =clap#handler#bs_action() inoremap =clap#navigation#linewise('down') inoremap =clap#navigation#linewise('up') call clap#util#define_open_action_mappings() if g:clap_insert_mode_only inoremap :call clap#handler#exit() finish endif nnoremap :call clap#handler#sink() nnoremap :call clap#handler#exit() nnoremap :call clap#handler#exit() nnoremap :call clap#handler#relaunch_providers() nnoremap :call clap#navigation#linewise('down') nnoremap :call clap#navigation#linewise('up') nnoremap :call clap#navigation#scroll('down') nnoremap :call clap#navigation#scroll('up') nnoremap :call clap#navigation#scroll('down') nnoremap :call clap#navigation#scroll('up') nnoremap :call clap#handler#tab_action() nnoremap gg :call clap#navigation#scroll('top') nnoremap G :call clap#navigation#scroll('bottom') nnoremap j :call clap#navigation#linewise('down') nnoremap k :call clap#navigation#linewise('up') SCRIPT /home/vn-ki/.config/nvim/plugged/vim-clap/syntax/clap_files.vim Sourced 1 time Total time: 0.016353 Self time: 0.001051 count total (s) self (s) 1 0.000022 hi TNormal ctermfg=249 ctermbg=NONE guifg=#b2b2b2 guibg=NONE 1 0.016305 0.001004 execute 'syntax match ClapFile' '/^.*/' 'contains='.join(clap#icon#add_head_hl_groups(), ',') 1 0.000014 hi default link ClapFile TNormal FUNCTION clap#icon#get_all() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/icon.vim:196 Called 1 time Total time: 0.000035 Self time: 0.000035 count total (s) self (s) 1 0.000006 if !exists('s:icon_set') let extensions = values(g:clap#icon#extensions) let exact_matches = values(g:clap#icon#exact_matches) let pattern_matches = values(g:clap#icon#pattern_matches) let s:icon_set = [' '] call extend(s:icon_set, extensions + exact_matches + pattern_matches) call add(s:icon_set, g:clap#icon#default) let s:icon_set = uniq(s:icon_set) 1 0.000001 endif 1 0.000002 return s:icon_set FUNCTION airline#extensions#quickfix#inactive_qf_window() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/extensions/quickfix.vim:28 Called 17 times Total time: 0.000401 Self time: 0.000401 count total (s) self (s) 17 0.000258 if getbufvar(a:2.bufnr, '&filetype') is# 'qf' && !empty(airline#util#getwinvar(a:2.winnr, 'quickfix_title', '')) call setwinvar(a:2.winnr, 'airline_section_c', '[%{get(w:, "quickfix_title", "")}] %f %m') 17 0.000025 endif FUNCTION airline#extensions#vista#currenttag() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/extensions/vista.vim:10 Called 16 times Total time: 0.000383 Self time: 0.000383 count total (s) self (s) 16 0.000173 if get(w:, 'airline_active', 0) 5 0.000057 return get(b:, 'vista_nearest_method_or_function', '') 11 0.000027 endif FUNCTION 76_dopopd() Defined: ~/.fzf/plugin/fzf.vim:507 Called 3 times Total time: 0.000035 Self time: 0.000035 count total (s) self (s) 3 0.000022 if !exists('w:fzf_pushd') 3 0.000007 return endif " FIXME: We temporarily change the working directory to 'dir' entry " of options dictionary (set to the current working directory if not given) " before running fzf. " " e.g. call fzf#run({'dir': '/tmp', 'source': 'ls', 'sink': 'e'}) " " After processing the sink function, we have to restore the current working " directory. But doing so may not be desirable if the function changed the " working directory on purpose. " " So how can we tell if we should do it or not? A simple heuristic we use " here is that we change directory only if the current working directory " matches 'dir' entry. However, it is possible that the sink function did " change the directory to 'dir'. In that case, the user will have an " unexpected result. if s:fzf_getcwd() ==# w:fzf_pushd.dir && (!&autochdir || w:fzf_pushd.bufname ==# bufname('')) execute w:fzf_pushd.command s:escape(w:fzf_pushd.origin) endif unlet w:fzf_pushd FUNCTION coc#client#get_channel() Defined: ~/.config/nvim/plugged/coc.nvim/autoload/coc/client.vim:98 Called 18 times Total time: 0.000398 Self time: 0.000398 count total (s) self (s) 18 0.000093 if s:is_vim return a:client['channel'] 18 0.000035 endif 18 0.000109 return a:client['chan_id'] FUNCTION 143_open_win_border_right() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/floating_win.vim:231 Called 1 time Total time: 0.000045 Self time: 0.000045 count total (s) self (s) 1 0.000004 if s:symbol_width > 0 let opts = nvim_win_get_config(s:indicator_winid) let opts.col += opts.width let opts.width = s:symbol_width let opts.focusable = v:false if !nvim_buf_is_valid(s:symbol_right_bufnr) let s:symbol_right_bufnr = nvim_create_buf(v:false, v:true) endif silent let s:symbol_right_winid = nvim_open_win(s:symbol_right_bufnr, v:false, opts) call setwinvar(s:symbol_right_winid, '&winhl', 'Normal:ClapSymbol') call s:set_minimal_buf_style(s:symbol_right_bufnr, 'clap_spinner') call setbufline(s:symbol_right_bufnr, 1, s:symbol_right) 1 0.000001 endif FUNCTION 170_padding() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/indicator.vim:7 Called 1 time Total time: 0.000018 Self time: 0.000018 count total (s) self (s) 1 0.000006 let indicator_len = strlen(a:indicator) 1 0.000004 if indicator_len < g:__clap_indicator_winwidth 1 0.000007 return repeat(' ', g:__clap_indicator_winwidth - indicator_len).a:indicator else return a:indicator endif FUNCTION 193_get_base_cmd() Defined: ~/.config/nvim/plugged/vim-signify/autoload/sy/repo.vim:497 Called 7 times Total time: 0.003064 Self time: 0.001229 count total (s) self (s) 7 0.000129 let cmd = a:vcs_cmds[a:vcs] 7 0.001853 0.000551 let cmd = s:replace(cmd, '%f', s:get_vcs_path(a:bufnr, a:vcs)) 7 0.000535 0.000247 let cmd = s:replace(cmd, '%d', s:difftool) 7 0.000458 0.000213 let cmd = s:replace(cmd, '%n', s:devnull) 7 0.000036 return cmd FUNCTION 193_get_vcs_path() Defined: ~/.config/nvim/plugged/vim-signify/autoload/sy/repo.vim:490 Called 7 times Total time: 0.000771 Self time: 0.000771 count total (s) self (s) 7 0.000733 return (a:vcs =~# '\v(git|cvs|accurev|tfs|yadm)') ? getbufvar(a:bufnr, 'sy').info.file : getbufvar(a:bufnr, 'sy').info.path FUNCTION 50_DevIconsGetArtifactFix() Defined: ~/.config/nvim/plugged/vim-devicons/plugin/webdevicons.vim:520 Called 32 times Total time: 0.001184 Self time: 0.001184 count total (s) self (s) 32 0.000259 if g:DevIconsAppendArtifactFix == 1 let artifactFix = g:DevIconsArtifactFixChar 32 0.000080 else 32 0.000209 let artifactFix = '' 32 0.000079 endif 32 0.000176 return artifactFix FUNCTION clap#forerunner#start() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/forerunner.vim:139 Called 1 time Total time: 0.002963 Self time: 0.000041 count total (s) self (s) 1 0.002959 0.000038 call s:run_maple_subcommand(clap#maple#forerunner_exec_subcommand(a:cmd)) FUNCTION airline#util#exec_funcrefs() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/util.vim:93 Called 24 times Total time: 0.055752 Self time: 0.005786 count total (s) self (s) 138 0.000518 for Fn in a:list 138 0.053912 0.003947 let code = call(Fn, a:000) 138 0.000431 if code != 0 24 0.000057 return code 114 0.000167 endif 114 0.000190 endfor return 0 FUNCTION airline#extensions#netrw#apply() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/extensions/netrw.vim:11 Called 7 times Total time: 0.000454 Self time: 0.000454 count total (s) self (s) 7 0.000085 if &ft == 'netrw' let spc = g:airline_symbols.space call a:1.add_section('airline_a', spc.'netrw'.spc) if exists('*airline#extensions#branch#get_head') call a:1.add_section('airline_b', spc.'%{airline#extensions#branch#get_head()}'.spc) endif call a:1.add_section('airline_c', spc.'%f'.spc) call a:1.split() call a:1.add_section('airline_y', spc.'%{airline#extensions#netrw#sortstring()}'.spc) return 1 7 0.000013 endif FUNCTION clap#maple#get_enable_icon_opt() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/maple.vim:176 Called 1 time Total time: 0.000011 Self time: 0.000011 count total (s) self (s) 1 0.000008 if g:clap_enable_icon && index(s:can_enable_icon, g:clap.provider.id) > -1 1 0.000002 return '--enable-icon' else return '' endif FUNCTION 137_FindNearestMethodOrFunction() Defined: ~/.config/nvim/plugged/vista.vim/autoload/vista/cursor.vim:52 Called 1 time Total time: 0.001051 Self time: 0.000544 count total (s) self (s) 1 0.000012 if !exists('t:vista') || !has_key(t:vista, 'functions') || !has_key(t:vista, 'source') return 1 0.000001 endif 1 0.000667 0.000449 call sort(t:vista.functions, function('s:Compare')) 1 0.000197 0.000021 let result = vista#util#BinarySearch(t:vista.functions, line('.'), 'lnum', 'text') 1 0.000003 if empty(result) 1 0.000002 let result = '' 1 0.000001 endif 1 0.000012 call setbufvar(t:vista.source.bufnr, 'vista_nearest_method_or_function', result) 1 0.000052 0.000015 call s:StopHighlightTimer() 1 0.000089 0.000011 if vista#sidebar#IsOpen() let s:highlight_timer = timer_start(200, function('s:HighlightNearestTag')) 1 0.000001 endif FUNCTION AirlineWebDevIcons() Defined: ~/.config/nvim/plugged/vim-devicons/plugin/webdevicons.vim:560 Called 7 times Total time: 0.001158 Self time: 0.000575 count total (s) self (s) 7 0.000147 let w:airline_section_x = get(w:, 'airline_section_x', get(g:, 'airline_section_x', '')) 7 0.000066 let w:airline_section_x .= ' %{WebDevIconsGetFileTypeSymbol()} ' 7 0.000771 0.000187 let hasFileFormatEncodingPart = airline#parts#ffenc() !=? '' 7 0.000069 if g:webdevicons_enable_airline_statusline_fileformat_symbols && hasFileFormatEncodingPart 7 0.000058 let w:airline_section_y = ' %{&fenc . " " . WebDevIconsGetFileFormatSymbol()} ' 7 0.000014 endif FUNCTION 145_get_color() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/icon.vim:209 Called 145 times Total time: 0.003350 Self time: 0.003350 count total (s) self (s) 145 0.003262 return synIDattr(synIDtrans(hlID(a:group)), a:attr) FUNCTION airline#extensions#coc#get_error() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/extensions/coc.vim:14 Called 5 times Total time: 0.001117 Self time: 0.000180 count total (s) self (s) 5 0.001103 0.000166 return airline#extensions#coc#get('error') FUNCTION clap#filter#capacity() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/filter.vim:37 Called 1 time Total time: 0.000004 Self time: 0.000004 count total (s) self (s) 1 0.000003 return s:builtin_filter_capacity FUNCTION 157_is_dir() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/path.vim:9 Called 4 times Total time: 0.000020 Self time: 0.000020 count total (s) self (s) 4 0.000017 return a:pattern[-1:] ==# '/' FUNCTION airline#check_mode() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline.vim:199 Called 16 times Total time: 0.167368 Self time: 0.007916 count total (s) self (s) 16 0.000248 if !has_key(s:contexts, a:winnr) return '' 16 0.000056 endif 16 0.000225 let context = s:contexts[a:winnr] 16 0.000190 if get(w:, 'airline_active', 1) 5 0.000062 let l:m = mode(1) 5 0.000044 if l:m ==# "i" let l:mode = ['insert'] 5 0.000046 elseif l:m[0] ==# "i" let l:mode = ['insert'] 5 0.000029 elseif l:m ==# "Rv" let l:mode =['replace'] 5 0.000033 elseif l:m[0] ==# "R" let l:mode = ['replace'] 5 0.000228 elseif l:m[0] =~# '\v(v|V||s|S|)' let l:mode = ['visual'] 5 0.000029 elseif l:m ==# "t" let l:mode = ['terminal'] 5 0.000031 elseif l:m[0] ==# "c" 1 0.000009 let l:mode = ['commandline'] 4 0.000024 elseif l:m ==# "no" " does not work, most likely, Vim does not refresh the statusline in OP mode let l:mode = ['normal'] 4 0.000032 elseif l:m[0:1] ==# 'ni' let l:mode = ['normal'] let l:m = 'ni' 4 0.000012 else 4 0.000046 let l:mode = ['normal'] 5 0.000015 endif 5 0.000096 if exists("*VMInfos") && !empty(VMInfos()) " Vim plugin Multiple Cursors https://github.com/mg979/vim-visual-multi let l:m = 'multi' 5 0.000015 endif 5 0.000171 if index(['Rv', 'no', 'ni', 'ix', 'ic', 'multi'], l:m) == -1 5 0.000048 let l:m = l:m[0] 5 0.000014 endif 5 0.000103 let w:airline_current_mode = get(g:airline_mode_map, l:m, l:m) 11 0.000029 else 11 0.000107 let l:mode = ['inactive'] 11 0.000166 let w:airline_current_mode = get(g:airline_mode_map, '__') 16 0.000044 endif 16 0.000202 if g:airline_detect_modified && &modified call add(l:mode, 'modified') 16 0.000040 endif 16 0.000118 if g:airline_detect_paste && &paste call add(l:mode, 'paste') 16 0.000035 endif 16 0.000465 if g:airline_detect_crypt && exists("+key") && !empty(&key) call add(l:mode, 'crypt') 16 0.000038 endif 16 0.000132 if g:airline_detect_spell && &spell call add(l:mode, 'spell') 16 0.000034 endif 16 0.000140 if &readonly || ! &modifiable call add(l:mode, 'readonly') 16 0.000034 endif 16 0.000260 let mode_string = join(l:mode) 16 0.000234 if get(w:, 'airline_lastmode', '') != mode_string 3 0.004013 0.000146 call airline#highlighter#highlight_modified_inactive(context.bufnr) 3 0.155116 0.000198 call airline#highlighter#highlight(l:mode, context.bufnr) 3 0.000808 0.000141 call airline#util#doautocmd('AirlineModeChanged') 3 0.000027 let w:airline_lastmode = mode_string 16 0.000035 endif 16 0.000067 return '' FUNCTION 193_check_diff_yadm() Defined: ~/.config/nvim/plugged/vim-signify/autoload/sy/repo.vim:166 Called 3 times Total time: 0.000038 Self time: 0.000038 count total (s) self (s) 3 0.000033 return a:exitval ? [0, []] : [1, a:diff] FUNCTION airline#util#append() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/util.vim:49 Called 35 times Total time: 0.001573 Self time: 0.001573 count total (s) self (s) 35 0.000394 if a:minwidth > 0 && airline#util#winwidth() < a:minwidth return '' 35 0.000079 endif 35 0.000446 let prefix = s:spc == "\ua0" ? s:spc : s:spc.s:spc 35 0.000425 return empty(a:text) ? '' : prefix.g:airline_left_alt_sep.s:spc.a:text FUNCTION 155_on_complete_maple() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/forerunner.vim:44 Called 1 time Total time: 0.001179 Self time: 0.000222 count total (s) self (s) 1 0.000004 if !empty(s:chunks) 1 0.000178 let decoded = json_decode(s:chunks[0]) 1 0.000975 0.000018 call s:on_complete_common(decoded.lines, decoded.total) 1 0.000004 if has_key(decoded, 'tempfile') let g:__clap_forerunner_tempfile = decoded.tempfile 1 0.000001 else 1 0.000007 let g:__clap_forerunner_result = decoded.lines 1 0.000001 endif 1 0.000001 endif FUNCTION 193_callback_nvim_stdout() Defined: ~/.config/nvim/plugged/vim-signify/autoload/sy/repo.vim:15 Called 7 times Total time: 0.000388 Self time: 0.000388 count total (s) self (s) 7 0.000222 let self.stdoutbuf[-1] .= a:data[0] 7 0.000131 call extend(self.stdoutbuf, a:data[1:]) FUNCTION 150_generate_prompt() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/spinner.vim:45 Called 3 times Total time: 0.000344 Self time: 0.000098 count total (s) self (s) " Provider level prompt format has higher priority. 3 0.000048 0.000032 if has_key(g:clap.provider._(), 'prompt_format') return s:fill_in_placeholders(g:clap.provider._().prompt_format) 3 0.000004 else 3 0.000267 0.000036 return s:PromptFn() endif FUNCTION 140_parse_opts() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap.vim:336 Called 1 time Total time: 0.000165 Self time: 0.000165 count total (s) self (s) 1 0.000007 let idx = 0 1 0.000008 for arg in a:args if arg =~? '^++\w*=\w*' let matched = matchlist(arg, '^++\(\w*\)=\(\S*\)') let [k, v] = [matched[1], matched[2]] if has_key(g:clap.context, k) let g:clap.context[k] .= ' '.v else let g:clap.context[k] = v endif elseif arg =~? '^+\w*' let opt = arg[1:] let g:clap.context[opt] = v:true else break endif let idx += 1 1 0.000005 endfor 1 0.000015 if has_key(g:clap.context, 'query') if g:clap.context.query ==# '@visual' let g:clap.context.query = clap#util#get_visual_selection() else let g:clap.context.query = clap#util#expand(g:clap.context.query) endif 1 0.000002 endif 1 0.000019 let g:clap.provider.args = a:args[idx :] FUNCTION airline#util#try_focusgained() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/util.vim:203 Called 1 time Total time: 0.000078 Self time: 0.000078 count total (s) self (s) " Ignore lasts for at most one second and is cleared on the first " focusgained. We use ignore to prevent system() calls from triggering " FocusGained (which occurs 100% on win32 and seem to sometimes occur under " tmux). 1 0.000027 let dt = localtime() - s:focusgained_ignore_time 1 0.000017 let s:focusgained_ignore_time = 0 1 0.000013 return dt >= 1 FUNCTION 108_Disable() Defined: ~/.config/nvim/plugged/indentLine/after/plugin/indentLine.vim:309 Called 3 times Total time: 0.000255 Self time: 0.000110 count total (s) self (s) 3 0.000020 if exists("b:indentLine_enabled") && b:indentLine_enabled return 3 0.000020 elseif exists("b:indentLine_leadingSpaceEnabled") && b:indentLine_leadingSpaceEnabled return 3 0.000178 0.000032 elseif s:Filter() == 0 call s:IndentLinesDisable() call s:LeadingSpaceDisable() 3 0.000003 endif FUNCTION airline#themes#get_highlight() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/themes.vim:31 Called 270 times Total time: 0.113175 Self time: 0.007745 count total (s) self (s) 270 0.112903 0.007473 return call('airline#highlighter#get_highlight', [a:group] + a:000) FUNCTION 171_unplace_all_signs() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/sign.vim:110 Called 1 time Total time: 0.000068 Self time: 0.000068 count total (s) self (s) 1 0.000017 if nvim_buf_is_valid(g:clap.display.bufnr) 1 0.000026 call sign_unplace(s:sign_group, {'buffer': g:clap.display.bufnr}) 1 0.000018 call sign_unplace(s:sign_cur_group, {'buffer': g:clap.display.bufnr}) 1 0.000003 endif FUNCTION clap#for() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap.vim:309 Called 1 time Total time: 0.334298 Self time: 0.000207 count total (s) self (s) 1 0.000016 if has_key(s:provider_alias, a:provider_id_or_alias) let provider_id = s:provider_alias[a:provider_id_or_alias] 1 0.000003 else 1 0.000010 let provider_id = a:provider_id_or_alias 1 0.000003 endif 1 0.000009 let g:clap.provider.id = provider_id 1 0.000012 let g:clap.display.cache = [] " If the registrar is not aware of this provider, try registering it. 1 0.000018 if !has_key(g:clap.registrar, provider_id) && !s:try_register_is_ok(provider_id) return 1 0.000002 endif 1 0.000213 0.000034 call s:clear_state() 1 0.000111 0.000031 call clap#handler#init() 1 0.333869 0.000038 call g:clap.open_win() FUNCTION 143_try_adjust_preview() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/floating_win.vim:249 Called 1 time Total time: 0.000021 Self time: 0.000021 count total (s) self (s) 1 0.000005 if exists('s:preview_winid') let preview_opts = nvim_win_get_config(s:preview_winid) let opts = nvim_win_get_config(s:display_winid) let preview_opts.row = opts.row + opts.height call nvim_win_set_config(s:preview_winid, preview_opts) 1 0.000001 endif FUNCTION coc#util#clearmatches() Defined: ~/.config/nvim/plugged/coc.nvim/autoload/coc/util.vim:679 Called 3 times Total time: 0.000197 Self time: 0.000197 count total (s) self (s) 3 0.000031 let winid = get(a:, 1, 0) 3 0.000021 if winid != 0 && win_getid() != winid return 3 0.000005 endif 3 0.000016 for id in a:ids try call matchdelete(id) catch /.*/ " matches have been cleared in other ways, endtry 3 0.000007 endfor 3 0.000024 let exists = get(w:, 'coc_matchids', []) 3 0.000015 if !empty(exists) call filter(w:coc_matchids, 'index(a:ids, v:val) == -1') 3 0.000004 endif FUNCTION 171_place_cur_sign_at() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/sign.vim:38 Called 1 time Total time: 0.000014 Self time: 0.000014 count total (s) self (s) 1 0.000013 call sign_place(a:lnum, s:sign_cur_group, 'PopUpClapCurrentSelected', g:clap.display.bufnr, {'lnum': a:lnum}) FUNCTION airline#extensions#coc#get_status() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/extensions/coc.vim:45 Called 16 times Total time: 0.002745 Self time: 0.000668 count total (s) self (s) " Shorten text for windows < 81 characters 16 0.002674 0.000597 return airline#util#shorten(get(g:, 'coc_status', ''), 81, 9) FUNCTION clap#api#has_externalfilter() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/api.vim:35 Called 1 time Total time: 0.000008 Self time: 0.000008 count total (s) self (s) 1 0.000007 return has_key(g:clap.context, 'ef') || has_key(g:clap.context, 'externalfilter') FUNCTION coc#util#cursor() Defined: ~/.config/nvim/plugged/coc.nvim/autoload/coc/util.vim:90 Called 3 times Total time: 0.000203 Self time: 0.000203 count total (s) self (s) 3 0.000064 let pos = getcurpos() 3 0.000071 let content = pos[2] == 1 ? '' : getline('.')[0: pos[2] - 2] 3 0.000051 return [pos[1] - 1, strchars(content)] FUNCTION 140_clear_state() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap.vim:294 Called 1 time Total time: 0.000179 Self time: 0.000085 count total (s) self (s) 1 0.000137 0.000042 call s:unlet_vars([ 'g:__clap_provider_cwd', 'g:__clap_raw_source', 'g:__clap_initial_source_size', ]) 1 0.000010 if exists('g:__clap_forerunner_tempfile') if filereadable(g:__clap_forerunner_tempfile) call delete(g:__clap_forerunner_tempfile) endif unlet g:__clap_forerunner_tempfile 1 0.000002 endif FUNCTION 142__setbufvar() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/api.vim:21 Called 2 times Total time: 0.065828 Self time: 0.000043 count total (s) self (s) 2 0.065826 0.000041 call setbufvar(self.bufnr, a:varname, a:val) FUNCTION clap#forerunner#stop() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/forerunner.vim:151 Called 1 time Total time: 0.000085 Self time: 0.000049 count total (s) self (s) 1 0.000009 if s:job_id > 0 1 0.000060 0.000024 call clap#job#stop(s:job_id) 1 0.000009 let s:job_id = -1 1 0.000003 endif FUNCTION airline#parts#filetype() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/parts.vim:102 Called 16 times Total time: 0.001332 Self time: 0.000721 count total (s) self (s) 16 0.001288 0.000678 return (airline#util#winwidth() < 90 && strlen(&filetype) > 3) ? matchstr(&filetype, '...'). (&encoding is? 'utf-8' ? '…' : '>') : &filetype FUNCTION 126_get_seperator() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/builder.vim:158 Called 67 times Total time: 0.161340 Self time: 0.003540 count total (s) self (s) 67 0.054162 0.001565 if airline#builder#should_change_group(a:prev_group, a:group) 67 0.107067 0.001863 return s:get_transitioned_seperator(a:self, a:prev_group, a:group, a:side) else return a:side ? a:self._context.left_alt_sep : a:self._context.right_alt_sep endif FUNCTION airline#parts#iminsert() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/parts.vim:82 Called 5 times Total time: 0.000141 Self time: 0.000141 count total (s) self (s) 5 0.000059 if g:airline_detect_iminsert && &iminsert && exists('b:keymap_name') return toupper(b:keymap_name) 5 0.000011 endif 5 0.000017 return '' FUNCTION clap#handler#on_typed() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/handler.vim:25 Called 1 time Total time: 0.000696 Self time: 0.000082 count total (s) self (s) 1 0.000064 0.000012 if clap#handler#relaunch_is_ok() return 1 0.000001 endif 1 0.000034 0.000013 if g:clap.provider.is_rpc_type() call g:clap.provider.on_typed() return 1 0.000001 endif 1 0.000033 0.000009 let l:cur_input = g:clap.input.get() 1 0.000004 if s:old_input == l:cur_input return 1 0.000006 elseif strlen(s:old_input) > strlen(l:cur_input) " If we should refilter? 1 0.000006 let g:__clap_should_refilter = v:true 1 0.000001 endif 1 0.000003 let s:old_input = l:cur_input 1 0.000531 0.000011 call g:clap.provider.on_typed() FUNCTION airline#extensions#term#apply() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/extensions/term.vim:10 Called 7 times Total time: 0.000450 Self time: 0.000450 count total (s) self (s) 7 0.000093 if &buftype == 'terminal' || bufname('%')[0] == '!' let spc = g:airline_symbols.space call a:1.add_section('airline_a', spc.s:section_a.spc) call a:1.add_section('airline_b', '') call a:1.add_section('airline_term', spc.s:termname()) call a:1.split() call a:1.add_section('airline_y', '') call a:1.add_section('airline_z', spc.airline#section#create_right(['linenr', 'maxlinenr'])) return 1 7 0.000014 endif FUNCTION 51_invoke_funcrefs() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline.vim:177 Called 24 times Total time: 0.316976 Self time: 0.003063 count total (s) self (s) 24 0.002046 0.000473 let builder = airline#builder#new(a:context) 24 0.056565 0.000813 let err = airline#util#exec_funcrefs(a:funcrefs + s:core_funcrefs, builder, a:context) 24 0.000065 if err == 1 24 0.257083 0.000494 let a:context.line = builder.build() 24 0.000346 let s:contexts[a:context.winnr] = a:context 24 0.000227 let option = get(g:, 'airline_statusline_ontop', 0) ? '&tabline' : '&statusline' 24 0.000511 call setwinvar(a:context.winnr, option, '%!airline#statusline('.a:context.winnr.')') 24 0.000039 endif FUNCTION clap#sign#reset() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/sign.vim:124 Called 1 time Total time: 0.000129 Self time: 0.000060 count total (s) self (s) 1 0.000110 0.000042 call s:unplace_all_signs() 1 0.000008 let s:signed = [] 1 0.000007 let s:last_signed_id = -1 FUNCTION 114_GetHiCmd() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/highlighter.vim:164 Called 1 time Total time: 0.000140 Self time: 0.000140 count total (s) self (s) " a:list needs to have 5 items! 1 0.000002 let res = '' 1 0.000002 let i = -1 6 0.000010 while i < 4 5 0.000011 let i += 1 5 0.000020 let item = get(a:list, i, '') 5 0.000010 if item is '' 3 0.000003 continue 2 0.000002 endif 2 0.000003 if i == 0 1 0.000005 let res .= ' guifg='.item 1 0.000002 elseif i == 1 1 0.000004 let res .= ' guibg='.item elseif i == 2 let res .= ' ctermfg='.item elseif i == 3 let res .= ' ctermbg='.item elseif i == 4 let res .= printf(' gui=%s cterm=%s term=%s', item, item, item) 2 0.000002 endif 3 0.000004 endwhile 1 0.000002 return res FUNCTION 127_get_section() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/extensions/default.vim:20 Called 153 times Total time: 0.017769 Self time: 0.014144 count total (s) self (s) 153 0.001178 if has_key(s:section_truncate_width, a:key) 98 0.004393 0.002057 if airline#util#winwidth(a:winnr) < s:section_truncate_width[a:key] 27 0.000053 return '' 71 0.000107 endif 126 0.000196 endif 126 0.000703 let spc = g:airline_symbols.space 126 0.001262 if !exists('g:airline_section_{a:key}') return '' 126 0.000175 endif 126 0.004614 0.003324 let text = airline#util#getwinvar(a:winnr, 'airline_section_'.a:key, g:airline_section_{a:key}) 126 0.002192 let [prefix, suffix] = [get(a:000, 0, '%('.spc), get(a:000, 1, spc.'%)')] 126 0.001284 return empty(text) ? '' : prefix.text.suffix FUNCTION 108_Filter() Defined: ~/.config/nvim/plugged/indentLine/after/plugin/indentLine.vim:286 Called 3 times Total time: 0.000146 Self time: 0.000146 count total (s) self (s) 3 0.000025 if index(g:indentLine_fileTypeExclude, &filetype) != -1 return 0 3 0.000004 endif 3 0.000016 if index(g:indentLine_bufTypeExclude, &buftype) != -1 return 0 3 0.000003 endif 3 0.000020 if len(g:indentLine_fileType) != 0 && index(g:indentLine_fileType, &filetype) == -1 return 0 3 0.000003 endif 3 0.000013 for name in g:indentLine_bufNameExclude if matchstr(bufname(''), name) == bufname('') return 0 endif 3 0.000005 endfor 3 0.000005 return 1 FUNCTION sy#verbose() Defined: ~/.config/nvim/plugged/vim-signify/autoload/sy.vim:126 Called 40 times Total time: 0.002567 Self time: 0.002567 count total (s) self (s) 40 0.000311 if &verbose if type(a:msg) == type([]) for msg in a:msg echomsg printf('[sy%s] %s', (a:0 ? ':'.a:1 : ''), msg) endfor else echomsg printf('[sy%s] %s', (a:0 ? ':'.a:1 : ''), a:msg) endif 40 0.000098 endif FUNCTION clap#job#start_buffered() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/job.vim:12 Called 1 time Total time: 0.001586 Self time: 0.001586 count total (s) self (s) 1 0.001569 let job_id = jobstart(a:cmd, { 'on_exit': a:OnEvent, 'on_stdout': a:OnEvent, 'on_stderr': a:OnEvent, 'stdout_buffered': v:true, }) 1 0.000009 return job_id FUNCTION 167_detect_should_switch_to_async() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/impl.vim:111 Called 1 time Total time: 0.000042 Self time: 0.000027 count total (s) self (s) " Optimze for blines provider. 1 0.000006 if g:clap.provider.id ==# 'blines' && g:clap.display.initial_size > 100000 return v:true 1 0.000001 endif 1 0.000028 0.000014 if g:clap.provider.is_pure_async() || g:clap.provider.source_type == g:__t_string || g:clap.provider.source_type == g:__t_func_string 1 0.000002 return v:true endif let Source = g:clap.provider._().source if g:clap.provider.source_type == g:__t_list let s:cur_source = Source elseif g:clap.provider.source_type == g:__t_func_list let s:cur_source = Source() endif let g:__clap_raw_source = s:cur_source let g:__clap_initial_source_size = len(g:__clap_raw_source) if clap#filter#beyond_capacity(g:__clap_initial_source_size) return v:true endif return v:false FUNCTION 115_get_hunks_signify() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/extensions/hunks.vim:14 Called 5 times Total time: 0.000431 Self time: 0.000228 count total (s) self (s) 5 0.000343 0.000140 let hunks = sy#repo#get_stats() 5 0.000045 if hunks[0] >= 0 5 0.000024 return hunks endif return [] FUNCTION airline#extensions#coc#get() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/extensions/coc.vim:18 Called 5 times Total time: 0.000937 Self time: 0.000937 count total (s) self (s) 5 0.000083 if !exists(':CocCommand') return '' 5 0.000012 endif 5 0.000069 let _backup = get(g:, 'coc_stl_format', '') 5 0.000052 let is_err = (a:type is# 'error') 5 0.000022 if is_err 5 0.000094 let g:coc_stl_format = get(g:, 'airline#extensions#coc#stl_format_err', '%E{[%e(#%fe)]}') else let g:coc_stl_format = get(g:, 'airline#extensions#coc#stl_format_warn', '%W{[%w(#%fw)]}') 5 0.000012 endif 5 0.000067 let info = get(b:, 'coc_diagnostic_info', {}) 5 0.000069 if empty(info) | return '' | endif 5 0.000059 let cnt = get(info, a:type, 0) 5 0.000037 if !empty(_backup) 5 0.000056 let g:coc_stl_format = _backup 5 0.000013 endif 5 0.000031 if empty(cnt) return '' 5 0.000011 else 5 0.000066 return (is_err ? s:error_symbol : s:warning_symbol).cnt endif FUNCTION 119_ws_refresh() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/extensions/whitespace.vim:183 Called 3 times Total time: 0.000205 Self time: 0.000205 count total (s) self (s) 3 0.000094 if get(b:, 'airline_ws_changedtick', 0) == b:changedtick 2 0.000010 return 1 0.000005 endif 1 0.000014 unlet! b:airline_whitespace_check 1 0.000020 if get(g:, 'airline_skip_empty_sections', 0) exe ':AirlineRefresh!' 1 0.000005 endif 1 0.000019 let b:airline_ws_changedtick = b:changedtick FUNCTION 73() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/api.vim:580 Called 1 time Total time: 0.003148 Self time: 0.000064 count total (s) self (s) 1 0.000020 0.000007 if self.is_pure_async() return 1 0.000004 elseif self.source_type == g:__t_string call clap#forerunner#start(self._().source) return 1 0.000003 elseif self.source_type == g:__t_func_string 1 0.003107 0.000036 call clap#forerunner#start(self._().source()) 1 0.000002 return endif " Even for the syn providers that could have 10,000+ lines, it's ok to show it now. if self.source_type == g:__t_list let lines = self._().source elseif self.source_type == g:__t_func_list let lines = self._().source() endif let initial_size = len(lines) let g:clap.display.initial_size = initial_size if initial_size > 0 call g:clap.display.set_lines_lazy(lines) call g:clap#display_win.shrink_if_undersize() call clap#indicator#set_matches('['.initial_size.']') call clap#sign#toggle_cursorline() endif FUNCTION airline#mode_changed() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline.vim:279 Called 3 times Total time: 0.000279 Self time: 0.000212 count total (s) self (s) " airline#visual_active " Boolean: for when to get visual wordcount " needed for the wordcount extension 3 0.000116 let g:airline#visual_active = (mode() =~? '[vs]') 3 0.000139 0.000071 call airline#update_tabline() FUNCTION 13() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/builder.vim:17 Called 115 times Total time: 0.001282 Self time: 0.001282 count total (s) self (s) 115 0.001170 call add(self._sections, [a:group, a:contents]) FUNCTION 145_generic_hi_icons() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/icon.vim:265 Called 1 time Total time: 0.015282 Self time: 0.008010 count total (s) self (s) 1 0.000006 let pat_prefix = a:head_only ? '/^\s*' : '/' 1 0.000003 let lk_idx = 0 1 0.000002 let groups = [] 1 0.000048 0.000013 let icons = clap#icon#get_all() 146 0.000227 for idx in range(len(icons)) 145 0.000436 let group = 'ClapIcon'.idx 145 0.000549 call add(groups, group) 145 0.002323 execute 'syntax match' group pat_prefix.icons[idx].'/' 'contained' 145 0.010508 0.003271 execute 'hi!' group s:get_attrs(s:linked_groups[lk_idx]) 145 0.000396 let lk_idx += 1 145 0.000459 let lk_idx = lk_idx % s:linked_groups_len 146 0.000144 endfor 1 0.000002 return groups FUNCTION clap#path#find_project_root() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/path.vim:91 Called 1 time Total time: 0.000743 Self time: 0.000017 count total (s) self (s) 1 0.000742 0.000016 return s:find_root_dir(a:bufnr, s:project_root_markers) FUNCTION 114_hl_group_exists() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/highlighter.vim:95 Called 209 times Total time: 0.009424 Self time: 0.009424 count total (s) self (s) 209 0.003296 if !hlexists(a:group) return 0 209 0.003770 elseif empty(synIDattr(hlID(a:group), 'fg')) return 0 209 0.000301 endif 209 0.000459 return 1 FUNCTION airline#highlighter#add_separator() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/highlighter.vim:220 Called 91 times Total time: 0.136662 Self time: 0.003969 count total (s) self (s) 91 0.001399 let s:separators[a:from.a:to] = [a:from, a:to, a:inverse] 91 0.135155 0.002462 call exec_separator({}, a:from, a:to, a:inverse, '') FUNCTION clap#util#nvim_buf_set_lines() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/util.vim:72 Called 1 time Total time: 0.000074 Self time: 0.000074 count total (s) self (s) 1 0.000073 call nvim_buf_set_lines(a:bufnr, 0, -1, 0, a:lines) FUNCTION 137_StopFindTimer() Defined: ~/.config/nvim/plugged/vista.vim/autoload/vista/cursor.vim:25 Called 1 time Total time: 0.000106 Self time: 0.000038 count total (s) self (s) 1 0.000102 0.000033 call s:GenericStopTimer('s:find_timer') FUNCTION airline#extensions#po#apply() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/extensions/po.vim:51 Called 7 times Total time: 0.000204 Self time: 0.000204 count total (s) self (s) 7 0.000083 if &ft ==# 'po' call airline#extensions#prepend_to_section('z', '%{airline#extensions#po#stats()}') " Also reset the cache variable, if a window has been split, e.g. the winwidth changed autocmd airline BufWritePost * unlet! b:airline_po_stats autocmd airline WinEnter * call airline#extensions#po#on_winenter() 7 0.000014 endif FUNCTION clap#() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap.vim:365 Called 1 time Total time: 0.334773 Self time: 0.000310 count total (s) self (s) 1 0.000017 if a:000 == ['install-binary'] call clap#installer#install(v:false) return 1 0.000008 elseif a:000 == ['install-binary!'] call clap#installer#install(v:true) return 1 0.000003 endif 1 0.000015 let g:clap.start.bufnr = bufnr('') 1 0.000010 let g:clap.start.winid = win_getid() 1 0.000023 let g:clap.start.old_pos = getpos('.') 1 0.000013 let g:clap.context = {} 1 0.000006 let g:clap.tmps = [] 1 0.000005 if a:bang let g:clap.context.async = v:true 1 0.000002 endif 1 0.000005 if a:0 == 0 let provider_id_or_alias = 'providers' let g:clap.provider.args = [] 1 0.000002 else 1 0.000007 if a:000 == ['debug'] call clap#debugging#info() return 1 0.000007 elseif a:000 == ['debug+'] call clap#debugging#info_to_clipboard() return 1 0.000002 endif 1 0.000011 let provider_id_or_alias = a:1 1 0.000215 0.000051 call s:parse_opts(a:000[1:]) 1 0.000003 endif 1 0.334335 0.000036 call clap#for(provider_id_or_alias) FUNCTION 62_Autocmd() Defined: ~/.config/nvim/plugged/coc.nvim/plugin/coc.vim:151 Called 13 times Total time: 0.004684 Self time: 0.000588 count total (s) self (s) 13 0.000155 if !get(g:,'coc_workspace_initialized', 0) return 13 0.000029 endif 13 0.004420 0.000324 call coc#rpc#notify('CocAutocmd', a:000) FUNCTION airline#util#winwidth() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/util.vim:19 Called 166 times Total time: 0.004997 Self time: 0.004997 count total (s) self (s) 166 0.001572 let nr = get(a:000, 0, 0) 166 0.001187 if get(g:, 'airline_statusline_ontop', 0) return &columns 166 0.000333 else 166 0.000959 return winwidth(nr) endif FUNCTION 157_find_root_dir() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/path.vim:67 Called 1 time Total time: 0.000726 Self time: 0.000110 count total (s) self (s) 1 0.000027 let start_dir = expand('#'.a:bufnr.':p') 3 0.000010 for pattern in a:root_markers 3 0.000666 0.000050 let dir = s:find_upwards(start_dir, pattern) 3 0.000009 if !empty(dir) 1 0.000002 return dir 2 0.000002 endif 2 0.000003 endfor return '' FUNCTION 127_build_sections() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/extensions/default.vim:35 Called 31 times Total time: 0.028497 Self time: 0.005031 count total (s) self (s) 172 0.000548 for key in a:keys 141 0.000981 if (key == 'warning' || key == 'error') && !a:context.active 34 0.000047 continue 107 0.000147 endif 107 0.025731 0.002266 call s:add_section(a:builder, a:context, key) 138 0.000246 endfor FUNCTION sy#sign#get_current_signs() Defined: ~/.config/nvim/plugged/vim-signify/autoload/sy/sign.vim:24 Called 7 times Total time: 0.003672 Self time: 0.002643 count total (s) self (s) 7 0.000072 let a:sy.internal = {} 7 0.000057 let a:sy.external = {} 7 0.001315 0.000286 let signlist = sy#util#execute('sign place buffer='. a:sy.buffer) 14 0.000309 for signline in split(signlist, '\n')[2:] 7 0.000611 let tokens = matchlist(signline, '\v^\s+\S+\=(\d+)\s+\S+\=(\d+)\s+\S+\=(.*)$') 7 0.000106 let line = str2nr(tokens[1]) 7 0.000067 let id = str2nr(tokens[2]) 7 0.000044 let type = tokens[3] 7 0.000131 if type =~# '^Signify' " Handle ambiguous signs. Assume you have signs on line 3 and 4. " Removing line 3 would lead to the second sign to be shifted up " to line 3. Now there are still 2 signs, both one line 3. if has_key(a:sy.internal, line) execute 'sign unplace' a:sy.internal[line].id 'buffer='.a:sy.buffer endif let a:sy.internal[line] = { 'type': type, 'id': id } 7 0.000017 else 7 0.000097 let a:sy.external[line] = id 7 0.000015 endif 14 0.000053 endfor FUNCTION 193_callback_nvim_exit() Defined: ~/.config/nvim/plugged/vim-signify/autoload/sy/repo.vim:21 Called 7 times Total time: 0.014229 Self time: 0.000336 count total (s) self (s) 7 0.014205 0.000312 return s:handle_diff(self, a:exitval) FUNCTION sy#util#execute() Defined: ~/.config/nvim/plugged/vim-signify/autoload/sy/util.vim:104 Called 7 times Total time: 0.001028 Self time: 0.001028 count total (s) self (s) 7 0.000063 let lang = v:lang 7 0.000095 redir => output 7 0.000278 silent! execute a:cmd 7 0.000094 redir END 7 0.000403 silent! execute 'language message' lang 7 0.000050 return output FUNCTION airline#util#doautocmd() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/util.vim:176 Called 4 times Total time: 0.000889 Self time: 0.000283 count total (s) self (s) 4 0.000875 0.000269 exe printf("silent doautocmd %s User %s", s:nomodeline, a:event) FUNCTION 32() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/api.vim:273 Called 4 times Total time: 0.000108 Self time: 0.000062 count total (s) self (s) 4 0.000105 0.000058 return clap#util#nvim_buf_get_first_line(self.bufnr) FUNCTION 34() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/api.vim:281 Called 1 time Total time: 0.000162 Self time: 0.000037 count total (s) self (s) 1 0.000160 0.000035 call clap#util#nvim_buf_clear(self.bufnr) FUNCTION 35() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/api.vim:88 Called 1 time Total time: 0.000014 Self time: 0.000014 count total (s) self (s) 1 0.000014 call nvim_win_set_cursor(self.winid, [a:lnum, a:col]) FUNCTION 36() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/api.vim:92 Called 1 time Total time: 0.000093 Self time: 0.000019 count total (s) self (s) 1 0.000092 0.000018 call clap#util#nvim_buf_set_lines(self.bufnr, a:lines) FUNCTION 37() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/api.vim:96 Called 1 time Total time: 0.000278 Self time: 0.000043 count total (s) self (s) 1 0.000277 0.000042 call clap#util#nvim_buf_clear(self.bufnr) FUNCTION clap#handler#init() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/handler.vim:99 Called 1 time Total time: 0.000081 Self time: 0.000037 count total (s) self (s) 1 0.000079 0.000035 let s:support_multi_select = g:clap.provider.support_multi_select() FUNCTION clap#maple#stop() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/maple.vim:141 Called 1 time Total time: 0.000025 Self time: 0.000025 count total (s) self (s) 1 0.000006 if s:job_id > 0 call clap#job#stop(s:job_id) let s:job_id = -1 1 0.000003 endif FUNCTION vista#cursor#FindNearestMethodOrFunction() Defined: ~/.config/nvim/plugged/vista.vim/autoload/vista/cursor.vim:141 Called 3 times Total time: 0.000291 Self time: 0.000185 count total (s) self (s) 3 0.000059 if !exists('t:vista') || !has_key(t:vista, 'functions') || bufnr('') != t:vista.source.bufnr 2 0.000003 return 1 0.000002 endif 1 0.000143 0.000036 call s:StopFindTimer() 1 0.000012 if empty(t:vista.functions) call setbufvar(t:vista.source.bufnr, 'vista_nearest_method_or_function', '') return 1 0.000002 endif 1 0.000038 let s:find_timer = timer_start( s:find_delay, function('s:FindNearestMethodOrFunction'), ) FUNCTION 167_on_typed_async_impl() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/impl.vim:80 Called 1 time Total time: 0.000270 Self time: 0.000068 count total (s) self (s) 1 0.000114 0.000010 call g:clap.display.clear_highlight() 1 0.000036 0.000011 let l:cur_input = g:clap.input.get() 1 0.000004 if empty(l:cur_input) 1 0.000004 if exists('g:__clap_raw_source') call g:clap.display.set_lines_lazy(g:__clap_raw_source) call clap#indicator#set_matches('['.g:__clap_initial_source_size.']') call clap#sign#toggle_cursorline() call g:clap#display_win.shrink_if_undersize() call g:clap.preview.hide() 1 0.000001 endif 1 0.000087 0.000013 call clap#highlight#clear() 1 0.000002 return endif " Do not clear the outdated content as it would cause the annoying flicker. " call g:clap.display.clear() let cmd = g:clap.provider.source_async_or_default() if clap#filter#async#external#using_maple() call clap#rooter#run(function('clap#maple#job_start'), cmd) else call clap#rooter#run(function('clap#dispatcher#job_start'), cmd) endif call clap#spinner#set_busy() FUNCTION 41() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/api.vim:112 Called 1 time Total time: 0.000103 Self time: 0.000038 count total (s) self (s) 1 0.000043 0.000012 call self.goto_win() " Clear all matches added in the display window " " We should not use clearmatches() as it will clear the " ClapNoMatchesFound highlight as well. " " call clearmatches() 1 0.000022 0.000009 call self.matchdelete() 1 0.000032 0.000011 call g:clap.input.goto_win() FUNCTION 43() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/api.vim:193 Called 1 time Total time: 0.000174 Self time: 0.000081 count total (s) self (s) 1 0.000006 if len(a:raw_lines) >= g:clap.display.preload_capacity 1 0.000029 let to_set = a:raw_lines[:g:clap.display.preload_capacity-1] 1 0.000014 let to_cache = a:raw_lines[g:clap.display.preload_capacity : ] 1 0.000104 0.000011 call self.set_lines(to_set) 1 0.000006 let g:clap.display.cache = to_cache else call self.set_lines(a:raw_lines) " b -> b0 " Continuing to input more chars leads to the number of filtered result smaller, " in which case the get_lines() could overlap with current cache, thus " we should not use the cache next time. let g:__clap_do_not_use_cache = v:true 1 0.000001 endif FUNCTION 48() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/api.vim:256 Called 2 times Total time: 0.000025 Self time: 0.000025 count total (s) self (s) 2 0.000009 if exists('w:clap_match_ids') call map(w:clap_match_ids, 'matchdelete(v:val)') unlet w:clap_match_ids 2 0.000002 endif FUNCTION 49() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/api.vim:309 Called 19 times Total time: 0.000130 Self time: 0.000130 count total (s) self (s) 19 0.000114 return g:clap.registrar[self.id] FUNCTION 114_group_not_done() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/highlighter.vim:25 Called 72 times Total time: 0.001752 Self time: 0.001752 count total (s) self (s) 72 0.000795 if index(a:list, a:name) == -1 72 0.000584 call add(a:list, a:name) 72 0.000205 return 1 else if &vbs echomsg printf("airline: group: %s already done, skipping", a:name) endif return 0 endif FUNCTION 193_check_diff_git() Defined: ~/.config/nvim/plugged/vim-signify/autoload/sy/repo.vim:161 Called 4 times Total time: 0.000056 Self time: 0.000056 count total (s) self (s) 4 0.000045 return a:exitval ? [0, []] : [1, a:diff] FUNCTION 52() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/api.vim:329 Called 1 time Total time: 0.000015 Self time: 0.000010 count total (s) self (s) 1 0.000014 0.000010 return get(self._(), 'enable_rooter', v:false) FUNCTION airline#extensions#keymap#status() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/extensions/keymap.vim:10 Called 5 times Total time: 0.000228 Self time: 0.000228 count total (s) self (s) 5 0.000108 if (get(g:, 'airline#extensions#keymap#enabled', 1) && has('keymap')) 5 0.000105 return printf('%s', (!empty(&keymap) ? (g:airline_symbols.keymap . ' '. &keymap) : '')) else return '' endif FUNCTION 58() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/api.vim:372 Called 1 time Total time: 0.000054 Self time: 0.000040 count total (s) self (s) 1 0.000039 0.000026 if has_key(self._(), 'on_exit') call self._().on_exit() 1 0.000003 endif FUNCTION 59() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/api.vim:378 Called 1 time Total time: 0.000076 Self time: 0.000057 count total (s) self (s) 1 0.000058 0.000038 if has_key(self._(), 'jobstop') call self._().jobstop() 1 0.000005 endif FUNCTION 11() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/builder.vim:8 Called 24 times Total time: 0.000277 Self time: 0.000277 count total (s) self (s) 24 0.000251 call add(self._sections, ['|', a:0 ? a:1 : '%=']) FUNCTION 18() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/builder.vim:62 Called 24 times Total time: 0.256589 Self time: 0.035024 count total (s) self (s) 24 0.000084 let side = 1 24 0.000066 let line = '' 24 0.000066 let i = 0 24 0.000138 let length = len(self._sections) 24 0.000067 let split = 0 24 0.000082 let is_empty = 0 24 0.000080 let prev_group = '' 163 0.000595 while i < length 139 0.000808 let section = self._sections[i] 139 0.000622 let group = section[0] 139 0.000624 let contents = section[1] 139 0.000497 let pgroup = prev_group 139 0.007380 0.003227 let prev_group = airline#builder#get_prev_group(self._sections, i) 139 0.000877 if group ==# 'airline_c' && &buftype ==# 'terminal' && self._context.active let group = 'airline_term' 139 0.001108 elseif group ==# 'airline_c' && !self._context.active && has_key(self._context, 'bufnr') let group = 'airline_c'. self._context.bufnr 139 0.001046 elseif prev_group ==# 'airline_c' && !self._context.active && has_key(self._context, 'bufnr') let prev_group = 'airline_c'. self._context.bufnr 139 0.000175 endif 139 0.000308 if is_empty let prev_group = pgroup 139 0.000138 endif 139 0.006268 0.002959 let is_empty = s:section_is_empty(self, contents) 139 0.000297 if is_empty " need to fix highlighting groups, since we " have skipped a section, we actually need " the previous previous group and so the " seperator goes from the previous previous group " to the current group let pgroup = group 139 0.000143 endif 139 0.000398 if group == '' let line .= contents 139 0.000394 elseif group == '|' 24 0.000059 let side = 0 24 0.000122 let line .= contents 24 0.000058 let split = 1 115 0.000145 else 115 0.000343 if prev_group == '' 24 0.000168 let line .= '%#'.group.'#' 91 0.000194 elseif split 24 0.000054 if !is_empty 24 0.040266 0.000633 let line .= s:get_transitioned_seperator(self, prev_group, group, side) 24 0.000037 endif 24 0.000070 let split = 0 67 0.000087 else 67 0.000162 if !is_empty 67 0.162982 0.001642 let line .= s:get_seperator(self, prev_group, group, side) 67 0.000114 endif 115 0.000168 endif 115 0.016586 0.003456 let line .= is_empty ? '' : s:get_accented_line(self, group, contents) 139 0.000183 endif 139 0.000534 let i = i + 1 163 0.000335 endwhile 24 0.000086 if !self._context.active "let line = substitute(line, '%#airline_c#', '%#airline_c'.self._context.bufnr.'#', '') 17 0.001359 let line = substitute(line, '%#.\{-}\ze#', '\0_inactive', 'g') 24 0.000037 endif 24 0.000107 return line FUNCTION clap#util#nvim_buf_get_first_line() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/util.vim:64 Called 4 times Total time: 0.000046 Self time: 0.000046 count total (s) self (s) 4 0.000044 return get(nvim_buf_get_lines(a:bufnr, 0, 1, 0), 0, '') FUNCTION clap#spinner#set() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/spinner.vim:55 Called 3 times Total time: 0.000503 Self time: 0.000124 count total (s) self (s) 3 0.000177 0.000043 let s:current_prompt = s:fill_in_placeholders(a:text) 3 0.000038 call setbufline(g:clap.spinner.bufnr, 1, s:current_prompt) 3 0.000283 0.000039 call g:clap#floating_win#spinner.shrink() FUNCTION 150_set_spinner() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/spinner.vim:67 Called 3 times Total time: 0.000933 Self time: 0.000086 count total (s) self (s) 3 0.000386 0.000042 let s:current_prompt = s:generate_prompt() 3 0.000544 0.000042 call clap#spinner#set(s:current_prompt) FUNCTION 45_on_window_changed() Defined: ~/.config/nvim/plugged/vim-airline/plugin/airline.vim:59 Called 6 times Total time: 0.278751 Self time: 0.000820 count total (s) self (s) " don't trigger for Vim popup windows 6 0.000042 if &buftype is# 'popup' return 6 0.000009 endif 6 0.000044 if pumvisible() && (!&previewwindow || g:airline_exclude_preview) " do not trigger for previewwindows return 6 0.000008 endif 6 0.000048 let s:active_winnr = winnr() " Handle each window only once, since we might come here several times for " different autocommands. 6 0.000131 let l:key = [bufnr('%'), s:active_winnr, winnr('$'), tabpagenr(), &ft] 6 0.000091 if get(g:, 'airline_last_window_changed', []) == l:key && &stl is# '%!airline#statusline('.s:active_winnr.')' && &ft !~? 'gitcommit' " fugitive is special, it changes names and filetypes several times, " make sure the caching does not get into its way return 6 0.000008 endif 6 0.000086 let g:airline_last_window_changed = l:key 6 0.000164 0.000108 call s:init() 6 0.277994 0.000118 call airline#update_statusline() FUNCTION 61() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/api.vim:388 Called 1 time Total time: 0.000044 Self time: 0.000028 count total (s) self (s) 1 0.000042 0.000026 return has_key(self._(), 'sink*') FUNCTION 63() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/api.vim:396 Called 1 time Total time: 0.000021 Self time: 0.000014 count total (s) self (s) 1 0.000020 0.000013 return has_key(self._(), 'source_type') && self._().source_type == g:__t_rpc FUNCTION 64() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/api.vim:400 Called 1 time Total time: 0.017794 Self time: 0.000032 count total (s) self (s) 1 0.000019 0.000011 if has_key(self._(), 'syntax') 1 0.017772 0.000019 call g:clap.display.setbufvar('&syntax', self._().syntax) 1 0.000001 endif FUNCTION 65() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/api.vim:406 Called 1 time Total time: 0.000028 Self time: 0.000028 count total (s) self (s) 1 0.000005 if has_key(g:clap.context, 'query') if s:is_nvim call feedkeys(g:clap.context.query) else call g:clap.input.set(g:clap.context.query) " Move the cursor to the end. call feedkeys("\", 'xt') endif call clap#indicator#set_none() call g:clap.provider.on_typed() 1 0.000001 endif FUNCTION clap#path#project_root_or_default() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/path.vim:95 Called 1 time Total time: 0.000764 Self time: 0.000021 count total (s) self (s) 1 0.000758 0.000015 let root = clap#path#find_project_root(a:bufnr) 1 0.000005 return empty(root) ? getcwd() : root FUNCTION airline#extensions#default#apply() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/extensions/default.vim:79 Called 24 times Total time: 0.037700 Self time: 0.004277 count total (s) self (s) 24 0.000153 let winnr = a:context.winnr 24 0.000135 let active = a:context.active 24 0.000813 0.000565 if airline#util#getwinvar(winnr, 'airline_render_left', active || (!active && !g:airline_inactive_collapse)) 7 0.007509 0.000242 call s:build_sections(a:builder, a:context, s:layout[0]) 17 0.000027 else 17 0.001890 0.000299 let text = s:get_section(winnr, 'c') 17 0.000062 if empty(text) let text = ' %f%m ' 17 0.000024 endif 17 0.000446 0.000278 call a:builder.add_section('airline_c'.(a:context.bufnr), text) 24 0.000038 endif 24 0.003509 0.000797 call a:builder.split(s:get_section(winnr, 'gutter', '', '')) 24 0.000643 0.000437 if airline#util#getwinvar(winnr, 'airline_render_right', 1) 24 0.021797 0.000567 call s:build_sections(a:builder, a:context, s:layout[1]) 24 0.000035 endif 24 0.000053 return 1 FUNCTION airline#util#stl_disabled() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/util.vim:185 Called 31 times Total time: 0.003071 Self time: 0.002245 count total (s) self (s) " setting the statusline is disabled, " either globally, per window, or per buffer " w:airline_disabled is deprecated! 31 0.002920 0.002094 return get(g:, 'airline_disable_statusline', 0) || airline#util#getwinvar(a:winnr, 'airline_disable_statusline', 0) || airline#util#getwinvar(a:winnr, 'airline_disabled', 0) || airline#util#getbufvar(winbufnr(a:winnr), 'airline_disable_statusline', 0) FUNCTION 71() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/api.vim:557 Called 2 times Total time: 0.000028 Self time: 0.000019 count total (s) self (s) 2 0.000027 0.000018 return !has_key(self._(), 'source') FUNCTION 72() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/api.vim:570 Called 1 time Total time: 0.000035 Self time: 0.000031 count total (s) self (s) " The default async implementation is not doable and the provider does not " provide a source_async implementation explicitly. 1 0.000023 0.000018 if !clap#filter#async#external#has_default() && !has_key(self._(), 'source_async') return v:false 1 0.000001 else 1 0.000006 return !get(g:, 'clap_disable_optional_async', v:false) endif FUNCTION 74() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/api.vim:608 Called 1 time Total time: 0.003188 Self time: 0.000036 count total (s) self (s) 1 0.000014 0.000009 if has_key(self._(), 'init') call self._().init() 1 0.000001 else 1 0.003165 0.000016 call self.init_default_impl() 1 0.000002 endif FUNCTION 75() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/floating_win.vim:47 Called 1 time Total time: 0.066941 Self time: 0.000895 count total (s) self (s) 1 0.000027 if exists('s:display_winid') && nvim_win_is_valid(s:display_winid) return 1 0.000002 endif " Check if the buffer is still valid as when switching between the sessions, it could become invalid. 1 0.000011 if !nvim_buf_is_valid(s:display_bufnr) let s:display_bufnr = nvim_create_buf(v:false, v:true) let g:clap.display.bufnr = s:display_bufnr 1 0.000002 endif 1 0.000719 0.000042 let s:display_opts = clap#layout#calc() 1 0.065381 0.000484 silent let s:display_winid = nvim_open_win(s:display_bufnr, v:true, s:display_opts) 1 0.000166 0.000106 call setwinvar(s:display_winid, '&winhl', s:display_winhl) 1 0.000083 call matchadd('ClapNoMatchesFound', g:__clap_no_matches_pattern, 10, 1001, {'window': s:display_winid}) " call setwinvar(s:display_winid, '&winblend', 15) 1 0.000017 let g:clap.display.winid = s:display_winid " call setwinvar(s:display_winid, '&listchars', 'extends:•') " \ '&listchars': 'extends:•' " listchars would cause some troubles in some files using tab. " Is there a better solution? 1 0.000480 0.000068 call g:clap.display.setbufvar_batch({ '&wrap': 0, '&number': 0, '&relativenumber': 0, '&cursorline': 0, '&signcolumn': 'yes', '&foldcolumn': 0, }) FUNCTION 76() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/floating_win.vim:81 Called 1 time Total time: 0.000099 Self time: 0.000071 count total (s) self (s) 1 0.000014 let opts = nvim_win_get_config(s:display_winid) 1 0.000022 0.000016 if g:clap.display.line_count() < s:display_opts.height let opts.height = g:clap.display.line_count() 1 0.000001 else 1 0.000004 let opts.height = s:display_opts.height 1 0.000001 endif 1 0.000013 call nvim_win_set_config(s:display_winid, opts) 1 0.000037 0.000016 call s:try_adjust_preview() FUNCTION 78() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/floating_win.vim:127 Called 1 time Total time: 0.071438 Self time: 0.000644 count total (s) self (s) 1 0.000026 if exists('s:spinner_winid') && nvim_win_is_valid(s:spinner_winid) return 1 0.000002 endif 1 0.000026 let opts = nvim_win_get_config(s:display_winid) 1 0.000008 let opts.col += s:symbol_width 1 0.000005 let opts.row -= 1 1 0.000078 0.000033 let opts.width = clap#spinner#width() 1 0.000006 let opts.height = 1 1 0.000007 let opts.focusable = v:false 1 0.000011 if !nvim_buf_is_valid(s:spinner_bufnr) let s:spinner_bufnr = nvim_create_buf(v:false, v:true) let g:clap.spinner.bufnr = s:spinner_bufnr 1 0.000002 endif 1 0.000364 silent let s:spinner_winid = nvim_open_win(s:spinner_bufnr, v:false, opts) 1 0.000053 call setwinvar(s:spinner_winid, '&winhl', 'Normal:ClapSpinner') 1 0.070800 0.000050 call s:set_minimal_buf_style(s:spinner_bufnr, 'clap_spinner') 1 0.000012 let g:clap.spinner = get(g:clap, 'spinner', {}) 1 0.000005 let g:clap.spinner.winid = s:spinner_winid FUNCTION 45_on_focus_gained() Defined: ~/.config/nvim/plugged/vim-airline/plugin/airline.vim:85 Called 1 time Total time: 0.048850 Self time: 0.000254 count total (s) self (s) 1 0.000196 0.000118 if airline#util#try_focusgained() 1 0.048642 0.000125 unlet! w:airline_lastmode | :call airline_refresh(1) 1 0.000003 endif FUNCTION CocActionAsync() Defined: ~/.config/nvim/plugged/coc.nvim/plugin/coc.vim:32 Called 3 times Total time: 0.002373 Self time: 0.000186 count total (s) self (s) 3 0.002362 0.000174 return s:AsyncRequest('CocAction', a:000) FUNCTION 82() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/floating_win.vim:307 Called 1 time Total time: 0.000039 Self time: 0.000039 count total (s) self (s) 1 0.000016 if exists('s:preview_winid') call clap#util#nvim_win_close_safe(s:preview_winid) unlet s:preview_winid 1 0.000003 endif FUNCTION 71_SetDefaultCompletionType() Defined: ~/.config/nvim/plugged/supertab/plugin/supertab.vim:380 Called 1 time Total time: 0.000063 Self time: 0.000063 count total (s) self (s) 1 0.000036 if exists('b:SuperTabDefaultCompletionType') && (!exists('b:complCommandLine') || !b:complCommandLine) call SuperTabSetCompletionType(b:SuperTabDefaultCompletionType) 1 0.000004 endif FUNCTION 86() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/provider/files.vim:31 Called 2 times Total time: 0.000207 Self time: 0.000106 count total (s) self (s) 2 0.000126 0.000025 call clap#rooter#try_set_cwd() 2 0.000009 if has_key(g:clap.context, 'finder') let finder = g:clap.context.finder return finder.' '.join(g:clap.provider.args, ' ') 2 0.000019 elseif g:clap.provider.args == ['--hidden'] if s:default_finder ==# 'fd' || s:default_finder ==# 'rg' return join([s:default_finder, s:default_opts[s:default_finder], '--hidden'], ' ') else return s:default_source endif 2 0.000002 else 2 0.000005 return s:default_source endif FUNCTION clap#spinner#refresh() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/spinner.vim:90 Called 2 times Total time: 0.000641 Self time: 0.000022 count total (s) self (s) 2 0.000639 0.000021 call s:set_spinner() FUNCTION airline#util#wrap() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/util.vim:42 Called 79 times Total time: 0.002278 Self time: 0.002111 count total (s) self (s) 79 0.001212 0.001045 if a:minwidth > 0 && airline#util#winwidth() < a:minwidth return '' 79 0.000209 endif 79 0.000364 return a:text FUNCTION 45_airline_refresh() Defined: ~/.config/nvim/plugged/vim-airline/plugin/airline.vim:225 Called 1 time Total time: 0.048518 Self time: 0.000690 count total (s) self (s) " a:1, fast refresh, do not reload the theme 1 0.000031 let fast=!empty(get(a:000, 0, 0)) 1 0.000020 if !exists("#airline") " disabled return 1 0.000004 endif 1 0.000275 0.000054 call airline#util#doautocmd('AirlineBeforeRefresh') 1 0.001730 0.000076 call airline#highlighter#reset_hlcache() 1 0.000016 if !fast call airline#load_theme() 1 0.000005 endif 1 0.046328 0.000402 call airline#update_statusline() 1 0.000072 0.000044 call airline#update_tabline() FUNCTION 126_get_transitioned_seperator() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/builder.vim:143 Called 91 times Total time: 0.144837 Self time: 0.008175 count total (s) self (s) 91 0.000329 let line = '' 91 0.001026 if get(a:self._context, 'tabline', 0) && get(g:, 'airline#extensions#tabline#alt_sep', 0) && a:group ==# 'airline_tabsel' && a:side call airline#highlighter#add_separator(a:prev_group, a:group, 0) let line .= '%#'.a:prev_group.'_to_'.a:group.'#' let line .= a:self._context.right_sep.'%#'.a:group.'#' 91 0.000138 else 91 0.138838 0.002175 call airline#highlighter#add_separator(a:prev_group, a:group, a:side) 91 0.000925 let line .= '%#'.a:prev_group.'_to_'.a:group.'#' 91 0.000905 let line .= a:side ? a:self._context.left_sep : a:self._context.right_sep 91 0.000482 let line .= '%#'.a:group.'#' 91 0.000133 endif 91 0.000254 return line FUNCTION sy#start() Defined: ~/.config/nvim/plugged/vim-signify/autoload/sy.vim:7 Called 8 times Total time: 0.040541 Self time: 0.004758 count total (s) self (s) 8 0.000073 if g:signify_locked call sy#verbose('Locked.') return 8 0.000023 endif 8 0.000181 let bufnr = a:0 && has_key(a:1, 'bufnr') ? a:1.bufnr : bufnr('') 8 0.000119 let sy = getbufvar(bufnr, 'sy') 8 0.000062 if empty(sy) 4 0.000589 0.000130 let path = s:get_path(bufnr) 4 0.000272 0.000124 if s:skip(bufnr, path) 4 0.000341 0.000109 call sy#verbose('Skip file: '. path) 4 0.000015 return endif call sy#verbose('Register new file: '. path) let new_sy = { 'path': path, 'buffer': bufnr, 'active': 0, 'detecting': 0, 'vcs': [], 'hunks': [], 'signid': 0x100, 'updated_by': '', 'stats': [-1, -1, -1], 'info': { 'dir': fnamemodify(path, ':p:h'), 'path': sy#util#escape(path), 'file': sy#util#escape(fnamemodify(path, ':t')) }} call setbufvar(bufnr, 'sy', new_sy) if get(g:, 'signify_disable_by_default') call sy#verbose('Disabled by default.') return endif let new_sy.active = 1 call setbufvar(bufnr, 'sy', new_sy) call sy#repo#detect(bufnr) 4 0.000085 elseif has('vim_starting') call sy#verbose("Don't run Sy more than once during startup.") return 4 0.000030 elseif !sy.active call sy#verbose('Inactive buffer.') return 4 0.000039 elseif empty(sy.vcs) if get(sy, 'retry') let sy.retry = 0 call sy#verbose('Redetecting VCS.') call sy#repo#detect(sy.buffer) else if get(sy, 'detecting') call sy#verbose('Detection is already in progress.') else call sy#verbose('No VCS found. Disabling.') call sy#disable(sy.buffer) endif endif 4 0.000012 else 12 0.000167 for vcs in sy.vcs 8 0.000222 let job_id = getbufvar(sy.buffer, 'sy_job_id_'. vcs, 0) 8 0.000129 if type(job_id) != type(0) || job_id > 0 1 0.000190 0.000089 call sy#verbose('Update is already in progress.', vcs) 7 0.000022 else 7 0.001145 0.000500 call sy#verbose('Updating signs.', vcs) 7 0.035023 0.000825 call sy#repo#get_diff(sy.buffer, vcs, function('sy#sign#set_signs')) 8 0.000058 endif 12 0.000171 endfor 4 0.000014 endif FUNCTION 114_get_syn() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/highlighter.vim:37 Called 1228 times Total time: 0.109643 Self time: 0.109643 count total (s) self (s) 1228 0.008915 if !exists("g:airline_gui_mode") let g:airline_gui_mode = airline#init#gui_mode() 1228 0.001790 endif 1228 0.003957 let color = '' 1228 0.019031 if hlexists(a:group) 1138 0.024219 let color = synIDattr(synIDtrans(hlID(a:group)), a:what, g:airline_gui_mode) 1228 0.002078 endif 1228 0.007352 if empty(color) || color == -1 " should always exists 90 0.003652 let color = synIDattr(synIDtrans(hlID('Normal')), a:what, g:airline_gui_mode) " however, just in case 90 0.000581 if empty(color) || color == -1 let color = 'NONE' 90 0.000150 endif 1228 0.001652 endif 1228 0.003546 return color FUNCTION 170_set_indicator() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/indicator.vim:17 Called 1 time Total time: 0.000048 Self time: 0.000030 count total (s) self (s) 1 0.000005 if bufexists(g:__clap_indicator_bufnr) 1 0.000041 0.000023 call setbufline(g:__clap_indicator_bufnr, 1, s:padding(a:indicator)) 1 0.000001 endif FUNCTION airline#extensions#term#inactive_apply() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/extensions/term.vim:24 Called 17 times Total time: 0.000691 Self time: 0.000691 count total (s) self (s) 17 0.000148 if getbufvar(a:2.bufnr, '&buftype') == 'terminal' let spc = g:airline_symbols.space call a:1.add_section('airline_a', spc.'TERMINAL'.spc) call a:1.add_section('airline_b', spc.'%f') let neoterm_id = getbufvar(a:2.bufnr, 'neoterm_id') if neoterm_id != '' call a:1.add_section('airline_c', spc.'neoterm_'.neoterm_id.spc) endif return 1 17 0.000022 endif FUNCTION 65_notify() Defined: ~/.config/nvim/plugged/coc.nvim/autoload/coc/client.vim:137 Called 18 times Total time: 0.004577 Self time: 0.004178 count total (s) self (s) 18 0.000935 0.000537 let channel = coc#client#get_channel(self) 18 0.000113 if empty(channel) return '' 18 0.000034 endif 18 0.000058 try 18 0.000065 if s:is_vim call ch_sendraw(channel, json_encode([0, [a:method, a:args]])."\n") 18 0.000048 else 18 0.001199 call call('rpcnotify', [channel, a:method] + a:args) 18 0.000072 endif catch /.*/ if v:exception =~# 'E475' if get(g:, 'coc_vim_leaving', 0) return endif echohl Error | echom '['.self.name.'] server connection lost' | echohl None let name = self.name call s:on_exit(name, 0) execute 'silent do User ConnectionLost'.toupper(name[0]).name[1:] elseif v:exception =~# 'E12' " neovim's bug, ignore it else echohl Error | echo 'Error on notify ('.a:method.'): '.v:exception | echohl None endif 18 0.000068 endtry FUNCTION airline#builder#get_prev_group() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/builder.vim:37 Called 139 times Total time: 0.004153 Self time: 0.004153 count total (s) self (s) 139 0.000694 let x = a:i - 1 163 0.000503 while x >= 0 139 0.000821 let group = a:sections[x][0] 139 0.000777 if group != '' && group != '|' 115 0.000309 return group 24 0.000030 endif 24 0.000066 let x = x - 1 48 0.000088 endwhile 24 0.000051 return '' FUNCTION clap#rooter#try_set_cwd() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/rooter.vim:12 Called 2 times Total time: 0.000100 Self time: 0.000100 count total (s) self (s) 2 0.000018 if !exists('g:__clap_provider_cwd') && !empty(g:clap.provider.args) let dir = g:clap.provider.args[-1] if isdirectory(expand(dir)) " dir could be a relative directory, e.g., .. " We must use the absolute directory for g:__clap_provider_cwd, " otherwise s:run_from_target_dir could `lcd ..` multiple times. let save_cwd = getcwd() noautocmd execute 'lcd' dir let g:__clap_provider_cwd = getcwd() noautocmd execute 'lcd' save_cwd let g:clap.provider.args = g:clap.provider.args[:-2] endif 2 0.000002 endif FUNCTION 10_SynSet() Defined: /usr/local/share/nvim/runtime/syntax/synload.vim:33 Called 4 times Total time: 0.021248 Self time: 0.004875 count total (s) self (s) " clear syntax for :set syntax=OFF and any syntax name that doesn't exist 4 0.000175 syn clear 4 0.000028 if exists("b:current_syntax") unlet b:current_syntax 4 0.000007 endif 4 0.000030 let s = expand("") 4 0.000015 if s == "ON" " :set syntax=ON if &filetype == "" echohl ErrorMsg echo "filetype unknown" echohl None endif let s = &filetype 4 0.000013 elseif s == "OFF" let s = "" 4 0.000006 endif 4 0.000011 if s != "" " Load the syntax file(s). When there are several, separated by dots, " load each in sequence. 6 0.000055 for name in split(s, '\.') 3 0.020732 0.004359 exe "runtime! syntax/" . name . ".vim syntax/" . name . "/*.vim" 6 0.000018 endfor 4 0.000007 endif FUNCTION airline#util#getwinvar() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/util.vim:82 Called 236 times Total time: 0.002306 Self time: 0.002306 count total (s) self (s) 236 0.002085 return getwinvar(a:winnr, a:key, a:def) FUNCTION clap#exit() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap.vim:213 Called 1 time Total time: 0.005266 Self time: 0.000054 count total (s) self (s) 1 0.005238 0.000025 call clap#_exit() " NOTE: Need to go back to the start window 1 0.000012 if win_getid() != g:clap.start.winid call g:clap.start.goto_win() 1 0.000003 endif FUNCTION 137_GenericStopTimer() Defined: ~/.config/nvim/plugged/vista.vim/autoload/vista/cursor.vim:18 Called 2 times Total time: 0.000091 Self time: 0.000091 count total (s) self (s) 2 0.000089 execute 'if '.a:timer.' != -1 |'. ' call timer_stop('.a:timer.') |'. ' let 'a:timer.' = -1 |'. 'endif' FUNCTION clap#should_use_raw_cwd() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap.vim:222 Called 1 time Total time: 0.000038 Self time: 0.000024 count total (s) self (s) 1 0.000038 0.000023 return get(g:, 'clap_disable_run_rooter', v:false) || !g:clap.provider.has_enable_rooter() || getbufvar(g:clap.start.bufnr, '&bt') ==# 'terminal' FUNCTION 50_CursorHoldUpdate() Defined: ~/.config/nvim/plugged/vim-devicons/plugin/webdevicons.vim:375 Called 3 times Total time: 0.000237 Self time: 0.000237 count total (s) self (s) 3 0.000075 if g:NERDTreeUpdateOnCursorHold != 1 return 3 0.000014 endif 3 0.000082 if !exists('g:NERDTree') || !g:NERDTree.IsOpen() 3 0.000014 return endif " Do not update when a special buffer is selected if !empty(&l:buftype) return endif " winnr need to make focus go to opened file " CursorToTreeWin needed to avoid error on opening file let l:winnr = winnr() let l:altwinnr = winnr('#') call g:NERDTree.CursorToTreeWin() call b:NERDTree.root.refreshFlags() call NERDTreeRender() exec l:altwinnr . 'wincmd w' exec l:winnr . 'wincmd w' FUNCTION 108_InitColor() Defined: ~/.config/nvim/plugged/indentLine/after/plugin/indentLine.vim:35 Called 4 times Total time: 0.001200 Self time: 0.001200 count total (s) self (s) 4 0.000021 if !g:indentLine_setColors return 4 0.000007 endif 4 0.000024 let default_term_bg = "NONE" 4 0.000019 let default_gui_bg = "NONE" 4 0.000021 if &background ==# "light" let default_term_fg = 249 let default_gui_fg = "Grey70" 4 0.000007 else 4 0.000018 let default_term_fg = 239 4 0.000016 let default_gui_fg = "Grey30" 4 0.000006 endif 4 0.000020 if g:indentLine_defaultGroup != "" let default_id = synIDtrans(hlID(g:indentLine_defaultGroup)) let default_term_fg = synIDattr(default_id, "fg", "cterm") == "" ? default_term_fg : synIDattr(default_id, "fg", "cterm") let default_term_bg = synIDattr(default_id, "bg", "cterm") == "" ? default_term_bg : synIDattr(default_id, "bg", "cterm") let default_gui_fg = synIDattr(default_id, "fg", "gui") == "" ? default_gui_fg : synIDattr(default_id, "fg", "gui") let default_gui_bg = synIDattr(default_id, "bg", "gui") == "" ? default_gui_bg : synIDattr(default_id, "bg", "gui") 4 0.000006 endif 4 0.000029 if !exists("g:indentLine_color_term") 4 0.000020 let term_color = default_term_fg else let term_color = g:indentLine_color_term 4 0.000005 endif 4 0.000023 if !exists("g:indentLine_bgcolor_term") 4 0.000019 let term_bgcolor = default_term_bg else let term_bgcolor = g:indentLine_bgcolor_term 4 0.000005 endif 4 0.000023 if !exists("g:indentLine_color_gui") let gui_color = default_gui_fg 4 0.000006 else 4 0.000018 let gui_color = g:indentLine_color_gui 4 0.000006 endif 4 0.000020 if !exists("g:indentLine_bgcolor_gui") 4 0.000018 let gui_bgcolor = default_gui_bg else let gui_bgcolor = g:indentLine_bgcolor_gui 4 0.000005 endif 4 0.000236 execute "highlight Conceal cterm=NONE ctermfg=" . term_color . " ctermbg=" . term_bgcolor 4 0.000155 execute "highlight Conceal gui=NONE guifg=" . gui_color . " guibg=" . gui_bgcolor 4 0.000017 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" 4 0.000006 endif FUNCTION airline#update_statusline() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline.vim:127 Called 7 times Total time: 0.323801 Self time: 0.001618 count total (s) self (s) 7 0.001215 0.000198 if airline#util#stl_disabled(winnr()) return 7 0.000014 endif 7 0.000197 let range = filter(range(1, winnr('$')), 'v:val != winnr()') " create inactive statusline 7 0.162299 0.000228 call airline#update_statusline_inactive(range) 7 0.000053 unlet! w:airline_render_left w:airline_render_right 7 0.000278 exe 'unlet! ' 'w:airline_section_'. join(s:sections, ' w:airline_section_') " Now create the active statusline 7 0.000043 let w:airline_active = 1 7 0.000117 let context = { 'winnr': winnr(), 'active': 1, 'bufnr': winbufnr(winnr()) } 7 0.159491 0.000395 call s:invoke_funcrefs(context, g:airline_statusline_funcrefs) FUNCTION clap#job#stop() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/job.vim:8 Called 1 time Total time: 0.000036 Self time: 0.000036 count total (s) self (s) 1 0.000034 silent! call jobstop(a:job_id) FUNCTION 157_find_upwards() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/path.vim:14 Called 3 times Total time: 0.000616 Self time: 0.000574 count total (s) self (s) 3 0.000040 let fd_dir = isdirectory(a:start_dir) ? a:start_dir : fnamemodify(a:start_dir, ':h') 3 0.000022 let fd_dir_escaped = escape(fd_dir, ' ') 3 0.000049 0.000034 if s:is_dir(a:pattern) 1 0.000070 let match = finddir(a:pattern, fd_dir_escaped.';') 2 0.000002 else 2 0.000038 0.000027 let [_suffixesadd, &suffixesadd] = [&suffixesadd, ''] 2 0.000254 let match = findfile(a:pattern, fd_dir_escaped.';') 2 0.000026 0.000016 let &suffixesadd = _suffixesadd 3 0.000004 endif 3 0.000010 if empty(match) 2 0.000003 return '' 1 0.000001 endif 1 0.000016 0.000011 if s:is_dir(a:pattern) " If the directory we found (`match`) is part of the file's path " it is the project root and we return it. " " Compare with trailing path separators to avoid false positives. 1 0.000024 if stridx(fnamemodify(fd_dir, ':p'), fnamemodify(match, ':p')) == 0 return fnamemodify(match, ':p:h') " Else the directory we found (`match`) is a subdirectory of the " project root, so return match's parent. 1 0.000001 else 1 0.000012 return fnamemodify(match, ':p:h:h') endif else return fnamemodify(match, ':p:h') endif FUNCTION airline#extensions#hunks#get_raw_hunks() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/extensions/hunks.vim:61 Called 5 times Total time: 0.001118 Self time: 0.000687 count total (s) self (s) 5 0.000096 if !exists('b:source_func') || get(b:, 'source_func', '') is# 's:get_hunks_empty' if get(g:, 'loaded_signify') && sy#buffer_is_active() let b:source_func = 's:get_hunks_signify' elseif exists('*GitGutterGetHunkSummary') let b:source_func = 's:get_hunks_gitgutter' elseif exists('*changes#GetStats') let b:source_func = 's:get_hunks_changes' elseif exists('*quickfixsigns#vcsdiff#GetHunkSummary') let b:source_func = 'quickfixsigns#vcsdiff#GetHunkSummary' elseif exists("g:coc_git_status") let b:source_func = 's:get_hunks_coc' else let b:source_func = 's:get_hunks_empty' endif 5 0.000011 endif 5 0.000652 0.000221 return {b:source_func}() FUNCTION clap#state#refresh_matches_count() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/state.vim:9 Called 1 time Total time: 0.000209 Self time: 0.000054 count total (s) self (s) 1 0.000004 let l:matches_cnt = a:cnt_str 1 0.000006 if get(g:clap.display, 'initial_size', -1) > 0 1 0.000006 let l:matches_cnt .= '/'.g:clap.display.initial_size 1 0.000001 endif 1 0.000088 0.000017 call clap#indicator#set_matches('['.l:matches_cnt.']') 1 0.000100 0.000015 call clap#sign#reset_to_first_line() FUNCTION ObsessionStatus() Defined: ~/.config/nvim/plugged/vim-obsession/plugin/obsession.vim:102 Called 16 times Total time: 0.002498 Self time: 0.002498 count total (s) self (s) 16 0.000287 let args = copy(a:000) 16 0.000302 let numeric = !empty(v:this_session) + exists('g:this_obsession') 16 0.000259 if type(get(args, 0, '')) == type(0) if !remove(args, 0) return '' endif 16 0.000058 endif 16 0.000120 if empty(args) let args = ['[$]', '[S]'] 16 0.000034 endif 16 0.000136 if len(args) == 1 && numeric == 1 let fmt = args[0] 16 0.000038 else 16 0.000185 let fmt = get(args, 2-numeric, '') 16 0.000037 endif 16 0.000510 return substitute(fmt, '%s', get(['', 'Session', 'Obsession'], numeric), 'g') FUNCTION 142__goto_win() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/api.vim:13 Called 5 times Total time: 0.000106 Self time: 0.000106 count total (s) self (s) 5 0.000101 noautocmd call win_gotoid(self.winid) FUNCTION airline#update_statusline_inactive() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline.vim:156 Called 7 times Total time: 0.162071 Self time: 0.002137 count total (s) self (s) 7 0.000949 0.000157 if airline#util#stl_disabled(winnr()) return 7 0.000013 endif 24 0.000092 for nr in a:range 17 0.001572 0.000310 if airline#util#stl_disabled(nr) continue 17 0.000023 endif 17 0.000115 call setwinvar(nr, 'airline_active', 0) 17 0.000176 let context = { 'winnr': nr, 'active': 0, 'bufnr': winbufnr(nr) } 17 0.000084 if get(g:, 'airline_inactive_alt_sep', 0) call extend(context, { 'left_sep': g:airline_left_alt_sep, 'right_sep': g:airline_right_alt_sep }, 'keep') 17 0.000018 endif 17 0.158378 0.000498 call s:invoke_funcrefs(context, s:inactive_funcrefs) 24 0.000056 endfor FUNCTION 114_CheckDefined() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/highlighter.vim:132 Called 210 times Total time: 0.013473 Self time: 0.013473 count total (s) self (s) " Checks, whether the definition of the colors is valid and is not empty or NONE " e.g. if the colors would expand to this: " hi airline_c ctermfg=NONE ctermbg=NONE " that means to clear that highlighting group, therefore, fallback to Normal " highlighting group for the cterm values " This only works, if the Normal highlighting group is actually defined, so " return early, if it has been cleared 210 0.001889 if !exists("g:airline#highlighter#normal_fg_hi") let g:airline#highlighter#normal_fg_hi = synIDattr(synIDtrans(hlID('Normal')), 'fg', 'cterm') 210 0.000332 endif 210 0.002122 if empty(g:airline#highlighter#normal_fg_hi) || g:airline#highlighter#normal_fg_hi < 0 return a:colors 210 0.000297 endif 210 0.001345 for val in a:colors 210 0.001422 if !empty(val) && val !=# 'NONE' 210 0.000649 return a:colors endif endfor " this adds the bold attribute to the term argument of the :hi command, " but at least this makes sure, the group will be defined let fg = g:airline#highlighter#normal_fg_hi let bg = synIDattr(synIDtrans(hlID('Normal')), 'bg', 'cterm') if bg < 0 " in case there is no background color defined for Normal let bg = a:colors[3] endif return a:colors[0:1] + [fg, bg] + [a:colors[4]] FUNCTION clap#rooter#working_dir() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/rooter.vim:30 Called 1 time Total time: 0.000844 Self time: 0.000042 count total (s) self (s) 1 0.000005 if exists('g:__clap_provider_cwd') return g:__clap_provider_cwd 1 0.000051 0.000012 elseif clap#should_use_raw_cwd() return getcwd() 1 0.000001 else 1 0.000781 0.000017 return clap#path#project_root_or_default(g:clap.start.bufnr) endif FUNCTION clap#handler#exit() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/handler.vim:87 Called 1 time Total time: 0.005530 Self time: 0.000116 count total (s) self (s) 1 0.005389 0.000049 call clap#handler#internal_exit() 1 0.000080 0.000026 call g:clap.provider.on_exit() 1 0.000055 0.000035 silent doautocmd User ClapOnExit FUNCTION clap#handler#internal_exit() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/handler.vim:93 Called 1 time Total time: 0.005340 Self time: 0.000074 count total (s) self (s) 1 0.000030 let s:multi_select_enabled = v:false 1 0.000010 let s:support_multi_select = v:false 1 0.005295 0.000029 call clap#exit() FUNCTION airline#highlighter#highlight() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/highlighter.vim:243 Called 3 times Total time: 0.154918 Self time: 0.020937 count total (s) self (s) 3 0.000035 let bufnr = a:0 ? a:1 : '' 3 0.000042 let p = g:airline#themes#{g:airline_theme}#palette " draw the base mode, followed by any overrides 3 0.000093 let mapped = map(a:modes, 'v:val == a:modes[0] ? v:val : a:modes[0]."_".v:val') 3 0.000031 let suffix = a:modes[0] == 'inactive' ? '_inactive' : '' 3 0.000023 let airline_grouplist = [] 3 0.000056 let buffers_in_tabpage = sort(tabpagebuflist()) 3 0.000026 if exists("*uniq") 3 0.000034 let buffers_in_tabpage = uniq(buffers_in_tabpage) 3 0.000007 endif " mapped might be something like ['normal', 'normal_modified'] " if a group is in both modes available, only define the second " that is how this was done previously overwrite the previous definition 6 0.000046 for mode in reverse(mapped) 3 0.000059 if exists('g:airline#themes#{g:airline_theme}#palette[mode]') 2 0.000021 let dict = g:airline#themes#{g:airline_theme}#palette[mode] 63 0.000402 for kvp in items(dict) 61 0.000372 let mode_colors = kvp[1] 61 0.000294 let name = kvp[0] 61 0.000491 if name is# 'airline_c' && !empty(bufnr) && suffix is# '_inactive' 1 0.000003 let name = 'airline_c'.bufnr 61 0.000096 endif " do not re-create highlighting for buffers that are no longer visible " in the current tabpage 61 0.001280 if name =~# 'airline_c\d\+' 28 0.000670 let bnr = matchstr(name, 'airline_c\zs\d\+') + 0 28 0.000288 if bnr > 0 && index(buffers_in_tabpage, bnr) == -1 21 0.000057 continue 7 0.000007 endif 33 0.000530 elseif (name =~# '_to_') || (name[0:10] is# 'airline_tab' && !empty(suffix)) " group will be redefined below at exec_separator " or is not needed for tabline with '_inactive' suffix " since active flag is 1 for builder) 16 0.000040 continue 24 0.000034 endif 24 0.001287 0.000671 if s:group_not_done(airline_grouplist, name.suffix) 24 0.018141 0.000662 call airline#highlighter#exec(name.suffix, mode_colors) 24 0.000048 endif 24 0.000164 if !has_key(p, 'accents') " work around a broken installation " shouldn't actually happen, p should always contain accents continue 24 0.000039 endif 72 0.000426 for accent in keys(s:accents) 48 0.000354 if !has_key(p.accents, accent) continue 48 0.000065 endif 48 0.000514 let colors = copy(mode_colors) 48 0.000376 if p.accents[accent][0] != '' 24 0.000192 let colors[0] = p.accents[accent][0] 48 0.000072 endif 48 0.000272 if p.accents[accent][2] != '' let colors[2] = p.accents[accent][2] 48 0.000086 endif 48 0.000243 if len(colors) >= 5 48 0.000484 let colors[4] = get(p.accents[accent], 4, '') else call add(colors, get(p.accents[accent], 4, '')) 48 0.000064 endif 48 0.002543 0.001407 if s:group_not_done(airline_grouplist, name.suffix.'_'.accent) 48 0.035576 0.001412 call airline#highlighter#exec(name.suffix.'_'.accent, colors) 48 0.000092 endif 72 0.000186 endfor 26 0.000050 endfor 2 0.000012 if empty(s:separators) " nothing to be done continue 2 0.000003 endif " TODO: optimize this 46 0.000268 for sep in items(s:separators) " we cannot check, that the group already exists, else the separators " might not be correctly defined. But perhaps we can skip above groups " that match the '_to_' name, because they would be redefined here... 44 0.082313 0.001726 call exec_separator(dict, sep[1][0], sep[1][1], sep[1][2], suffix) 46 0.000112 endfor 3 0.000006 endif 6 0.000033 endfor FUNCTION coc#rpc#ready() Defined: ~/.config/nvim/plugged/coc.nvim/autoload/coc/rpc.vim:31 Called 18 times Total time: 0.000541 Self time: 0.000541 count total (s) self (s) 18 0.000310 if empty(s:client) || s:client['running'] == 0 return 0 18 0.000040 endif 18 0.000058 return 1 FUNCTION clap#handler#relaunch_is_ok() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/handler.vim:17 Called 1 time Total time: 0.000051 Self time: 0.000024 count total (s) self (s) 1 0.000041 0.000014 if g:clap.input.get() ==# g:clap_providers_relaunch_code call clap#handler#relaunch_providers() return v:true 1 0.000001 endif 1 0.000002 return v:false FUNCTION airline#parts#ffenc() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/parts.vim:108 Called 7 times Total time: 0.000584 Self time: 0.000584 count total (s) self (s) 7 0.000075 let expected = get(g:, 'airline#parts#ffenc#skip_expected_string', '') 7 0.000063 let bomb = &l:bomb ? '[BOM]' : '' 7 0.000180 let ff = strlen(&ff) ? '['.&ff.']' : '' 7 0.000114 if expected is# &fenc.bomb.ff return '' 7 0.000017 else 7 0.000084 return &fenc.bomb.ff endif FUNCTION airline#util#ignore_buf() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/util.vim:136 Called 16 times Total time: 0.002485 Self time: 0.002485 count total (s) self (s) 16 0.000478 let pat = '\c\v'. get(g:, 'airline#ignore_bufadd_pat', ''). get(g:, 'airline#extensions#tabline#ignore_bufadd_pat', '!|defx|gundo|nerd_tree|startify|tagbar|term://|undotree|vimfiler') 16 0.001939 return match(a:name, pat) > -1 FUNCTION 121_get_wordcount() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/extensions/wordcount.vim:8 Called 1 time Total time: 0.000010 Self time: 0.000010 count total (s) self (s) 1 0.000007 if get(g:, 'actual_curbuf', '') != bufnr('') 1 0.000002 return endif let query = a:visual_mode_active ? 'visual_words' : 'words' return get(wordcount(), query, 0) FUNCTION WebDevIconsGetFileTypeSymbol() Defined: ~/.config/nvim/plugged/vim-devicons/plugin/webdevicons.vim:469 Called 16 times Total time: 0.013535 Self time: 0.012909 count total (s) self (s) 16 0.000105 if a:0 == 0 16 0.000288 let fileNodeExtension = expand('%:e') 16 0.000185 let fileNode = expand('%:t') 16 0.000128 let isDirectory = 0 else let fileNodeExtension = fnamemodify(a:1, ':e') let fileNode = fnamemodify(a:1, ':t') if a:0 > 1 let isDirectory = a:2 else let isDirectory = 0 endif 16 0.000035 endif 16 0.000154 if isDirectory == 0 || g:DevIconsEnableFolderPatternMatching 16 0.000190 let symbol = g:WebDevIconsUnicodeDecorateFileNodesDefaultSymbol 16 0.000209 let fileNodeExtension = tolower(fileNodeExtension) 16 0.000165 let fileNode = tolower(fileNode) 160 0.001701 for [pattern, glyph] in items(g:WebDevIconsUnicodeDecorateFileNodesPatternSymbols) 144 0.004080 if match(fileNode, pattern) != -1 let symbol = glyph break 144 0.000264 endif 160 0.000401 endfor 16 0.000204 if symbol == g:WebDevIconsUnicodeDecorateFileNodesDefaultSymbol 16 0.000231 if has_key(g:WebDevIconsUnicodeDecorateFileNodesExactSymbols, fileNode) let symbol = g:WebDevIconsUnicodeDecorateFileNodesExactSymbols[fileNode] 16 0.000422 elseif ((isDirectory == 1 && g:DevIconsEnableFolderExtensionPatternMatching) || isDirectory == 0) && has_key(g:WebDevIconsUnicodeDecorateFileNodesExtensionSymbols, fileNodeExtension) 16 0.000252 let symbol = g:WebDevIconsUnicodeDecorateFileNodesExtensionSymbols[fileNodeExtension] elseif isDirectory == 1 let symbol = g:WebDevIconsUnicodeDecorateFolderNodesDefaultSymbol 16 0.000038 endif 16 0.000040 endif else let symbol = g:WebDevIconsUnicodeDecorateFolderNodesDefaultSymbol 16 0.000037 endif 16 0.001346 0.000719 let artifactFix = s:DevIconsGetArtifactFix() 16 0.000132 return symbol . artifactFix FUNCTION airline#extensions#wordcount#formatters#default#update_fmt() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/extensions/wordcount/formatters/default.vim:6 Called 7 times Total time: 0.000235 Self time: 0.000235 count total (s) self (s) 7 0.000102 let s:fmt = get(g:, 'airline#extensions#wordcount#formatter#default#fmt', '%s words') 7 0.000118 let s:fmt_short = get(g:, 'airline#extensions#wordcount#formatter#default#fmt_short', s:fmt == '%s words' ? '%sW' : s:fmt) FUNCTION airline#update_tabline() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline.vim:273 Called 7 times Total time: 0.000142 Self time: 0.000142 count total (s) self (s) 7 0.000068 if get(g:, 'airline_statusline_ontop', 0) call airline#extensions#tabline#redraw() 7 0.000014 endif FUNCTION airline#parts#get() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/parts.vim:49 Called 5 times Total time: 0.000088 Self time: 0.000088 count total (s) self (s) 5 0.000079 return get(s:parts, a:key, {}) FUNCTION sy#highlight#line_disable() Defined: ~/.config/nvim/plugged/vim-signify/autoload/sy/highlight.vim:41 Called 7 times Total time: 0.001165 Self time: 0.001165 count total (s) self (s) 7 0.000447 execute 'sign define SignifyAdd text='. s:sign_add 'texthl=SignifySignAdd linehl=' 7 0.000353 execute 'sign define SignifyChange text='. s:sign_change 'texthl=SignifySignChange linehl=' 7 0.000202 execute 'sign define SignifyRemoveFirstLine text='. s:sign_delete_first_line 'texthl=SignifySignDeleteFirstLine linehl=' 7 0.000108 let g:signify_line_highlight = 0 FUNCTION 57_SetUpForNewFiletype() Defined: ~/.config/nvim/plugged/nerdcommenter/plugin/NERD_commenter.vim:526 Called 3 times Total time: 0.000569 Self time: 0.000352 count total (s) self (s) 3 0.000013 let filetype = a:filetype "for compound filetypes, if we don't know how to handle the full filetype "then break it down and use the first part that we know how to handle 3 0.000027 if filetype =~# '\.' && !has_key(s:delimiterMap, filetype) let filetypes = split(a:filetype, '\.') for i in filetypes if has_key(s:delimiterMap, i) let filetype = i break endif endfor 3 0.000004 endif 3 0.000013 let b:NERDSexyComMarker = '' 3 0.000018 if has_key(s:delimiterMap, filetype) let b:NERDCommenterDelims = s:delimiterMap[filetype] for i in ['left', 'leftAlt', 'right', 'rightAlt'] if !has_key(b:NERDCommenterDelims, i) let b:NERDCommenterDelims[i] = '' endif endfor for i in ['nested', 'nestedAlt'] if !has_key(b:NERDCommenterDelims, i) let b:NERDCommenterDelims[i] = 0 endif endfor " if g:NERD__alt_style is defined, use the alternate style let b:NERDCommenterFirstInit = getbufvar(1,'NERDCommenterFirstInit') if exists('g:NERDAltDelims_'.filetype) && eval('g:NERDAltDelims_'.filetype) && !b:NERDCommenterFirstInit call s:SwitchToAlternativeDelimiters(0) let b:NERDCommenterFirstInit = 1 endif 3 0.000004 else 3 0.000282 0.000065 let b:NERDCommenterDelims = s:CreateDelimMapFromCms() 3 0.000005 endif FUNCTION airline#extensions#prepend_to_section() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/extensions.vim:57 Called 2 times Total time: 0.000087 Self time: 0.000050 count total (s) self (s) 2 0.000067 0.000030 call check_defined_section(a:name) 2 0.000018 let w:airline_section_{a:name} = a:value . w:airline_section_{a:name} FUNCTION airline#parts#paste() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/parts.vim:63 Called 5 times Total time: 0.000082 Self time: 0.000082 count total (s) self (s) 5 0.000070 return g:airline_detect_paste && &paste ? g:airline_symbols.paste : '' FUNCTION 149_calc() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/layout.vim:29 Called 4 times Total time: 0.000243 Self time: 0.000243 count total (s) self (s) 4 0.000047 if type(a:size) == v:t_number return a:size 4 0.000078 elseif a:size =~# '%$' 4 0.000085 return eval(a:size[:-2].'*'.a:origin.'/100') else call g:clap.abort(printf('Invalid value %s for g:clap_layout, allowed: Number or "Number%"', a:size)) endif FUNCTION 127_add_section() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/extensions/default.vim:47 Called 107 times Total time: 0.023465 Self time: 0.008609 count total (s) self (s) 107 0.001315 let condition = (a:key is# "warning" || a:key is# "error") && (v:version == 704 && !has("patch1511")) " i have no idea why the warning section needs special treatment, but it's " needed to prevent separators from showing up 107 0.003154 0.001441 if ((a:key == 'error' || a:key == 'warning') && empty(s:get_section(a:context.winnr, a:key))) 9 0.000019 return 98 0.000139 endif 98 0.000255 if condition call a:builder.add_raw('%(') 98 0.000135 endif 98 0.016370 0.003227 call a:builder.add_section('airline_'.a:key, s:get_section(a:context.winnr, a:key)) 98 0.000276 if condition call a:builder.add_raw('%)') 98 0.000150 endif FUNCTION 150_fill_in_placeholders() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/spinner.vim:19 Called 6 times Total time: 0.000322 Self time: 0.000322 count total (s) self (s) 6 0.000022 let l:prompt = a:prompt_format 6 0.000024 let l:provider_id = g:clap.provider.id " Replace special markers with certain information. " \=l:variable is used to avoid escaping issues. 6 0.000078 let l:prompt = substitute(l:prompt, '\V%spinner%', '\=s:spinner', 'g') 6 0.000083 let l:prompt = substitute(l:prompt, '\V%forerunner_status%', '\=g:__clap_current_forerunner_status', 'g') 6 0.000066 let l:prompt = substitute(l:prompt, '\V%provider_id%', '\=l:provider_id', 'g') 6 0.000013 return l:prompt FUNCTION airline#update_statusline_focuslost() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline.vim:146 Called 1 time Total time: 0.000106 Self time: 0.000106 count total (s) self (s) 1 0.000038 if get(g:, 'airline_focuslost_inactive', 0) let bufnr=bufnr('%') call airline#highlighter#highlight_modified_inactive(bufnr) call airline#highlighter#highlight(['inactive'], bufnr) call airline#update_statusline_inactive(range(1, winnr('$'))) 1 0.000005 endif FUNCTION airline#parts#readonly() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/parts.vim:89 Called 16 times Total time: 0.004113 Self time: 0.001628 count total (s) self (s) " only consider regular buffers (e.g. ones that represent actual files, " but not special ones like e.g. NERDTree) 16 0.003430 0.000945 if !empty(&buftype) || airline#util#ignore_buf(bufname('%')) return '' 16 0.000041 endif 16 0.000172 if &readonly && !filereadable(bufname('%')) return '[noperm]' 16 0.000041 else 16 0.000139 return &readonly ? g:airline_symbols.readonly : '' endif FUNCTION airline#extensions#virtualenv#apply() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/extensions/virtualenv.vim:13 Called 7 times Total time: 0.000511 Self time: 0.000511 count total (s) self (s) 7 0.000112 if &filetype =~# "python" 2 0.000031 if get(g:, 'virtualenv_loaded', 0) let statusline = virtualenv#statusline() 2 0.000008 else 2 0.000060 let statusline = fnamemodify($VIRTUAL_ENV, ':t') 2 0.000008 endif 2 0.000021 if !empty(statusline) call airline#extensions#append_to_section('x', s:spc.g:airline_right_alt_sep.s:spc.statusline) 2 0.000007 endif 7 0.000013 endif FUNCTION airline#extensions#obsession#get_status() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/extensions/obsession.vim:21 Called 16 times Total time: 0.003202 Self time: 0.000704 count total (s) self (s) 16 0.003162 0.000664 return ObsessionStatus((g:airline#extensions#obsession#indicator_text . s:spc), '') FUNCTION airline#highlighter#exec() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/highlighter.vim:104 Called 210 times Total time: 0.138262 Self time: 0.036387 count total (s) self (s) 210 0.000950 if pumvisible() return 210 0.000315 endif 210 0.000971 let colors = a:colors 210 0.000714 if s:is_win32term let colors[2] = s:gui2cui(get(colors, 0, ''), get(colors, 2, '')) let colors[3] = s:gui2cui(get(colors, 1, ''), get(colors, 3, '')) 210 0.000290 endif 210 0.084041 0.005204 let old_hi = airline#highlighter#get_highlight(a:group) 210 0.001140 if len(colors) == 4 135 0.000846 call add(colors, '') 210 0.000315 endif 210 0.000874 if g:airline_gui_mode ==# 'gui' 210 0.002359 let new_hi = [colors[0], colors[1], '', '', colors[4]] else let new_hi = ['', '', printf("%s", colors[2]), printf("%s", colors[3]), colors[4]] 210 0.000307 endif 210 0.017799 0.004325 let colors = s:CheckDefined(colors) 210 0.014434 0.005010 if old_hi != new_hi || !s:hl_group_exists(a:group) 1 0.000157 0.000017 let cmd = printf('hi %s%s', a:group, s:GetHiCmd(colors)) 1 0.000035 exe cmd 1 0.000006 if has_key(s:hl_groups, a:group) 1 0.000005 let s:hl_groups[a:group] = colors 1 0.000001 endif 210 0.000289 endif FUNCTION vista#sidebar#IsOpen() Defined: ~/.config/nvim/plugged/vista.vim/autoload/vista/sidebar.vim:128 Called 1 time Total time: 0.000078 Self time: 0.000078 count total (s) self (s) 1 0.000077 return bufwinnr('__vista__') != -1 FUNCTION 7_LoadFTPlugin() Defined: /usr/local/share/nvim/runtime/ftplugin.vim:14 Called 3 times Total time: 0.008560 Self time: 0.008407 count total (s) self (s) 3 0.000028 if exists("b:undo_ftplugin") exe b:undo_ftplugin unlet! b:undo_ftplugin b:did_ftplugin 3 0.000005 endif 3 0.000030 let s = expand("") 3 0.000013 if s != "" 2 0.000053 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 2 0.000004 endif " When there is a dot it is used to separate filetype names. Thus for " "aaa.bbb" load "aaa" and then "bbb". 4 0.000041 for name in split(s, '\.') 2 0.008243 0.008090 exe 'runtime! ftplugin/' . name . '.vim ftplugin/' . name . '_*.vim ftplugin/' . name . '/*.vim' 4 0.000015 endfor 3 0.000007 endif FUNCTION 193_initialize_job() Defined: ~/.config/nvim/plugged/vim-signify/autoload/sy/repo.vim:444 Called 7 times Total time: 0.004889 Self time: 0.000689 count total (s) self (s) 7 0.004841 0.000641 return s:wrap_cmd(a:bufnr, a:vcs, s:get_base_cmd(a:bufnr, a:vcs, g:signify_vcs_cmds)) FUNCTION 149_user_layout() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/layout.vim:40 Called 1 time Total time: 0.000513 Self time: 0.000269 count total (s) self (s) 1 0.000035 let layout = extend(copy(s:default_layout), g:clap_layout) 1 0.000016 if has_key(layout, 'relative') && layout.relative ==# 'editor' 1 0.000018 let [width, height] = [&columns, &lines] 1 0.000011 let opts = {'relative': 'editor'} else let [width, height] = [winwidth(g:clap.start.winid), winheight(g:clap.start.winid)] let opts = {'relative': 'win', 'win': g:clap.start.winid} 1 0.000002 endif 1 0.000396 0.000153 return extend(opts, { 'width': s:calc(width, layout.width), 'height': s:calc(height, layout.height), 'row': s:calc(height, layout.row), 'col': s:calc(width, layout.col), }) FUNCTION clap#icon#add_head_hl_groups() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/icon.vim:287 Called 1 time Total time: 0.015301 Self time: 0.000019 count total (s) self (s) 1 0.015300 0.000018 return s:generic_hi_icons(v:true) FUNCTION clap#highlight#clear() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/highlight.vim:73 Called 1 time Total time: 0.000073 Self time: 0.000029 count total (s) self (s) 1 0.000030 0.000010 call g:clap.display.goto_win() 1 0.000019 0.000008 call g:clap.display.matchdelete() 1 0.000024 0.000010 call g:clap.input.goto_win() FUNCTION 149_validate() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/layout.vim:21 Called 1 time Total time: 0.000076 Self time: 0.000076 count total (s) self (s) 2 0.000021 for key in keys(a:layout) 1 0.000017 if index(s:layout_keys, key) < 0 call g:clap.abort('Invalid entry: '.key.' for g:clap_layout') 1 0.000002 endif 2 0.000006 endfor FUNCTION clap#util#nvim_buf_clear() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/util.vim:76 Called 2 times Total time: 0.000360 Self time: 0.000360 count total (s) self (s) 2 0.000356 call nvim_buf_set_lines(a:bufnr, 0, -1, 0, []) FUNCTION sy#repo#get_stats() Defined: ~/.config/nvim/plugged/vim-signify/autoload/sy/repo.vim:232 Called 5 times Total time: 0.000203 Self time: 0.000203 count total (s) self (s) 5 0.000112 let sy = getbufvar(a:0 ? a:1 : bufnr(''), 'sy') 5 0.000076 return empty(sy) ? [-1, -1, -1] : sy.stats FUNCTION airline#builder#should_change_group() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/builder.vim:130 Called 67 times Total time: 0.052597 Self time: 0.004793 count total (s) self (s) 67 0.000391 if a:group1 == a:group2 return 0 67 0.000094 endif 67 0.026113 0.001541 let color1 = airline#highlighter#get_highlight(a:group1) 67 0.024804 0.001572 let color2 = airline#highlighter#get_highlight(a:group2) 67 0.000270 if g:airline_gui_mode ==# 'gui' 67 0.000572 return color1[1] != color2[1] || color1[0] != color2[0] else return color1[3] != color2[3] || color1[2] != color2[2] endif FUNCTION 193_handle_diff() Defined: ~/.config/nvim/plugged/vim-signify/autoload/sy/repo.vim:116 Called 7 times Total time: 0.013893 Self time: 0.002540 count total (s) self (s) 7 0.000649 0.000230 call sy#verbose('s:handle_diff()', a:options.vcs) 7 0.000073 if has_key(a:options, 'tempfiles') for f in a:options.tempfiles call delete(f) endfor 7 0.000015 endif 7 0.000111 let sy = getbufvar(a:options.bufnr, 'sy') 7 0.000047 if empty(sy) call sy#verbose(printf('No b:sy found for %s', bufname(a:options.bufnr)), a:options.vcs) return 7 0.000087 elseif !empty(sy.updated_by) && sy.updated_by != a:options.vcs call sy#verbose(printf('Signs already got updated by %s.', sy.updated_by), a:options.vcs) return 7 0.000060 elseif empty(sy.vcs) && sy.active let sy.detecting -= 1 7 0.000014 endif 7 0.000160 let fenc = getbufvar(a:options.bufnr, '&fenc') 7 0.000128 let enc = getbufvar(a:options.bufnr, '&enc') 7 0.000065 if (fenc != enc) && has('iconv') call map(a:options.stdoutbuf, printf('iconv(v:val, "%s", "%s")', fenc, enc)) 7 0.000014 endif 7 0.000419 0.000325 let [found_diff, diff] = s:check_diff_{a:options.difftool}(a:exitval, a:options.stdoutbuf) 7 0.000030 if found_diff 7 0.000083 if index(sy.vcs, a:options.vcs) == -1 let sy.vcs += [a:options.vcs] 7 0.000016 endif 7 0.011073 0.000233 call a:options.func(sy, a:options.vcs, diff) else call sy#verbose('No valid diff found. Disabling this VCS.', a:options.vcs) 7 0.000015 endif 7 0.000138 call setbufvar(a:options.bufnr, 'sy_job_id_'.a:options.vcs, 0) FUNCTION 50_getDistro() Defined: ~/.config/nvim/plugged/vim-devicons/plugin/webdevicons.vim:94 Called 16 times Total time: 0.000293 Self time: 0.000293 count total (s) self (s) 16 0.000168 if exists('s:distro') 16 0.000079 return s:distro endif if executable('lsb_release') let s:lsb = system('lsb_release -i') if s:lsb =~# 'Arch' let s:distro = '' elseif s:lsb =~# 'Ubuntu' let s:distro = '' elseif s:lsb =~# 'Cent' let s:distro = '' elseif s:lsb =~# 'Debian' let s:distro = '' elseif s:lsb =~# 'Dock' let s:distro = '' else let s:distro = '' endif return s:distro endif let s:distro = '' return s:distro FUNCTION clap#util#nvim_win_close_safe() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/util.vim:93 Called 4 times Total time: 0.001382 Self time: 0.001382 count total (s) self (s) 4 0.000082 if nvim_win_is_valid(a:winid) 4 0.001242 call nvim_win_close(a:winid, v:true) 4 0.000038 endif FUNCTION 143_set_minimal_buf_style() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/floating_win.vim:102 Called 2 times Total time: 0.112677 Self time: 0.000099 count total (s) self (s) 2 0.112608 0.000047 call setbufvar(a:bufnr, '&filetype', a:filetype) 2 0.000037 0.000025 call setbufvar(a:bufnr, '&signcolumn', 'no') 2 0.000028 0.000022 call setbufvar(a:bufnr, '&foldcolumn', 0) FUNCTION sy#sign#process_diff() Defined: ~/.config/nvim/plugged/vim-signify/autoload/sy/sign.vim:52 Called 7 times Total time: 0.007829 Self time: 0.003785 count total (s) self (s) 7 0.000095 let a:sy.signtable = {} 7 0.000077 let a:sy.hunks = [] 7 0.000114 let [added, modified, deleted] = [0, 0, 0] 7 0.003958 0.000286 call sy#sign#get_current_signs(a:sy) " Determine where we have to put our signs. 7 0.000215 for line in filter(a:diff, 'v:val =~ "^@@ "') let a:sy.lines = [] let ids = [] let [old_line, old_count, new_line, new_count] = sy#sign#parse_hunk(line) " Workaround for non-conventional diff output in older Fossil versions: " https://fossil-scm.org/forum/forumpost/834ce0f1e1 " Fixed as of: https://fossil-scm.org/index.html/info/7fd2a3652ea7368a if a:vcs == 'fossil' && new_line == 0 let new_line = old_line - 1 - deleted endif " Pure add: " @@ -5,0 +6,2 @@ this is line 5 " +this is line 5 " +this is line 5 if (old_count == 0) && (new_count >= 1) let added += new_count let offset = 0 while offset < new_count let line = new_line + offset let offset += 1 if s:external_sign_present(a:sy, line) | continue | endif call add(ids, s:add_sign(a:sy, line, 'SignifyAdd')) endwhile " Pure delete " @@ -6,2 +5,0 @@ this is line 5 " -this is line 6 " -this is line 7 elseif (old_count >= 1) && (new_count == 0) if s:external_sign_present(a:sy, new_line) | continue | endif let deleted += old_count if new_line == 0 call add(ids, s:add_sign(a:sy, 1, 'SignifyRemoveFirstLine')) elseif s:sign_show_count let text = s:sign_delete . (old_count <= 99 ? old_count : '>') while strwidth(text) > 2 let text = substitute(text, '.', '', '') endwhile call add(ids, s:add_sign(a:sy, new_line, 'SignifyDelete'. old_count, text)) else call add(ids, s:add_sign(a:sy, new_line, 'SignifyDeleteMore', s:sign_delete)) endif " There are additions and deletions, however we don't know which lines are " 'changed' and which are new so we just show the whole block as changed. " " With sufficiently smart heuristics we could see which lines are the most " dissimilar to the previous lines and mark them as additions but for now " we will not do that. else let modified += old_count let offset = 0 while offset < new_count let line = new_line + offset let offset += 1 if s:external_sign_present(a:sy, line) | continue | endif call add(ids, s:add_sign(a:sy, line, 'SignifyChange')) endwhile endif if !empty(ids) call add(a:sy.hunks, { 'ids' : ids, 'start': a:sy.lines[0], 'end' : a:sy.lines[-1] }) endif 7 0.000066 endfor " Remove obsoleted signs. 7 0.000139 for line in filter(keys(a:sy.internal), '!has_key(a:sy.signtable, v:val)') execute 'sign unplace' a:sy.internal[line].id 'buffer='.a:sy.buffer 7 0.000020 endfor 7 0.000090 if empty(a:sy.updated_by) && empty(a:sy.hunks) 7 0.000649 0.000277 call sy#verbose('Successful exit value, but no diff. Keep VCS for time being.', a:vcs) 7 0.000026 return endif call sy#verbose('Signs updated.', a:vcs) let a:sy.updated_by = a:vcs if len(a:sy.vcs) > 1 call sy#verbose('Disable all other VCS.', a:vcs) let a:sy.vcs = [a:vcs] endif let a:sy.stats = [added, modified, deleted] FUNCTION clap#spinner#init() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/spinner.vim:117 Called 1 time Total time: 0.000327 Self time: 0.000012 count total (s) self (s) 1 0.000327 0.000012 call s:set_spinner() FUNCTION 121_update_wordcount() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/extensions/wordcount.vim:66 Called 1 time Total time: 0.000139 Self time: 0.000042 count total (s) self (s) 1 0.000023 0.000014 let wordcount = s:get_wordcount(0) 1 0.000005 if wordcount != s:wordcount_cache || a:force_update 1 0.000004 let s:wordcount_cache = wordcount 1 0.000104 0.000016 let b:airline_wordcount = s:format_wordcount(wordcount) 1 0.000001 endif FUNCTION 87_SetupPasta() Defined: ~/.config/nvim/plugged/vim-pasta/plugin/pasta.vim:42 Called 3 times Total time: 0.000569 Self time: 0.000569 count total (s) self (s) 3 0.000018 if exists("g:pasta_enabled_filetypes") if index(g:pasta_enabled_filetypes, &ft) == -1 return endif 3 0.000051 elseif exists("g:pasta_disabled_filetypes") && index(g:pasta_disabled_filetypes, &ft) != -1 return 3 0.000003 endif 3 0.000207 exe "nmap " . g:pasta_paste_before_mapping . " BeforePasta" 3 0.000090 exe "xmap " . g:pasta_paste_before_mapping . " VisualPasta" 3 0.000082 exe "nmap " . g:pasta_paste_after_mapping . " AfterPasta" 3 0.000081 exe "xmap " . g:pasta_paste_after_mapping . " VisualPasta" FUNCTION sy#util#refresh_windows() Defined: ~/.config/nvim/plugged/vim-signify/autoload/sy/util.vim:26 Called 1 time Total time: 0.013800 Self time: 0.000303 count total (s) self (s) 1 0.000015 if exists('*win_getid') 1 0.000015 let winid = win_getid() else let winnr = winnr() 1 0.000003 endif 1 0.000013 if !get(g:, 'signify_cmdwin_active') 2 0.000032 for bufnr in tabpagebuflist() 1 0.013594 0.000098 call sy#start({'bufnr': bufnr}) 2 0.000020 endfor 1 0.000004 endif 1 0.000016 if exists('winid') 1 0.000018 call win_gotoid(winid) else execute winnr .'wincmd w' 1 0.000004 endif FUNCTION 155_on_complete_common() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/forerunner.vim:9 Called 1 time Total time: 0.000956 Self time: 0.000113 count total (s) self (s) 1 0.000046 0.000014 if empty(g:clap.input.get()) 1 0.000197 0.000023 call g:clap.display.set_lines_lazy(a:lines) 1 0.000121 0.000023 call g:clap#display_win.shrink_if_undersize() 1 0.000001 endif 1 0.000005 let g:clap.display.initial_size = a:initial_size 1 0.000229 0.000020 call clap#state#refresh_matches_count(string(a:initial_size)) 1 0.000011 let g:__clap_current_forerunner_status = g:clap_forerunner_status_sign.done 1 0.000341 0.000012 call clap#spinner#refresh() FUNCTION airline#parts#spell() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/parts.vim:67 Called 5 times Total time: 0.000569 Self time: 0.000569 count total (s) self (s) 5 0.000219 let spelllang = g:airline_detect_spelllang ? printf(" [%s]", toupper(substitute(&spelllang, ',', '/', 'g'))) : '' 5 0.000047 if g:airline_detect_spell && &spell let winwidth = airline#util#winwidth() if winwidth >= 90 return g:airline_symbols.spell . spelllang elseif winwidth >= 70 return g:airline_symbols.spell else return split(g:airline_symbols.spell, '\zs')[0] endif 5 0.000011 endif 5 0.000019 return '' FUNCTION sy#repo#get_diff() Defined: ~/.config/nvim/plugged/vim-signify/autoload/sy/repo.vim:72 Called 7 times Total time: 0.034198 Self time: 0.028863 count total (s) self (s) 7 0.000751 0.000304 call sy#verbose('sy#repo#get_diff()', a:vcs) 7 0.000151 let job_id = getbufvar(a:bufnr, 'sy_job_id_'.a:vcs) 7 0.000114 if getbufvar(a:bufnr, '&modified') let [cmd, options] = s:initialize_buffer_job(a:bufnr, a:vcs) let options.difftool = 'diff' 7 0.000021 else 7 0.005264 0.000376 let [cmd, options] = s:initialize_job(a:bufnr, a:vcs) 7 0.000084 let options.difftool = a:vcs 7 0.000019 endif 7 0.000064 let options.func = a:func 7 0.000084 if has('nvim') 7 0.000037 if job_id silent! call jobstop(job_id) 7 0.000020 endif 7 0.025784 let job_id = jobstart(cmd, extend(options, { 'cwd': getbufvar(a:bufnr, 'sy').info.dir, 'on_stdout': function('s:callback_nvim_stdout'), 'on_exit': function('s:callback_nvim_exit'), })) 7 0.000345 call setbufvar(a:bufnr, 'sy_job_id_'.a:vcs, job_id) elseif has('patch-8.0.902') if type(job_id) != type(0) silent! call job_stop(job_id) endif let opts = { 'cwd': getbufvar(a:bufnr, 'sy').info.dir, 'in_io': 'null', 'out_cb': function('s:callback_vim_stdout', options), 'close_cb': function('s:callback_vim_close', options), } let job_id = job_start(cmd, opts) call setbufvar(a:bufnr, 'sy_job_id_'.a:vcs, job_id) else let options.stdoutbuf = split(s:run(a:vcs), '\n') call s:handle_diff(options, v:shell_error) 7 0.000026 endif FUNCTION 128_get_path() Defined: ~/.config/nvim/plugged/vim-signify/autoload/sy.vim:139 Called 4 times Total time: 0.000459 Self time: 0.000459 count total (s) self (s) 4 0.000304 let path = resolve(fnamemodify(bufname(a:bufnr), ':p')) 4 0.000072 if has('win32') let path = substitute(path, '\v^(\w):\\\\', '\1:\\', '') 4 0.000010 endif 4 0.000019 return path FUNCTION 193_wrap_cmd() Defined: ~/.config/nvim/plugged/vim-signify/autoload/sy/repo.vim:465 Called 7 times Total time: 0.001135 Self time: 0.001135 count total (s) self (s) 7 0.000133 if has('win32') if has('nvim') let cmd = &shell =~ '\v%(cmd|powershell)' ? a:cmd : ['sh', '-c', a:cmd] else if &shell =~ 'cmd' let cmd = join([&shell, &shellcmdflag, '(', a:cmd, ')']) elseif empty(&shellxquote) let cmd = join([&shell, &shellcmdflag, &shellquote, a:cmd, &shellquote]) else let cmd = join([&shell, &shellcmdflag, &shellxquote, a:cmd, &shellxquote]) endif endif 7 0.000020 else 7 0.000095 let cmd = ['sh', '-c', a:cmd] 7 0.000021 endif 7 0.000237 let options = { 'stdoutbuf': [''], 'vcs': a:vcs, 'bufnr': a:bufnr, } 7 0.000069 return [cmd, options] FUNCTION 137_Compare() Defined: ~/.config/nvim/plugged/vista.vim/autoload/vista/cursor.vim:48 Called 64 times Total time: 0.000218 Self time: 0.000218 count total (s) self (s) 64 0.000188 return a:s1.lnum - a:s2.lnum FUNCTION 143_open_win_border_left() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/floating_win.vim:108 Called 1 time Total time: 0.000108 Self time: 0.000108 count total (s) self (s) 1 0.000009 if s:symbol_width > 0 let opts = nvim_win_get_config(s:display_winid) let opts.row -= 1 let opts.width = s:symbol_width let opts.height = 1 let opts.focusable = v:false if !nvim_buf_is_valid(s:symbol_left_bufnr) let s:symbol_left_bufnr = nvim_create_buf(v:false, v:true) endif silent let s:symbol_left_winid = nvim_open_win(s:symbol_left_bufnr, v:false, opts) call setwinvar(s:symbol_left_winid, '&winhl', 'Normal:ClapSymbol') call s:set_minimal_buf_style(s:symbol_left_bufnr, 'clap_spinner') call setbufline(s:symbol_left_bufnr, 1, s:symbol_left) 1 0.000002 endif FUNCTION 150_default_prompt() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/spinner.vim:39 Called 3 times Total time: 0.000231 Self time: 0.000044 count total (s) self (s) 3 0.000230 0.000042 return s:fill_in_placeholders(s:prompt_format) FUNCTION 62_AsyncRequest() Defined: ~/.config/nvim/plugged/coc.nvim/plugin/coc.vim:58 Called 3 times Total time: 0.002188 Self time: 0.000494 count total (s) self (s) 3 0.000106 let Cb = a:args[len(a:args) - 1] 3 0.000051 if type(Cb) == 2 if !coc#rpc#ready() call Cb('service not started', v:null) else call coc#rpc#request_async(a:name, a:args[0:-2], Cb) endif return '' 3 0.000010 endif 3 0.001833 0.000140 call coc#rpc#notify(a:name, a:args) 3 0.000015 return '' FUNCTION clap#maple#forerunner_exec_subcommand() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/maple.vim:189 Called 1 time Total time: 0.000924 Self time: 0.000065 count total (s) self (s) " No global --number option. 1 0.000026 0.000014 let global_opt = clap#maple#get_enable_icon_opt() 1 0.000856 0.000012 let cmd_dir = clap#rooter#working_dir() 1 0.000030 0.000026 let subcommand = printf('exec "%s" --cmd-dir "%s" --output-threshold %d', a:cmd, cmd_dir, clap#filter#capacity(), ) 1 0.000007 return printf('%s %s %s', s:maple_bin, global_opt, subcommand) FUNCTION 114_exec_separator() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/highlighter.vim:189 Called 135 times Total time: 0.213280 Self time: 0.016960 count total (s) self (s) 135 0.000662 if pumvisible() return 135 0.000200 endif 135 0.001132 let group = a:from.'_to_'.a:to.a:suffix 135 0.063273 0.002989 let l:from = airline#themes#get_highlight(a:from.a:suffix) 135 0.056233 0.003341 let l:to = airline#themes#get_highlight(a:to.a:suffix) 135 0.000405 if a:inverse 20 0.000253 let colors = [ l:from[1], l:to[1], l:from[3], l:to[3] ] 115 0.000176 else 115 0.001354 let colors = [ l:to[1], l:from[1], l:to[3], l:from[3] ] 135 0.000201 endif 135 0.001123 let a:dict[group] = colors 135 0.086522 0.003377 call airline#highlighter#exec(group, colors) FUNCTION 143_open_indicator_win() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/floating_win.vim:210 Called 1 time Total time: 0.043699 Self time: 0.000195 count total (s) self (s) 1 0.000012 let opts = nvim_win_get_config(s:input_winid) 1 0.000004 let opts.col += opts.width 1 0.000004 let opts.width = g:__clap_indicator_winwidth 1 0.000003 let opts.focusable = v:false 1 0.000005 if !nvim_buf_is_valid(s:indicator_bufnr) let s:indicator_bufnr = nvim_create_buf(v:false, v:true) let g:__clap_indicator_bufnr = s:indicator_bufnr 1 0.000001 endif 1 0.043488 0.000110 silent let s:indicator_winid = nvim_open_win(s:indicator_bufnr, v:true, opts) 1 0.000019 call setwinvar(s:indicator_winid, '&winhl', 'Normal:ClapInput') 1 0.000152 0.000026 call clap#api#setbufvar_batch(s:indicator_bufnr, { '&signcolumn': 'no', '&foldcolumn': 0, '&number': 0, '&relativenumber': 0, '&cursorline': 0, }) FUNCTION 97_Highlight_Matching_Pair() Defined: /usr/local/share/nvim/runtime/plugin/matchparen.vim:39 Called 7 times Total time: 0.001468 Self time: 0.001468 count total (s) self (s) " Remove any previous match. 7 0.000054 if exists('w:paren_hl_on') && w:paren_hl_on silent! call matchdelete(3) let w:paren_hl_on = 0 7 0.000011 endif " Avoid that we remove the popup menu. " Return when there are no colors (looks like the cursor jumps). 7 0.000059 if pumvisible() || (&t_Co < 8 && !has("gui_running")) return 7 0.000009 endif " Get the character under the cursor and check if it's in 'matchpairs'. 7 0.000045 let c_lnum = line('.') 7 0.000037 let c_col = col('.') 7 0.000042 let before = 0 7 0.000043 let text = getline(c_lnum) 7 0.000262 let matches = matchlist(text, '\(.\)\=\%'.c_col.'c\(.\=\)') 7 0.000035 if empty(matches) let [c_before, c] = ['', ''] 7 0.000012 else 7 0.000094 let [c_before, c] = matches[1:2] 7 0.000010 endif 7 0.000231 let plist = split(&matchpairs, '.\zs[:,]') 7 0.000053 let i = index(plist, c) 7 0.000021 if i < 0 " not found, in Insert mode try character before the cursor 7 0.000051 if c_col > 1 && (mode() == 'i' || mode() == 'R') let before = strlen(c_before) let c = c_before let i = index(plist, c) 7 0.000012 endif 7 0.000017 if i < 0 " not found, nothing to do 7 0.000016 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 if !has("syntax") || !exists("g:syntax_on") let s_skip = "0" else " 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. " Catch if this throws E363: pattern uses more memory than 'maxmempattern'. try execute 'if ' . s_skip . ' | let s_skip = "0" | endif' catch /^Vim\%((\a\+)\)\=:E363/ " We won't find anything, so skip searching, should keep Vim responsive. return endtry 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 vista#util#BinarySearch() Defined: ~/.config/nvim/plugged/vista.vim/autoload/vista/util.vim:196 Called 1 time Total time: 0.000175 Self time: 0.000175 count total (s) self (s) 1 0.000008 let [array, target] = [a:array, a:target] 1 0.000003 let low = 0 1 0.000005 let high = len(array) - 1 5 0.000011 while low <= high 4 0.000013 let mid = (low + high) / 2 4 0.000017 if array[mid][a:cmp_key] == target let found = array[mid] if !empty(a:ret_key) return get(found, a:ret_key, v:null) else return found endif 4 0.000015 elseif array[mid][a:cmp_key] > target 4 0.000009 let high = mid - 1 else let low = mid + 1 4 0.000003 endif 5 0.000006 endwhile 1 0.000002 if low == 0 1 0.000003 return v:null endif " If no exact match, prefer the previous nearest one. if get(g:, 'vista_find_absolute_nearest_method_or_function', 0) if abs(array[low][a:cmp_key] - target) < abs(array[low - 1][a:cmp_key] - target) let found = array[low] else let found = array[low - 1] endif else let found = array[low - 1] endif if !empty(a:ret_key) return get(found, a:ret_key, v:null) else return found endif FUNCTION 79() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/floating_win.vim:151 Called 3 times Total time: 0.000245 Self time: 0.000192 count total (s) self (s) 3 0.000019 if nvim_win_is_valid(s:spinner_winid) 3 0.000085 0.000033 let width = clap#spinner#width() 3 0.000031 let opts = nvim_win_get_config(s:spinner_winid) 3 0.000009 if opts.width != width let opts.width = width call nvim_win_set_config(s:spinner_winid, opts) let opts = nvim_win_get_config(s:spinner_winid) let opts.col += opts.width let opts.width = s:display_opts.width - opts.width - s:symbol_width * 2 - g:__clap_indicator_winwidth if opts.width < 0 let opts.width = 1 endif let g:clap#floating_win#input.width = opts.width call nvim_win_set_config(s:input_winid, opts) 3 0.000003 endif 3 0.000003 endif FUNCTION airline#parts#crypt() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/parts.vim:59 Called 5 times Total time: 0.000222 Self time: 0.000222 count total (s) self (s) 5 0.000207 return g:airline_detect_crypt && exists("+key") && !empty(&key) ? g:airline_symbols.crypt : '' FUNCTION 143_win_close() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/floating_win.vim:359 Called 4 times Total time: 0.001731 Self time: 0.000349 count total (s) self (s) 4 0.001719 0.000337 noautocmd call clap#util#nvim_win_close_safe(a:winid) FUNCTION 142__line_count() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/api.vim:53 Called 1 time Total time: 0.000006 Self time: 0.000006 count total (s) self (s) 1 0.000006 return nvim_buf_line_count(self.bufnr) FUNCTION clap#api#setbufvar_batch() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/api.vim:29 Called 1 time Total time: 0.000126 Self time: 0.000051 count total (s) self (s) 1 0.000125 0.000050 call map(a:dict, { key, val -> setbufvar(a:bufnr, key, val) }) FUNCTION 121_format_wordcount() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/extensions/wordcount.vim:40 Called 1 time Total time: 0.000087 Self time: 0.000023 count total (s) self (s) 1 0.000087 0.000023 return airline#extensions#wordcount#formatters#{s:formatter}#to_string(a:wordcount) FUNCTION 137_StopHighlightTimer() Defined: ~/.config/nvim/plugged/vista.vim/autoload/vista/cursor.vim:33 Called 1 time Total time: 0.000037 Self time: 0.000014 count total (s) self (s) 1 0.000036 0.000013 call s:GenericStopTimer('s:highlight_timer') FUNCTION WebDevIconsGetFileFormatSymbol() Defined: ~/.config/nvim/plugged/vim-devicons/plugin/webdevicons.vim:531 Called 16 times Total time: 0.004273 Self time: 0.003077 count total (s) self (s) 16 0.000156 let fileformat = '' 16 0.000080 let bomb = '' 16 0.000174 if (&bomb && g:WebDevIconsUnicodeByteOrderMarkerDefaultSymbol !=? '') let bomb = g:WebDevIconsUnicodeByteOrderMarkerDefaultSymbol . ' ' 16 0.000040 endif 16 0.000121 if &fileformat ==? 'dos' let fileformat = '' 16 0.000100 elseif &fileformat ==? 'unix' 16 0.000757 0.000412 if s:isDarwin() let fileformat = '' 16 0.000043 else 16 0.000730 0.000437 let fileformat = s:getDistro() 16 0.000044 endif elseif &fileformat ==? 'mac' let fileformat = '' 16 0.000038 endif 16 0.001209 0.000651 let artifactFix = s:DevIconsGetArtifactFix() 16 0.000164 return bomb . fileformat . artifactFix FUNCTION 50_isDarwin() Defined: ~/.config/nvim/plugged/vim-devicons/plugin/webdevicons.vim:122 Called 16 times Total time: 0.000345 Self time: 0.000345 count total (s) self (s) 16 0.000175 if exists('s:is_darwin') 16 0.000088 return s:is_darwin endif if exists('g:WebDevIconsOS') let s:is_darwin = g:WebDevIconsOS ==? 'Darwin' return s:is_darwin endif if has('macunix') let s:is_darwin = 1 return s:is_darwin endif if ! has('unix') let s:is_darwin = 0 return s:is_darwin endif if system('uname -s') ==# "Darwin\n" let s:is_darwin = 1 else let s:is_darwin = 0 endif return s:is_darwin FUNCTION 155_start_maple() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/forerunner.vim:110 Called 1 time Total time: 0.001626 Self time: 0.000040 count total (s) self (s) 1 0.001623 0.000037 let s:job_id = clap#job#start_buffered(a:cmd, function('s:on_event_maple')) FUNCTION 193_replace() Defined: ~/.config/nvim/plugged/vim-signify/autoload/sy/repo.vim:525 Called 21 times Total time: 0.001065 Self time: 0.001065 count total (s) self (s) 21 0.000713 let parts = split(a:cmd, a:pat, 1) 21 0.000289 return join(parts, a:sub) FUNCTION 109_check_defined_section() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/extensions.vim:46 Called 2 times Total time: 0.000037 Self time: 0.000037 count total (s) self (s) 2 0.000014 if !exists('w:airline_section_{a:name}') 2 0.000017 let w:airline_section_{a:name} = g:airline_section_{a:name} 2 0.000002 endif FUNCTION clap#filter#async#external#has_default() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/filter/async/external.vim:60 Called 1 time Total time: 0.000005 Self time: 0.000005 count total (s) self (s) 1 0.000004 return s:default_ext_filter isnot v:null FUNCTION airline#parts#mode() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/parts.vim:55 Called 5 times Total time: 0.000897 Self time: 0.000237 count total (s) self (s) 5 0.000883 0.000222 return airline#util#shorten(get(w:, 'airline_current_mode', ''), 79, 1) FUNCTION 114_get_array() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/highlighter.vim:56 Called 614 times Total time: 0.014648 Self time: 0.014648 count total (s) self (s) 614 0.005728 let opts=empty(a:opts) ? '' : join(a:opts, ',') 614 0.008060 return g:airline_gui_mode ==# 'gui' ? [ a:fg, a:bg, '', '', opts ] : [ '', '', a:fg, a:bg, opts ] FUNCTION 140_detect_source_type() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap.vim:117 Called 1 time Total time: 0.000158 Self time: 0.000051 count total (s) self (s) 1 0.000017 0.000013 let Source = g:clap.provider._().source 1 0.000005 let source_ty = type(Source) 1 0.000003 if source_ty == v:t_string return g:__t_string 1 0.000003 elseif source_ty == v:t_list return g:__t_list 1 0.000002 elseif source_ty == v:t_func 1 0.000113 0.000010 let string_or_list = Source() 1 0.000005 if type(string_or_list) == v:t_string 1 0.000003 return g:__t_func_string elseif type(string_or_list) == v:t_list return g:__t_func_list else call g:clap.abort('Must return a String or a List if source is a Funcref') endif endif return v:null FUNCTION clap#floating_win#open() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/floating_win.vim:323 Called 1 time Total time: 0.333831 Self time: 0.000653 count total (s) self (s) 1 0.000014 let g:__clap_display_curlnum = 1 1 0.000014 let s:save_winheight = &winheight 1 0.000055 0.000026 let &winheight = 1 " The order matters. 1 0.066987 0.000046 call g:clap#floating_win#display.open() 1 0.000152 0.000044 call s:open_win_border_left() 1 0.071464 0.000026 call g:clap#floating_win#spinner.open() 1 0.081165 0.000020 call g:clap#floating_win#input.open() 1 0.043719 0.000020 call s:open_indicator_win() 1 0.000064 0.000019 call s:open_win_border_right() " This seemingly does not look good. " call s:adjust_display_for_border_symbol() 1 0.051908 0.000014 call clap#_init() 1 0.000007 augroup ClapEnsureAllClosed 1 0.000309 autocmd! " autocmd BufEnter,WinEnter,WinLeave * call s:ensure_closed() 1 0.000002 augroup END 1 0.000039 0.000018 call g:clap.input.goto_win() 1 0.017805 0.000011 call g:clap.provider.try_set_syntax() 1 0.000039 0.000014 call g:clap.provider.on_enter() 1 0.000026 0.000014 silent doautocmd User ClapOnEnter 1 0.000002 startinsert 1 0.000038 0.000009 call g:clap.provider.apply_query() FUNCTION airline#extensions#quickfix#apply() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/extensions/quickfix.vim:14 Called 7 times Total time: 0.000207 Self time: 0.000207 count total (s) self (s) 7 0.000048 if &buftype == 'quickfix' let w:airline_section_a = airline#extensions#quickfix#get_type() let w:airline_section_b = '%{get(w:, "quickfix_title", "")}' let w:airline_section_c = '' let w:airline_section_x = '' 7 0.000014 endif FUNCTION clap#spinner#width() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/spinner.vim:98 Called 4 times Total time: 0.000097 Self time: 0.000097 count total (s) self (s) 4 0.000027 if !exists('s:current_prompt') let s:current_prompt = s:generate_prompt() 4 0.000006 endif 4 0.000037 return strdisplaywidth(s:current_prompt) FUNCTION sy#sign#set_signs() Defined: ~/.config/nvim/plugged/vim-signify/autoload/sy/sign.vim:179 Called 7 times Total time: 0.010840 Self time: 0.001495 count total (s) self (s) 7 0.000531 0.000180 call sy#verbose('sy#sign#set_signs()', a:vcs) 7 0.000080 if a:sy.stats == [-1, -1, -1] let a:sy.stats = [0, 0, 0] 7 0.000015 endif 7 0.000049 if empty(a:diff) call sy#verbose('No changes found.', a:vcs) let a:sy.stats = [0, 0, 0] call sy#sign#remove_all_signs(a:sy.buffer) return 7 0.000014 endif 7 0.000096 if get(g:, 'signify_line_highlight') call sy#highlight#line_enable() 7 0.000017 else 7 0.001374 0.000209 call sy#highlight#line_disable() 7 0.000022 endif 7 0.008107 0.000278 call sy#sign#process_diff(a:sy, a:vcs, a:diff) 7 0.000126 if exists('#User#Signify') doautocmd User Signify 7 0.000016 endif FUNCTION airline#extensions#wordcount#apply() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/extensions/wordcount.vim:88 Called 7 times Total time: 0.001226 Self time: 0.001001 count total (s) self (s) 7 0.000174 let filetypes = get(g:, 'airline#extensions#wordcount#filetypes', ['asciidoc', 'help', 'mail', 'markdown', 'org', 'rst', 'plaintex', 'tex', 'text']) " export current filetypes settings to global namespace 7 0.000095 let g:airline#extensions#wordcount#filetypes = filetypes " Check if filetype needs testing 7 0.000037 if did_filetype() " correctly test for compound filetypes (e.g. markdown.pandoc) 3 0.000043 let ft = substitute(&filetype, '\.', '\\|', 'g') " Select test based on type of "filetypes": new=list, old=string 3 0.000108 if type(filetypes) == get(v:, 't_list', type([])) ? match(filetypes, ft) > -1 || index(filetypes, 'all') > -1 : match(&filetype, filetypes) > -1 1 0.000004 let b:airline_changedtick = -1 1 0.000156 0.000016 call s:update_wordcount(1) " force update: ensures initial worcount exists 2 0.000016 elseif exists('b:airline_wordcount') " cleanup when filetype is removed unlet b:airline_wordcount 3 0.000004 endif 7 0.000013 endif 7 0.000053 if exists('b:airline_wordcount') 2 0.000121 0.000035 call airline#extensions#prepend_to_section( 'z', '%{airline#extensions#wordcount#get()}') 7 0.000012 endif FUNCTION 155_run_maple_subcommand() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/forerunner.vim:128 Called 1 time Total time: 0.001998 Self time: 0.000060 count total (s) self (s) 1 0.000007 let s:chunks = [] 1 0.000010 let g:__clap_current_forerunner_status = g:clap_forerunner_status_sign.running 1 0.000324 0.000012 call clap#spinner#refresh() 1 0.001654 0.000028 call s:start_maple(a:sub_cmd) FUNCTION 80() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/floating_win.vim:171 Called 1 time Total time: 0.081144 Self time: 0.000355 count total (s) self (s) 1 0.000012 if exists('s:input_winid') && nvim_win_is_valid(s:input_winid) return 1 0.000001 endif 1 0.000013 let opts = nvim_win_get_config(s:spinner_winid) 1 0.000005 let opts.col += opts.width 1 0.000010 let opts.width = s:display_opts.width - opts.width - s:symbol_width * 2 - g:__clap_indicator_winwidth " E5555: API call: 'width' key must be a positive Integer " Avoid E5555 here and it seems to be fine later. 1 0.000003 if opts.width < 0 let opts.width = 1 1 0.000001 endif 1 0.000004 let opts.focusable = v:true 1 0.000005 let g:clap#floating_win#input.width = opts.width 1 0.000006 if !nvim_buf_is_valid(s:input_bufnr) let s:input_bufnr = nvim_create_buf(v:false, v:true) let g:clap.input.bufnr = s:input_bufnr 1 0.000001 endif 1 0.038836 0.000157 silent let s:input_winid = nvim_open_win(s:input_bufnr, v:true, opts) 1 0.000016 let w:clap_search_text_hi_id = matchaddpos('ClapSearchText', [1]) 1 0.000026 0.000018 call setwinvar(s:input_winid, '&winhl', 'Normal:ClapInput') 1 0.041946 0.000019 call s:set_minimal_buf_style(s:input_bufnr, 'clap_input') " Disable the auto-completion plugin 1 0.000007 let s:save_completeopt = &completeopt 1 0.000188 0.000012 call nvim_set_option('completeopt', '') 1 0.000003 if s:exists_deoplete call deoplete#custom#buffer_option('auto_complete', v:false) 1 0.000001 endif 1 0.000006 call setbufvar(s:input_bufnr, 'coc_suggest_disable', 1) " Disable the auto-pairs plugin 1 0.000015 call setbufvar(s:input_bufnr, 'coc_pairs_disabled', ['"', "'", '(', ')', '<', '>', '[', ']', '{', '}', '`']) 1 0.000005 call setbufvar(s:input_bufnr, 'autopairs_loaded', 1) 1 0.000005 let g:clap.input.winid = s:input_winid FUNCTION 142__setbufvar_batch() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/api.vim:25 Called 1 time Total time: 0.000412 Self time: 0.000162 count total (s) self (s) 1 0.000410 0.000160 call map(a:dict, { key, val -> setbufvar(self.bufnr, key, val) }) FUNCTION clap#indicator#set_matches() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/indicator.vim:35 Called 1 time Total time: 0.000071 Self time: 0.000023 count total (s) self (s) 1 0.000006 if get(g:, 'clap_disable_matches_indicator', v:false) return 1 0.000001 endif 1 0.000061 0.000013 call s:set_indicator(a:indicator) FUNCTION clap#floating_win#close() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/floating_win.vim:363 Called 1 time Total time: 0.003702 Self time: 0.001275 count total (s) self (s) 1 0.000053 0.000033 let &winheight = s:save_winheight 1 0.000672 silent! autocmd! ClapEnsureAllClosed 1 0.000012 if s:symbol_width > 0 call s:win_close(s:symbol_left_winid) call s:win_close(s:symbol_right_winid) 1 0.000003 endif 1 0.000111 0.000072 noautocmd call g:clap#floating_win#preview.close() 1 0.000501 0.000048 call s:win_close(g:clap.input.winid) 1 0.000368 0.000090 call s:win_close(g:clap.spinner.winid) 1 0.000358 0.000069 call s:win_close(s:indicator_winid) " I don't know why, but this could be related to the cursor move in grep.vim " thus I have to go back to the start window in grep.vim 1 0.000872 0.000161 call s:win_close(g:clap.display.winid) 1 0.000681 0.000045 let &completeopt = s:save_completeopt 1 0.000007 if s:exists_deoplete call deoplete#custom#buffer_option('auto_complete', v:true) 1 0.000002 endif FUNCTION airline#statusline() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline.vim:190 Called 16 times Total time: 0.000960 Self time: 0.000960 count total (s) self (s) 16 0.000433 if has_key(s:contexts, a:winnr) 16 0.000429 return '%{airline#check_mode('.a:winnr.')}'.s:contexts[a:winnr].line endif " in rare circumstances this happens...see #276 return '' FUNCTION clap#_exit() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap.vim:172 Called 1 time Total time: 0.005212 Self time: 0.000441 count total (s) self (s) 1 0.000100 0.000024 call g:clap.provider.jobstop() 1 0.000133 0.000047 call clap#forerunner#stop() 1 0.000050 0.000025 call clap#maple#stop() 1 0.003735 0.000033 call g:clap.close_win() 1 0.000010 let g:clap.is_busy = 0 1 0.000019 let g:clap.display.cache = [] 1 0.000008 let g:clap.display.initial_size = -1 " Reset this for vim issue. Ref #223 1 0.000006 let g:clap.display.winid = -1 " Remember to get what the sink needs before clearing the buffer. 1 0.000197 0.000035 call g:clap.input.clear() 1 0.000306 0.000028 call g:clap.display.clear() 1 0.000193 0.000066 call s:remove_provider_tmp_vars([ 'args', 'source_tempfile', 'should_switch_to_async', ]) 1 0.000225 0.000038 call s:unlet_vars([ 'g:__clap_fuzzy_matched_indices', 'g:__clap_forerunner_result', 'g:__clap_lines_truncated_map', ]) 1 0.000180 0.000052 call clap#sign#reset() 1 0.000014 call map(g:clap.tmps, 'delete(v:val)') 1 0.000007 let g:clap.tmps = [] FUNCTION airline#extensions#wordcount#formatters#default#to_string() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/extensions/wordcount/formatters/default.vim:26 Called 1 time Total time: 0.000064 Self time: 0.000048 count total (s) self (s) 1 0.000026 0.000010 if airline#util#winwidth() > 85 1 0.000003 if a:wordcount > 999 " Format number according to locale, e.g. German: 1.245 or English: 1,245 let wordcount = substitute(a:wordcount, '\d\@<=\(\(\d\{3\}\)\+\)$', s:decimal_group.'&', 'g') 1 0.000001 else 1 0.000003 let wordcount = a:wordcount 1 0.000001 endif 1 0.000007 let str = printf(s:fmt, wordcount) else let str = printf(s:fmt_short, a:wordcount) 1 0.000001 endif 1 0.000008 return str . g:airline_symbols.space . g:airline_right_alt_sep . g:airline_symbols.space FUNCTION clap#layout#calc() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/layout.vim:101 Called 1 time Total time: 0.000677 Self time: 0.000088 count total (s) self (s) 1 0.000014 if exists('g:clap_layout') 1 0.000111 0.000034 call s:validate(g:clap_layout) 1 0.000550 0.000037 return s:user_layout() else return s:calc_default() endif FUNCTION 8_LoadIndent() Defined: /usr/local/share/nvim/runtime/indent.vim:13 Called 3 times Total time: 0.001509 Self time: 0.001509 count total (s) self (s) 3 0.000027 if exists("b:undo_indent") exe b:undo_indent unlet! b:undo_indent b:did_indent 3 0.000006 endif 3 0.000030 let s = expand("") 3 0.000013 if s != "" 2 0.000012 if exists("b:did_indent") unlet b:did_indent 2 0.000004 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". 4 0.000039 for name in split(s, '\.') 2 0.001285 exe 'runtime! indent/' . name . '.vim' 4 0.000011 endfor 3 0.000006 endif FUNCTION 128_skip() Defined: ~/.config/nvim/plugged/vim-signify/autoload/sy.vim:148 Called 4 times Total time: 0.000148 Self time: 0.000148 count total (s) self (s) 4 0.000114 if getbufvar(a:bufnr, '&diff') || !filereadable(a:path) 4 0.000021 return 1 endif if exists('g:signify_skip_filetype') if has_key(g:signify_skip_filetype, getbufvar(a:bufnr, '&filetype')) return 1 elseif has_key(g:signify_skip_filetype, 'help') && getbufvar(a:bufnr, '&buftype') == 'help' return 1 endif endif if exists('g:signify_skip_filename') && has_key(g:signify_skip_filename, a:path) return 1 endif " DEPRECATED: Use g:signify_skip.pattern instead. if exists('g:signify_skip_filename_pattern') for pattern in g:signify_skip_filename_pattern if a:path =~ pattern return 1 endif endfor endif if exists('g:signify_skip') if has_key(g:signify_skip, 'pattern') for pattern in g:signify_skip.pattern if a:path =~ pattern return 1 endif endfor endif endif return 0 FUNCTION airline#extensions#apply() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/extensions.vim:70 Called 24 times Total time: 0.006728 Self time: 0.003746 count total (s) self (s) 24 0.000259 let filetype_overrides = get(s:, 'filetype_overrides', {}) 24 0.000336 call extend(filetype_overrides, get(g:, 'airline_filetype_overrides', {}), 'force') 24 0.003455 0.000474 if s:is_excluded_window() return -1 24 0.000031 endif 24 0.000102 if &buftype == 'terminal' let w:airline_section_x = '' let w:airline_section_y = '' 24 0.000032 endif 24 0.000155 if &previewwindow && empty(get(w:, 'airline_section_a', '')) let w:airline_section_a = 'Preview' let w:airline_section_b = '' let w:airline_section_c = bufname(winbufnr(winnr())) 24 0.000030 endif 24 0.000366 if has_key(filetype_overrides, &ft) && ((&filetype == 'help' && &buftype == 'help') || &filetype !~ 'help') " for help files only override it, if the buftype is also of type 'help', " else it would trigger when editing Vim help files let args = filetype_overrides[&ft] call airline#extensions#apply_left_override(args[0], args[1]) 24 0.000033 endif 24 0.000087 if &buftype == 'help' let w:airline_section_x = '' let w:airline_section_y = '' let w:airline_render_right = 1 24 0.000031 endif 24 0.000221 for item in items(s:filetype_regex_overrides) if match(&ft, item[0]) >= 0 call airline#extensions#apply_left_override(item[1][0], item[1][1]) endif 24 0.000043 endfor FUNCTION 45_init() Defined: ~/.config/nvim/plugged/vim-airline/plugin/airline.vim:15 Called 6 times Total time: 0.000055 Self time: 0.000055 count total (s) self (s) 6 0.000029 if s:airline_initialized 6 0.000014 return endif let s:airline_initialized = 1 call airline#extensions#load() call airline#init#sections() let s:theme_in_vimrc = exists('g:airline_theme') if s:theme_in_vimrc try if g:airline_theme is# 'random' let g:airline_theme=s:random_theme() endif let palette = g:airline#themes#{g:airline_theme}#palette catch call airline#util#warning(printf('Could not resolve airline theme "%s". Themes have been migrated to github.com/vim-airline/vim-airline-themes.', g:airline_theme)) let g:airline_theme = 'dark' endtry try silent call airline#switch_theme(g:airline_theme) catch call airline#util#warning(printf('Could not find airline theme "%s".', g:airline_theme)) let g:airline_theme = 'dark' silent call airline#switch_theme(g:airline_theme) endtry else let g:airline_theme = 'dark' silent call s:on_colorscheme_changed() endif call airline#util#doautocmd('AirlineAfterInit') FUNCTION 126_section_is_empty() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/builder.vim:185 Called 139 times Total time: 0.003309 Self time: 0.003309 count total (s) self (s) 139 0.000544 let start=1 " do not check for inactive windows or the tabline 139 0.000619 if a:self._context.active == 0 85 0.000170 return 0 54 0.000382 elseif get(a:self._context, 'tabline', 0) return 0 54 0.000080 endif " only check, if airline#skip_empty_sections == 1 54 0.000397 if get(g:, 'airline_skip_empty_sections', 0) == 0 54 0.000125 return 0 endif " only check, if airline#skip_empty_sections == 1 if get(w:, 'airline_skip_empty_sections', -1) == 0 return 0 endif " assume accents sections to be never empty " (avoides, that on startup the mode message becomes empty) if match(a:content, '%#__accent_[^#]*#.*__restore__#') > -1 return 0 endif if empty(a:content) return 1 endif let list=matchlist(a:content, '%{\zs.\{-}\ze}', 1, start) if empty(list) return 0 " no function in statusline text endif while len(list) > 0 let expr = list[0] try " catch all exceptions, just in case if !empty(eval(expr)) return 0 endif catch return 0 endtry let start += 1 let list=matchlist(a:content, '%{\zs.\{-}\ze}', 1, start) endw return 1 FUNCTION 140_remove_provider_tmp_vars() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap.vim:164 Called 1 time Total time: 0.000127 Self time: 0.000127 count total (s) self (s) 4 0.000025 for var in a:vars 3 0.000032 if has_key(g:clap.provider, var) 2 0.000021 call remove(g:clap.provider, var) 3 0.000007 endif 4 0.000011 endfor FUNCTION airline#highlighter#get_highlight() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/highlighter.vim:67 Called 614 times Total time: 0.232071 Self time: 0.107781 count total (s) self (s) 614 0.024780 let reverse = get(g:, 'airline_gui_mode', '') ==# 'gui' ? synIDattr(synIDtrans(hlID(a:group)), 'reverse', 'gui') : synIDattr(synIDtrans(hlID(a:group)), 'reverse', 'cterm')|| synIDattr(synIDtrans(hlID(a:group)), 'reverse', 'term') 614 0.006058 if get(g:, 'airline_highlighting_cache', 0) && has_key(s:hl_groups, a:group) let res = s:hl_groups[a:group] return reverse ? [ res[1], res[0], res[3], res[2], res[4] ] : res 614 0.001032 else 614 0.067482 0.011458 let fg = s:get_syn(a:group, 'fg') 614 0.064531 0.010913 let bg = s:get_syn(a:group, 'bg') 614 0.012626 let bold = synIDattr(synIDtrans(hlID(a:group)), 'bold') 614 0.002012 if reverse let res = s:get_array(bg, fg, bold ? ['bold'] : a:000) 614 0.001125 else 614 0.028017 0.013368 let res = s:get_array(fg, bg, bold ? ['bold'] : a:000) 614 0.001047 endif 614 0.000915 endif 614 0.005775 let s:hl_groups[a:group] = res 614 0.001571 return res FUNCTION airline#util#shorten() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/util.vim:28 Called 21 times Total time: 0.002737 Self time: 0.001796 count total (s) self (s) 21 0.001716 0.000776 if airline#util#winwidth() < a:winwidth && len(split(a:text, '\zs')) > a:minwidth if get(a:000, 0, 0) " shorten from tail return '…'.matchstr(a:text, '.\{'.a:minwidth.'}$') else " shorten from beginning of string return matchstr(a:text, '^.\{'.a:minwidth.'}').'…' endif 21 0.000049 else 21 0.000100 return a:text endif FUNCTION 167_should_switch_to_async() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/impl.vim:142 Called 1 time Total time: 0.000082 Self time: 0.000040 count total (s) self (s) 1 0.000005 if has_key(g:clap.provider, 'should_switch_to_async') return g:clap.provider.should_switch_to_async 1 0.000001 else 1 0.000060 0.000019 let should_switch_to_async = s:detect_should_switch_to_async() 1 0.000006 let g:clap.provider.should_switch_to_async = should_switch_to_async 1 0.000003 return should_switch_to_async endif FUNCTION airline#highlighter#highlight_modified_inactive() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/highlighter.vim:229 Called 3 times Total time: 0.003867 Self time: 0.000392 count total (s) self (s) 3 0.000041 if getbufvar(a:bufnr, '&modified') let colors = exists('g:airline#themes#{g:airline_theme}#palette.inactive_modified.airline_c') ? g:airline#themes#{g:airline_theme}#palette.inactive_modified.airline_c : [] 3 0.000007 else 3 0.000106 let colors = exists('g:airline#themes#{g:airline_theme}#palette.inactive.airline_c') ? g:airline#themes#{g:airline_theme}#palette.inactive.airline_c : [] 3 0.000007 endif 3 0.000021 if !empty(colors) 3 0.003609 0.000134 call airline#highlighter#exec('airline_c'.(a:bufnr).'_inactive', colors) 3 0.000007 endif FUNCTION 55() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/api.vim:341 Called 1 time Total time: 0.000025 Self time: 0.000019 count total (s) self (s) 1 0.000018 0.000012 if has_key(self._(), 'on_enter') call self._().on_enter() 1 0.000001 endif FUNCTION 56() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/api.vim:348 Called 1 time Total time: 0.000519 Self time: 0.000039 count total (s) self (s) 1 0.000002 try 1 0.000497 0.000017 call self._().on_typed() catch let l:error_info = ['provider.on_typed:'] + split(v:throwpoint, '\[\d\+\]\zs') + split(v:exception, "\n") call g:clap.display.set_lines(l:error_info) call g:clap#display_win.shrink() call clap#spinner#set_idle() 1 0.000002 endtry FUNCTION clap#_init() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap.vim:138 Called 1 time Total time: 0.051893 Self time: 0.000133 count total (s) self (s) 1 0.000016 0.000011 if has_key(g:clap.provider._(), 'source') 1 0.000012 0.000008 if has_key(g:clap.provider._(), 'source_type') let g:clap.provider.source_type = g:clap.provider._().source_type 1 0.000001 else 1 0.000173 0.000016 let g:clap.provider.source_type = s:detect_source_type() 1 0.000001 endif 1 0.000001 endif 1 0.000341 0.000013 call clap#spinner#init() 1 0.003209 0.000021 call g:clap.provider.init_display_win() " Ensure the filetype is empty on init. " Each provider can set its own syntax for the highlight purpose. 1 0.048123 0.000044 call g:clap.display.setbufvar('&filetype', '') FUNCTION coc#rpc#notify() Defined: ~/.config/nvim/plugged/coc.nvim/autoload/coc/rpc.vim:99 Called 18 times Total time: 0.006397 Self time: 0.001278 count total (s) self (s) 18 0.000986 0.000445 if !coc#rpc#ready() return '' 18 0.000034 endif 18 0.005173 0.000596 call s:client['notify'](a:method, a:args) 18 0.000076 return '' FUNCTION 109_is_excluded_window() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/extensions.vim:110 Called 24 times Total time: 0.002981 Self time: 0.002981 count total (s) self (s) 24 0.000165 for matchft in g:airline_exclude_filetypes if matchft ==# &ft return 1 endif 24 0.000054 endfor 96 0.000295 for matchw in g:airline_exclude_filenames 72 0.001251 if matchstr(expand('%'), matchw) ==# matchw return 1 72 0.000085 endif 96 0.000143 endfor 24 0.000143 if g:airline_exclude_preview && &previewwindow return 1 24 0.000033 endif 24 0.000054 return 0 FUNCTION 57_CreateDelimMapFromCms() Defined: ~/.config/nvim/plugged/nerdcommenter/plugin/NERD_commenter.vim:567 Called 3 times Total time: 0.000217 Self time: 0.000217 count total (s) self (s) 3 0.000017 if &filetype ==# '' && exists('g:NERDDefaultDelims') let delims = g:NERDDefaultDelims for i in ['left', 'leftAlt', 'right', 'rightAlt'] if !has_key(delims, i) let delims[i] = '' endif endfor return delims 3 0.000003 endif 3 0.000147 return { 'left': substitute(&commentstring, '\([^ \t]*\)\s*%s.*', '\1', ''), 'right': substitute(&commentstring, '.*%s\s*\(.*\)', '\1', 'g'), 'nested': 0, 'leftAlt': '', 'rightAlt': '', 'nestedAlt': 0} FUNCTION airline#extensions#hunks#get_hunks() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/extensions/hunks.vim:80 Called 5 times Total time: 0.004672 Self time: 0.002537 count total (s) self (s) 5 0.000070 if !get(w:, 'airline_active', 0) return '' 5 0.000013 endif " Cache values, so that it isn't called too often 5 0.000631 0.000409 if exists("b:airline_hunks") && get(b:, 'airline_changenr', 0) == b:changedtick && airline#util#winwidth() == get(s:, 'airline_winwidth', 0) && get(b:, 'source_func', '') isnot# 's:get_hunks_signify' && get(b:, 'source_func', '') isnot# 's:get_hunks_gitgutter' && get(b:, 'source_func', '') isnot# 's:get_hunks_empty' && get(b:, 'source_func', '') isnot# 's:get_hunks_changes' && get(b:, 'source_func', '') isnot# 's:get_hunks_coc' return b:airline_hunks 5 0.000011 endif 5 0.001310 0.000192 let hunks = airline#extensions#hunks#get_raw_hunks() 5 0.000027 let string = '' 5 0.000264 0.000176 let winwidth = get(airline#parts#get('hunks'), 'minwidth', 100) 5 0.000040 if !empty(hunks) " hunks should contain [added, changed, deleted] 20 0.000136 for i in [0, 1, 2] 15 0.001027 0.000488 if (s:non_zero_only == 0 && airline#util#winwidth() > winwidth) || hunks[i] > 0 15 0.000322 let string .= printf('%s%s ', s:hunk_symbols[i], hunks[i]) 15 0.000037 endif 20 0.000060 endfor 5 0.000013 endif 5 0.000046 let b:airline_hunks = string 5 0.000045 let b:airline_changenr = b:changedtick 5 0.000319 0.000151 let s:airline_winwidth = airline#util#winwidth() 5 0.000026 return string FUNCTION 155_on_event_maple() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/forerunner.vim:74 Called 3 times Total time: 0.001286 Self time: 0.000107 count total (s) self (s) " We only process the job that was spawned last time. 3 0.000012 if a:job_id == s:job_id 3 0.000009 if a:event ==# 'stdout' 1 0.000004 if len(a:data) > 1 " Second last is the real last one for neovim. 1 0.000009 call extend(s:chunks, a:data[:-2]) 1 0.000001 endif 2 0.000005 elseif a:event ==# 'stderr' " Ignore the error 1 0.000001 else 1 0.001196 0.000017 call s:on_complete_maple() 3 0.000003 endif 3 0.000003 endif FUNCTION 140_unlet_vars() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap.vim:156 Called 2 times Total time: 0.000281 Self time: 0.000281 count total (s) self (s) 8 0.000041 for var in a:vars 6 0.000064 if exists(var) 1 0.000087 execute 'unlet' var 6 0.000013 endif 8 0.000020 endfor FUNCTION airline#highlighter#reset_hlcache() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/highlighter.vim:63 Called 1 time Total time: 0.001654 Self time: 0.001654 count total (s) self (s) 1 0.001650 let s:hl_groups = {} FUNCTION airline#util#prepend() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/util.vim:63 Called 64 times Total time: 0.002050 Self time: 0.002050 count total (s) self (s) 64 0.000734 if a:minwidth > 0 && airline#util#winwidth() < a:minwidth return '' 64 0.000143 endif 64 0.000782 return empty(a:text) ? '' : a:text.s:spc.g:airline_right_alt_sep.s:spc FUNCTION 126_get_accented_line() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/builder.vim:166 Called 115 times Total time: 0.013130 Self time: 0.013130 count total (s) self (s) 115 0.000527 if a:self._context.active " active window 47 0.000228 let contents = [] 47 0.001091 let content_parts = split(a:contents, '__accent') 117 0.000530 for cpart in content_parts 70 0.001363 let accent = matchstr(cpart, '_\zs[^#]*\ze') 70 0.000515 call add(contents, cpart) 117 0.000272 endfor 47 0.000490 let line = join(contents, a:group) 47 0.000911 let line = substitute(line, '__restore__', a:group, 'g') 68 0.000096 else " inactive window 68 0.001875 let line = substitute(a:contents, '%#__accent[^#]*#', '', 'g') 68 0.001004 let line = substitute(line, '%#__restore__#', '', 'g') 115 0.000170 endif 115 0.000333 return line FUNCTION clap#sign#reset_to_first_line() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/sign.vim:59 Called 1 time Total time: 0.000085 Self time: 0.000056 count total (s) self (s) 1 0.000006 if s:last_signed_id == 1 && !empty(s:sign_of_first_line()) return 1 0.000001 endif 1 0.000002 if s:last_signed_id != -1 call s:unplace_cur_sign_at(s:last_signed_id) 1 0.000001 endif 1 0.000023 0.000009 call g:clap.display.set_cursor(1, 1) 1 0.000003 let curlnum = 1 1 0.000006 let g:__clap_display_curlnum = curlnum 1 0.000030 0.000016 call s:place_cur_sign_at(curlnum) 1 0.000003 let s:last_signed_id = curlnum FUNCTION 45_on_cursor_moved() Defined: ~/.config/nvim/plugged/vim-airline/plugin/airline.vim:91 Called 3 times Total time: 0.000168 Self time: 0.000121 count total (s) self (s) 3 0.000037 if winnr() != s:active_winnr || !exists('w:airline_active') call s:on_window_changed('CursorMoved') 3 0.000005 endif 3 0.000102 0.000055 call airline#update_tabline() FUNCTION clap#impl#on_typed() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/impl.vim:162 Called 1 time Total time: 0.000476 Self time: 0.000081 count total (s) self (s) " If user explicitly uses the external filter, just use the async impl then, " even the forerunner job is finished already. 1 0.000019 0.000011 if clap#api#has_externalfilter() call s:on_typed_async_impl() return 1 0.000001 endif 1 0.000005 if exists('g:__clap_forerunner_result') call s:on_typed_sync_impl() return 1 0.000001 endif 1 0.000147 0.000030 if g:clap.provider.can_async() && (get(g:clap.context, 'async') is v:true || s:should_switch_to_async()) 1 0.000284 0.000014 call s:on_typed_async_impl() else call s:on_typed_sync_impl() 1 0.000001 endif FUNCTION airline#util#getbufvar() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/util.vim:71 Called 31 times Total time: 0.000265 Self time: 0.000265 count total (s) self (s) 31 0.000241 return getbufvar(a:bufnr, a:key, a:def) FUNCTION 145_get_attrs() Defined: ~/.config/nvim/plugged/vim-clap/autoload/clap/icon.vim:213 Called 145 times Total time: 0.007236 Self time: 0.003887 count total (s) self (s) 145 0.005031 0.001681 let fg = s:get_color(a:group, 'fg') 145 0.000418 if empty(fg) 14 0.000038 let fg = s:normal_fg 145 0.000149 endif " guibg=NONE ctermbg=NONE is neccessary otherwise the bg could be unexpected. 145 0.001082 return printf('%sbg=%s %sfg=%s guibg=NONE ctermbg=NONE', s:gui_or_cterm, s:normal_bg, s:gui_or_cterm, fg) FUNCTION airline#builder#new() Defined: ~/.config/nvim/plugged/vim-airline/autoload/airline/builder.vim:232 Called 24 times Total time: 0.001573 Self time: 0.001573 count total (s) self (s) 24 0.000418 let builder = copy(s:prototype) 24 0.000148 let builder._context = a:context 24 0.000116 let builder._sections = [] 24 0.000718 call extend(builder._context, { 'left_sep': g:airline_left_sep, 'left_alt_sep': g:airline_left_alt_sep, 'right_sep': g:airline_right_sep, 'right_alt_sep': g:airline_right_alt_sep, }, 'keep') 24 0.000078 return builder FUNCTIONS SORTED ON TOTAL TIME count total (s) self (s) function 1 0.334773 0.000310 clap#() 1 0.334298 0.000207 clap#for() 1 0.333831 0.000653 clap#floating_win#open() 7 0.323801 0.001618 airline#update_statusline() 24 0.316976 0.003063 51_invoke_funcrefs() 6 0.278751 0.000820 45_on_window_changed() 24 0.256589 0.035024 18() 614 0.232071 0.107781 airline#highlighter#get_highlight() 135 0.213280 0.016960 114_exec_separator() 16 0.167368 0.007916 airline#check_mode() 7 0.162071 0.002137 airline#update_statusline_inactive() 67 0.161340 0.003540 126_get_seperator() 3 0.154918 0.020937 airline#highlighter#highlight() 91 0.144837 0.008175 126_get_transitioned_seperator() 210 0.138262 0.036387 airline#highlighter#exec() 91 0.136662 0.003969 airline#highlighter#add_separator() 270 0.113175 0.007745 airline#themes#get_highlight() 2 0.112677 0.000099 143_set_minimal_buf_style() 1228 0.109643 114_get_syn() 1 0.081144 0.000355 80() FUNCTIONS SORTED ON SELF TIME count total (s) self (s) function 1228 0.109643 114_get_syn() 614 0.232071 0.107781 airline#highlighter#get_highlight() 210 0.138262 0.036387 airline#highlighter#exec() 24 0.256589 0.035024 18() 7 0.034198 0.028863 sy#repo#get_diff() 3 0.154918 0.020937 airline#highlighter#highlight() 135 0.213280 0.016960 114_exec_separator() 614 0.014648 114_get_array() 153 0.017769 0.014144 127_get_section() 210 0.013473 114_CheckDefined() 115 0.013130 126_get_accented_line() 16 0.013535 0.012909 WebDevIconsGetFileTypeSymbol() 209 0.009424 114_hl_group_exists() 107 0.023465 0.008609 127_add_section() 3 0.008560 0.008407 7_LoadFTPlugin() 91 0.144837 0.008175 126_get_transitioned_seperator() 1 0.015282 0.008010 145_generic_hi_icons() 16 0.167368 0.007916 airline#check_mode() 270 0.113175 0.007745 airline#themes#get_highlight() 24 0.055752 0.005786 airline#util#exec_funcrefs() ```
vn-ki commented 4 years ago

Oh, this is weird.

I disabled vim-airline and now the lag only exists the first time I open Clap. Every subsequent opening is fast.

Looks like airline is somehow slowing Clap down. I don't have enough expertise to track it down though. I hope you can help.

liuchengxu commented 4 years ago

From your profile report, I don't see the slowness, see the final FUNCTIONS SORTED ON TOTAL TIME section, I don't think people can feel the slowness of 0.1s.

And here is the result on my computer, vim-clap is a little faster in iterms of the opening. Call :Clap files in vim-clap repo:

total:

    1   0.152131   0.000088  clap#()
FUNCTIONS SORTED ON TOTAL TIME
count  total (s)   self (s)  function
    1   0.152131   0.000088  clap#()
    1   0.152006   0.000477  clap#for()
    1   0.150278   0.000456  clap#floating_win#open()
    1   0.114163   0.000064  clap#_init()
    1   0.112848   0.000016  59()
    1   0.112830   0.000408  58()
    1   0.111526   0.000025  clap#forerunner#start()
    1   0.109481   0.000466  clap#maple#forerunner_exec_subcommand()
    1   0.072178   0.003361  provider#python3#Call()
    1   0.068818   0.000040  remote#host#Require()
    1   0.068778   0.000906  provider#pythonx#Require()
    1   0.067798             provider#Poll()
    1   0.031537   0.000016  provider#pythonx#Detect()
    1   0.031521   0.000093  provider#pythonx#DetectByModule()
    1   0.031335   0.000188  provider#pythonx#CheckForModule()
    1   0.031147   0.000153  <SNR>204_import_module()
   28   0.030702   0.007730  traces#init()
    2   0.018071   0.000078  <SNR>186_set_minimal_buf_style()
   28   0.016748   0.002903  <SNR>145_evaluate_cmdl()
    4   0.012854   0.005900  <SNR>39_SynSet()

FUNCTIONS SORTED ON SELF TIME
count  total (s)   self (s)  function
    1              0.067798  provider#Poll()
    3   0.011044   0.009421  <SNR>36_LoadFTPlugin()
   28   0.030702   0.007730  traces#init()
    3   0.008027   0.007344  sy#repo#get_diff()
    4   0.012854   0.005900  <SNR>39_SynSet()
   28   0.007205   0.005705  <SNR>145_parse_range()
   28              0.004721  <SNR>145_skip_modifiers()
   46              0.004407  <SNR>68_is_tmp_file()
    1   0.006564   0.003693  <SNR>189_generic_hi_icons()
    1   0.072178   0.003361  provider#python3#Call()
   28   0.016748   0.002903  <SNR>145_evaluate_cmdl()
   28              0.002831  <SNR>145_evaluate_range()
   23              0.002593  ElelineCurFname()
  112              0.002015  <SNR>145_trim()
    3              0.002013  <SNR>37_LoadIndent()
  145   0.002731   0.001676  <SNR>189_get_attrs()
    1   0.001667   0.001656  ale#linter#GetAll()
    3   0.001556   0.001540  <SNR>201_find_upwards()
   19   0.001725   0.001497  <SNR>81_notify()
    1   0.001950   0.001493  <SNR>184_init_submatches_hl_group()

For fzf, call :Files in vim-clap repo too:

total:

1   0.021047   0.000077  fzf#vim#files()
FUNCTIONS SORTED ON TOTAL TIME
count  total (s)   self (s)  function
    1   0.034572   0.000863  19()
    1   0.021047   0.000077  fzf#vim#files()
    1   0.020852   0.000079  <SNR>166_fzf()
    1   0.020252   0.000521  fzf#run()
    1   0.019481   0.002640  <SNR>83_execute_term()
   16   0.017949   0.004408  traces#init()
    1   0.013733   0.000028  <SNR>78_SyncAutocmd()
    1   0.013705   0.000023  coc#rpc#request()
    1   0.013676   0.013670  <SNR>81_request()
    6   0.012531   0.000939  sy#start()
    1   0.012147   0.000026  <SNR>119_OnBufEnter()
    1   0.012121   0.000042  <SNR>119_GenericAutoUpdate()
    1   0.012045   0.000044  <SNR>116_AutoUpdate()
    1   0.011506   0.000031  <SNR>116_ApplyExecute()
    4   0.011150   0.010142  sy#repo#get_diff()
    1   0.009912   0.002041  <SNR>116_BuildCmd()
   16   0.009904   0.001704  <SNR>143_evaluate_cmdl()
    1   0.007765   0.007664  <SNR>116_IntoTemp()
    1   0.005906   0.000115  <SNR>83_split()
    1   0.005767   0.000211  <SNR>83_popup()

FUNCTIONS SORTED ON SELF TIME
count  total (s)   self (s)  function
    1   0.013676   0.013670  <SNR>81_request()
    4   0.011150   0.010142  sy#repo#get_diff()
    1   0.007765   0.007664  <SNR>116_IntoTemp()
    1   0.005350   0.004981  <SNR>36_LoadFTPlugin()
   16   0.017949   0.004408  traces#init()
   16   0.004082   0.003232  <SNR>143_parse_range()
    1   0.019481   0.002640  <SNR>83_execute_term()
   16              0.002590  <SNR>143_skip_modifiers()
   42              0.002301  <SNR>68_is_tmp_file()
    1   0.009912   0.002041  <SNR>116_BuildCmd()
    1              0.001996  <SNR>39_SynSet()
   16   0.002048   0.001901  <SNR>81_notify()
   16   0.009904   0.001704  <SNR>143_evaluate_cmdl()
   16              0.001580  <SNR>143_evaluate_range()
    1              0.001491  <SNR>116_ApplyRunAsync()
   21              0.001346  ElelineCurFname()
   64              0.001150  <SNR>143_trim()
    1              0.001072  <SNR>37_LoadIndent()
    2   0.005557   0.001037  <SNR>83_create_popup()
   16   0.002202   0.001032  <SNR>143_parse_command()
liuchengxu commented 4 years ago

I don't use vim-airline, so can't help more :(. @vn-ki You might want to file an issue at vim-airline to see if they have some suggestions.

liuchengxu commented 4 years ago

Once #383 is merged, the cache and dynamic freshing feature are both added for grepping and searching files, which can make clap much faster than before, especially the cache feature, you can run :Clap files / without worring the speed.

Feel free to try #383, and please provide the profile report if you still see the slowness problem. @alex-popov-tech

alex-popov-tech commented 4 years ago

@liuchengxu thanks, waiting for it!

Avi-D-coder commented 4 years ago

Can this be reopened. I am on the neovim master and arch, and ran make, but Clap feels slow to open.

liuchengxu commented 4 years ago

@Avi-D-coder Post your profile report with minimal vimrc.