pico-ssd1306-test/profile.log

1712 lines
86 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

FUNCTION <SNR>54_get_separator()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/builder.vim:155
Called 18 times
Total time: 0.042920
Self time: 0.000482
count total (s) self (s)
18 0.014457 0.000175 if airline#builder#should_change_group(a:prev_group, a:group)
18 0.028357 0.000200 return s:get_transitioned_separator(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#util#winwidth()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/util.vim:19
Called 54 times
Total time: 0.001597
Self time: 0.001597
count total (s) self (s)
54 0.000256 let nr = get(a:000, 0, 0)
" When statusline is on top, or using global statusline for Neovim
" always return the number of columns
54 0.000257 if get(g:, 'airline_statusline_ontop', 0) || &laststatus > 2
return &columns
54 0.000113 else
54 0.000251 return winwidth(nr)
endif
FUNCTION 5()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/builder.vim:8
Called 6 times
Total time: 0.000050
Self time: 0.000050
count total (s) self (s)
6 0.000029 call add(self._sections, ['|', a:0 ? a:1 : '%='])
FUNCTION <SNR>54_section_is_empty()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/builder.vim:182
Called 36 times
Total time: 0.001368
Self time: 0.001368
count total (s) self (s)
36 0.000131 let start=1
" do not check for inactive windows or the tabline
36 0.000146 if a:self._context.active == 0
15 0.000040 return 0
21 0.000087 elseif get(a:self._context, 'tabline', 0)
return 0
21 0.000036 endif
" only check, if airline#skip_empty_sections == 1
21 0.000099 if get(g:, 'airline_skip_empty_sections', 0) == 0
21 0.000044 return 0
endif
" only check, if airline#skip_empty_sections == 1
if get(w:, 'airline_skip_empty_sections', -1) == 0
return 0
endif
" special case: When the content is %=, that is the
" separation marker, which switches between left- and
" right-aligned content.
" Consider that to be empty, so that the previous previous
" group is correctly remembered in the builder() function
if empty(a:content) || a:content is# '%='
return 1
endif
let stripped = substitute(a:content, '\(%{.*}\|%#__accent_[^#]*#\|%#__restore__#\|%( \| %)\)', '', 'g')
if !empty(stripped)
return 0 " There is content in the statusline
endif
let exprlist = []
call substitute(a:content, '%{\([^}]*\)}', '\=add(exprlist, submatch(1))', 'g')
for expr in exprlist
try
" catch all exceptions, just in case
if !empty(eval(expr))
return 0
endif
catch
return 0
endtry
endfor
return 1
FUNCTION airline#util#doautocmd()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/util.vim:178
Called 12 times
Total time: 0.001149
Self time: 0.000485
count total (s) self (s)
12 0.000056 if !exists('#airline') && a:event !=? 'AirlineToggledOff'
" airline disabled
return
12 0.000022 endif
12 0.000022 try
12 0.000794 0.000130 exe printf("silent doautocmd %s User %s", s:nomodeline, a:event)
catch /^Vim\%((\a\+)\)\=:E48:/
" Catch: Sandbox mode
" no-op
12 0.000026 endtry
FUNCTION airline#util#exec_funcrefs()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/util.vim:95
Called 6 times
Total time: 0.012736
Self time: 0.001585
count total (s) self (s)
39 0.000151 for Fn in a:list
39 0.011689 0.000538 let code = call(Fn, a:000)
39 0.000137 if code != 0
6 0.000013 return code
33 0.000131 endif
33 0.000114 endfor
return 0
FUNCTION airline#parts#mode()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/parts.vim:55
Called 9 times
Total time: 0.001000
Self time: 0.000250
count total (s) self (s)
9 0.000139 0.000066 let part = airline#parts#get('mode')
9 0.000040 let minwidth = get(part, 'minwidth', 79)
9 0.000759 0.000081 return airline#util#shorten(get(w:, 'airline_current_mode', ''), minwidth, 1)
FUNCTION <SNR>13_dopopd()
Defined: /usr/share/nvim/runtime/plugin/fzf.vim:639
Called 3 times
Total time: 0.000036
Self time: 0.000036
count total (s) self (s)
3 0.000014 if !exists('w:fzf_pushd')
3 0.000006 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 <SNR>51_get_syn()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/highlighter.vim:44
Called 4008 times
Total time: 0.238689
Self time: 0.238689
count total (s) self (s)
4008 0.011028 let color = ''
4008 0.018098 if hlexists(a:group)
3892 0.020517 let color = synIDattr(synIDtrans(hlID(a:group)), a:what, a:mode)
4008 0.007971 endif
4008 0.019174 if empty(color) || color == -1
" should always exist
282 0.001444 let color = synIDattr(synIDtrans(hlID('Normal')), a:what, a:mode)
" however, just in case
282 0.001330 if empty(color) || color == -1
282 0.000754 let color = 'NONE'
282 0.000579 endif
4008 0.013027 endif
4008 0.013482 return color
FUNCTION airline#extensions#quickfix#inactive_qf_window()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/extensions/quickfix.vim:28
Called 3 times
Total time: 0.000075
Self time: 0.000075
count total (s) self (s)
3 0.000032 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')
3 0.000008 endif
FUNCTION <SNR>54_get_transitioned_separator()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/builder.vim:140
Called 24 times
Total time: 0.037922
Self time: 0.001719
count total (s) self (s)
24 0.000079 let line = ''
24 0.000126 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.'#'
24 0.000068 else
24 0.036476 0.000274 call airline#highlighter#add_separator(a:prev_group, a:group, a:side)
24 0.000121 let line .= '%#'.a:prev_group.'_to_'.a:group.'#'
24 0.000112 let line .= a:side ? a:self._context.left_sep : a:self._context.right_sep
24 0.000114 let line .= '%#'.a:group.'#'
24 0.000046 endif
24 0.000058 return line
FUNCTION airline#extensions#quickfix#apply()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/extensions/quickfix.vim:14
Called 3 times
Total time: 0.000071
Self time: 0.000071
count total (s) self (s)
3 0.000014 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 = ''
3 0.000006 endif
FUNCTION airline#util#ignore_buf()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/util.vim:138
Called 18 times
Total time: 0.000469
Self time: 0.000469
count total (s) self (s)
18 0.000128 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')
18 0.000257 return match(a:name, pat) > -1
FUNCTION <SNR>6_on_window_changed()
Defined: ~/.local/share/nvim/lazy/vim-airline/plugin/airline.vim:51
Called 3 times
Total time: 0.084138
Self time: 0.000489
count total (s) self (s)
" don't trigger for Vim popup windows
3 0.000030 if &buftype is# 'popup'
return
3 0.000009 endif
3 0.000023 if pumvisible() && (!&previewwindow || g:airline_exclude_preview)
" do not trigger for previewwindows
return
3 0.000010 endif
3 0.000025 let s:active_winnr = winnr()
" Handle each window only once, since we might come here several times for
" different autocommands.
3 0.000085 let l:key = [bufnr('%'), s:active_winnr, winnr('$'), tabpagenr(), &ft]
3 0.000029 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
3 0.000010 endif
3 0.000019 let g:airline_last_window_changed = l:key
3 0.000086 0.000040 call s:init()
3 0.083646 0.000043 call airline#update_statusline()
FUNCTION <SNR>19_Highlight_Matching_Pair()
Defined: /usr/share/nvim/runtime/plugin/matchparen.vim:39
Called 6 times
Total time: 0.000997
Self time: 0.000889
count total (s) self (s)
" Remove any previous match.
6 0.000148 0.000040 call s:Remove_Matches()
" Avoid that we remove the popup menu.
" Return when there are no colors (looks like the cursor jumps).
6 0.000029 if pumvisible() || (&t_Co < 8 && !has("gui_running"))
return
6 0.000012 endif
" Get the character under the cursor and check if it's in 'matchpairs'.
6 0.000028 let c_lnum = line('.')
6 0.000029 let c_col = col('.')
6 0.000015 let before = 0
6 0.000028 let text = getline(c_lnum)
6 0.000069 let matches = matchlist(text, '\(.\)\=\%'.c_col.'c\(.\=\)')
6 0.000025 if empty(matches)
let [c_before, c] = ['', '']
6 0.000018 else
6 0.000029 let [c_before, c] = matches[1:2]
6 0.000010 endif
6 0.000052 let plist = split(&matchpairs, '.\zs[:,]')
6 0.000028 let i = index(plist, c)
6 0.000014 if i < 0
" not found, in Insert mode try character before the cursor
6 0.000028 if c_col > 1 && (mode() == 'i' || mode() == 'R')
let before = strlen(c_before)
let c = c_before
let i = index(plist, c)
6 0.000020 endif
6 0.000019 if i < 0
" not found, nothing to do
6 0.000013 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, and
" match "symbol" for lispBarSymbol.
let s_skip = 'synstack(".", col("."))' . '->indexof({_, id -> synIDattr(id, "name") =~? ' . '"string\\|character\\|singlequote\\|escape\\|symbol\\|comment"}) >= 0'
" 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 <SNR>6_init()
Defined: ~/.local/share/nvim/lazy/vim-airline/plugin/airline.vim:15
Called 3 times
Total time: 0.000046
Self time: 0.000046
count total (s) self (s)
3 0.000013 if s:airline_initialized
3 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 airline#parts#get()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/parts.vim:49
Called 9 times
Total time: 0.000073
Self time: 0.000073
count total (s) self (s)
9 0.000044 return get(s:parts, a:key, {})
FUNCTION airline#statusline()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline.vim:218
Called 18 times
Total time: 0.000452
Self time: 0.000452
count total (s) self (s)
18 0.000155 if has_key(s:contexts, a:winnr)
18 0.000181 return '%{airline#check_mode('.a:winnr.')}'.s:contexts[a:winnr].line
endif
" in rare circumstances this happens...see #276
return ''
FUNCTION airline#extensions#keymap#status()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/extensions/keymap.vim:10
Called 9 times
Total time: 0.000634
Self time: 0.000634
count total (s) self (s)
9 0.000047 if (get(g:, 'airline#extensions#keymap#enabled', 1) && has('keymap'))
9 0.000042 let short_codes = get(g:, 'airline#extensions#keymap#short_codes', {})
9 0.000043 let label = get(g:, 'airline#extensions#keymap#label', g:airline_symbols.keymap)
9 0.000043 let default = get(g:, 'airline#extensions#keymap#default', '')
9 0.000022 if (label !=# '')
9 0.000035 let label .= ' '
9 0.000026 endif
9 0.000032 let keymap = &keymap
9 0.000037 if has_key(short_codes, keymap)
let keymap = short_codes[keymap]
9 0.000017 endif
9 0.000051 return printf('%s', (!empty(keymap) && &iminsert ? (label . keymap) : (!empty(default) ? label . default : default)))
else
return ''
endif
FUNCTION airline#parts#paste()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/parts.vim:65
Called 9 times
Total time: 0.000070
Self time: 0.000070
count total (s) self (s)
9 0.000042 return g:airline_detect_paste && &paste ? g:airline_symbols.paste : ''
FUNCTION <SNR>51_GetHiCmd()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/highlighter.vim:140
Called 108 times
Total time: 0.039887
Self time: 0.039887
count total (s) self (s)
" a:list needs to have 5 items!
108 0.000304 let res = ''
108 0.000310 let i = -1
648 0.001638 while i < 4
540 0.001504 let i += 1
540 0.002610 let item = get(a:list, i, '')
540 0.001390 if item is ''
114 0.000248 continue
426 0.000983 endif
426 0.001070 if i == 0
108 0.000510 let res .= ' guifg='.item
318 0.000801 elseif i == 1
94 0.000468 let res .= ' guibg='.item
224 0.000538 elseif i == 2
108 0.000521 let res .= ' ctermfg='.item
116 0.000274 elseif i == 3
94 0.000456 let res .= ' ctermbg='.item
22 0.000057 elseif i == 4
22 0.000124 let res .= printf(' gui=%s cterm=%s term=%s', item, item, item)
426 0.000881 endif
534 0.001207 endwhile
108 0.000312 return res
FUNCTION airline#extensions#wordcount#apply()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/extensions/wordcount.vim:98
Called 3 times
Total time: 0.000247
Self time: 0.000247
count total (s) self (s)
3 0.000023 let filetypes = get(g:, 'airline#extensions#wordcount#filetypes', ['asciidoc', 'help', 'mail', 'markdown', 'rmd', 'nroff', 'org', 'rst', 'plaintex', 'tex', 'text'])
" export current filetypes settings to global namespace
3 0.000014 let g:airline#extensions#wordcount#filetypes = filetypes
" Check if filetype needs testing
3 0.000014 if did_filetype()
" correctly test for compound filetypes (e.g. markdown.pandoc)
let ft = substitute(&filetype, '\.', '\\|', 'g')
" Select test based on type of "filetypes": new=list, old=string
if type(filetypes) == get(v:, 't_list', type([])) ? match(filetypes, '\<'. ft. '\>') > -1 || index(filetypes, 'all') > -1 : match(&filetype, filetypes) > -1
let b:airline_changedtick = -1
call s:update_wordcount(1) " force update: ensures initial worcount exists
elseif exists('b:airline_wordcount') " cleanup when filetype is removed
unlet b:airline_wordcount
endif
3 0.000009 endif
3 0.000014 if exists('b:airline_wordcount')
call airline#extensions#prepend_to_section( 'z', '%{airline#extensions#wordcount#get()}')
3 0.000005 endif
FUNCTION 12()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/builder.vim:62
Called 6 times
Total time: 0.068256
Self time: 0.009603
count total (s) self (s)
6 0.000021 let side = 1
6 0.000021 let line = ''
6 0.000023 let i = 0
6 0.000027 let length = len(self._sections)
6 0.000033 let split = 0
6 0.000021 let is_empty = 0
6 0.000021 let prev_group = ''
42 0.000152 while i < length
36 0.000156 let section = self._sections[i]
36 0.000148 let group = section[0]
36 0.000171 let contents = section[1]
36 0.000131 let pgroup = prev_group
36 0.001810 0.000406 let prev_group = airline#builder#get_prev_group(self._sections, i)
36 0.000157 if group ==# 'airline_c' && &buftype ==# 'terminal' && self._context.active
let group = 'airline_term'
36 0.000173 elseif group ==# 'airline_c' && !self._context.active && has_key(self._context, 'bufnr')
let group = 'airline_c'. self._context.bufnr
36 0.000172 elseif prev_group ==# 'airline_c' && !self._context.active && has_key(self._context, 'bufnr')
let prev_group = 'airline_c'. self._context.bufnr
36 0.000069 endif
36 0.000080 if is_empty
let prev_group = pgroup
36 0.000075 endif
36 0.001747 0.000378 let is_empty = s:section_is_empty(self, contents)
36 0.000104 if is_empty
" need to fix highlighting groups, since we
" have skipped a section, we actually need
" the previous previous group and so the
" separator goes from the previous previous group
" to the current group
let pgroup = group
36 0.000077 endif
36 0.000105 if group == ''
let line .= contents
36 0.000104 elseif group == '|'
6 0.000019 let side = 0
6 0.000028 let line .= contents
6 0.000014 let split = 1
30 0.000069 else
30 0.000087 if prev_group == ''
6 0.000029 let line .= '%#'.group.'#'
24 0.000061 elseif split
6 0.000016 if !is_empty
6 0.009845 0.000081 let line .= s:get_transitioned_separator(self, prev_group, group, side)
6 0.000013 endif
6 0.000018 let split = 0
18 0.000033 else
18 0.000041 if !is_empty
18 0.043147 0.000227 let line .= s:get_separator(self, prev_group, group, side)
18 0.000034 endif
30 0.000053 endif
30 0.003609 0.000413 let line .= is_empty ? '' : s:get_accented_line(self, group, contents)
36 0.000068 endif
36 0.000123 let i = i + 1
42 0.000172 endwhile
6 0.000019 if !self._context.active
"let line = substitute(line, '%#airline_c#', '%#airline_c'.self._context.bufnr.'#', '')
3 0.000116 let line = substitute(line, '%#.\{-}\ze#', '\0_inactive', 'g')
6 0.000016 endif
6 0.000020 return line
FUNCTION airline#update_statusline()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline.vim:144
Called 3 times
Total time: 0.083603
Self time: 0.000445
count total (s) self (s)
3 0.000379 0.000073 if airline#util#stl_disabled(winnr()) || airline#util#is_popup_window(winnr())
return
3 0.000010 endif
" TODO: need to ignore popup windows here as well?
3 0.000048 let range = filter(range(1, winnr('$')), 'v:val != winnr()')
" create inactive statusline
3 0.034500 0.000054 call airline#update_statusline_inactive(range)
3 0.000014 unlet! w:airline_render_left w:airline_render_right
3 0.000034 exe 'unlet! ' 'w:airline_section_'. join(s:sections, ' w:airline_section_')
" Now create the active statusline
3 0.000014 let w:airline_active = 1
3 0.000019 let context = { 'winnr': winnr(), 'active': 1, 'bufnr': winbufnr(winnr()) }
3 0.000006 try
3 0.048447 0.000042 call s:invoke_funcrefs(context, g:airline_statusline_funcrefs)
catch /^Vim\%((\a\+)\)\=:E48:/
" Catch: Sandbox mode
" no-op
3 0.000006 endtry
FUNCTION airline#util#append()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/util.vim:51
Called 63 times
Total time: 0.001614
Self time: 0.001614
count total (s) self (s)
63 0.000309 if a:minwidth > 0 && airline#util#winwidth() < a:minwidth
return ''
63 0.000122 endif
63 0.000296 let prefix = s:spc == "\ua0" ? s:spc : s:spc.s:spc
63 0.000295 return empty(a:text) ? '' : prefix.g:airline_left_alt_sep.s:spc.a:text
FUNCTION 7()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/builder.vim:17
Called 30 times
Total time: 0.000250
Self time: 0.000250
count total (s) self (s)
30 0.000149 call add(self._sections, [a:group, a:contents])
FUNCTION airline#parts#readonly()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/parts.vim:179
Called 18 times
Total time: 0.001227
Self time: 0.000758
count total (s) self (s)
" only consider regular buffers (e.g. ones that represent actual files,
" but not special ones like e.g. NERDTree)
18 0.000683 0.000214 if !empty(&buftype) || airline#util#ignore_buf(bufname('%'))
return ''
18 0.000033 endif
18 0.000086 if &readonly && !filereadable(bufname('%'))
return '[noperm]'
18 0.000032 else
18 0.000074 return &readonly ? g:airline_symbols.readonly : ''
endif
FUNCTION <SNR>19_Remove_Matches()
Defined: /usr/share/nvim/runtime/plugin/matchparen.vim:197
Called 12 times
Total time: 0.000327
Self time: 0.000327
count total (s) self (s)
12 0.000106 if exists('w:paren_hl_on') && w:paren_hl_on
silent! call matchdelete(3)
let w:paren_hl_on = 0
12 0.000035 endif
FUNCTION <SNR>41_invoke_funcrefs()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline.vim:205
Called 6 times
Total time: 0.081832
Self time: 0.000516
count total (s) self (s)
6 0.000391 0.000067 let builder = airline#builder#new(a:context)
6 0.012871 0.000135 let err = airline#util#exec_funcrefs(a:funcrefs + s:core_funcrefs, builder, a:context)
6 0.000019 if err == 1
6 0.068321 0.000065 let a:context.line = builder.build()
6 0.000033 let s:contexts[a:context.winnr] = a:context
6 0.000029 let option = get(g:, 'airline_statusline_ontop', 0) ? '&tabline' : '&statusline'
6 0.000064 call setwinvar(a:context.winnr, option, '%!airline#statusline('.a:context.winnr.')')
6 0.000011 endif
FUNCTION airline#extensions#default#apply()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/extensions/default.vim:79
Called 6 times
Total time: 0.008190
Self time: 0.000756
count total (s) self (s)
6 0.000028 let winnr = a:context.winnr
6 0.000024 let active = a:context.active
6 0.000115 0.000065 if airline#util#getwinvar(winnr, 'airline_render_left', active || (!active && !g:airline_inactive_collapse))
3 0.001658 0.000030 call s:build_sections(a:builder, a:context, s:layout[0])
3 0.000007 else
3 0.000636 0.000064 let text = !empty(s:get_section(winnr, 'c')) ? s:get_section(winnr, 'c') : ' %f%m '
3 0.000061 0.000032 call a:builder.add_section('airline_c'.(a:context.bufnr), text)
6 0.000011 endif
6 0.000579 0.000088 call a:builder.split(s:get_section(winnr, 'gutter', '', ''))
6 0.000098 0.000051 if airline#util#getwinvar(winnr, 'airline_render_right', 1)
6 0.004680 0.000063 call s:build_sections(a:builder, a:context, s:layout[1])
6 0.000015 endif
6 0.000017 return 1
FUNCTION airline#highlighter#exec()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/highlighter.vim:219
Called 594 times
Total time: 0.407801
Self time: 0.108453
count total (s) self (s)
594 0.001676 if pumvisible()
return
594 0.001806 endif
594 0.002122 let colors = a:colors
594 0.002281 if len(colors) == 4
189 0.000761 call add(colors, '')
594 0.001729 endif
" colors should always be string values
594 0.010300 let colors = map(copy(colors), 'type(v:val) != type("") ? string(v:val) : v:val')
594 0.001548 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, ''))
594 0.001187 endif
594 0.228965 0.006326 let old_hi = airline#highlighter#get_highlight(a:group)
594 0.004440 let new_hi = [colors[0], colors[1], printf('%s', colors[2]), printf('%s', colors[3]), colors[4]]
594 0.029235 0.005218 let colors = s:CheckDefined(colors)
594 0.017832 0.005028 if old_hi != new_hi || !s:hl_group_exists(a:group)
108 0.041157 0.001269 let cmd = printf('hi %s%s', a:group, s:GetHiCmd(colors))
108 0.000243 try
108 0.000707 exe cmd
catch /^Vim\%((\a\+)\)\=:E421:/ " color definition not found
let group=matchstr(v:exception, '\w\+\ze=')
let color=matchstr(v:exception, '=\zs\w\+')
let cmd=substitute(cmd, color, 'grey', 'g')
exe cmd
call airline#util#warning('color definition for group ' . a:group . ' not found, using grey as fallback')
catch
call airline#util#warning('Error when running command: '. cmd)
108 0.000368 endtry
108 0.000466 if has_key(s:hl_groups, a:group)
108 0.000529 let s:hl_groups[a:group] = colors
108 0.000227 endif
594 0.001906 endif
FUNCTION airline#util#stl_disabled()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/util.vim:196
Called 9 times
Total time: 0.000702
Self time: 0.000449
count total (s) self (s)
" setting the statusline is disabled,
" either globally, per window, or per buffer
" w:airline_disabled is deprecated!
9 0.000583 0.000330 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 <SNR>51_hl_group_exists()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/highlighter.vim:99
Called 486 times
Total time: 0.012804
Self time: 0.012804
count total (s) self (s)
486 0.002305 if !hlexists(a:group)
return 0
486 0.002524 elseif empty(synIDattr(synIDtrans(hlID(a:group)), 'fg'))
return 0
486 0.000973 endif
486 0.001073 return 1
FUNCTION airline#extensions#apply()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/extensions.vim:72
Called 6 times
Total time: 0.001771
Self time: 0.000954
count total (s) self (s)
6 0.000032 let filetype_overrides = get(s:, 'filetype_overrides', {})
6 0.000045 call extend(filetype_overrides, get(g:, 'airline_filetype_overrides', {}), 'force')
6 0.000881 0.000063 if s:is_excluded_window()
return -1
6 0.000017 endif
6 0.000026 if &buftype == 'terminal'
let w:airline_section_x = ''
let w:airline_section_y = ''
6 0.000017 endif
6 0.000030 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()))
6 0.000012 endif
6 0.000045 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])
6 0.000012 endif
6 0.000024 if &buftype == 'help'
let w:airline_section_x = ''
let w:airline_section_y = ''
let w:airline_render_right = 1
6 0.000020 endif
6 0.000031 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
6 0.000012 endfor
FUNCTION airline#builder#should_change_group()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/builder.vim:130
Called 18 times
Total time: 0.014281
Self time: 0.000860
count total (s) self (s)
18 0.000082 if a:group1 == a:group2
return 0
18 0.000040 endif
18 0.006907 0.000211 let color1 = airline#highlighter#get_highlight(a:group1)
18 0.006925 0.000200 let color2 = airline#highlighter#get_highlight(a:group2)
18 0.000092 return color1[1] != color2[1] || color1[0] != color2[0] || color1[2] != color2[2] || color1[3] != color2[3]
FUNCTION airline#themes#get_highlight()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/themes.vim:35
Called 372 times
Total time: 0.142274
Self time: 0.005828
count total (s) self (s)
372 0.140548 0.004102 return call('airline#highlighter#get_highlight', [a:group] + a:000)
FUNCTION airline#highlighter#get_highlight()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/highlighter.vim:68
Called 1002 times
Total time: 0.372507
Self time: 0.124818
count total (s) self (s)
" only check for the cterm reverse attribute
" TODO: do we need to check all modes (gui, term, as well)?
1002 0.005445 let reverse = synIDattr(synIDtrans(hlID(a:group)), 'reverse', 'cterm')
1002 0.005011 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
1002 0.002024 else
1002 0.069696 0.008962 let ctermfg = s:get_syn(a:group, 'fg', 'cterm')
1002 0.069205 0.009580 let ctermbg = s:get_syn(a:group, 'bg', 'cterm')
1002 0.068462 0.009139 let guifg = s:get_syn(a:group, 'fg', 'gui')
1002 0.068051 0.009044 let guibg = s:get_syn(a:group, 'bg', 'gui')
1002 0.005193 let bold = synIDattr(synIDtrans(hlID(a:group)), 'bold')
1002 0.002351 if reverse
let res = s:get_array(guibg, guifg, ctermbg, ctermfg, bold ? ['bold'] : a:000)
1002 0.002021 else
1002 0.019074 0.010074 let res = s:get_array(guifg, guibg, ctermfg, ctermbg, bold ? ['bold'] : a:000)
1002 0.002230 endif
1002 0.002172 endif
1002 0.004928 let s:hl_groups[a:group] = res
1002 0.002362 return res
FUNCTION airline#util#shorten()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/util.vim:30
Called 9 times
Total time: 0.000677
Self time: 0.000416
count total (s) self (s)
9 0.000418 0.000156 if airline#util#winwidth() < a:winwidth && len(split(a:text, '\zs')) > a:minwidth
9 0.000042 if get(a:000, 0, 0)
" shorten from tail
return '…'.matchstr(a:text, '.\{'.a:minwidth.'}$')
9 0.000017 else
" shorten from beginning of string
9 0.000062 return matchstr(a:text, '^.\{'.a:minwidth.'}').'…'
endif
else
return a:text
endif
FUNCTION airline#extensions#append_to_section()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/extensions.vim:54
Called 3 times
Total time: 0.000108
Self time: 0.000055
count total (s) self (s)
3 0.000079 0.000027 call <sid>check_defined_section(a:name)
3 0.000014 let w:airline_section_{a:name} .= a:value
FUNCTION <SNR>55_get_section()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/extensions/default.vim:20
Called 45 times
Total time: 0.003597
Self time: 0.002537
count total (s) self (s)
45 0.000213 if has_key(s:section_truncate_width, a:key)
27 0.001086 0.000276 if airline#util#winwidth(a:winnr) < s:section_truncate_width[a:key]
15 0.000032 return ''
12 0.000024 endif
30 0.000059 endif
30 0.000135 let spc = g:airline_symbols.space
30 0.000155 if !exists('g:airline_section_{a:key}')
return ''
30 0.000056 endif
30 0.000610 0.000361 let text = airline#util#getwinvar(a:winnr, 'airline_section_'.a:key, g:airline_section_{a:key})
30 0.000229 let [prefix, suffix] = [get(a:000, 0, '%('.spc), get(a:000, 1, spc.'%)')]
30 0.000145 return empty(text) ? '' : prefix.text.suffix
FUNCTION airline#extensions#searchcount#apply()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/extensions/searchcount.vim:15
Called 3 times
Total time: 0.000147
Self time: 0.000039
count total (s) self (s)
3 0.000137 0.000029 call airline#extensions#append_to_section('y', '%{v:hlsearch ? airline#extensions#searchcount#status() : ""}')
FUNCTION airline#util#wrap()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/util.vim:44
Called 45 times
Total time: 0.000753
Self time: 0.000753
count total (s) self (s)
45 0.000212 if a:minwidth > 0 && airline#util#winwidth() < a:minwidth
return ''
45 0.000080 endif
45 0.000101 return a:text
FUNCTION airline#extensions#fzf#inactive_apply()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/extensions/fzf.vim:37
Called 3 times
Total time: 0.000102
Self time: 0.000102
count total (s) self (s)
3 0.000020 if getbufvar(a:2.bufnr, '&filetype') ==# 'fzf'
let spc = g:airline_symbols.space
call a:1.add_section('airline_a', spc.'FZF'.spc)
call a:1.add_section('airline_c', '')
return 1
3 0.000009 endif
FUNCTION airline#highlighter#highlight_modified_inactive()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/highlighter.vim:205
Called 12 times
Total time: 0.010674
Self time: 0.000706
count total (s) self (s)
12 0.000070 if getbufvar(a:bufnr, '&modified')
8 0.000080 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 : []
4 0.000008 else
4 0.000032 let colors = exists('g:airline#themes#{g:airline_theme}#palette.inactive.airline_c') ? g:airline#themes#{g:airline_theme}#palette.inactive.airline_c : []
12 0.000024 endif
12 0.000047 if !empty(colors)
12 0.010139 0.000172 call airline#highlighter#exec('airline_c'.(a:bufnr).'_inactive', colors)
12 0.000024 endif
FUNCTION airline#util#is_popup_window()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/util.vim:214
Called 3 times
Total time: 0.000059
Self time: 0.000059
count total (s) self (s)
" Keep the statusline active if it's a popup window
3 0.000018 if exists('*win_gettype')
3 0.000019 return win_gettype(a:winnr) ==# 'popup' || win_gettype(a:winnr) ==# 'autocmd'
else
return airline#util#getwinvar(a:winnr, '&buftype', '') ==# 'popup'
endif
FUNCTION airline#check_mode()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline.vim:227
Called 18 times
Total time: 0.642331
Self time: 0.005906
count total (s) self (s)
18 0.000093 if !has_key(s:contexts, a:winnr)
return ''
18 0.000048 endif
18 0.000101 let context = s:contexts[a:winnr]
18 0.000093 if get(w:, 'airline_active', 1)
9 0.000044 let m = mode(1)
" Refer :help mode() to see the list of modes
" NB: 'let mode' here refers to the display colour _groups_,
" not the literal mode's code (i.e., m). E.g., Select modes
" v, S and ^V use 'visual' since they are of similar ilk.
" Some modes do not get recognised for status line purposes:
" no, nov, noV, no^V, !, cv, and ce.
" Mode name displayed is handled in init.vim (g:airline_mode_map).
"
9 0.000043 if m[0] ==# "i"
let mode = ['insert'] " Insert modes + submodes (i, ic, ix)
9 0.000034 elseif m[0] == "R"
let mode = ['replace'] " Replace modes + submodes (R, Rc, Rv, Rx) (NB: case sensitive as 'r' is a mode)
9 0.000091 elseif m[0] =~ '\v(v|V||s|S|)'
let mode = ['visual'] " Visual and Select modes (v, V, ^V, s, S, ^S))
9 0.000031 elseif m ==# "t"
let mode = ['terminal'] " Terminal mode (only has one mode (t))
9 0.000053 elseif m[0] =~ '\v(c|r|!)'
3 0.000014 let mode = ['commandline'] " c, cv, ce, r, rm, r? (NB: cv and ce stay showing as mode entered from)
6 0.000012 else
6 0.000029 let mode = ['normal'] " Normal mode + submodes (n, niI, niR, niV; plus operator pendings no, nov, noV, no^V)
9 0.000021 endif
9 0.000056 if exists("*VMInfos") && !empty(VMInfos())
" Vim plugin Multiple Cursors https://github.com/mg979/vim-visual-multi
let m = 'multi'
9 0.000021 endif
" Adjust to handle additional modes, which don't display correctly otherwise
9 0.000081 if index(['niI', 'niR', 'niV', 'ic', 'ix', 'Rc', 'Rv', 'Rx', 'multi'], m) == -1
9 0.000041 let m = m[0]
9 0.000017 endif
9 0.000047 let w:airline_current_mode = get(g:airline_mode_map, m, m)
9 0.000019 else
9 0.000046 let mode = ['inactive']
9 0.000048 let w:airline_current_mode = get(g:airline_mode_map, '__')
18 0.000037 endif
18 0.000100 if g:airline_detect_modified && &modified
9 0.000048 call add(mode, 'modified')
18 0.000038 endif
18 0.000062 if g:airline_detect_paste && &paste
call add(mode, 'paste')
18 0.000053 endif
18 0.000183 if g:airline_detect_crypt && exists("+key") && !empty(&key)
call add(mode, 'crypt')
18 0.000054 endif
18 0.000075 if g:airline_detect_spell && &spell
call add(mode, 'spell')
18 0.000054 endif
18 0.000070 if &readonly || ! &modifiable
call add(mode, 'readonly')
18 0.000056 endif
18 0.000099 let mode_string = join(mode)
18 0.000089 if get(w:, 'airline_lastmode', '') != mode_string
12 0.010826 0.000153 call airline#highlighter#highlight_modified_inactive(context.bufnr)
12 0.624811 0.000209 call airline#highlighter#highlight(mode, string(context.bufnr))
12 0.001294 0.000145 call airline#util#doautocmd('AirlineModeChanged')
12 0.000056 let w:airline_lastmode = mode_string
18 0.000043 endif
18 0.000046 return ''
FUNCTION airline#extensions#term#inactive_apply()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/extensions/term.vim:39
Called 3 times
Total time: 0.000256
Self time: 0.000256
count total (s) self (s)
3 0.000020 if getbufvar(a:2.bufnr, '&buftype') ==? 'terminal'
let sections = s:GetAirlineSection()
let spc = g:airline_symbols.space
call a:1.add_section_spaced('airline_a', sections[0])
call a:1.add_section_spaced('airline_b', s:neoterm_id(a:2.bufnr))
call a:1.add_section('airline_term', spc.s:termname(a:2.bufnr))
call a:1.split()
call a:1.add_section('airline_y', '')
call a:1.add_section_spaced('airline_z', sections[1])
return 1
3 0.000009 endif
FUNCTION airline#parts#filetype()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/parts.vim:192
Called 18 times
Total time: 0.000777
Self time: 0.000252
count total (s) self (s)
18 0.000720 0.000194 return (airline#util#winwidth() < 90 && strlen(&filetype) > 3) ? matchstr(&filetype, '...'). (&encoding is? 'utf-8' ? '…' : '>') : &filetype
FUNCTION airline#parts#iminsert()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/parts.vim:172
Called 9 times
Total time: 0.000217
Self time: 0.000217
count total (s) self (s)
9 0.000042 if g:airline_detect_iminsert && &iminsert && exists('b:keymap_name')
return toupper(b:keymap_name)
9 0.000033 endif
9 0.000031 return ''
FUNCTION airline#update_tabline()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline.vim:301
Called 21 times
Total time: 0.000484
Self time: 0.000484
count total (s) self (s)
21 0.000186 if get(g:, 'airline_statusline_ontop', 0)
call airline#extensions#tabline#redraw()
21 0.000055 endif
FUNCTION airline#builder#get_prev_group()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/builder.vim:37
Called 36 times
Total time: 0.001404
Self time: 0.001404
count total (s) self (s)
36 0.000167 let x = a:i - 1
42 0.000132 while x >= 0
36 0.000162 let group = a:sections[x][0]
36 0.000179 if group != '' && group != '|'
30 0.000087 return group
6 0.000015 endif
6 0.000019 let x = x - 1
12 0.000046 endwhile
6 0.000019 return ''
FUNCTION airline#extensions#term#apply()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/extensions/term.vim:25
Called 3 times
Total time: 0.000147
Self time: 0.000147
count total (s) self (s)
3 0.000016 if &buftype ==? 'terminal' || bufname(a:2.bufnr)[0] ==? '!'
let sections = s:GetAirlineSection()
let spc = g:airline_symbols.space
call a:1.add_section_spaced('airline_a', sections[0])
call a:1.add_section_spaced('airline_b', s:neoterm_id(a:2.bufnr))
call a:1.add_section('airline_term', spc.s:termname(a:2.bufnr))
call a:1.split()
call a:1.add_section('airline_y', '')
call a:1.add_section_spaced('airline_z', sections[1])
return 1
3 0.000009 endif
FUNCTION <SNR>55_add_section()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/extensions/default.vim:47
Called 33 times
Total time: 0.004790
Self time: 0.001985
count total (s) self (s)
33 0.000167 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
33 0.000492 0.000188 if ((a:key == 'error' || a:key == 'warning') && empty(s:get_section(a:context.winnr, a:key)))
6 0.000017 return
27 0.000050 endif
27 0.000058 if condition
call a:builder.add_raw('%(')
27 0.000083 endif
27 0.002913 0.000412 call a:builder.add_section('airline_'.a:key, s:get_section(a:context.winnr, a:key))
27 0.000070 if condition
call a:builder.add_raw('%)')
27 0.000083 endif
FUNCTION airline#util#getwinvar()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/util.vim:84
Called 60 times
Total time: 0.000520
Self time: 0.000520
count total (s) self (s)
60 0.000320 return getwinvar(a:winnr, a:key, a:def)
FUNCTION <SNR>39_check_defined_section()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/extensions.vim:48
Called 3 times
Total time: 0.000053
Self time: 0.000053
count total (s) self (s)
3 0.000014 if !exists('w:airline_section_{a:name}')
3 0.000015 let w:airline_section_{a:name} = g:airline_section_{a:name}
3 0.000006 endif
FUNCTION <SNR>55_build_sections()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/extensions/default.vim:35
Called 9 times
Total time: 0.006245
Self time: 0.001455
count total (s) self (s)
48 0.000145 for key in a:keys
39 0.000178 if (key == 'warning' || key == 'error') && !a:context.active
6 0.000012 continue
33 0.000062 endif
33 0.005100 0.000310 call s:add_section(a:builder, a:context, key)
42 0.000115 endfor
FUNCTION airline#extensions#po#apply()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/extensions/po.vim:64
Called 3 times
Total time: 0.000070
Self time: 0.000070
count total (s) self (s)
3 0.000019 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 * call s:autocmd_handler()
autocmd airline WinEnter * call airline#extensions#po#on_winenter()
3 0.000006 endif
FUNCTION <SNR>39_is_excluded_window()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/extensions.vim:112
Called 6 times
Total time: 0.000817
Self time: 0.000817
count total (s) self (s)
6 0.000029 for matchft in g:airline_exclude_filetypes
if matchft ==# &ft
return 1
endif
6 0.000016 endfor
24 0.000072 for matchw in g:airline_exclude_filenames
18 0.000144 if matchstr(expand('%'), matchw) ==# matchw
return 1
18 0.000038 endif
24 0.000047 endfor
6 0.000023 if g:airline_exclude_preview && &previewwindow
return 1
6 0.000017 endif
6 0.000018 return 0
FUNCTION airline#extensions#fzf#apply()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/extensions/fzf.vim:28
Called 3 times
Total time: 0.000076
Self time: 0.000076
count total (s) self (s)
3 0.000014 if &filetype ==# 'fzf'
let spc = g:airline_symbols.space
call a:1.add_section('airline_a', spc.'FZF'.spc)
call a:1.add_section('airline_c', '')
return 1
3 0.000006 endif
FUNCTION airline#parts#spell()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/parts.vim:147
Called 9 times
Total time: 0.000825
Self time: 0.000825
count total (s) self (s)
9 0.000080 let spelllang = g:airline_detect_spelllang ? printf(" [%s]", toupper(substitute(&spelllang, ',', '/', 'g'))) : ''
9 0.000046 if g:airline_detect_spell && (&spell || (exists('g:airline_spell_check_command') && eval(g:airline_spell_check_command)))
if g:airline_detect_spelllang !=? '0' && g:airline_detect_spelllang ==? 'flag'
let spelllang = tolower(&spelllang)
if has_key(s:flags, spelllang)
return s:flags[spelllang]
elseif has_key(s:flags_noregion, spelllang)
return s:flags_noregion[spelllang]
endif
endif
let winwidth = airline#util#winwidth()
if winwidth >= 90
return g:airline_symbols.spell . spelllang
elseif winwidth >= 70
return g:airline_symbols.spell
elseif !empty(g:airline_symbols.spell)
return split(g:airline_symbols.spell, '\zs')[0]
endif
9 0.000029 endif
9 0.000030 return ''
FUNCTION airline#highlighter#highlight()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/highlighter.vim:255
Called 12 times
Total time: 0.624602
Self time: 0.090678
count total (s) self (s)
12 0.000056 let bufnr = a:0 ? a:1 : ''
12 0.000057 let p = g:airline#themes#{g:airline_theme}#palette
" draw the base mode, followed by any overrides
12 0.000105 let mapped = map(a:modes, 'v:val == a:modes[0] ? v:val : a:modes[0]."_".v:val')
12 0.000058 let suffix = a:modes[0] == 'inactive' ? '_inactive' : ''
12 0.000046 let airline_grouplist = []
12 0.000086 let buffers_in_tabpage = sort(tabpagebuflist())
12 0.000054 if exists("*uniq")
12 0.000059 let buffers_in_tabpage = uniq(buffers_in_tabpage)
12 0.000024 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
32 0.000106 for mode in reverse(mapped)
20 0.000121 if exists('g:airline#themes#{g:airline_theme}#palette[mode]')
18 0.000100 let dict = g:airline#themes#{g:airline_theme}#palette[mode]
303 0.000922 for kvp in items(dict)
285 0.001152 let mode_colors = kvp[1]
285 0.000944 let name = kvp[0]
285 0.001249 if name is# 'airline_c' && !empty(bufnr) && suffix is# '_inactive'
5 0.000024 let name = 'airline_c'.bufnr
285 0.000595 endif
" do not re-create highlighting for buffers that are no longer visible
" in the current tabpage
285 0.001781 if name =~# 'airline_c\d\+'
39 0.000266 let bnr = matchstr(name, 'airline_c\zs\d\+') + 0
39 0.000189 if bnr > 0 && index(buffers_in_tabpage, bnr) == -1
continue
39 0.000073 endif
246 0.001363 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)
119 0.000274 continue
166 0.000331 endif
166 0.005601 0.001642 if s:group_not_done(airline_grouplist, name.suffix)
132 0.092417 0.001492 call airline#highlighter#exec(name.suffix, mode_colors)
166 0.000448 endif
166 0.000772 if !has_key(p, 'accents')
" work around a broken installation
" shouldn't actually happen, p should always contain accents
continue
166 0.000337 endif
498 0.001751 for accent in keys(s:accents)
332 0.001605 if !has_key(p.accents, accent)
continue
332 0.000661 endif
332 0.001675 let colors = copy(mode_colors)
332 0.001603 if p.accents[accent][0] != ''
166 0.000809 let colors[0] = p.accents[accent][0]
332 0.000854 endif
332 0.001477 if p.accents[accent][2] != ''
166 0.000819 let colors[2] = p.accents[accent][2]
332 0.000818 endif
332 0.001366 if len(colors) >= 5
332 0.001646 let colors[4] = get(p.accents[accent], 4, '')
else
call add(colors, get(p.accents[accent], 4, ''))
332 0.000679 endif
332 0.011793 0.003760 if s:group_not_done(airline_grouplist, name.suffix.'_'.accent)
264 0.185452 0.003171 call airline#highlighter#exec(name.suffix.'_'.accent, colors)
332 0.000911 endif
498 0.001294 endfor
184 0.000377 endfor
18 0.000083 if empty(s:separators)
" nothing to be done
continue
18 0.000036 endif
" TODO: optimize this
180 0.000580 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...
162 0.250763 0.002036 call <sid>exec_separator(dict, sep[1][0], sep[1][1], sep[1][2], suffix)
180 0.000573 endfor
20 0.000038 endif
32 0.000086 endfor
FUNCTION <SNR>51_exec_separator()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/highlighter.vim:189
Called 186 times
Total time: 0.284366
Self time: 0.017465
count total (s) self (s)
186 0.000583 if pumvisible()
return
186 0.000584 endif
186 0.000909 let group = a:from.'_to_'.a:to.a:suffix
186 0.073184 0.001851 let l:from = airline#themes#get_highlight(a:from.a:suffix)
186 0.072986 0.002044 let l:to = airline#themes#get_highlight(a:to.a:suffix)
186 0.000594 if a:inverse
42 0.000226 let colors = [ l:from[1], l:to[1], l:from[3], l:to[3] ]
144 0.000329 else
144 0.000724 let colors = [ l:to[1], l:from[1], l:to[3], l:from[3] ]
186 0.000362 endif
186 0.000894 let a:dict[group] = colors
186 0.126638 0.002011 call airline#highlighter#exec(group, colors)
FUNCTION <SNR>51_group_not_done()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/highlighter.vim:32
Called 498 times
Total time: 0.011991
Self time: 0.011991
count total (s) self (s)
498 0.002496 if index(a:list, a:name) == -1
396 0.001923 call add(a:list, a:name)
396 0.000927 return 1
102 0.000351 else
102 0.000386 if &vbs
echomsg printf("airline: group: %s already done, skipping", a:name)
102 0.000364 endif
102 0.000352 return 0
endif
FUNCTION airline#util#prepend()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/util.vim:65
Called 108 times
Total time: 0.002083
Self time: 0.002083
count total (s) self (s)
108 0.000509 if a:minwidth > 0 && airline#util#winwidth() < a:minwidth
return ''
108 0.000194 endif
108 0.000512 return empty(a:text) ? '' : a:text.s:spc.g:airline_right_alt_sep.s:spc
FUNCTION <SNR>6_on_cursor_moved()
Defined: ~/.local/share/nvim/lazy/vim-airline/plugin/airline.vim:87
Called 3 times
Total time: 0.000122
Self time: 0.000073
count total (s) self (s)
3 0.000014 if winnr() != s:active_winnr || !exists('w:airline_active')
call s:on_window_changed('CursorMoved')
3 0.000005 endif
3 0.000070 0.000021 call airline#update_tabline()
FUNCTION <SNR>51_CheckDefined()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/highlighter.vim:108
Called 594 times
Total time: 0.024017
Self time: 0.024017
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
594 0.002966 if !exists("g:airline#highlighter#normal_fg_hi")
let g:airline#highlighter#normal_fg_hi = synIDattr(synIDtrans(hlID('Normal')), 'fg', 'cterm')
594 0.001226 endif
594 0.002884 if empty(g:airline#highlighter#normal_fg_hi) || g:airline#highlighter#normal_fg_hi < 0
594 0.001521 return a:colors
endif
for val in a:colors
if !empty(val) && val !=# 'NONE'
return a:colors
endif
endfor
" this adds the bold attribute to the term argument of the :hi command,
" but at least this makes sure, the group will be defined
let fg = g:airline#highlighter#normal_fg_hi
let bg = synIDattr(synIDtrans(hlID('Normal')), 'bg', 'cterm')
if empty(bg) || bg < 0
" in case there is no background color defined for Normal
let bg = a:colors[3]
endif
return a:colors[0:1] + [fg, bg] + [a:colors[4]]
FUNCTION <SNR>54_get_accented_line()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/builder.vim:163
Called 30 times
Total time: 0.003196
Self time: 0.003196
count total (s) self (s)
30 0.000109 if a:self._context.active
" active window
18 0.000057 let contents = []
18 0.000121 let content_parts = split(a:contents, '__accent')
54 0.000173 for cpart in content_parts
36 0.000187 let accent = matchstr(cpart, '_\zs[^#]*\ze')
36 0.000170 call add(contents, cpart)
54 0.000128 endfor
18 0.000087 let line = join(contents, a:group)
18 0.000114 let line = substitute(line, '__restore__', a:group, 'g')
12 0.000025 else
" inactive window
12 0.000169 let line = substitute(a:contents, '%#__accent[^#]*#', '', 'g')
12 0.000087 let line = substitute(line, '%#__restore__#', '', 'g')
30 0.000083 endif
30 0.000102 return line
FUNCTION airline#mode_changed()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline.vim:307
Called 12 times
Total time: 0.000470
Self time: 0.000283
count total (s) self (s)
" airline#visual_active
" Boolean: for when to get visual wordcount
" needed for the wordcount extension
12 0.000084 let g:airline#visual_active = (mode() =~? '[vs]')
12 0.000271 0.000084 call airline#update_tabline()
FUNCTION airline#util#getbufvar()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/util.vim:73
Called 9 times
Total time: 0.000078
Self time: 0.000078
count total (s) self (s)
9 0.000048 return getbufvar(a:bufnr, a:key, a:def)
FUNCTION airline#highlighter#add_separator()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/highlighter.vim:184
Called 24 times
Total time: 0.036203
Self time: 0.000563
count total (s) self (s)
24 0.000138 let s:separators[a:from.a:to] = [a:from, a:to, a:inverse]
24 0.035944 0.000304 call <sid>exec_separator({}, a:from, a:to, a:inverse, '')
FUNCTION <SNR>51_get_array()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/highlighter.vim:60
Called 1002 times
Total time: 0.009000
Self time: 0.009000
count total (s) self (s)
1002 0.005834 return [ a:guifg, a:guibg, a:ctermfg, a:ctermbg, empty(a:opts) ? '' : join(a:opts, ',') ]
FUNCTION airline#parts#crypt()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/parts.vim:61
Called 9 times
Total time: 0.000123
Self time: 0.000123
count total (s) self (s)
9 0.000095 return g:airline_detect_crypt && exists("+key") && !empty(&key) ? g:airline_symbols.crypt : ''
FUNCTION airline#update_statusline_inactive()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline.vim:179
Called 3 times
Total time: 0.034447
Self time: 0.000565
count total (s) self (s)
3 0.000276 0.000046 if airline#util#stl_disabled(winnr())
return
3 0.000010 endif
6 0.000026 for nr in a:range
3 0.000263 0.000039 if airline#util#stl_disabled(nr)
continue
3 0.000007 endif
3 0.000020 call setwinvar(nr, 'airline_active', 0)
3 0.000027 let context = { 'winnr': nr, 'active': 0, 'bufnr': winbufnr(nr) }
3 0.000014 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')
3 0.000007 endif
3 0.000014 try
3 0.033486 0.000060 call s:invoke_funcrefs(context, g:airline_inactive_funcrefs)
catch /^Vim\%((\a\+)\)\=:E48:/
" Catch: Sandbox mode
" no-op
3 0.000007 endtry
6 0.000013 endfor
FUNCTION airline#builder#new()
Defined: ~/.local/share/nvim/lazy/vim-airline/autoload/airline/builder.vim:234
Called 6 times
Total time: 0.000324
Self time: 0.000324
count total (s) self (s)
6 0.000068 let builder = copy(s:prototype)
6 0.000028 let builder._context = a:context
6 0.000028 let builder._sections = []
6 0.000099 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')
6 0.000021 return builder
FUNCTIONS SORTED ON TOTAL TIME
count total (s) self (s) function
18 0.642331 0.005906 airline#check_mode()
12 0.624602 0.090678 airline#highlighter#highlight()
594 0.407801 0.108453 airline#highlighter#exec()
1002 0.372507 0.124818 airline#highlighter#get_highlight()
186 0.284366 0.017465 <SNR>51_exec_separator()
4008 0.238689 <SNR>51_get_syn()
372 0.142274 0.005828 airline#themes#get_highlight()
3 0.084138 0.000489 <SNR>6_on_window_changed()
3 0.083603 0.000445 airline#update_statusline()
6 0.081832 0.000516 <SNR>41_invoke_funcrefs()
6 0.068256 0.009603 12()
18 0.042920 0.000482 <SNR>54_get_separator()
108 0.039887 <SNR>51_GetHiCmd()
24 0.037922 0.001719 <SNR>54_get_transitioned_separator()
24 0.036203 0.000563 airline#highlighter#add_separator()
3 0.034447 0.000565 airline#update_statusline_inactive()
594 0.024017 <SNR>51_CheckDefined()
18 0.014281 0.000860 airline#builder#should_change_group()
486 0.012804 <SNR>51_hl_group_exists()
6 0.012736 0.001585 airline#util#exec_funcrefs()
FUNCTIONS SORTED ON SELF TIME
count total (s) self (s) function
4008 0.238689 <SNR>51_get_syn()
1002 0.372507 0.124818 airline#highlighter#get_highlight()
594 0.407801 0.108453 airline#highlighter#exec()
12 0.624602 0.090678 airline#highlighter#highlight()
108 0.039887 <SNR>51_GetHiCmd()
594 0.024017 <SNR>51_CheckDefined()
186 0.284366 0.017465 <SNR>51_exec_separator()
486 0.012804 <SNR>51_hl_group_exists()
498 0.011991 <SNR>51_group_not_done()
6 0.068256 0.009603 12()
1002 0.009000 <SNR>51_get_array()
18 0.642331 0.005906 airline#check_mode()
372 0.142274 0.005828 airline#themes#get_highlight()
30 0.003196 <SNR>54_get_accented_line()
45 0.003597 0.002537 <SNR>55_get_section()
108 0.002083 airline#util#prepend()
33 0.004790 0.001985 <SNR>55_add_section()
24 0.037922 0.001719 <SNR>54_get_transitioned_separator()
63 0.001614 airline#util#append()
54 0.001597 airline#util#winwidth()