diff options
Diffstat (limited to 'dotfiles/.vim/autoload/airline/extensions')
56 files changed, 0 insertions, 4160 deletions
diff --git a/dotfiles/.vim/autoload/airline/extensions/ale.vim b/dotfiles/.vim/autoload/airline/extensions/ale.vim deleted file mode 100644 index 71f6317..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/ale.vim +++ /dev/null @@ -1,88 +0,0 @@ -" MIT License. Copyright (c) 2013-2018 Bjorn Neergaard, w0rp et al. -" vim: et ts=2 sts=2 sw=2 - -scriptencoding utf-8 - -function! s:airline_ale_count(cnt, symbol) - return a:cnt ? a:symbol. a:cnt : '' -endfunction - -function! s:airline_ale_get_line_number(cnt, type) abort - if a:cnt == 0 - return '' - endif - - let buffer = bufnr('') - let problem_type = (a:type ==# 'error') ? 'E' : 'W' - let problems = copy(ale#engine#GetLoclist(buffer)) - - call filter(problems, 'v:val.bufnr is buffer && v:val.type is# problem_type') - - if empty(problems) - return '' - endif - - let open_lnum_symbol = get(g:, 'airline#extensions#ale#open_lnum_symbol', '(L') - let close_lnum_symbol = get(g:, 'airline#extensions#ale#close_lnum_symbol', ')') - - return open_lnum_symbol . problems[0].lnum . close_lnum_symbol -endfunction - -function! airline#extensions#ale#get(type) - if !exists(':ALELint') - return '' - endif - - let error_symbol = get(g:, 'airline#extensions#ale#error_symbol', 'E:') - let warning_symbol = get(g:, 'airline#extensions#ale#warning_symbol', 'W:') - let checking_symbol = get(g:, 'airline#extensions#ale#checking_symbol', '...') - let show_line_numbers = get(g:, 'airline#extensions#ale#show_line_numbers', 1) - - let is_err = a:type ==# 'error' - - if ale#engine#IsCheckingBuffer(bufnr('')) == 1 - return is_err ? '' : checking_symbol - endif - - let symbol = is_err ? error_symbol : warning_symbol - - let counts = ale#statusline#Count(bufnr('')) - if type(counts) == type({}) && has_key(counts, 'error') - " Use the current Dictionary format. - let errors = counts.error + counts.style_error - let num = is_err ? errors : counts.total - errors - else - " Use the old List format. - let num = is_err ? counts[0] : counts[1] - endif - - if show_line_numbers == 1 - return s:airline_ale_count(num, symbol) . <sid>airline_ale_get_line_number(num, a:type) - else - return s:airline_ale_count(num, symbol) - endif -endfunction - -function! airline#extensions#ale#get_warning() - return airline#extensions#ale#get('warning') -endfunction - -function! airline#extensions#ale#get_error() - return airline#extensions#ale#get('error') -endfunction - -function! airline#extensions#ale#init(ext) - call airline#parts#define_function('ale_error_count', 'airline#extensions#ale#get_error') - call airline#parts#define_function('ale_warning_count', 'airline#extensions#ale#get_warning') - augroup airline_ale - autocmd! - autocmd CursorHold,BufWritePost * call <sid>ale_refresh() - autocmd User ALEJobStarted,ALELintPost call <sid>ale_refresh() - augroup END -endfunction - -function! s:ale_refresh() - if get(g:, 'airline_skip_empty_sections', 0) - exe ':AirlineRefresh' - endif -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/branch.vim b/dotfiles/.vim/autoload/airline/extensions/branch.vim deleted file mode 100644 index fcf4d3a..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/branch.vim +++ /dev/null @@ -1,312 +0,0 @@ -" MIT License. Copyright (c) 2013-2018 Bailey Ling et al. -" vim: et ts=2 sts=2 sw=2 - -scriptencoding utf-8 - -" s:vcs_config contains static configuration of VCSes and their status relative -" to the active file. -" 'branch' - The name of currently active branch. This field is empty iff it -" has not been initialized yet or the current file is not in -" an active branch. -" 'untracked' - Cache of untracked files represented as a dictionary with files -" as keys. A file has a not exists symbol set as its value if it -" is untracked. A file is present in this dictionary iff its -" status is considered up to date. -" 'untracked_mark' - used as regexp to test against the output of 'cmd' -let s:vcs_config = { -\ 'git': { -\ 'exe': 'git', -\ 'cmd': 'git status --porcelain -- ', -\ 'untracked_mark': '??', -\ 'exclude': '\.git', -\ 'update_branch': 's:update_git_branch', -\ 'display_branch': 's:display_git_branch', -\ 'branch': '', -\ 'untracked': {}, -\ }, -\ 'mercurial': { -\ 'exe': 'hg', -\ 'cmd': 'hg status -u -- ', -\ 'untracked_mark': '?', -\ 'exclude': '\.hg', -\ 'update_branch': 's:update_hg_branch', -\ 'display_branch': 's:display_hg_branch', -\ 'branch': '', -\ 'untracked': {}, -\ }, -\} - -" Initializes b:buffer_vcs_config. b:buffer_vcs_config caches the branch and -" untracked status of the file in the buffer. Caching those fields is necessary, -" because s:vcs_config may be updated asynchronously and s:vcs_config fields may -" be invalid during those updates. b:buffer_vcs_config fields are updated -" whenever corresponding fields in s:vcs_config are updated or an inconsistency -" is detected during update_* operation. -" -" b:airline_head caches the head string it is empty iff it needs to be -" recalculated. b:airline_head is recalculated based on b:buffer_vcs_config. -function! s:init_buffer() - let b:buffer_vcs_config = {} - for vcs in keys(s:vcs_config) - let b:buffer_vcs_config[vcs] = { - \ 'branch': '', - \ 'untracked': '', - \ } - endfor - unlet! b:airline_head -endfunction - -let s:head_format = get(g:, 'airline#extensions#branch#format', 0) -if s:head_format == 1 - function! s:format_name(name) - return fnamemodify(a:name, ':t') - endfunction -elseif s:head_format == 2 - function! s:format_name(name) - return pathshorten(a:name) - endfunction -elseif type(s:head_format) == type('') - function! s:format_name(name) - return call(s:head_format, [a:name]) - endfunction -else - function! s:format_name(name) - return a:name - endfunction -endif - - -" Fugitive special revisions. call '0' "staging" ? -let s:names = {'0': 'index', '1': 'orig', '2':'fetch', '3':'merge'} -let s:sha1size = get(g:, 'airline#extensions#branch#sha1_len', 7) - -function! s:update_git_branch() - if !airline#util#has_fugitive() - let s:vcs_config['git'].branch = '' - return - endif - - let s:vcs_config['git'].branch = exists("*FugitiveHead") ? - \ FugitiveHead(s:sha1size) : fugitive#head(s:sha1size) - if s:vcs_config['git'].branch is# 'master' && winwidth(0) < 81 - " Shorten default a bit - let s:vcs_config['git'].branch='mas' - endif -endfunction - -function! s:display_git_branch() - let name = b:buffer_vcs_config['git'].branch - try - let commit = fugitive#buffer().commit() - - if has_key(s:names, commit) - let name = get(s:names, commit)."(".name.")" - elseif !empty(commit) - let ref = fugitive#repo().git_chomp('describe', '--all', '--exact-match', commit) - if ref !~ "^fatal: no tag exactly matches" - let name = s:format_name(substitute(ref, '\v\C^%(heads/|remotes/|tags/)=','',''))."(".name.")" - else - let name = matchstr(commit, '.\{'.s:sha1size.'}')."(".name.")" - endif - endif - catch - endtry - - return name -endfunction - -function! s:update_hg_branch() - if airline#util#has_lawrencium() - let cmd='LC_ALL=C hg qtop' - let stl=lawrencium#statusline() - let file=expand('%:p') - if !empty(stl) && get(b:, 'airline_do_mq_check', 1) - if g:airline#init#vim_async - noa call airline#async#get_mq_async(cmd, file) - elseif has("nvim") - noa call airline#async#nvim_get_mq_async(cmd, file) - else - " remove \n at the end of the command - let output=system(cmd)[0:-2] - noa call airline#async#mq_output(output, file) - endif - endif - " do not do mq check anymore - let b:airline_do_mq_check = 0 - if exists("b:mq") && !empty(b:mq) - if stl is# 'default' - " Shorten default a bit - let stl='def' - endif - let stl.=' ['.b:mq.']' - endif - let s:vcs_config['mercurial'].branch = stl - else - let s:vcs_config['mercurial'].branch = '' - endif -endfunction - -function! s:display_hg_branch() - return b:buffer_vcs_config['mercurial'].branch -endfunction - -function! s:update_branch() - for vcs in keys(s:vcs_config) - call {s:vcs_config[vcs].update_branch}() - if b:buffer_vcs_config[vcs].branch != s:vcs_config[vcs].branch - let b:buffer_vcs_config[vcs].branch = s:vcs_config[vcs].branch - unlet! b:airline_head - endif - endfor -endfunction - -function! airline#extensions#branch#update_untracked_config(file, vcs) - if !has_key(s:vcs_config[a:vcs].untracked, a:file) - return - elseif s:vcs_config[a:vcs].untracked[a:file] != b:buffer_vcs_config[a:vcs].untracked - let b:buffer_vcs_config[a:vcs].untracked = s:vcs_config[a:vcs].untracked[a:file] - unlet! b:airline_head - endif -endfunction - -function! s:update_untracked() - let file = expand("%:p") - if empty(file) || isdirectory(file) - return - endif - - let needs_update = 1 - for vcs in keys(s:vcs_config) - if file =~ s:vcs_config[vcs].exclude - " Skip check for files that live in the exclude directory - let needs_update = 0 - endif - if has_key(s:vcs_config[vcs].untracked, file) - let needs_update = 0 - call airline#extensions#branch#update_untracked_config(file, vcs) - endif - endfor - - if !needs_update - return - endif - - for vcs in keys(s:vcs_config) - let config = s:vcs_config[vcs] - if g:airline#init#vim_async - " Note that asynchronous update updates s:vcs_config only, and only - " s:update_untracked updates b:buffer_vcs_config. If s:vcs_config is - " invalidated again before s:update_untracked is called, then we lose the - " result of the previous call, i.e. the head string is not updated. It - " doesn't happen often in practice, so we let it be. - noa call airline#async#vim_vcs_untracked(config, file) - else - " nvim async or vim without job-feature - noa call airline#async#nvim_vcs_untracked(config, file, vcs) - endif - endfor -endfunction - -function! airline#extensions#branch#head() - if !exists('b:buffer_vcs_config') - call s:init_buffer() - endif - - call s:update_branch() - call s:update_untracked() - - if exists('b:airline_head') && !empty(b:airline_head) - return b:airline_head - endif - - let b:airline_head = '' - let vcs_priority = get(g:, "airline#extensions#branch#vcs_priority", ["git", "mercurial"]) - - let heads = [] - for vcs in vcs_priority - if !empty(b:buffer_vcs_config[vcs].branch) - let heads += [vcs] - endif - endfor - - for vcs in heads - if !empty(b:airline_head) - let b:airline_head .= ' | ' - endif - if len(heads) > 1 - let b:airline_head .= s:vcs_config[vcs].exe .':' - endif - let b:airline_head .= s:format_name({s:vcs_config[vcs].display_branch}()) - let b:airline_head .= b:buffer_vcs_config[vcs].untracked - endfor - - if empty(heads) - if airline#util#has_vcscommand() - noa call VCSCommandEnableBufferSetup() - if exists('b:VCSCommandBufferInfo') - let b:airline_head = s:format_name(get(b:VCSCommandBufferInfo, 0, '')) - endif - endif - endif - - if empty(heads) - if airline#util#has_custom_scm() - try - let Fn = function(g:airline#extensions#branch#custom_head) - let b:airline_head = Fn() - endtry - endif - endif - - if exists("g:airline#extensions#branch#displayed_head_limit") - let w:displayed_head_limit = g:airline#extensions#branch#displayed_head_limit - if len(b:airline_head) > w:displayed_head_limit - 1 - let b:airline_head = b:airline_head[0:(w:displayed_head_limit - 1)].(&encoding ==? 'utf-8' ? '…' : '.') - endif - endif - - let minwidth = empty(get(b:, 'airline_hunks', '')) ? 14 : 7 - let b:airline_head = airline#util#shorten(b:airline_head, 120, minwidth) - return b:airline_head -endfunction - -function! airline#extensions#branch#get_head() - let head = airline#extensions#branch#head() - let empty_message = get(g:, 'airline#extensions#branch#empty_message', '') - let symbol = get(g:, 'airline#extensions#branch#symbol', g:airline_symbols.branch) - return empty(head) - \ ? empty_message - \ : printf('%s%s', empty(symbol) ? '' : symbol.(g:airline_symbols.space), head) -endfunction - -function! s:reset_untracked_cache(shellcmdpost) - " shellcmdpost - whether function was called as a result of ShellCmdPost hook - if !g:airline#init#vim_async && !has('nvim') - if a:shellcmdpost - " Clear cache only if there was no error or the script uses an - " asynchronous interface. Otherwise, cache clearing would overwrite - " v:shell_error with a system() call inside get_*_untracked. - if v:shell_error - return - endif - endif - endif - - let file = expand("%:p") - for vcs in keys(s:vcs_config) - " Dump the value of the cache for the current file. Partially mitigates the - " issue of cache invalidation happening before a call to - " s:update_untracked() - call airline#extensions#branch#update_untracked_config(file, vcs) - let s:vcs_config[vcs].untracked = {} - endfor -endfunction - -function! airline#extensions#branch#init(ext) - call airline#parts#define_function('branch', 'airline#extensions#branch#get_head') - - autocmd ShellCmdPost,CmdwinLeave * unlet! b:airline_head b:airline_do_mq_check - autocmd User AirlineBeforeRefresh unlet! b:airline_head b:airline_do_mq_check - autocmd BufWritePost * call s:reset_untracked_cache(0) - autocmd ShellCmdPost * call s:reset_untracked_cache(1) -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/bufferline.vim b/dotfiles/.vim/autoload/airline/extensions/bufferline.vim deleted file mode 100644 index b7ccc09..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/bufferline.vim +++ /dev/null @@ -1,29 +0,0 @@ -" MIT License. Copyright (c) 2013-2018 Bailey Ling et al. -" vim: et ts=2 sts=2 sw=2 - -scriptencoding utf-8 - -if !exists('*bufferline#get_status_string') - finish -endif - -let s:overwrite = get(g:, 'airline#extensions#bufferline#overwrite_variables', 1) - -function! airline#extensions#bufferline#init(ext) - if s:overwrite - highlight bufferline_selected gui=bold cterm=bold term=bold - highlight link bufferline_selected_inactive airline_c_inactive - let g:bufferline_inactive_highlight = 'airline_c' - let g:bufferline_active_highlight = 'bufferline_selected' - let g:bufferline_active_buffer_left = '' - let g:bufferline_active_buffer_right = '' - let g:bufferline_separator = g:airline_symbols.space - endif - - if exists("+autochdir") && &autochdir == 1 - " if 'acd' is set, vim-airline uses the path section, so we need ot redefine this here as well - call airline#parts#define_raw('path', '%{bufferline#refresh_status()}'.bufferline#get_status_string()) - else - call airline#parts#define_raw('file', '%{bufferline#refresh_status()}'.bufferline#get_status_string()) - endif -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/capslock.vim b/dotfiles/.vim/autoload/airline/extensions/capslock.vim deleted file mode 100644 index 55b28da..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/capslock.vim +++ /dev/null @@ -1,16 +0,0 @@ -" MIT License. Copyright (c) 2014-2018 Mathias Andersson et al. -" vim: et ts=2 sts=2 sw=2 - -scriptencoding utf-8 - -if !exists('*CapsLockStatusline') - finish -endif - -function! airline#extensions#capslock#status() - return tolower(CapsLockStatusline()) == '[caps]' ? 'CAPS' : '' -endfunction - -function! airline#extensions#capslock#init(ext) - call airline#parts#define_function('capslock', 'airline#extensions#capslock#status') -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/commandt.vim b/dotfiles/.vim/autoload/airline/extensions/commandt.vim deleted file mode 100644 index 1e05a58..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/commandt.vim +++ /dev/null @@ -1,18 +0,0 @@ -" MIT License. Copyright (c) 2013-2018 Bailey Ling et al. -" vim: et ts=2 sts=2 sw=2 - -scriptencoding utf-8 - -if !get(g:, 'command_t_loaded', 0) - finish -endif - -function! airline#extensions#commandt#apply(...) - if bufname('%') ==# 'GoToFile' - call airline#extensions#apply_left_override('CommandT', '') - endif -endfunction - -function! airline#extensions#commandt#init(ext) - call a:ext.add_statusline_func('airline#extensions#commandt#apply') -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/csv.vim b/dotfiles/.vim/autoload/airline/extensions/csv.vim deleted file mode 100644 index d0eb64b..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/csv.vim +++ /dev/null @@ -1,32 +0,0 @@ -" MIT License. Copyright (c) 2013-2018 Bailey Ling et al. -" vim: et ts=2 sts=2 sw=2 - -scriptencoding utf-8 - -if !get(g:, 'loaded_csv', 0) && !exists(':Table') - finish -endif - -let s:column_display = get(g:, 'airline#extensions#csv#column_display', 'Number') - -function! airline#extensions#csv#get_column() - if exists('*CSV_WCol') - if s:column_display ==# 'Name' - return '['.CSV_WCol('Name').CSV_WCol().']' - else - return '['.CSV_WCol().']' - endif - endif - return '' -endfunction - -function! airline#extensions#csv#apply(...) - if &ft ==# "csv" - call airline#extensions#prepend_to_section('gutter', - \ g:airline_left_alt_sep.' %{airline#extensions#csv#get_column()}') - endif -endfunction - -function! airline#extensions#csv#init(ext) - call a:ext.add_statusline_func('airline#extensions#csv#apply') -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/ctrlp.vim b/dotfiles/.vim/autoload/airline/extensions/ctrlp.vim deleted file mode 100644 index c477a6a..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/ctrlp.vim +++ /dev/null @@ -1,81 +0,0 @@ -" MIT License. Copyright (c) 2013-2018 Bailey Ling et al. -" vim: et ts=2 sts=2 sw=2 - -scriptencoding utf-8 - -if !get(g:, 'loaded_ctrlp', 0) - finish -endif - -let s:color_template = get(g:, 'airline#extensions#ctrlp#color_template', 'insert') - -function! airline#extensions#ctrlp#generate_color_map(dark, light, white) - return { - \ 'CtrlPdark' : a:dark, - \ 'CtrlPlight' : a:light, - \ 'CtrlPwhite' : a:white, - \ 'CtrlParrow1' : [ a:light[1] , a:white[1] , a:light[3] , a:white[3] , '' ] , - \ 'CtrlParrow2' : [ a:white[1] , a:light[1] , a:white[3] , a:light[3] , '' ] , - \ 'CtrlParrow3' : [ a:light[1] , a:dark[1] , a:light[3] , a:dark[3] , '' ] , - \ } -endfunction - -function! airline#extensions#ctrlp#load_theme(palette) - if exists('a:palette.ctrlp') - let theme = a:palette.ctrlp - else - let s:color_template = has_key(a:palette, s:color_template) ? s:color_template : 'insert' - let theme = airline#extensions#ctrlp#generate_color_map( - \ a:palette[s:color_template]['airline_c'], - \ a:palette[s:color_template]['airline_b'], - \ a:palette[s:color_template]['airline_a']) - endif - for key in keys(theme) - call airline#highlighter#exec(key, theme[key]) - endfor -endfunction - -" Arguments: focus, byfname, regexp, prv, item, nxt, marked -function! airline#extensions#ctrlp#ctrlp_airline(...) - let b = airline#builder#new({'active': 1}) - if a:2 == 'file' - call b.add_section_spaced('CtrlPlight', 'by fname') - endif - if a:3 - call b.add_section_spaced('CtrlPlight', 'regex') - endif - if get(g:, 'airline#extensions#ctrlp#show_adjacent_modes', 1) - call b.add_section_spaced('CtrlPlight', a:4) - call b.add_section_spaced('CtrlPwhite', a:5) - call b.add_section_spaced('CtrlPlight', a:6) - else - call b.add_section_spaced('CtrlPwhite', a:5) - endif - call b.add_section_spaced('CtrlPdark', a:7) - call b.split() - call b.add_section_spaced('CtrlPdark', a:1) - call b.add_section_spaced('CtrlPdark', a:2) - call b.add_section_spaced('CtrlPlight', '%{getcwd()}') - return b.build() -endfunction - -" Argument: len -function! airline#extensions#ctrlp#ctrlp_airline_status(...) - let len = '%#CtrlPdark# '.a:1 - let dir = '%=%<%#CtrlParrow3#'.g:airline_right_sep.'%#CtrlPlight# '.getcwd().' %*' - return len.dir -endfunction - -function! airline#extensions#ctrlp#apply(...) - " disable statusline overwrite if ctrlp already did it - return match(&statusline, 'CtrlPwhite') >= 0 ? -1 : 0 -endfunction - -function! airline#extensions#ctrlp#init(ext) - let g:ctrlp_status_func = { - \ 'main': 'airline#extensions#ctrlp#ctrlp_airline', - \ 'prog': 'airline#extensions#ctrlp#ctrlp_airline_status', - \ } - call a:ext.add_statusline_func('airline#extensions#ctrlp#apply') - call a:ext.add_theme_func('airline#extensions#ctrlp#load_theme') -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/ctrlspace.vim b/dotfiles/.vim/autoload/airline/extensions/ctrlspace.vim deleted file mode 100644 index 66f29a5..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/ctrlspace.vim +++ /dev/null @@ -1,20 +0,0 @@ -" MIT License. Copyright (c) 2013-2018 Bailey Ling et al. -" vim: et ts=2 sts=2 sw=2 - -scriptencoding utf-8 - -let s:spc = g:airline_symbols.space -let s:padding = s:spc . s:spc . s:spc -let s:cs = ctrlspace#context#Configuration().Symbols.CS - -function! airline#extensions#ctrlspace#statusline(...) - let b = airline#builder#new({ 'active': 1 }) - call b.add_section('airline_b', s:cs . s:padding . ctrlspace#api#StatuslineModeSegment(s:padding)) - call b.split() - call b.add_section('airline_x', s:spc . ctrlspace#api#StatuslineTabSegment() . s:spc) - return b.build() -endfunction - -function! airline#extensions#ctrlspace#init(ext) - let g:CtrlSpaceStatuslineFunction = "airline#extensions#ctrlspace#statusline()" -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/cursormode.vim b/dotfiles/.vim/autoload/airline/extensions/cursormode.vim deleted file mode 100644 index 097ddd8..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/cursormode.vim +++ /dev/null @@ -1,132 +0,0 @@ -" Copyright (C) 2014 Andrea Cedraro <a.cedraro@gmail.com> -" Copyright (C) 2017 Eduardo Suarez-Santana <e.suarezsantana@gmail.com> -" -" Permission is hereby granted, free of charge, to any person obtaining -" a copy of this software and associated documentation files (the "Software"), -" to deal in the Software without restriction, including without limitation -" the rights to use, copy, modify, merge, publish, distribute, sublicense, -" and/or sell copies of the Software, and to permit persons to whom the -" Software is furnished to do so, subject to the following conditions: -" -" The above copyright notice and this permission notice shall be included -" in all copies or substantial portions of the Software. -" -" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -" EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -" OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -" IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -" TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE -" OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -scriptencoding utf-8 - -let s:is_win = has('win32') || has('win64') -let s:is_iTerm = exists('$TERM_PROGRAM') && $TERM_PROGRAM =~# 'iTerm.app' -let s:is_AppleTerminal = exists('$TERM_PROGRAM') && $TERM_PROGRAM =~# 'Apple_Terminal' - -let s:is_good = !has('gui_running') && !s:is_win && !s:is_AppleTerminal - -let s:last_mode = '' - -if !exists('g:cursormode_exit_mode') - let g:cursormode_exit_mode='n' -endif - -function! airline#extensions#cursormode#tmux_escape(escape) - return '\033Ptmux;'.substitute(a:escape, '\\033', '\\033\\033', 'g').'\033\\' -endfunction - -let s:iTerm_escape_template = '\033]Pl%s\033\\' -let s:xterm_escape_template = '\033]12;%s\007' - -function! s:get_mode() - return call(get(g:, 'cursormode_mode_func', 'mode'), []) -endfunction - -function! airline#extensions#cursormode#set(...) - let mode = s:get_mode() - if mode !=# s:last_mode - let s:last_mode = mode - call s:set_cursor_color_for(mode) - endif - return '' -endfunction - -function! s:set_cursor_color_for(mode) - let mode = a:mode - for mode in [a:mode, a:mode.&background] - if has_key(s:color_map, mode) - try - let save_eventignore = &eventignore - set eventignore=all - let save_shelltemp = &shelltemp - set noshelltemp - - silent call system(s:build_command(s:color_map[mode])) - return - finally - let &shelltemp = save_shelltemp - let &eventignore = save_eventignore - endtry - endif - endfor -endfunction - -function! s:build_command(color) - if s:is_iTerm - let color = substitute(a:color, '^#', '', '') - let escape_template = s:iTerm_escape_template - else - let color = a:color - let escape_template = s:xterm_escape_template - endif - - let escape = printf(escape_template, color) - if exists('$TMUX') - let escape = airline#extensions#cursormode#tmux_escape(escape) - endif - return "printf '".escape."' > /dev/tty" -endfunction - -function! s:get_color_map() - if exists('g:cursormode_color_map') - return g:cursormode_color_map - endif - - try - let map = g:cursormode#{g:colors_name}#color_map - return map - catch - return { - \ "nlight": "#000000", - \ "ndark": "#BBBBBB", - \ "i": "#0000BB", - \ "v": "#FF5555", - \ "V": "#BBBB00", - \ "\<C-V>": "#BB00BB", - \ } - endtry -endfunction - -augroup airline#extensions#cursormode - autocmd! - autocmd VimLeave * nested call s:set_cursor_color_for(g:cursormode_exit_mode) - " autocmd VimEnter * call airline#extensions#cursormode#activate() - autocmd Colorscheme * call airline#extensions#cursormode#activate() -augroup END - -function! airline#extensions#cursormode#activate() - let s:color_map = s:get_color_map() - call airline#extensions#cursormode#set() -endfunction - -function! airline#extensions#cursormode#apply(...) - let w:airline_section_a = get(w:, 'airline_section_a', g:airline_section_a) - let w:airline_section_a .= '%{airline#extensions#cursormode#set()}' -endfunction - -function! airline#extensions#cursormode#init(ext) - let s:color_map = s:get_color_map() - call a:ext.add_statusline_func('airline#extensions#cursormode#apply') -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/default.vim b/dotfiles/.vim/autoload/airline/extensions/default.vim deleted file mode 100644 index f9ca3d4..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/default.vim +++ /dev/null @@ -1,100 +0,0 @@ -" MIT License. Copyright (c) 2013-2018 Bailey Ling et al. -" vim: et ts=2 sts=2 sw=2 - -scriptencoding utf-8 - -let s:section_use_groups = get(g:, 'airline#extensions#default#section_use_groupitems', 1) -let s:section_truncate_width = get(g:, 'airline#extensions#default#section_truncate_width', { - \ 'b': 79, - \ 'x': 60, - \ 'y': 88, - \ 'z': 45, - \ 'warning': 80, - \ 'error': 80, - \ }) -let s:layout = get(g:, 'airline#extensions#default#layout', [ - \ [ 'a', 'b', 'c' ], - \ [ 'x', 'y', 'z', 'warning', 'error' ] - \ ]) - -function! s:get_section(winnr, key, ...) - if has_key(s:section_truncate_width, a:key) - if winwidth(a:winnr) < s:section_truncate_width[a:key] - return '' - endif - endif - let spc = g:airline_symbols.space - if !exists('g:airline_section_{a:key}') - return '' - endif - let text = airline#util#getwinvar(a:winnr, 'airline_section_'.a:key, g:airline_section_{a:key}) - let [prefix, suffix] = [get(a:000, 0, '%('.spc), get(a:000, 1, spc.'%)')] - return empty(text) ? '' : prefix.text.suffix -endfunction - -function! s:build_sections(builder, context, keys) - for key in a:keys - if (key == 'warning' || key == 'error') && !a:context.active - continue - endif - call s:add_section(a:builder, a:context, key) - endfor -endfunction - -" There still is a highlighting bug when using groups %(%) in the statusline, -" deactivate it, unless it is fixed (7.4.1511) -if s:section_use_groups && (v:version >= 704 || (v:version >= 703 && has('patch81'))) - function! s:add_section(builder, context, key) - 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 - if ((a:key == 'error' || a:key == 'warning') && empty(s:get_section(a:context.winnr, a:key))) - return - endif - if condition - call a:builder.add_raw('%(') - endif - call a:builder.add_section('airline_'.a:key, s:get_section(a:context.winnr, a:key)) - if condition - call a:builder.add_raw('%)') - endif - endfunction -else - " older version don't like the use of %(%) - function! s:add_section(builder, context, key) - if ((a:key == 'error' || a:key == 'warning') && empty(s:get_section(a:context.winnr, a:key))) - return - endif - if a:key == 'warning' - call a:builder.add_raw('%#airline_warning#'.s:get_section(a:context.winnr, a:key)) - elseif a:key == 'error' - call a:builder.add_raw('%#airline_error#'.s:get_section(a:context.winnr, a:key)) - else - call a:builder.add_section('airline_'.a:key, s:get_section(a:context.winnr, a:key)) - endif - endfunction -endif - -function! airline#extensions#default#apply(builder, context) - let winnr = a:context.winnr - let active = a:context.active - - if airline#util#getwinvar(winnr, 'airline_render_left', active || (!active && !g:airline_inactive_collapse)) - call s:build_sections(a:builder, a:context, s:layout[0]) - else - let text = s:get_section(winnr, 'c') - if empty(text) - let text = ' %f%m ' - endif - call a:builder.add_section('airline_c'.(a:context.bufnr), text) - endif - - call a:builder.split(s:get_section(winnr, 'gutter', '', '')) - - if airline#util#getwinvar(winnr, 'airline_render_right', 1) - call s:build_sections(a:builder, a:context, s:layout[1]) - endif - - return 1 -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/denite.vim b/dotfiles/.vim/autoload/airline/extensions/denite.vim deleted file mode 100644 index e3c1f3b..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/denite.vim +++ /dev/null @@ -1,41 +0,0 @@ -" MIT License. Copyright (c) 2017-2018 Thomas Dy et al. -" vim: et ts=2 sts=2 sw=2 - -scriptencoding utf-8 - -if !get(g:, 'loaded_denite', 0) - finish -endif - -" Denite does not use vim's built-in modal editing but has a custom prompt -" that implements its own insert/normal mode so we have to handle changing the -" highlight -function! airline#extensions#denite#check_denite_mode(bufnr) - if &filetype != 'denite' - return '' - endif - let mode = split(denite#get_status_mode(), ' ') - let mode = tolower(mode[1]) - if !exists('b:denite_mode_cache') || mode != b:denite_mode_cache - call airline#highlighter#highlight([mode], a:bufnr) - let b:denite_mode_cache = mode - endif - return '' -endfunction - -function! airline#extensions#denite#apply(...) - if &ft == 'denite' - let w:airline_skip_empty_sections = 0 - call a:1.add_section('airline_a', ' Denite %{airline#extensions#denite#check_denite_mode('.a:2['bufnr'].')}') - call a:1.add_section('airline_c', ' %{denite#get_status_sources()}') - call a:1.split() - call a:1.add_section('airline_y', ' %{denite#get_status_path()} ') - call a:1.add_section('airline_z', ' %{denite#get_status_linenr()} ') - return 1 - endif -endfunction - -function! airline#extensions#denite#init(ext) - call denite#custom#option('_', 'statusline', 0) - call a:ext.add_statusline_func('airline#extensions#denite#apply') -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/eclim.vim b/dotfiles/.vim/autoload/airline/extensions/eclim.vim deleted file mode 100644 index 3c48d75..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/eclim.vim +++ /dev/null @@ -1,61 +0,0 @@ -" MIT License. Copyright (c) 2013-2018 Bailey Ling et al. -" vim: et ts=2 sts=2 sw=2 - -scriptencoding utf-8 - -if !exists(':ProjectCreate') - finish -endif - -function! airline#extensions#eclim#creat_line(...) - if &filetype == "tree" - let builder = a:1 - call builder.add_section('airline_a', ' Project ') - call builder.add_section('airline_b', ' %f ') - call builder.add_section('airline_c', '') - return 1 - endif -endfunction - -function! airline#extensions#eclim#get_warnings() - " Cache vavlues, so that it isn't called too often - if exists("s:eclim_errors") && - \ get(b:, 'airline_changenr', 0) == changenr() - return s:eclim_errors - endif - let eclimList = eclim#display#signs#GetExisting() - let s:eclim_errors = '' - - if !empty(eclimList) - " Remove any non-eclim signs (see eclim#display#signs#Update) - " First check for just errors since they are more important. - " If there are no errors, then check for warnings. - let errorList = filter(copy(eclimList), 'v:val.name =~ "^\\(qf_\\)\\?\\(error\\)$"') - - if (empty(errorList)) - " use the warnings - call filter(eclimList, 'v:val.name =~ "^\\(qf_\\)\\?\\(warning\\)$"') - let type = 'W' - else - " Use the errors - let eclimList = errorList - let type = 'E' - endif - - if !empty(eclimList) - let errorsLine = eclimList[0]['line'] - let errorsNumber = len(eclimList) - let errors = "[Eclim:" . type . " line:".string(errorsLine)." (".string(errorsNumber).")]" - if !exists(':SyntasticCheck') || SyntasticStatuslineFlag() == '' - let s:eclim_errors = errors.(g:airline_symbols.space) - endif - endif - endif - let b:airline_changenr = changenr() - return s:eclim_errors -endfunction - -function! airline#extensions#eclim#init(ext) - call airline#parts#define_function('eclim', 'airline#extensions#eclim#get_warnings') - call a:ext.add_statusline_func('airline#extensions#eclim#creat_line') -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/example.vim b/dotfiles/.vim/autoload/airline/extensions/example.vim deleted file mode 100644 index 50a327d..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/example.vim +++ /dev/null @@ -1,55 +0,0 @@ -" MIT License. Copyright (c) 2013-2018 Bailey Ling et al. -" vim: et ts=2 sts=2 sw=2 - -scriptencoding utf-8 - -" we don't actually want this loaded :P -finish - -" Due to some potential rendering issues, the use of the `space` variable is -" recommended. -let s:spc = g:airline_symbols.space - -" Extension specific variables can be defined the usual fashion. -if !exists('g:airline#extensions#example#number_of_cats') - let g:airline#extensions#example#number_of_cats = 42 -endif - -" First we define an init function that will be invoked from extensions.vim -function! airline#extensions#example#init(ext) - - " Here we define a new part for the plugin. This allows users to place this - " extension in arbitrary locations. - call airline#parts#define_raw('cats', '%{airline#extensions#example#get_cats()}') - - " Next up we add a funcref so that we can run some code prior to the - " statusline getting modifed. - call a:ext.add_statusline_func('airline#extensions#example#apply') - - " You can also add a funcref for inactive statuslines. - " call a:ext.add_inactive_statusline_func('airline#extensions#example#unapply') -endfunction - -" This function will be invoked just prior to the statusline getting modified. -function! airline#extensions#example#apply(...) - " First we check for the filetype. - if &filetype == "nyancat" - - " Let's say we want to append to section_c, first we check if there's - " already a window-local override, and if not, create it off of the global - " section_c. - let w:airline_section_c = get(w:, 'airline_section_c', g:airline_section_c) - - " Then we just append this extenion to it, optionally using separators. - let w:airline_section_c .= s:spc.g:airline_left_alt_sep.s:spc.'%{airline#extensions#example#get_cats()}' - endif -endfunction - -" Finally, this function will be invoked from the statusline. -function! airline#extensions#example#get_cats() - let cats = '' - for i in range(1, g:airline#extensions#example#number_of_cats) - let cats .= ' (,,,)=(^.^)=(,,,) ' - endfor - return cats -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/fugitiveline.vim b/dotfiles/.vim/autoload/airline/extensions/fugitiveline.vim deleted file mode 100644 index 5dab995..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/fugitiveline.vim +++ /dev/null @@ -1,49 +0,0 @@ -" MIT License. Copyright (c) 2017-2018 Cimbali et al -" vim: et ts=2 sts=2 sw=2 - -scriptencoding utf-8 - -if !airline#util#has_fugitive() - finish -endif - - -if exists("+autochdir") && &autochdir == 1 - let s:fmod = ':p' -else - let s:fmod = ':.' -endif - -function! airline#extensions#fugitiveline#bufname() - if !exists('b:fugitive_name') - let b:fugitive_name = '' - try - if bufname('%') =~? '^fugitive:' && exists('*FugitiveReal') - let b:fugitive_name = FugitiveReal(bufname('%')) - elseif exists('b:git_dir') - let buffer = fugitive#buffer() - if buffer.type('blob') - let b:fugitive_name = buffer.repo().translate(buffer.path('/')) - endif - endif - catch - endtry - endif - - if empty(b:fugitive_name) - return fnamemodify(bufname('%'), s:fmod) - else - return fnamemodify(b:fugitive_name, s:fmod) - endif -endfunction - -function! airline#extensions#fugitiveline#init(ext) - if exists("+autochdir") && &autochdir == 1 - " if 'acd' is set, vim-airline uses the path section, so we need to redefine this here as well - call airline#parts#define_raw('path', '%<%{airline#extensions#fugitiveline#bufname()}%m') - else - call airline#parts#define_raw('file', '%<%{airline#extensions#fugitiveline#bufname()}%m') - endif - autocmd ShellCmdPost,CmdwinLeave * unlet! b:fugitive_name - autocmd User AirlineBeforeRefresh unlet! b:fugitive_name -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/grepper.vim b/dotfiles/.vim/autoload/airline/extensions/grepper.vim deleted file mode 100644 index 3e5debf..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/grepper.vim +++ /dev/null @@ -1,19 +0,0 @@ -" MIT License. Copyright (c) 2014-2018 Mathias Andersson et al. -" vim: et ts=2 sts=2 sw=2 - -" Heavily derived from the Gutentags extension - -scriptencoding utf-8 - -if !get(g:, 'loaded_grepper', 0) - finish -endif - -function! airline#extensions#grepper#status() - let msg = grepper#statusline() - return empty(msg) ? '' : 'grepper' -endfunction - -function! airline#extensions#grepper#init(ext) - call airline#parts#define_function('grepper', 'airline#extensions#grepper#status') -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/gutentags.vim b/dotfiles/.vim/autoload/airline/extensions/gutentags.vim deleted file mode 100644 index 4af2d78..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/gutentags.vim +++ /dev/null @@ -1,17 +0,0 @@ -" MIT License. Copyright (c) 2014-2018 Mathias Andersson et al. -" vim: et ts=2 sts=2 sw=2 - -scriptencoding utf-8 - -if !get(g:, 'loaded_gutentags', 0) - finish -endif - -function! airline#extensions#gutentags#status() - let msg = gutentags#statusline() - return empty(msg) ? '' : 'Gen. ' . msg -endfunction - -function! airline#extensions#gutentags#init(ext) - call airline#parts#define_function('gutentags', 'airline#extensions#gutentags#status') -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/hunks.vim b/dotfiles/.vim/autoload/airline/extensions/hunks.vim deleted file mode 100644 index aba84cc..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/hunks.vim +++ /dev/null @@ -1,93 +0,0 @@ -" MIT License. Copyright (c) 2013-2018 Bailey Ling et al. -" vim: et ts=2 sts=2 sw=2 - -scriptencoding utf-8 - -if !get(g:, 'loaded_signify', 0) && !get(g:, 'loaded_gitgutter', 0) && !get(g:, 'loaded_changes', 0) && !get(g:, 'loaded_quickfixsigns', 0) - finish -endif - -let s:non_zero_only = get(g:, 'airline#extensions#hunks#non_zero_only', 0) -let s:hunk_symbols = get(g:, 'airline#extensions#hunks#hunk_symbols', ['+', '~', '-']) - -function! s:get_hunks_signify() - let hunks = sy#repo#get_stats() - if hunks[0] >= 0 - return hunks - endif - return [] -endfunction - -function! s:is_branch_empty() - return exists('*airline#extensions#branch#head') && - \ empty(get(b:, 'airline_head', '')) -endfunction - -function! s:get_hunks_gitgutter() - if !get(g:, 'gitgutter_enabled', 0) || s:is_branch_empty() - return '' - endif - return GitGutterGetHunkSummary() -endfunction - -function! s:get_hunks_changes() - if !get(b:, 'changes_view_enabled', 0) || s:is_branch_empty() - return [] - endif - let hunks = changes#GetStats() - return hunks == [0, 0, 0] ? [] : hunks -endfunction - -function! s:get_hunks_empty() - return '' -endfunction - -function! s:get_hunks() - 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' - else - let b:source_func = 's:get_hunks_empty' - endif - endif - return {b:source_func}() -endfunction - -function! airline#extensions#hunks#get_hunks() - if !get(w:, 'airline_active', 0) - return '' - endif - " Cache values, so that it isn't called too often - if exists("b:airline_hunks") && - \ get(b:, 'airline_changenr', 0) == b:changedtick && - \ winwidth(0) == 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' - return b:airline_hunks - endif - let hunks = s:get_hunks() - let string = '' - if !empty(hunks) - for i in [0, 1, 2] - if (s:non_zero_only == 0 && winwidth(0) > 100) || hunks[i] > 0 - let string .= printf('%s%s ', s:hunk_symbols[i], hunks[i]) - endif - endfor - endif - let b:airline_hunks = string - let b:airline_changenr = b:changedtick - let s:airline_winwidth = winwidth(0) - return string -endfunction - -function! airline#extensions#hunks#init(ext) - call airline#parts#define_function('hunks', 'airline#extensions#hunks#get_hunks') -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/keymap.vim b/dotfiles/.vim/autoload/airline/extensions/keymap.vim deleted file mode 100644 index c09c68b..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/keymap.vim +++ /dev/null @@ -1,20 +0,0 @@ -" MIT License. Copyright (c) 2013-2018 Doron Behar, C.Brabandt et al. -" vim: et ts=2 sts=2 sw=2 - -scriptencoding utf-8 - -if !has('keymap') - finish -endif - -function! airline#extensions#keymap#status() - if (get(g:, 'airline#extensions#keymap#enabled', 1) && has('keymap')) - return printf('%s', (!empty(&keymap) ? (g:airline_symbols.keymap . ' '. &keymap) : '')) - else - return '' - endif -endfunction - -function! airline#extensions#keymap#init(ext) - call airline#parts#define_function('keymap', 'airline#extensions#keymap#status') -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/languageclient.vim b/dotfiles/.vim/autoload/airline/extensions/languageclient.vim deleted file mode 100644 index 82fed28..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/languageclient.vim +++ /dev/null @@ -1,101 +0,0 @@ -" MIT License. Copyright (c) 2013-2018 Bjorn Neergaard, w0rp, hallettj et al. -" vim: et ts=2 sts=2 sw=2 - -scriptencoding utf-8 - -let s:error_symbol = get(g:, 'airline#extensions#languageclient#error_symbol', 'E:') -let s:warning_symbol = get(g:, 'airline#extensions#languageclient#warning_symbol', 'W:') -let s:show_line_numbers = get(g:, 'airline#extensions#languageclient#show_line_numbers', 1) - -" Severity codes from the LSP spec -let s:severity_error = 1 -let s:severity_warning = 2 -let s:severity_info = 3 -let s:severity_hint = 4 - -" After each LanguageClient state change `s:diagnostics` will be populated with -" a map from file names to lists of errors, warnings, informational messages, -" and hints. -let s:diagnostics = {} - -function! s:languageclient_refresh() - if get(g:, 'airline_skip_empty_sections', 0) - exe ':AirlineRefresh' - endif -endfunction - -function! s:record_diagnostics(state) - let result = json_decode(a:state.result) - let s:diagnostics = result.diagnostics - call s:languageclient_refresh() -endfunction - -function! s:get_diagnostics() - call LanguageClient#getState(function("s:record_diagnostics")) -endfunction - -function! s:diagnostics_for_buffer() - return get(s:diagnostics, expand('%:p'), []) -endfunction - -function! s:airline_languageclient_count(cnt, symbol) - return a:cnt ? a:symbol. a:cnt : '' -endfunction - -function! s:airline_languageclient_get_line_number(type) abort - let linenumber_of_first_problem = 0 - for d in s:diagnostics_for_buffer() - if has_key(d, 'severity') && d.severity == a:type - let linenumber_of_first_problem = d.range.start.line - break - endif - endfor - - if linenumber_of_first_problem == 0 - return '' - endif - - let open_lnum_symbol = get(g:, 'airline#extensions#languageclient#open_lnum_symbol', '(L') - let close_lnum_symbol = get(g:, 'airline#extensions#languageclient#close_lnum_symbol', ')') - - return open_lnum_symbol . linenumber_of_first_problem . close_lnum_symbol -endfunction - -function! airline#extensions#languageclient#get(type) - let is_err = a:type == s:severity_error - let symbol = is_err ? s:error_symbol : s:warning_symbol - - let cnt = 0 - for d in s:diagnostics_for_buffer() - if has_key(d, 'severity') && d.severity == a:type - let cnt += 1 - endif - endfor - - if cnt == 0 - return '' - endif - - if s:show_line_numbers == 1 - return s:airline_languageclient_count(cnt, symbol) . <sid>airline_languageclient_get_line_number(a:type) - else - return s:airline_languageclient_count(cnt, symbol) - endif -endfunction - -function! airline#extensions#languageclient#get_warning() - return airline#extensions#languageclient#get(s:severity_warning) -endfunction - -function! airline#extensions#languageclient#get_error() - return airline#extensions#languageclient#get(s:severity_error) -endfunction - -function! airline#extensions#languageclient#init(ext) - call airline#parts#define_function('languageclient_error_count', 'airline#extensions#languageclient#get_error') - call airline#parts#define_function('languageclient_warning_count', 'airline#extensions#languageclient#get_warning') - augroup airline_languageclient - autocmd! - autocmd User LanguageClientDiagnosticsChanged call <sid>get_diagnostics() - augroup END -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/localsearch.vim b/dotfiles/.vim/autoload/airline/extensions/localsearch.vim deleted file mode 100644 index 685be47..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/localsearch.vim +++ /dev/null @@ -1,35 +0,0 @@ -" MIT License. Copyright (c) 2018 mox et al. -" vim: et ts=2 sts=2 sw=2 - -scriptencoding utf-8 - -let s:enabled = get(g:, 'airline#extensions#localsearch#enabled', 1) -if !get(g:, 'loaded_localsearch', 0) || !s:enabled || get(g:, 'airline#extensions#localsearch#loaded', 0) - finish -endif -let g:airline#extensions#localsearch#loaded = 001 - -let s:spc = g:airline_symbols.space - -function! airline#extensions#localsearch#load_theme(palette) - call airline#highlighter#exec('localsearch_dark', [ '#ffffff' , '#000000' , 15 , 1 , '']) -endfunction - - -function! airline#extensions#localsearch#init(ext) - call a:ext.add_theme_func('airline#extensions#localsearch#load_theme') - call a:ext.add_statusline_func('airline#extensions#localsearch#apply') -endfunction - - -function! airline#extensions#localsearch#apply(...) - " first variable is the statusline builder - let builder = a:1 - - """"" WARNING: the API for the builder is not finalized and may change - if exists('#localsearch#WinEnter') " If localsearch mode is enabled - call builder.add_section('localsearch_dark', s:spc.airline#section#create('LS').s:spc) - endif - return 0 -endfunction - diff --git a/dotfiles/.vim/autoload/airline/extensions/neomake.vim b/dotfiles/.vim/autoload/airline/extensions/neomake.vim deleted file mode 100644 index b82d6c3..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/neomake.vim +++ /dev/null @@ -1,36 +0,0 @@ -" MIT License. Copyright (c) 2013-2018 Bailey Ling et al. -" vim: et ts=2 sts=2 sw=2 - -if !exists(':Neomake') - finish -endif - -let s:error_symbol = get(g:, 'airline#extensions#neomake#error_symbol', 'E:') -let s:warning_symbol = get(g:, 'airline#extensions#neomake#warning_symbol', 'W:') - -function! s:get_counts() - let l:counts = neomake#statusline#LoclistCounts() - - if empty(l:counts) - return neomake#statusline#QflistCounts() - else - return l:counts - endif -endfunction - -function! airline#extensions#neomake#get_warnings() - let counts = s:get_counts() - let warnings = get(counts, 'W', 0) - return warnings ? s:warning_symbol.warnings : '' -endfunction - -function! airline#extensions#neomake#get_errors() - let counts = s:get_counts() - let errors = get(counts, 'E', 0) - return errors ? s:error_symbol.errors : '' -endfunction - -function! airline#extensions#neomake#init(ext) - call airline#parts#define_function('neomake_warning_count', 'airline#extensions#neomake#get_warnings') - call airline#parts#define_function('neomake_error_count', 'airline#extensions#neomake#get_errors') -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/netrw.vim b/dotfiles/.vim/autoload/airline/extensions/netrw.vim deleted file mode 100644 index 10f024a..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/netrw.vim +++ /dev/null @@ -1,34 +0,0 @@ -" MIT License. Copyright (c) 2013-2018 Bailey Ling et al. -" vim: et ts=2 sts=2 sw=2 - -scriptencoding utf-8 - -if !exists(':NetrwSettings') - finish -endif - -function! airline#extensions#netrw#apply(...) - if &ft == 'netrw' - let spc = g:airline_symbols.space - - call a:1.add_section('airline_a', spc.'netrw'.spc) - if exists('*airline#extensions#branch#get_head') - call a:1.add_section('airline_b', spc.'%{airline#extensions#branch#get_head()}'.spc) - endif - call a:1.add_section('airline_c', spc.'%f'.spc) - call a:1.split() - call a:1.add_section('airline_y', spc.'%{airline#extensions#netrw#sortstring()}'.spc) - return 1 - endif -endfunction - -function! airline#extensions#netrw#init(ext) - let g:netrw_force_overwrite_statusline = 0 - call a:ext.add_statusline_func('airline#extensions#netrw#apply') -endfunction - - -function! airline#extensions#netrw#sortstring() - let order = (get(g:, 'netrw_sort_direction', 'n') =~ 'n') ? '+' : '-' - return g:netrw_sort_by . (g:airline_symbols.space) . '[' . order . ']' -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/nrrwrgn.vim b/dotfiles/.vim/autoload/airline/extensions/nrrwrgn.vim deleted file mode 100644 index e97c8a5..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/nrrwrgn.vim +++ /dev/null @@ -1,57 +0,0 @@ -" MIT License. Copyright (c) 2013-2018 Bailey Ling et al. -" vim: et ts=2 sts=2 sw=2 - -scriptencoding utf-8 - -if !get(g:, 'loaded_nrrw_rgn', 0) - finish -endif - -function! airline#extensions#nrrwrgn#apply(...) - if exists(":WidenRegion") == 2 - let spc = g:airline_symbols.space - if !exists("*nrrwrgn#NrrwRgnStatus()") || empty(nrrwrgn#NrrwRgnStatus()) - call a:1.add_section('airline_a', printf('%s[Narrowed%s#%d]', spc, spc, b:nrrw_instn)) - let bufname=(get(b:, 'orig_buf', 0) ? bufname(b:orig_buf) : substitute(bufname('%'), '^Nrrwrgn_\zs.*\ze_\d\+$', submatch(0), '')) - call a:1.add_section('airline_c', spc.bufname.spc) - call a:1.split() - else - let dict=nrrwrgn#NrrwRgnStatus() - let vmode = { 'v': 'Char ', 'V': 'Line ', '': 'Block '} - let mode = dict.visual ? vmode[dict.visual] : vmode['V'] - let winwidth = winwidth(0) - if winwidth < 80 - let mode = mode[0] - endif - let title = (winwidth < 80 ? "Nrrw" : "Narrowed ") - let multi = (winwidth < 80 ? 'M' : 'Multi') - call a:1.add_section('airline_a', printf('[%s%s%s#%d]%s', (dict.multi ? multi : ""), - \ title, mode, b:nrrw_instn, spc)) - let name = dict.fullname - if name !=# '[No Name]' - if winwidth > 100 - " need some space - let name = fnamemodify(dict.fullname, ':~') - if strlen(name) > 8 - " shorten name - let name = substitute(name, '\(.\)[^/\\]*\([/\\]\)', '\1\2', 'g') - endif - else - let name = fnamemodify(dict.fullname, ':t') - endif - endif - let range=(dict.multi ? '' : printf("[%d-%d]", dict.start[1], dict.end[1])) - call a:1.add_section('airline_c', printf("%s %s %s", name, range, - \ dict.enabled ? (&encoding ==? 'utf-8' ? "\u2713" : '') : '!')) - call a:1.split() - call a:1.add_section('airline_x', get(g:, 'airline_section_x').spc) - call a:1.add_section('airline_y', spc.get(g:, 'airline_section_y').spc) - call a:1.add_section('airline_z', spc.get(g:, 'airline_section_z')) - endif - return 1 - endif -endfunction - -function! airline#extensions#nrrwrgn#init(ext) - call a:ext.add_statusline_func('airline#extensions#nrrwrgn#apply') -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/obsession.vim b/dotfiles/.vim/autoload/airline/extensions/obsession.vim deleted file mode 100644 index 04105d0..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/obsession.vim +++ /dev/null @@ -1,22 +0,0 @@ -" MIT License. Copyright (c) 2013-2018 Bailey Ling et al. -" vim: et ts=2 sts=2 sw=2 - -scriptencoding utf-8 - -if !exists('*ObsessionStatus') - finish -endif - -let s:spc = g:airline_symbols.space - -if !exists('g:airline#extensions#obsession#indicator_text') - let g:airline#extensions#obsession#indicator_text = '$' -endif - -function! airline#extensions#obsession#init(ext) - call airline#parts#define_function('obsession', 'airline#extensions#obsession#get_status') -endfunction - -function! airline#extensions#obsession#get_status() - return ObsessionStatus((g:airline#extensions#obsession#indicator_text . s:spc), '') -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/po.vim b/dotfiles/.vim/autoload/airline/extensions/po.vim deleted file mode 100644 index 3ec2942..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/po.vim +++ /dev/null @@ -1,81 +0,0 @@ -" MIT License. Copyright (c) 2013-2018 Bailey Ling et al. -" vim: et ts=2 sts=2 sw=2 - -scriptencoding utf-8 - -function! airline#extensions#po#shorten() - " Format and shorte the output of msgfmt - let b:airline_po_stats = substitute(get(b:, 'airline_po_stats', ''), ' \(message\|translation\)s*\.*', '', 'g') - let b:airline_po_stats = substitute(b:airline_po_stats, ', ', '/', 'g') - if exists("g:airline#extensions#po#displayed_limit") - let w:displayed_po_limit = g:airline#extensions#po#displayed_limit - if len(b:airline_po_stats) > w:displayed_po_limit - 1 - let b:airline_po_stats = b:airline_po_stats[0:(w:displayed_po_limit - 2)].(&encoding==?'utf-8' ? '…' : '.'). ']' - endif - endif - if strlen(get(b:, 'airline_po_stats', '')) >= 30 && winwidth(0) < 150 - let fuzzy = '' - let untranslated = '' - let messages = '' - " Shorten [120 translated, 50 fuzzy, 4 untranslated] to [120T/50F/4U] - if b:airline_po_stats =~ 'fuzzy' - let fuzzy = substitute(b:airline_po_stats, '.*\(\d\+\) fuzzy.*', '\1F', '') - endif - if b:airline_po_stats =~ 'untranslated' - let untranslated = substitute(b:airline_po_stats, '.*\(\d\+\) untranslated.*', '\1U', '') - endif - let messages = substitute(b:airline_po_stats, '\(\d\+\) translated.*', '\1T', '') - let b:airline_po_stats = printf('%s%s%s', fuzzy, (empty(fuzzy) || empty(untranslated) ? '' : '/'), untranslated) - if strlen(b:airline_po_stats) < 8 - let b:airline_po_stats = messages. (!empty(b:airline_po_stats) ? '/':''). b:airline_po_stats - endif - endif - let b:airline_po_stats = '['.b:airline_po_stats. ']' -endfunction - -function! airline#extensions#po#on_winenter() - " only reset cache, if the window size changed - if get(b:, 'airline_winwidth', 0) != winwidth(0) - let b:airline_winwidth = winwidth(0) - " needs re-formatting - unlet! b:airline_po_stats - endif -endfunction - -function! airline#extensions#po#apply(...) - 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() - endif -endfunction - -function! airline#extensions#po#stats() - if exists('b:airline_po_stats') && !empty(b:airline_po_stats) - return b:airline_po_stats - endif - - let cmd = 'msgfmt --statistics -o /dev/null -- ' - if g:airline#init#vim_async - call airline#async#get_msgfmt_stat(cmd, expand('%:p')) - elseif has("nvim") - call airline#async#nvim_get_msgfmt_stat(cmd, expand('%:p')) - else - let airline_po_stats = system(cmd. shellescape(expand('%:p'))) - if v:shell_error - return '' - endif - try - let b:airline_po_stats = split(airline_po_stats, '\n')[0] - catch - let b:airline_po_stats = '' - endtry - call airline#extensions#po#shorten() - endif - return get(b:, 'airline_po_stats', '') -endfunction - -function! airline#extensions#po#init(ext) - call a:ext.add_statusline_func('airline#extensions#po#apply') -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/promptline.vim b/dotfiles/.vim/autoload/airline/extensions/promptline.vim deleted file mode 100644 index 7c90b7c..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/promptline.vim +++ /dev/null @@ -1,35 +0,0 @@ -" MIT License. Copyright (c) 2013-2018 Bailey Ling et al. -" vim: et ts=2 sts=2 sw=2 - -scriptencoding utf-8 - -if !exists(':PromptlineSnapshot') - finish -endif - -if !exists('airline#extensions#promptline#snapshot_file') || !len('airline#extensions#promptline#snapshot_file') - finish -endif - -let s:prompt_snapshot_file = get(g:, 'airline#extensions#promptline#snapshot_file', '') -let s:color_template = get(g:, 'airline#extensions#promptline#color_template', 'normal') - -function! airline#extensions#promptline#init(ext) - call a:ext.add_theme_func('airline#extensions#promptline#set_prompt_colors') -endfunction - -function! airline#extensions#promptline#set_prompt_colors(palette) - let color_template = has_key(a:palette, s:color_template) ? s:color_template : 'normal' - let mode_palette = a:palette[color_template] - - if !has_key(g:, 'promptline_symbols') - let g:promptline_symbols = { - \ 'left' : g:airline_left_sep, - \ 'right' : g:airline_right_sep, - \ 'left_alt' : g:airline_left_alt_sep, - \ 'right_alt' : g:airline_right_alt_sep} - endif - - let promptline_theme = promptline#api#create_theme_from_airline(mode_palette) - call promptline#api#create_snapshot_with_theme(s:prompt_snapshot_file, promptline_theme) -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/quickfix.vim b/dotfiles/.vim/autoload/airline/extensions/quickfix.vim deleted file mode 100644 index 2680371..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/quickfix.vim +++ /dev/null @@ -1,58 +0,0 @@ -" MIT License. Copyright (c) 2013-2018 Bailey Ling et al. -" vim: et ts=2 sts=2 sw=2 - -scriptencoding utf-8 - -if !exists('g:airline#extensions#quickfix#quickfix_text') - let g:airline#extensions#quickfix#quickfix_text = 'Quickfix' -endif - -if !exists('g:airline#extensions#quickfix#location_text') - let g:airline#extensions#quickfix#location_text = 'Location' -endif - -function! airline#extensions#quickfix#apply(...) - 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 = '' - endif -endfunction - -function! airline#extensions#quickfix#init(ext) - call a:ext.add_statusline_func('airline#extensions#quickfix#apply') - call a:ext.add_inactive_statusline_func('airline#extensions#quickfix#inactive_qf_window') -endfunction - -function! airline#extensions#quickfix#inactive_qf_window(...) - 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') - endif -endfunction - -function! airline#extensions#quickfix#get_type() - if exists("*win_getid") && exists("*getwininfo") - let dict = getwininfo(win_getid()) - if len(dict) > 0 && get(dict[0], 'quickfix', 0) && !get(dict[0], 'loclist', 0) - return g:airline#extensions#quickfix#quickfix_text - elseif len(dict) > 0 && get(dict[0], 'quickfix', 0) && get(dict[0], 'loclist', 0) - return g:airline#extensions#quickfix#location_text - endif - endif - redir => buffers - silent ls - redir END - - let nr = bufnr('%') - for buf in split(buffers, '\n') - if match(buf, '\v^\s*'.nr) > -1 - if match(buf, '\cQuickfix') > -1 - return g:airline#extensions#quickfix#quickfix_text - else - return g:airline#extensions#quickfix#location_text - endif - endif - endfor - return '' -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/syntastic.vim b/dotfiles/.vim/autoload/airline/extensions/syntastic.vim deleted file mode 100644 index be21fb4..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/syntastic.vim +++ /dev/null @@ -1,43 +0,0 @@ -" MIT License. Copyright (c) 2013-2018 Bailey Ling et al. -" vim: et ts=2 sts=2 sw=2 - -scriptencoding utf-8 - -if !exists(':SyntasticCheck') - finish -endif - -let s:error_symbol = get(g:, 'airline#extensions#syntastic#error_symbol', 'E:') -let s:warning_symbol = get(g:, 'airline#extensions#syntastic#warning_symbol', 'W:') - -function! airline#extensions#syntastic#get_warning() - return airline#extensions#syntastic#get('warning') -endfunction - -function! airline#extensions#syntastic#get_error() - return airline#extensions#syntastic#get('error') -endfunction - -function! airline#extensions#syntastic#get(type) - let _backup = get(g:, 'syntastic_stl_format', '') - let is_err = (a:type is# 'error') - if is_err - let g:syntastic_stl_format = get(g:, 'airline#extensions#syntastic#stl_format_err', '%E{[%e(#%fe)]}') - else - let g:syntastic_stl_format = get(g:, 'airline#extensions#syntastic#stl_format_warn', '%W{[%w(#%fw)]}') - endif - let cnt = SyntasticStatuslineFlag() - if !empty(_backup) - let g:syntastic_stl_format = _backup - endif - if empty(cnt) - return '' - else - return (is_err ? s:error_symbol : s:warning_symbol).cnt - endif -endfunction - -function! airline#extensions#syntastic#init(ext) - call airline#parts#define_function('syntastic-warn', 'airline#extensions#syntastic#get_warning') - call airline#parts#define_function('syntastic-err', 'airline#extensions#syntastic#get_error') -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/tabline.vim b/dotfiles/.vim/autoload/airline/extensions/tabline.vim deleted file mode 100644 index 10e235e..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/tabline.vim +++ /dev/null @@ -1,213 +0,0 @@ -" MIT License. Copyright (c) 2013-2018 Bailey Ling et al. -" vim: et ts=2 sts=2 sw=2 - -scriptencoding utf-8 - - -let s:taboo = get(g:, 'airline#extensions#taboo#enabled', 1) && get(g:, 'loaded_taboo', 0) -if s:taboo - let g:taboo_tabline = 0 -endif - -let s:ctrlspace = get(g:, 'CtrlSpaceLoaded', 0) - -function! airline#extensions#tabline#init(ext) - if has('gui_running') - set guioptions-=e - endif - - autocmd User AirlineToggledOn call s:toggle_on() - autocmd User AirlineToggledOff call s:toggle_off() - - call s:toggle_on() - call a:ext.add_theme_func('airline#extensions#tabline#load_theme') -endfunction - -function! s:toggle_off() - call airline#extensions#tabline#autoshow#off() - call airline#extensions#tabline#tabs#off() - call airline#extensions#tabline#buffers#off() - if s:ctrlspace - call airline#extensions#tabline#ctrlspace#off() - endif -endfunction - -function! s:toggle_on() - call airline#extensions#tabline#autoshow#on() - call airline#extensions#tabline#tabs#on() - call airline#extensions#tabline#buffers#on() - if s:ctrlspace - call airline#extensions#tabline#ctrlspace#on() - endif - - set tabline=%!airline#extensions#tabline#get() -endfunction - -function! s:update_tabline() - if get(g:, 'airline#extensions#tabline#disable_refresh', 0) - return - endif - let match = expand('<afile>') - if pumvisible() - return - elseif !get(g:, 'airline#extensions#tabline#enabled', 0) - return - " return, if buffer matches ignore pattern or is directory (netrw) - elseif empty(match) || airline#util#ignore_buf(match) - \ || isdirectory(expand("<afile>")) - return - endif - call airline#util#doautocmd('BufMRUChange') - " sometimes, the tabline is not correctly updated see #1580 - " so force redraw here - if exists(":redrawtabline") == 2 - redrawtabline - else - let &tabline = &tabline - endif -endfunction - -function! airline#extensions#tabline#load_theme(palette) - if pumvisible() - return - endif - let colors = get(a:palette, 'tabline', {}) - let tablabel = get(colors, 'airline_tablabel', a:palette.normal.airline_b) - " Theme for tabs on the left - let tab = get(colors, 'airline_tab', a:palette.normal.airline_b) - let tabsel = get(colors, 'airline_tabsel', a:palette.normal.airline_a) - let tabtype = get(colors, 'airline_tabtype', a:palette.visual.airline_a) - let tabfill = get(colors, 'airline_tabfill', a:palette.normal.airline_c) - let tabmod = get(colors, 'airline_tabmod', a:palette.insert.airline_a) - let tabhid = get(colors, 'airline_tabhid', a:palette.normal.airline_c) - if has_key(a:palette, 'normal_modified') && has_key(a:palette.normal_modified, 'airline_c') - let tabmodu = get(colors, 'airline_tabmod_unsel', a:palette.normal_modified.airline_c) - else - "Fall back to normal airline_c if modified airline_c isn't present - let tabmodu = get(colors, 'airline_tabmod_unsel', a:palette.normal.airline_c) - endif - call airline#highlighter#exec('airline_tablabel', tablabel) - call airline#highlighter#exec('airline_tab', tab) - call airline#highlighter#exec('airline_tabsel', tabsel) - call airline#highlighter#exec('airline_tabtype', tabtype) - call airline#highlighter#exec('airline_tabfill', tabfill) - call airline#highlighter#exec('airline_tabmod', tabmod) - call airline#highlighter#exec('airline_tabmod_unsel', tabmodu) - call airline#highlighter#exec('airline_tabhid', tabhid) - - " Theme for tabs on the right - let tabsel_right = get(colors, 'airline_tabsel_right', a:palette.normal.airline_a) - let tab_right = get(colors, 'airline_tab_right', a:palette.inactive.airline_c) - let tabmod_right = get(colors, 'airline_tabmod_right', a:palette.insert.airline_a) - let tabhid_right = get(colors, 'airline_tabhid_right', a:palette.normal.airline_c) - if has_key(a:palette, 'normal_modified') && has_key(a:palette.normal_modified, 'airline_c') - let tabmodu_right = get(colors, 'airline_tabmod_unsel_right', a:palette.normal_modified.airline_c) - else - "Fall back to normal airline_c if modified airline_c isn't present - let tabmodu_right = get(colors, 'airline_tabmod_unsel_right', a:palette.normal.airline_c) - endif - call airline#highlighter#exec('airline_tab_right', tab_right) - call airline#highlighter#exec('airline_tabsel_right', tabsel_right) - call airline#highlighter#exec('airline_tabmod_right', tabmod_right) - call airline#highlighter#exec('airline_tabhid_right', tabhid_right) - call airline#highlighter#exec('airline_tabmod_unsel_right', tabmodu_right) -endfunction - -let s:current_tabcnt = -1 - -function! airline#extensions#tabline#get() - let show_buffers = get(g:, 'airline#extensions#tabline#show_buffers', 1) - let show_tabs = get(g:, 'airline#extensions#tabline#show_tabs', 1) - - let curtabcnt = tabpagenr('$') - if curtabcnt != s:current_tabcnt - let s:current_tabcnt = curtabcnt - call airline#extensions#tabline#tabs#invalidate() - call airline#extensions#tabline#buffers#invalidate() - call airline#extensions#tabline#ctrlspace#invalidate() - endif - - if !exists('#airline#BufAdd#*') - autocmd airline BufAdd * call <sid>update_tabline() - endif - if s:ctrlspace - return airline#extensions#tabline#ctrlspace#get() - elseif show_buffers && curtabcnt == 1 || !show_tabs - return airline#extensions#tabline#buffers#get() - else - return airline#extensions#tabline#tabs#get() - endif -endfunction - -function! airline#extensions#tabline#title(n) - let title = '' - if s:taboo - let title = TabooTabTitle(a:n) - endif - - if empty(title) && exists('*gettabvar') - let title = gettabvar(a:n, 'title') - endif - - if empty(title) - let buflist = tabpagebuflist(a:n) - let winnr = tabpagewinnr(a:n) - let all_buffers = airline#extensions#tabline#buflist#list() - return airline#extensions#tabline#get_buffer_name( - \ buflist[winnr - 1], - \ filter(buflist, 'index(all_buffers, v:val) != -1')) - endif - - return title -endfunction - -function! airline#extensions#tabline#get_buffer_name(nr, ...) - let buffers = a:0 ? a:1 : airline#extensions#tabline#buflist#list() - let formatter = get(g:, 'airline#extensions#tabline#formatter', 'default') - return airline#extensions#tabline#formatters#{formatter}#format(a:nr, buffers) -endfunction - -function! airline#extensions#tabline#new_builder() - let builder_context = { - \ 'active' : 1, - \ 'tabline' : 1, - \ 'right_sep' : get(g:, 'airline#extensions#tabline#right_sep' , g:airline_right_sep), - \ 'right_alt_sep' : get(g:, 'airline#extensions#tabline#right_alt_sep', g:airline_right_alt_sep), - \ } - if get(g:, 'airline_powerline_fonts', 0) - let builder_context.left_sep = get(g:, 'airline#extensions#tabline#left_sep' , g:airline_left_sep) - let builder_context.left_alt_sep = get(g:, 'airline#extensions#tabline#left_alt_sep' , g:airline_left_alt_sep) - else - let builder_context.left_sep = get(g:, 'airline#extensions#tabline#left_sep' , ' ') - let builder_context.left_alt_sep = get(g:, 'airline#extensions#tabline#left_alt_sep' , '|') - endif - - return airline#extensions#tabline#builder#new(builder_context) -endfunction - -function! airline#extensions#tabline#group_of_bufnr(tab_bufs, bufnr) - let cur = bufnr('%') - if cur == a:bufnr - if g:airline_detect_modified && getbufvar(a:bufnr, '&modified') - let group = 'airline_tabmod' - else - let group = 'airline_tabsel' - endif - else - if g:airline_detect_modified && getbufvar(a:bufnr, '&modified') - let group = 'airline_tabmod_unsel' - elseif index(a:tab_bufs, a:bufnr) > -1 - let group = 'airline_tab' - else - let group = 'airline_tabhid' - endif - endif - return group -endfunction - -function! airline#extensions#tabline#add_label(dict, type) - if get(g:, 'airline#extensions#tabline#show_tab_type', 1) - call a:dict.add_section_spaced('airline_tablabel', - \ get(g:, 'airline#extensions#tabline#'.a:type.'_label', a:type)) - endif -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/tabline/autoshow.vim b/dotfiles/.vim/autoload/airline/extensions/tabline/autoshow.vim deleted file mode 100644 index ac1413f..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/tabline/autoshow.vim +++ /dev/null @@ -1,55 +0,0 @@ -" MIT License. Copyright (c) 2013-2018 Bailey Ling et al. -" vim: et ts=2 sts=2 sw=2 - -scriptencoding utf-8 - -let s:show_buffers = get(g:, 'airline#extensions#tabline#show_buffers', 1) -let s:buf_min_count = get(g:, 'airline#extensions#tabline#buffer_min_count', 0) -let s:tab_min_count = get(g:, 'airline#extensions#tabline#tab_min_count', 0) - -function! airline#extensions#tabline#autoshow#off() - if exists('s:original_tabline') - let &tabline = s:original_tabline - let &showtabline = s:original_showtabline - endif - - augroup airline_tabline_autoshow - autocmd! - augroup END -endfunction - -function! airline#extensions#tabline#autoshow#on() - let [ s:original_tabline, s:original_showtabline ] = [ &tabline, &showtabline ] - - augroup airline_tabline_autoshow - autocmd! - if s:buf_min_count <= 0 && s:tab_min_count <= 1 - if &lines > 3 - set showtabline=2 - endif - else - if s:show_buffers == 1 - autocmd BufEnter * call <sid>show_tabline(s:buf_min_count, len(airline#extensions#tabline#buflist#list())) - autocmd BufUnload * call <sid>show_tabline(s:buf_min_count, len(airline#extensions#tabline#buflist#list()) - 1) - else - autocmd TabEnter * call <sid>show_tabline(s:tab_min_count, tabpagenr('$')) - endif - endif - - " Invalidate cache. This has to come after the BufUnload for - " s:show_buffers, to invalidate the cache for BufEnter. - autocmd BufLeave,BufAdd,BufUnload * call airline#extensions#tabline#buflist#invalidate() - augroup END -endfunction - -function! s:show_tabline(min_count, total_count) - if a:total_count >= a:min_count - if &showtabline != 2 && &lines > 3 - set showtabline=2 - endif - else - if &showtabline != 0 - set showtabline=0 - endif - endif -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/tabline/buffers.vim b/dotfiles/.vim/autoload/airline/extensions/tabline/buffers.vim deleted file mode 100644 index 88ebe5c..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/tabline/buffers.vim +++ /dev/null @@ -1,246 +0,0 @@ -" MIT License. Copyright (c) 2013-2018 Bailey Ling et al. -" vim: et ts=2 sts=2 sw=2 - -scriptencoding utf-8 - -let s:spc = g:airline_symbols.space - -let s:current_bufnr = -1 -let s:current_modified = 0 -let s:current_tabline = '' -let s:current_visible_buffers = [] - -let s:number_map = { - \ '0': '⁰', - \ '1': '¹', - \ '2': '²', - \ '3': '³', - \ '4': '⁴', - \ '5': '⁵', - \ '6': '⁶', - \ '7': '⁷', - \ '8': '⁸', - \ '9': '⁹' - \ } -let s:number_map = &encoding == 'utf-8' - \ ? get(g:, 'airline#extensions#tabline#buffer_idx_format', s:number_map) - \ : {} - -function! airline#extensions#tabline#buffers#off() - augroup airline_tabline_buffers - autocmd! - augroup END -endfunction - -function! airline#extensions#tabline#buffers#on() - augroup airline_tabline_buffers - autocmd! - autocmd BufDelete * call airline#extensions#tabline#buflist#clean() - autocmd User BufMRUChange call airline#extensions#tabline#buflist#clean() - augroup END -endfunction - -function! airline#extensions#tabline#buffers#invalidate() - let s:current_bufnr = -1 -endfunction - -function! airline#extensions#tabline#buffers#get() - try - call <sid>map_keys() - catch - " no-op - endtry - let cur = bufnr('%') - if cur == s:current_bufnr && &columns == s:column_width - if !g:airline_detect_modified || getbufvar(cur, '&modified') == s:current_modified - return s:current_tabline - endif - endif - - let b = airline#extensions#tabline#new_builder() - let tab_bufs = tabpagebuflist(tabpagenr()) - let show_buf_label_first = 0 - - if get(g:, 'airline#extensions#tabline#buf_label_first', 0) - let show_buf_label_first = 1 - endif - if show_buf_label_first - call airline#extensions#tabline#add_label(b, 'buffers') - endif - - let b.tab_bufs = tabpagebuflist(tabpagenr()) - - let b.overflow_group = 'airline_tabhid' - let b.buffers = airline#extensions#tabline#buflist#list() - if get(g:, 'airline#extensions#tabline#current_first', 0) - if index(b.buffers, cur) > -1 - call remove(b.buffers, index(b.buffers, cur)) - endif - let b.buffers = [cur] + b.buffers - endif - - function! b.get_group(i) dict - let bufnum = get(self.buffers, a:i, -1) - if bufnum == -1 - return '' - endif - let group = airline#extensions#tabline#group_of_bufnr(self.tab_bufs, bufnum) - if bufnum == bufnr('%') - let s:current_modified = (group == 'airline_tabmod') ? 1 : 0 - endif - return group - endfunction - - if has("tablineat") - function! b.get_pretitle(i) dict - let bufnum = get(self.buffers, a:i, -1) - return '%'.bufnum.'@airline#extensions#tabline#buffers#clickbuf@' - endfunction - - function! b.get_posttitle(i) dict - return '%X' - endfunction - endif - - function! b.get_title(i) dict - let bufnum = get(self.buffers, a:i, -1) - let group = self.get_group(a:i) - let pgroup = self.get_group(a:i - 1) - " always add a space when powerline_fonts are used - " or for the very first item - if get(g:, 'airline_powerline_fonts', 0) || a:i == 0 - let space = s:spc - else - let space= (pgroup == group ? s:spc : '') - endif - - if get(g:, 'airline#extensions#tabline#buffer_idx_mode', 0) - if len(s:number_map) > 0 - return space. get(s:number_map, a:i+1, '') . '%(%{airline#extensions#tabline#get_buffer_name('.bufnum.')}%)' . s:spc - else - return '['.(a:i+1).s:spc.'%(%{airline#extensions#tabline#get_buffer_name('.bufnum.')}%)'.']' - endif - else - return space.'%(%{airline#extensions#tabline#get_buffer_name('.bufnum.')}%)'.s:spc - endif - endfunction - - let current_buffer = max([index(b.buffers, cur), 0]) - let last_buffer = len(b.buffers) - 1 - call b.insert_titles(current_buffer, 0, last_buffer) - - call b.add_section('airline_tabfill', '') - call b.split() - call b.add_section('airline_tabfill', '') - if !show_buf_label_first - call airline#extensions#tabline#add_label(b, 'buffers') - endif - - if tabpagenr('$') > 1 - call b.add_section_spaced('airline_tabmod', printf('%s %d/%d', "tab", tabpagenr(), tabpagenr('$'))) - endif - - let s:current_bufnr = cur - let s:column_width = &columns - let s:current_tabline = b.build() - let s:current_visible_buffers = copy(b.buffers) - if b._right_title <= last_buffer - call remove(s:current_visible_buffers, b._right_title, last_buffer) - endif - if b._left_title > 0 - call remove(s:current_visible_buffers, 0, b._left_title) - endif - return s:current_tabline -endfunction - -function! s:select_tab(buf_index) - " no-op when called in 'keymap_ignored_filetypes' - if count(get(g:, 'airline#extensions#tabline#keymap_ignored_filetypes', - \ ['vimfiler', 'nerdtree']), &ft) - return - endif - - let idx = a:buf_index - if s:current_visible_buffers[0] == -1 - let idx = idx + 1 - endif - - let buf = get(s:current_visible_buffers, idx, 0) - if buf != 0 - exec 'b!' . buf - endif -endfunction - -function! s:jump_to_tab(offset) - let l = airline#extensions#tabline#buflist#list() - let i = index(l, bufnr('%')) - if i > -1 - exec 'b!' . l[(i + a:offset) % len(l)] - endif -endfunction - -function! s:map_keys() - if get(g:, 'airline#extensions#tabline#buffer_idx_mode', 1) - noremap <silent> <Plug>AirlineSelectTab1 :call <SID>select_tab(0)<CR> - noremap <silent> <Plug>AirlineSelectTab2 :call <SID>select_tab(1)<CR> - noremap <silent> <Plug>AirlineSelectTab3 :call <SID>select_tab(2)<CR> - noremap <silent> <Plug>AirlineSelectTab4 :call <SID>select_tab(3)<CR> - noremap <silent> <Plug>AirlineSelectTab5 :call <SID>select_tab(4)<CR> - noremap <silent> <Plug>AirlineSelectTab6 :call <SID>select_tab(5)<CR> - noremap <silent> <Plug>AirlineSelectTab7 :call <SID>select_tab(6)<CR> - noremap <silent> <Plug>AirlineSelectTab8 :call <SID>select_tab(7)<CR> - noremap <silent> <Plug>AirlineSelectTab9 :call <SID>select_tab(8)<CR> - noremap <silent> <Plug>AirlineSelectPrevTab :<C-u>call <SID>jump_to_tab(-v:count1)<CR> - noremap <silent> <Plug>AirlineSelectNextTab :<C-u>call <SID>jump_to_tab(v:count1)<CR> - endif -endfunction - -function! airline#extensions#tabline#buffers#clickbuf(minwid, clicks, button, modifiers) abort - " Clickable buffers - " works only in recent NeoVim with has('tablineat') - - " single mouse button click without modifiers pressed - if a:clicks == 1 && a:modifiers !~# '[^ ]' - if a:button is# 'l' - " left button - switch to buffer - silent execute 'buffer' a:minwid - elseif a:button is# 'm' - " middle button - delete buffer - - if get(g:, 'airline#extensions#tabline#middle_click_preserves_windows', 0) == 0 || winnr('$') == 1 - " just simply delete the clicked buffer. This will cause windows - " associated with the clicked buffer to be closed. - silent execute 'bdelete' a:minwid - else - " find windows displaying the clicked buffer and open an new - " buffer in them. - let current_window = bufwinnr("%") - let window_number = bufwinnr(a:minwid) - let last_window_visited = -1 - - " Set to 1 if the clicked buffer was open in any windows. - let buffer_in_window = 0 - - " Find the next window with the clicked buffer open. If bufwinnr() - " returns the same window number, this is because we clicked a new - " buffer, and then tried editing a new buffer. Vim won't create a - " new empty buffer for the same window, so we get the same window - " number from bufwinnr(). In this case we just give up and don't - " delete the buffer. - " This could be made cleaner if we could check if the clicked buffer - " is a new buffer, but I don't know if there is a way to do that. - while window_number != -1 && window_number != last_window_visited - let buffer_in_window = 1 - silent execute window_number . 'wincmd w' - silent execute 'enew' - let last_window_visited = window_number - let window_number = bufwinnr(a:minwid) - endwhile - silent execute current_window . 'wincmd w' - if window_number != last_window_visited || buffer_in_window == 0 - silent execute 'bdelete' a:minwid - endif - endif - endif - endif -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/tabline/buflist.vim b/dotfiles/.vim/autoload/airline/extensions/tabline/buflist.vim deleted file mode 100644 index a944cb9..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/tabline/buflist.vim +++ /dev/null @@ -1,77 +0,0 @@ -" MIT License. Copyright (c) 2013-2018 Bailey Ling et al. -" vim: et ts=2 sts=2 sw=2 - -scriptencoding utf-8 - -function! airline#extensions#tabline#buflist#invalidate() - unlet! s:current_buffer_list -endfunction - -function! airline#extensions#tabline#buflist#clean() - call airline#extensions#tabline#buflist#invalidate() - call airline#extensions#tabline#buffers#invalidate() -endfunction - -" paths in excludes list -function! s:ExcludePaths(nr, exclude_paths) - let bpath = fnamemodify(bufname(a:nr), ":p") - for f in a:exclude_paths - if bpath =~# f | return 1 | endif - endfor -endfunction - -" other types to exclude -function! s:ExcludeOther(nr, exclude_preview) - if (getbufvar(a:nr, 'current_syntax') == 'qf') || - \ (a:exclude_preview && getbufvar(a:nr, '&bufhidden') == 'wipe' - \ && getbufvar(a:nr, '&buftype') == 'nofile') - return 1 | endif -endfunction - -function! airline#extensions#tabline#buflist#list() - if exists('s:current_buffer_list') - return s:current_buffer_list - endif - - let exclude_buffers = get(g:, 'airline#extensions#tabline#exclude_buffers', []) - let exclude_paths = get(g:, 'airline#extensions#tabline#excludes', []) - let exclude_preview = get(g:, 'airline#extensions#tabline#exclude_preview', 1) - - let list = (exists('g:did_bufmru') && g:did_bufmru) ? BufMRUList() : range(1, bufnr("$")) - - let buffers = [] - " If this is too slow, we can switch to a different algorithm. - " Basically branch 535 already does it, but since it relies on - " BufAdd autocommand, I'd like to avoid this if possible. - for nr in list - if buflisted(nr) - " Do not add to the bufferlist, if either - " 1) bufnr is exclude_buffers list - " 2) buffername matches one of exclude_paths patterns - " 3) buffer is a quickfix buffer - " 4) when excluding preview windows: - " 'bufhidden' == wipe - " 'buftype' == nofile - " 5) ignore buffers matching airline#extensions#tabline#ignore_bufadd_pat - - " check buffer numbers first - if index(exclude_buffers, nr) >= 0 - continue - " check paths second - elseif !empty(exclude_paths) && s:ExcludePaths(nr, exclude_paths) - continue - " ignore buffers matching airline#extensions#tabline#ignore_bufadd_pat - elseif airline#util#ignore_buf(bufname(nr)) - continue - " check other types last - elseif s:ExcludeOther(nr, exclude_preview) - continue - endif - - call add(buffers, nr) - endif - endfor - - let s:current_buffer_list = buffers - return buffers -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/tabline/builder.vim b/dotfiles/.vim/autoload/airline/extensions/tabline/builder.vim deleted file mode 100644 index 20964b1..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/tabline/builder.vim +++ /dev/null @@ -1,232 +0,0 @@ -" MIT License. Copyright (c) 2013-2018 Bailey Ling et al. -" vim: et ts=2 sts=2 sw=2 - -scriptencoding utf-8 - -let s:prototype = {} - -" Set the point in the tabline where the builder should insert the titles. -" -" Subsequent calls will overwrite the previous ones, so only the last call -" determines to location to insert titles. -" -" NOTE: The titles are not inserted until |build| is called, so that the -" remaining contents of the tabline can be taken into account. -" -" Callers should define at least |get_title| and |get_group| on the host -" object before calling |build|. -function! s:prototype.insert_titles(current, first, last) dict - let self._first_title = a:first " lowest index - let self._last_title = a:last " highest index - let self._left_title = a:current " next index to add on the left - let self._right_title = a:current + 1 " next index to add on the right - let self._left_position = self.get_position() " left end of titles - let self._right_position = self._left_position " right end of the titles -endfunction - -" Insert a title for entry number |index|, of group |group| at position |pos|, -" if there is space for it. Returns 1 if it is inserted, 0 otherwise -" -" |force| inserts the title even if there isn't enough space left for it. -" |sep_size| adjusts the size change that the title is considered to take up, -" to account for changes to the separators -" -" The title is defined by |get_title| on the hosting object, called with -" |index| as its only argument. -" |get_pretitle| and |get_posttitle| may be defined on the host object to -" insert some formatting before or after the title. These should be 0-width. -" -" This method updates |_right_position| and |_remaining_space| on the host -" object, if the title is inserted. -function! s:prototype.try_insert_title(index, group, pos, sep_size, force) dict - let title = self.get_title(a:index) - let title_size = s:tabline_evaluated_length(title) + a:sep_size - if a:force || self._remaining_space >= title_size - let pos = a:pos - if has_key(self, "get_pretitle") - call self.insert_raw(self.get_pretitle(a:index), pos) - let self._right_position += 1 - let pos += 1 - endif - - call self.insert_section(a:group, title, pos) - let self._right_position += 1 - let pos += 1 - - if has_key(self, "get_posttitle") - call self.insert_raw(self.get_posttitle(a:index), pos) - let self._right_position += 1 - let pos += 1 - endif - - let self._remaining_space -= title_size - return 1 - endif - return 0 -endfunction - -function! s:get_separator_change(new_group, old_group, end_group, sep_size, alt_sep_size) - return s:get_separator_change_with_end(a:new_group, a:old_group, a:end_group, a:end_group, a:sep_size, a:alt_sep_size) -endfunction - -" Compute the change in size of the tabline caused by separators -" -" This should be kept up-to-date with |s:get_transitioned_seperator| and -" |s:get_separator| in autoload/airline/builder.vim -function! s:get_separator_change_with_end(new_group, old_group, new_end_group, old_end_group, sep_size, alt_sep_size) - let sep_change = 0 - if !empty(a:new_end_group) " Separator between title and the end - let sep_change += airline#builder#should_change_group(a:new_group, a:new_end_group) ? a:sep_size : a:alt_sep_size - endif - if !empty(a:old_group) " Separator between the title and the one adjacent - let sep_change += airline#builder#should_change_group(a:new_group, a:old_group) ? a:sep_size : a:alt_sep_size - if !empty(a:old_end_group) " Remove mis-predicted separator - let sep_change -= airline#builder#should_change_group(a:old_group, a:old_end_group) ? a:sep_size : a:alt_sep_size - endif - endif - return sep_change -endfunction - -" This replaces the build function of the |airline#builder#new| object, to -" insert titles as specified by the last call to |insert_titles| before -" passing to the original build function. -" -" Callers should define at least |get_title| and |get_group| on the host -" object if |insert_titles| has been called on it. -function! s:prototype.build() dict - if has_key(self, '_left_position') && self._first_title <= self._last_title - let self._remaining_space = &columns - s:tabline_evaluated_length(self._build()) - - let center_active = get(g:, 'airline#extensions#tabline#center_active', 0) - - let sep_size = s:tabline_evaluated_length(self._context.left_sep) - let alt_sep_size = s:tabline_evaluated_length(self._context.left_alt_sep) - - let outer_left_group = airline#builder#get_prev_group(self._sections, self._left_position) - let outer_right_group = airline#builder#get_next_group(self._sections, self._right_position) - - let overflow_marker = get(g:, 'airline#extensions#tabline#overflow_marker', g:airline_symbols.ellipsis) - let overflow_marker_size = s:tabline_evaluated_length(overflow_marker) - " Allow space for the markers before we begin filling in titles. - if self._left_title > self._first_title - let self._remaining_space -= overflow_marker_size + - \ s:get_separator_change(self.overflow_group, "", outer_left_group, sep_size, alt_sep_size) - endif - if self._left_title < self._last_title - let self._remaining_space -= overflow_marker_size + - \ s:get_separator_change(self.overflow_group, "", outer_right_group, sep_size, alt_sep_size) - endif - - " Add the current title - let group = self.get_group(self._left_title) - if self._left_title == self._first_title - let sep_change = s:get_separator_change(group, "", outer_left_group, sep_size, alt_sep_size) - else - let sep_change = s:get_separator_change(group, "", self.overflow_group, sep_size, alt_sep_size) - endif - if self._left_title == self._last_title - let sep_change += s:get_separator_change(group, "", outer_right_group, sep_size, alt_sep_size) - else - let sep_change += s:get_separator_change(group, "", self.overflow_group, sep_size, alt_sep_size) - endif - let left_group = group - let right_group = group - let self._left_title -= - \ self.try_insert_title(self._left_title, group, self._left_position, sep_change, 1) - - if get(g:, 'airline#extensions#tabline#current_first', 0) - " always have current title first - let self._left_position += 1 - endif - - if !center_active && self._right_title <= self._last_title - " Add the title to the right - let group = self.get_group(self._right_title) - if self._right_title == self._last_title - let sep_change = s:get_separator_change_with_end(group, right_group, outer_right_group, self.overflow_group, sep_size, alt_sep_size) - overflow_marker_size - else - let sep_change = s:get_separator_change(group, right_group, self.overflow_group, sep_size, alt_sep_size) - endif - let right_group = group - let self._right_title += - \ self.try_insert_title(self._right_title, group, self._right_position, sep_change, 1) - endif - - while self._remaining_space > 0 - let done = 0 - if self._left_title >= self._first_title - " Insert next title to the left - let group = self.get_group(self._left_title) - if self._left_title == self._first_title - let sep_change = s:get_separator_change_with_end(group, left_group, outer_left_group, self.overflow_group, sep_size, alt_sep_size) - overflow_marker_size - else - let sep_change = s:get_separator_change(group, left_group, self.overflow_group, sep_size, alt_sep_size) - endif - let left_group = group - let done = self.try_insert_title(self._left_title, group, self._left_position, sep_change, 0) - let self._left_title -= done - endif - " If center_active is set, this |if| operates as an independent |if|, - " otherwise as an |elif|. - if self._right_title <= self._last_title && (center_active || !done) - " Insert next title to the right - let group = self.get_group(self._right_title) - if self._right_title == self._last_title - let sep_change = s:get_separator_change_with_end(group, right_group, outer_right_group, self.overflow_group, sep_size, alt_sep_size) - overflow_marker_size - else - let sep_change = s:get_separator_change(group, right_group, self.overflow_group, sep_size, alt_sep_size) - endif - let right_group = group - let done = self.try_insert_title(self._right_title, group, self._right_position, sep_change, 0) - let self._right_title += done - endif - if !done - break - endif - endwhile - - if self._left_title >= self._first_title - if get(g:, 'airline#extensions#tabline#current_first', 0) - let self._left_position -= 1 - endif - call self.insert_section(self.overflow_group, overflow_marker, self._left_position) - let self._right_position += 1 - endif - - if self._right_title <= self._last_title - call self.insert_section(self.overflow_group, overflow_marker, self._right_position) - endif - endif - - return self._build() -endfunction - -let s:prototype.overflow_group = 'airline_tab' - -" Extract the text content a tabline will render. (Incomplete). -" -" See :help 'statusline' for the list of fields. -function! s:evaluate_tabline(tabline) - let tabline = a:tabline - let tabline = substitute(tabline, '%{\([^}]\+\)}', '\=eval(submatch(1))', 'g') - let tabline = substitute(tabline, '%#[^#]\+#', '', 'g') - let tabline = substitute(tabline, '%(\([^)]\+\)%)', '\1', 'g') - let tabline = substitute(tabline, '%\d\+[TX]', '', 'g') - let tabline = substitute(tabline, '%=', '', 'g') - let tabline = substitute(tabline, '%\d*\*', '', 'g') - if has('tablineat') - let tabline = substitute(tabline, '%@[^@]\+@', '', 'g') - endif - return tabline -endfunction - -function! s:tabline_evaluated_length(tabline) - return airline#util#strchars(s:evaluate_tabline(a:tabline)) -endfunction - -function! airline#extensions#tabline#builder#new(context) - let builder = airline#builder#new(a:context) - let builder._build = builder.build - call extend(builder, s:prototype, 'force') - return builder -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/tabline/ctrlspace.vim b/dotfiles/.vim/autoload/airline/extensions/tabline/ctrlspace.vim deleted file mode 100644 index bb2d518..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/tabline/ctrlspace.vim +++ /dev/null @@ -1,157 +0,0 @@ -" MIT License. Copyright (c) 2016-2018 Kevin Sapper et al. -" vim: et ts=2 sts=2 sw=2 - -scriptencoding utf-8 - -let s:current_bufnr = -1 -let s:current_modified = 0 -let s:current_tabnr = -1 -let s:current_tabline = '' -let s:highlight_groups = ['hid', 0, '', 'sel', 'mod_unsel', 0, 'mod_unsel', 'mod'] - -function! airline#extensions#tabline#ctrlspace#off() - augroup airline_tabline_ctrlspace - autocmd! - augroup END -endfunction - -function! airline#extensions#tabline#ctrlspace#on() - augroup airline_tabline_ctrlspace - autocmd! - autocmd BufDelete * call airline#extensions#tabline#ctrlspace#invalidate() - augroup END -endfunction - -function! airline#extensions#tabline#ctrlspace#invalidate() - let s:current_bufnr = -1 - let s:current_tabnr = -1 -endfunction - -function! airline#extensions#tabline#ctrlspace#add_buffer_section(builder, cur_tab, cur_buf, pull_right) - let pos_extension = (a:pull_right ? '_right' : '') - let buffer_list = ctrlspace#api#BufferList(a:cur_tab) - - " add by tenfy(tenfyzhong@qq.com) - " if the current buffer no in the buffer list - " return false and no redraw tabline. - " Fixes #1515. if there a BufEnter autocmd execute redraw. The tabline may no update. - let bufnr_list = map(copy(buffer_list), 'v:val["index"]') - if index(bufnr_list, a:cur_buf) == -1 && a:cur_tab == s:current_tabnr - return 0 - endif - - let s:current_modified = getbufvar(a:cur_buf, '&modified') - - for buffer in buffer_list - let group = 'airline_tab' - \ .s:highlight_groups[(4 * buffer.modified) + (2 * buffer.visible) + (a:cur_buf == buffer.index)] - \ .pos_extension - - let buf_name = '%(%{airline#extensions#tabline#get_buffer_name('.buffer.index.')}%)' - - if has("tablineat") - let buf_name = '%'.buffer.index.'@airline#extensions#tabline#buffers#clickbuf@'.buf_name.'%X' - endif - - call a:builder.add_section_spaced(group, buf_name) - endfor - - " add by tenfy(tenfyzhong@qq.com) - " if the selected buffer was updated - " return true - return 1 -endfunction - -function! airline#extensions#tabline#ctrlspace#add_tab_section(builder, pull_right) - let pos_extension = (a:pull_right ? '_right' : '') - let tab_list = ctrlspace#api#TabList() - - for tab in tab_list - let group = 'airline_tab' - \ .s:highlight_groups[(4 * tab.modified) + (3 * tab.current)] - \ .pos_extension - - if get(g:, 'airline#extensions#tabline#ctrlspace_show_tab_nr', 0) == 0 - call a:builder.add_section_spaced(group, '%'.tab.index.'T'.tab.title.ctrlspace#api#TabBuffersNumber(tab.index).'%T') - else - call a:builder.add_section_spaced(group, '%'.(tab.index).'T'.(tab.index).(g:airline_symbols.space).(tab.title).ctrlspace#api#TabBuffersNumber(tab.index).'%T') - endif - endfor -endfunction - -function! airline#extensions#tabline#ctrlspace#get() - let cur_buf = bufnr('%') - let buffer_label = get(g:, 'airline#extensions#tabline#buffers_label', 'buffers') - let tab_label = get(g:, 'airline#extensions#tabline#tabs_label', 'tabs') - let switch_buffers_and_tabs = get(g:, 'airline#extensions#tabline#switch_buffers_and_tabs', 0) - - try - call airline#extensions#tabline#tabs#map_keys() - endtry - - let cur_tab = tabpagenr() - - if cur_buf == s:current_bufnr && cur_tab == s:current_tabnr - if !g:airline_detect_modified || getbufvar(cur_buf, '&modified') == s:current_modified - return s:current_tabline - endif - endif - - let builder = airline#extensions#tabline#new_builder() - - let show_buffers = get(g:, 'airline#extensions#tabline#show_buffers', 1) - let show_tabs = get(g:, 'airline#extensions#tabline#show_tabs', 1) - - let AppendBuffers = function('airline#extensions#tabline#ctrlspace#add_buffer_section', [builder, cur_tab, cur_buf]) - let AppendTabs = function('airline#extensions#tabline#ctrlspace#add_tab_section', [builder]) - let AppendLabel = function(builder.add_section_spaced, ['airline_tabtype'], builder) - - " <= 1: |{Tabs} <tab| - " == 2: |{Buffers} <buffers| - " == 3: |buffers> {Buffers} {Tabs} <tabs| - let showing_mode = (2 * show_buffers) + (show_tabs) - let ignore_update = 0 - - " Add left tabline content - if showing_mode <= 1 " Tabs only mode - call AppendTabs(0) - elseif showing_mode == 2 " Buffers only mode - let ignore_update = !AppendBuffers(0) - else - if !switch_buffers_and_tabs - call AppendLabel(buffer_label) - let ignore_update = !AppendBuffers(0) - else - call AppendLabel(tab_label) - call AppendTabs(0) - endif - endif - - if ignore_update | return s:current_tabline | endif - - call builder.add_section('airline_tabfill', '') - call builder.split() - call builder.add_section('airline_tabfill', '') - - " Add right tabline content - if showing_mode <= 1 " Tabs only mode - call AppendLabel(tab_label) - elseif showing_mode == 2 " Buffers only mode - call AppendLabel(buffer_label) - else - if !switch_buffers_and_tabs - call AppendTabs(1) - call AppendLabel(tab_label) - else - let ignore_update = AppendBuffers(1) - call AppendLabel(buffer_label) - endif - endif - - if ignore_update | return s:current_tabline | endif - - let s:current_bufnr = cur_buf - let s:current_tabnr = cur_tab - let s:current_tabline = builder.build() - return s:current_tabline -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/tabline/formatters/default.vim b/dotfiles/.vim/autoload/airline/extensions/tabline/formatters/default.vim deleted file mode 100644 index c98d7ef..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/tabline/formatters/default.vim +++ /dev/null @@ -1,43 +0,0 @@ -" MIT License. Copyright (c) 2013-2018 Bailey Ling et al. -" vim: et ts=2 sts=2 sw=2 - -scriptencoding utf-8 - -let s:fnamecollapse = get(g:, 'airline#extensions#tabline#fnamecollapse', 1) -let s:fnametruncate = get(g:, 'airline#extensions#tabline#fnametruncate', 0) -let s:buf_nr_format = get(g:, 'airline#extensions#tabline#buffer_nr_format', '%s: ') -let s:buf_nr_show = get(g:, 'airline#extensions#tabline#buffer_nr_show', 0) -let s:buf_modified_symbol = g:airline_symbols.modified - -function! airline#extensions#tabline#formatters#default#format(bufnr, buffers) - let fmod = get(g:, 'airline#extensions#tabline#fnamemod', ':~:.') - let _ = '' - - let name = bufname(a:bufnr) - if empty(name) - let _ .= '[No Name]' - else - if s:fnamecollapse - " Does not handle non-ascii characters like Cyrillic: 'D/Учёба/t.c' - "let _ .= substitute(fnamemodify(name, fmod), '\v\w\zs.{-}\ze(\\|/)', '', 'g') - let _ .= pathshorten(fnamemodify(name, fmod)) - else - let _ .= fnamemodify(name, fmod) - endif - if a:bufnr != bufnr('%') && s:fnametruncate && strlen(_) > s:fnametruncate - let _ = strpart(_, 0, s:fnametruncate) - endif - endif - - return airline#extensions#tabline#formatters#default#wrap_name(a:bufnr, _) -endfunction - -function! airline#extensions#tabline#formatters#default#wrap_name(bufnr, buffer_name) - let _ = s:buf_nr_show ? printf(s:buf_nr_format, a:bufnr) : '' - let _ .= substitute(a:buffer_name, '\\', '/', 'g') - - if getbufvar(a:bufnr, '&modified') == 1 - let _ .= s:buf_modified_symbol - endif - return _ -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/tabline/formatters/jsformatter.vim b/dotfiles/.vim/autoload/airline/extensions/tabline/formatters/jsformatter.vim deleted file mode 100644 index b16d06f..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/tabline/formatters/jsformatter.vim +++ /dev/null @@ -1,15 +0,0 @@ -" MIT License. Copyright (c) 2013-2018 Bailey Ling et al. -" vim: et ts=2 sts=2 sw=2 - -scriptencoding utf-8 - -function! airline#extensions#tabline#formatters#jsformatter#format(bufnr, buffers) - let buf = bufname(a:bufnr) - let filename = fnamemodify(buf, ':t') - - if filename == 'index.js' || filename == 'index.jsx' || filename == 'index.ts' || filename == 'index.tsx' - return fnamemodify(buf, ':p:h:t') . '/i' - else - return airline#extensions#tabline#formatters#unique_tail_improved#format(a:bufnr, a:buffers) - endif -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/tabline/formatters/tabnr.vim b/dotfiles/.vim/autoload/airline/extensions/tabline/formatters/tabnr.vim deleted file mode 100644 index fa71014..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/tabline/formatters/tabnr.vim +++ /dev/null @@ -1,14 +0,0 @@ -" MIT License. Copyright (c) 2017-2018 C.Brabandt et al. -" vim: et ts=2 sts=2 sw=2 - -scriptencoding utf-8 - -function! airline#extensions#tabline#formatters#tabnr#format(tab_nr_type, nr) - if a:tab_nr_type == 0 " nr of splits - return (g:airline_symbols.space).'%{len(tabpagebuflist('.a:nr.'))}' - elseif a:tab_nr_type == 1 " tab number - return (g:airline_symbols.space).a:nr - else "== 2 splits and tab number - return (g:airline_symbols.space).a:nr.'.%{len(tabpagebuflist('.a:nr.'))}' - endif -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/tabline/formatters/unique_tail.vim b/dotfiles/.vim/autoload/airline/extensions/tabline/formatters/unique_tail.vim deleted file mode 100644 index 3e61b60..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/tabline/formatters/unique_tail.vim +++ /dev/null @@ -1,41 +0,0 @@ -" MIT License. Copyright (c) 2013-2018 Bailey Ling et al. -" vim: et ts=2 sts=2 sw=2 - -scriptencoding utf-8 - -function! airline#extensions#tabline#formatters#unique_tail#format(bufnr, buffers) - let duplicates = {} - let tails = {} - let map = {} - for nr in a:buffers - let name = bufname(nr) - if empty(name) - let map[nr] = '[No Name]' - else - let tail = fnamemodify(name, ':s?/\+$??:t') - if has_key(tails, tail) - let duplicates[nr] = nr - endif - let tails[tail] = 1 - let map[nr] = airline#extensions#tabline#formatters#default#wrap_name(nr, tail) - endif - endfor - - let fmod = get(g:, 'airline#extensions#tabline#fnamemod', ':p:.') - for nr in values(duplicates) - let name = bufname(nr) - let fnamecollapse = get(g:, 'airline#extensions#tabline#fnamecollapse', 1) - if fnamecollapse - let map[nr] = airline#extensions#tabline#formatters#default#wrap_name(nr, substitute(fnamemodify(name, fmod), '\v\w\zs.{-}\ze(\\|/)', '', 'g')) - else - let map[nr] = airline#extensions#tabline#formatters#default#wrap_name(nr, fnamemodify(name, fmod)) - endif - endfor - - if has_key(map, a:bufnr) - return map[a:bufnr] - endif - - " if we get here, the buffer list isn't in sync with the selected buffer yet, fall back to the default - return airline#extensions#tabline#formatters#default#format(a:bufnr, a:buffers) -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/tabline/formatters/unique_tail_improved.vim b/dotfiles/.vim/autoload/airline/extensions/tabline/formatters/unique_tail_improved.vim deleted file mode 100644 index c48174b..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/tabline/formatters/unique_tail_improved.vim +++ /dev/null @@ -1,91 +0,0 @@ -" MIT License. Copyright (c) 2013-2018 Bailey Ling et al. -" vim: et ts=2 sts=2 sw=2 - -scriptencoding utf-8 - -let s:skip_symbol = '…' - -function! airline#extensions#tabline#formatters#unique_tail_improved#format(bufnr, buffers) - if len(a:buffers) <= 1 " don't need to compare bufnames if has less than one buffer opened - return airline#extensions#tabline#formatters#default#format(a:bufnr, a:buffers) - endif - - let curbuf_tail = fnamemodify(bufname(a:bufnr), ':t') - let do_deduplicate = 0 - let path_tokens = {} - - for nr in a:buffers - let name = bufname(nr) - if !empty(name) && nr != a:bufnr && fnamemodify(name, ':t') == curbuf_tail " only perform actions if curbuf_tail isn't unique - let do_deduplicate = 1 - let tokens = reverse(split(substitute(fnamemodify(name, ':p:h'), '\\', '/', 'g'), '/')) - let token_index = 0 - for token in tokens - if token == '' | continue | endif - if token == '.' | break | endif - if !has_key(path_tokens, token_index) - let path_tokens[token_index] = {} - endif - let path_tokens[token_index][token] = 1 - let token_index += 1 - endfor - endif - endfor - - if do_deduplicate == 1 - let path = [] - let token_index = 0 - for token in reverse(split(substitute(fnamemodify(bufname(a:bufnr), ':p:h'), '\\', '/', 'g'), '/')) - if token == '.' | break | endif - let duplicated = 0 - let uniq = 1 - let single = 1 - if has_key(path_tokens, token_index) - let duplicated = 1 - if len(keys(path_tokens[token_index])) > 1 | let single = 0 | endif - if has_key(path_tokens[token_index], token) | let uniq = 0 | endif - endif - call insert(path, {'token': token, 'duplicated': duplicated, 'uniq': uniq, 'single': single}) - let token_index += 1 - endfor - - let buf_name = [curbuf_tail] - let has_uniq = 0 - let has_skipped = 0 - for token1 in reverse(path) - if !token1['duplicated'] && len(buf_name) > 1 - call insert(buf_name, s:skip_symbol) - let has_skipped = 0 - break - endif - - if has_uniq == 1 - call insert(buf_name, s:skip_symbol) - let has_skipped = 0 - break - endif - - if token1['uniq'] == 0 && token1['single'] == 1 - let has_skipped = 1 - else - if has_skipped == 1 - call insert(buf_name, s:skip_symbol) - let has_skipped = 0 - endif - call insert(buf_name, token1['token']) - endif - - if token1['uniq'] == 1 - let has_uniq = 1 - endif - endfor - - if has_skipped == 1 - call insert(buf_name, s:skip_symbol) - endif - - return airline#extensions#tabline#formatters#default#wrap_name(a:bufnr, join(buf_name, '/')) - else - return airline#extensions#tabline#formatters#default#format(a:bufnr, a:buffers) - endif -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/tabline/tabs.vim b/dotfiles/.vim/autoload/airline/extensions/tabline/tabs.vim deleted file mode 100644 index a74ab5b..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/tabline/tabs.vim +++ /dev/null @@ -1,124 +0,0 @@ -" MIT License. Copyright (c) 2013-2018 Bailey Ling et al. -" vim: et ts=2 sts=2 sw=2 - -scriptencoding utf-8 - -let s:spc = g:airline_symbols.space -let s:current_bufnr = -1 -let s:current_tabnr = -1 -let s:current_modified = 0 - -function! airline#extensions#tabline#tabs#off() - augroup airline_tabline_tabs - autocmd! - augroup END -endfunction - -function! airline#extensions#tabline#tabs#on() - augroup airline_tabline_tabs - autocmd! - autocmd BufDelete * call airline#extensions#tabline#tabs#invalidate() - augroup END -endfunction - -function! airline#extensions#tabline#tabs#invalidate() - let s:current_bufnr = -1 -endfunction - -function! airline#extensions#tabline#tabs#get() - let curbuf = bufnr('%') - let curtab = tabpagenr() - try - call airline#extensions#tabline#tabs#map_keys() - catch - " no-op - endtry - if curbuf == s:current_bufnr && curtab == s:current_tabnr && &columns == s:column_width - if !g:airline_detect_modified || getbufvar(curbuf, '&modified') == s:current_modified - return s:current_tabline - endif - endif - - let b = airline#extensions#tabline#new_builder() - - call airline#extensions#tabline#add_label(b, 'tabs') - - function! b.get_group(i) dict - let curtab = tabpagenr() - let group = 'airline_tab' - if a:i == curtab - let group = 'airline_tabsel' - if g:airline_detect_modified - for bi in tabpagebuflist(curtab) - if getbufvar(bi, '&modified') - let group = 'airline_tabmod' - endif - endfor - endif - let s:current_modified = (group == 'airline_tabmod') ? 1 : 0 - endif - return group - endfunction - - function! b.get_title(i) dict - let val = '%(' - - if get(g:, 'airline#extensions#tabline#show_tab_nr', 1) - let tab_nr_type = get(g:, 'airline#extensions#tabline#tab_nr_type', 0) - let val .= airline#extensions#tabline#tabs#tabnr_formatter(tab_nr_type, a:i) - endif - - return val.'%'.a:i.'T %{airline#extensions#tabline#title('.a:i.')} %)' - endfunction - - call b.insert_titles(curtab, 1, tabpagenr('$')) - - call b.add_section('airline_tabfill', '') - call b.split() - call b.add_section('airline_tabfill', '') - - if get(g:, 'airline#extensions#tabline#show_close_button', 1) - call b.add_section('airline_tab_right', ' %999X'. - \ get(g:, 'airline#extensions#tabline#close_symbol', 'X').' ') - endif - - if get(g:, 'airline#extensions#tabline#show_splits', 1) == 1 - let buffers = tabpagebuflist(curtab) - for nr in buffers - let group = airline#extensions#tabline#group_of_bufnr(buffers, nr) . "_right" - call b.add_section_spaced(group, '%(%{airline#extensions#tabline#get_buffer_name('.nr.')}%)') - endfor - if get(g:, 'airline#extensions#tabline#show_buffers', 1) - call airline#extensions#tabline#add_label(b, 'buffers') - endif - endif - - let s:current_bufnr = curbuf - let s:current_tabnr = curtab - let s:column_width = &columns - let s:current_tabline = b.build() - return s:current_tabline -endfunction - -function! airline#extensions#tabline#tabs#map_keys() - if maparg('<Plug>AirlineSelectTab1', 'n') is# ':1tabn<CR>' - return - endif - noremap <silent> <Plug>AirlineSelectTab1 :1tabn<CR> - noremap <silent> <Plug>AirlineSelectTab2 :2tabn<CR> - noremap <silent> <Plug>AirlineSelectTab3 :3tabn<CR> - noremap <silent> <Plug>AirlineSelectTab4 :4tabn<CR> - noremap <silent> <Plug>AirlineSelectTab5 :5tabn<CR> - noremap <silent> <Plug>AirlineSelectTab6 :6tabn<CR> - noremap <silent> <Plug>AirlineSelectTab7 :7tabn<CR> - noremap <silent> <Plug>AirlineSelectTab8 :8tabn<CR> - noremap <silent> <Plug>AirlineSelectTab9 :9tabn<CR> - noremap <silent> <Plug>AirlineSelectPrevTab gT - " tabn {count} goes to count tab does not go {count} tab pages forward! - noremap <silent> <Plug>AirlineSelectNextTab :<C-U>exe repeat(':tabn\|', v:count1)<cr> -endfunction - -function! airline#extensions#tabline#tabs#tabnr_formatter(nr, i) - let formatter = get(g:, 'airline#extensions#tabline#tabnr_formatter', 'tabnr') - return airline#extensions#tabline#formatters#{formatter}#format(a:nr, a:i) -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/tabline/xtabline.vim b/dotfiles/.vim/autoload/airline/extensions/tabline/xtabline.vim deleted file mode 100644 index 4d1cdec..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/tabline/xtabline.vim +++ /dev/null @@ -1,397 +0,0 @@ -"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" xTabline - Reduced version for vim-airline -" Copyright (C) 2018 Gianmaria Bajo <mg1979.git@gmail.com> -" License: MIT License -"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" - - -function! airline#extensions#tabline#xtabline#init() - - let s:state = 0 - - " initialize mappings - call airline#extensions#tabline#xtabline#maps() - - """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" - " Variables - """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" - - let g:loaded_xtabline = 1 - let s:most_recent = -1 - let s:xtabline_filtering = 1 - - let t:xtl_excluded = get(g:, 'airline#extensions#tabline#exclude_buffers', []) - let t:xtl_accepted = [] - - let g:xtabline_include_previews = get(g:, 'xtabline_include_previews', 1) - - let g:xtabline_alt_action = get(g:, 'xtabline_alt_action', "buffer #") - - - """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" - " Autocommands - """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" - - augroup plugin-xtabline - autocmd! - - autocmd TabNew * call s:Do('new') - autocmd TabEnter * call s:Do('enter') - autocmd TabLeave * call s:Do('leave') - autocmd TabClosed * call s:Do('close') - - autocmd BufEnter * let g:xtabline_changing_buffer = 0 - autocmd BufAdd,BufDelete,BufWrite * call airline#extensions#tabline#xtabline#filter_buffers() - augroup END - - - """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" - " Commands - """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" - - com! XTabReopen call airline#extensions#tabline#xtabline#reopen_last_tab() - -endfunction - - -"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" Mappings -"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" - -function! airline#extensions#tabline#xtabline#maps() - - if !exists('g:xtabline_disable_keybindings') - - fun! s:mapkeys(keys, plug) - if empty(mapcheck(a:keys)) && !hasmapto(a:plug) - silent! execute 'nmap <unique> '.a:keys.' '.a:plug - endif - endfun - - call s:mapkeys('<F5>','<Plug>XTablineToggleTabs') - call s:mapkeys('<leader><F5>','<Plug>XTablineToggleFiltering') - call s:mapkeys('<BS>','<Plug>XTablineSelectBuffer') - call s:mapkeys(']l','<Plug>XTablineNextBuffer') - call s:mapkeys('[l','<Plug>XTablinePrevBuffer') - call s:mapkeys('<leader>tr','<Plug>XTablineReopen') - endif - - nnoremap <unique> <script> <Plug>XTablineToggleTabs <SID>ToggleTabs - nnoremap <silent> <SID>ToggleTabs :call airline#extensions#tabline#xtabline#toggle_tabs()<cr> - - nnoremap <unique> <script> <Plug>XTablineToggleFiltering <SID>ToggleFiltering - nnoremap <silent> <SID>ToggleFiltering :call airline#extensions#tabline#xtabline#toggle_buffers()<cr> - - nnoremap <unique> <script> <Plug>XTablineSelectBuffer <SID>SelectBuffer - nnoremap <silent> <expr> <SID>SelectBuffer g:xtabline_changing_buffer ? "\<C-c>" : ":<C-u>call airline#extensions#tabline#xtabline#select_buffer(v:count)\<cr>" - - nnoremap <unique> <script> <Plug>XTablineNextBuffer <SID>NextBuffer - nnoremap <silent> <expr> <SID>NextBuffer airline#extensions#tabline#xtabline#next_buffer(v:count1) - - nnoremap <unique> <script> <Plug>XTablinePrevBuffer <SID>PrevBuffer - nnoremap <silent> <expr> <SID>PrevBuffer airline#extensions#tabline#xtabline#prev_buffer(v:count1) - - nnoremap <unique> <script> <Plug>XTablineReopen <SID>ReopenLastTab - nnoremap <silent> <SID>ReopenLastTab :XTabReopen<cr> - - if get(g:, 'xtabline_cd_commands', 0) - map <unique> <leader>cdc <Plug>XTablineCdCurrent - map <unique> <leader>cdd <Plug>XTablineCdDown1 - map <unique> <leader>cd2 <Plug>XTablineCdDown2 - map <unique> <leader>cd3 <Plug>XTablineCdDown3 - map <unique> <leader>cdh <Plug>XTablineCdHome - nnoremap <unique> <script> <Plug>XTablineCdCurrent :cd %:p:h<cr>:call airline#util#doautocmd('BufAdd')<cr>:pwd<cr> - nnoremap <unique> <script> <Plug>XTablineCdDown1 :cd %:p:h:h<cr>:call airline#util#doautocmd('BufAdd')<cr>:pwd<cr> - nnoremap <unique> <script> <Plug>XTablineCdDown2 :cd %:p:h:h:h<cr>:call airline#util#doautocmd('BufAdd')<cr>:pwd<cr> - nnoremap <unique> <script> <Plug>XTablineCdDown3 :cd %:p:h:h:h:h<cr>:call airline#util#doautocmd('BufAdd')<cr>:pwd<cr> - nnoremap <unique> <script> <Plug>XTablineCdHome :cd ~<cr>:call airline#util#doautocmd('BufAdd')<cr>:pwd<cr> - endif -endfunction - - -"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" Commands functions -"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" - -function! airline#extensions#tabline#xtabline#toggle_tabs() - """Toggle between tabs/buffers tabline.""" - - if tabpagenr("$") == 1 | call airline#util#warning("There is only one tab.") | return | endif - - if g:airline#extensions#tabline#show_tabs - let g:airline#extensions#tabline#show_tabs = 0 - call airline#util#warning("Showing buffers") - else - let g:airline#extensions#tabline#show_tabs = 1 - call airline#util#warning("Showing tabs") - endif - - doautocmd BufAdd -endfunction - -"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" - -function! airline#extensions#tabline#xtabline#toggle_buffers() - """Toggle buffer filtering in the tabline.""" - - if s:xtabline_filtering - let s:xtabline_filtering = 0 - let g:airline#extensions#tabline#exclude_buffers = [] - call airline#util#warning("Buffer filtering turned off") - doautocmd BufAdd - else - let s:xtabline_filtering = 1 - call airline#extensions#tabline#xtabline#filter_buffers() - call airline#util#warning("Buffer filtering turned on") - doautocmd BufAdd - endif -endfunction - -"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" - -function! airline#extensions#tabline#xtabline#reopen_last_tab() - """Reopen the last closed tab.""" - - if !exists('s:most_recently_closed_tab') - call airline#util#warning("No recent tabs.") - return - endif - - let tab = s:most_recently_closed_tab - tabnew - let empty = bufnr("%") - let t:cwd = tab['cwd'] - cd `=t:cwd` - let t:name = tab['name'] - for buf in tab['buffers'] | execute "badd ".buf | endfor - execute "edit ".tab['buffers'][0] - execute "bdelete ".empty -endfunction - -"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" - -function! airline#extensions#tabline#xtabline#filter_buffers() - """Filter buffers so that only the ones within the tab's cwd will show up. - - " 'accepted' is a list of buffer numbers, for quick access. - " 'excluded' is a list of buffer numbers, it will be used by Airline to hide buffers. - - if !s:xtabline_filtering | return | endif - - let g:airline#extensions#tabline#exclude_buffers = [] - let t:xtl_excluded = g:airline#extensions#tabline#exclude_buffers - let t:xtl_accepted = [] | let accepted = t:xtl_accepted - let previews = g:xtabline_include_previews - - " bufnr(0) is the alternate buffer - for buf in range(1, bufnr("$")) - - if !buflisted(buf) | continue | endif - - " get the path - let path = expand("#".buf.":p") - - " confront with the cwd - if !previews && path =~ "^".getcwd() - call add(accepted, buf) - elseif previews && path =~ getcwd() - call add(accepted, buf) - else - call add(t:xtl_excluded, buf) - endif - endfor - - call s:RefreshTabline() -endfunction - -"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" - -function! airline#extensions#tabline#xtabline#next_buffer(nr) - """Switch to next visible buffer.""" - - if ( s:NotEnoughBuffers() || !s:xtabline_filtering ) | return | endif - let accepted = t:xtl_accepted - - let ix = index(accepted, bufnr("%")) - let target = ix + a:nr - let total = len(accepted) - - if ix == -1 - " not in index, go back to most recent or back to first - if s:most_recent == -1 || s:most_recent >= total - let s:most_recent = 0 - endif - - elseif target >= total - " over last buffer - while target >= total | let target -= total | endwhile - let s:most_recent = target - - else - let s:most_recent = target - endif - - return ":buffer " . accepted[s:most_recent] . "\<cr>" -endfunction - -"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" - -function! airline#extensions#tabline#xtabline#prev_buffer(nr) - """Switch to previous visible buffer.""" - - if ( s:NotEnoughBuffers() || !s:xtabline_filtering ) | return | endif - let accepted = t:xtl_accepted - - let ix = index(accepted, bufnr("%")) - let target = ix - a:nr - let total = len(accepted) - - if ix == -1 - " not in index, go back to most recent or back to first - if s:most_recent == -1 || s:most_recent >= total - let s:most_recent = 0 - endif - - elseif target < 0 - " before first buffer - while target < 0 | let target += total | endwhile - let s:most_recent = target - - else - let s:most_recent = target - endif - - return ":buffer " . accepted[s:most_recent] . "\<cr>" -endfunction - -"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" - -function! airline#extensions#tabline#xtabline#select_buffer(nr) - """Switch to visible buffer in the tabline with [count].""" - - if ( a:nr == 0 || !s:xtabline_filtering ) | execute g:xtabline_alt_action | return | endif - let accepted = t:xtl_accepted - - if (a:nr > len(accepted)) || s:NotEnoughBuffers() || accepted[a:nr - 1] == bufnr("%") - return - else - let g:xtabline_changing_buffer = 1 - execute "buffer ".accepted[a:nr - 1] - endif -endfunction - -"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" - -function! s:TabBuffers() - """Return a list of buffers names for this tab.""" - - return map(copy(t:xtl_accepted), 'bufname(v:val)') -endfunction - - -"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" Helper functions -"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" - -function! s:NotEnoughBuffers() - """Just return if there aren't enough buffers.""" - - if len(t:xtl_accepted) < 2 - if index(t:xtl_accepted, bufnr("%")) == -1 - return - elseif !len(t:xtl_accepted) - call airline#util#warning("No available buffers for this tab.") - else - call airline#util#warning("No other available buffers for this tab.") - endif - return 1 - endif -endfunction - -function! s:RefreshTabline() - call airline#extensions#tabline#buflist#invalidate() -endfunction - - -"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" TabPageCd -"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" - -" tabpagecd - Turn :cd into :tabpagecd, to use one tab page per project -" expanded version by mg979 -" Copyright (C) 2012-2013 Kana Natsuno <http://whileimautomaton.net/> -" Copyright (C) 2018 Gianmaria Bajo <mg1979.git@gmail.com> -" License: MIT License - -"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" - -function! s:InitCwds() - if !exists('g:xtab_cwds') | let g:xtab_cwds = [] | endif - - while len(g:xtab_cwds) < tabpagenr("$") - call add(g:xtab_cwds, getcwd()) - endwhile - let s:state = 1 - let t:cwd = getcwd() - let s:last_tab = 0 - call airline#extensions#tabline#xtabline#filter_buffers() -endfunction - -"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" - -function! airline#extensions#tabline#xtabline#update_obsession() - let string = 'let g:xtab_cwds = '.string(g:xtab_cwds).' | call airline#extensions#tabline#xtabline#update_obsession()' - if !exists('g:obsession_append') - let g:obsession_append = [string] - else - call filter(g:obsession_append, 'v:val !~# "^let g:xtab_cwds"') - call add(g:obsession_append, string) - endif -endfunction - -"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" - -function! s:Do(action) - let arg = a:action - if !s:state | call s:InitCwds() | return | endif - - """""""""""""""""""""""""""""""""""""""""""""""""""""""""""" - - if arg == 'new' - - call insert(g:xtab_cwds, getcwd(), tabpagenr()-1) - - """""""""""""""""""""""""""""""""""""""""""""""""""""""""""" - - elseif arg == 'enter' - - let t:cwd =g:xtab_cwds[tabpagenr()-1] - - cd `=t:cwd` - call airline#extensions#tabline#xtabline#filter_buffers() - - """""""""""""""""""""""""""""""""""""""""""""""""""""""""""" - - elseif arg == 'leave' - - let t:cwd = getcwd() - let g:xtab_cwds[tabpagenr()-1] = t:cwd - let s:last_tab = tabpagenr() - 1 - - if !exists('t:name') | let t:name = t:cwd | endif - let s:most_recent_tab = {'cwd': t:cwd, 'name': t:name, 'buffers': s:TabBuffers()} - - """""""""""""""""""""""""""""""""""""""""""""""""""""""""""" - - elseif arg == 'close' - - let s:most_recently_closed_tab = copy(s:most_recent_tab) - call remove(g:xtab_cwds, s:last_tab) - endif - - """""""""""""""""""""""""""""""""""""""""""""""""""""""""""" - - call airline#extensions#tabline#xtabline#update_obsession() -endfunction - -"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" diff --git a/dotfiles/.vim/autoload/airline/extensions/tagbar.vim b/dotfiles/.vim/autoload/airline/extensions/tagbar.vim deleted file mode 100644 index 5db53ee..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/tagbar.vim +++ /dev/null @@ -1,58 +0,0 @@ -" MIT License. Copyright (c) 2013-2018 Bailey Ling et al. -" vim: et ts=2 sts=2 sw=2 - -scriptencoding utf-8 - -if !exists(':TagbarToggle') - finish -endif - -let s:flags = get(g:, 'airline#extensions#tagbar#flags', '') -let s:spc = g:airline_symbols.space -let s:init=0 - -" Arguments: current, sort, fname -function! airline#extensions#tagbar#get_status(...) - let builder = airline#builder#new({ 'active': a:1 }) - call builder.add_section('airline_a', s:spc.'Tagbar'.s:spc) - call builder.add_section('airline_b', s:spc.a:2.s:spc) - call builder.add_section('airline_c', s:spc.a:3.s:spc) - return builder.build() -endfunction - -function! airline#extensions#tagbar#inactive_apply(...) - if getwinvar(a:2.winnr, '&filetype') == 'tagbar' - return -1 - endif -endfunction - -let s:airline_tagbar_last_lookup_time = 0 -let s:airline_tagbar_last_lookup_val = '' -function! airline#extensions#tagbar#currenttag() - if get(w:, 'airline_active', 0) - if !s:init - try - " try to load the plugin, if filetypes are disabled, - " this will cause an error, so try only once - let a=tagbar#currenttag('%', '', '') - catch - endtry - unlet! a - let s:init=1 - endif - " function tagbar#currenttag does not exist, if filetype is not enabled - if s:airline_tagbar_last_lookup_time != localtime() && exists("*tagbar#currenttag") - let s:airline_tagbar_last_lookup_val = tagbar#currenttag('%s', '', s:flags) - let s:airline_tagbar_last_lookup_time = localtime() - endif - return s:airline_tagbar_last_lookup_val - endif - return '' -endfunction - -function! airline#extensions#tagbar#init(ext) - call a:ext.add_inactive_statusline_func('airline#extensions#tagbar#inactive_apply') - let g:tagbar_status_func = 'airline#extensions#tagbar#get_status' - - call airline#parts#define_function('tagbar', 'airline#extensions#tagbar#currenttag') -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/term.vim b/dotfiles/.vim/autoload/airline/extensions/term.vim deleted file mode 100644 index c5b578e..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/term.vim +++ /dev/null @@ -1,43 +0,0 @@ -" MIT License. Copyright (c) 2013-2018 Bailey Ling et al. -" vim: et ts=2 sts=2 sw=2 - -scriptencoding utf-8 - -function! airline#extensions#term#apply(...) - if &buftype == 'terminal' - let spc = g:airline_symbols.space - - let name=get(g:airline_mode_map, 't', 't') - call a:1.add_section('airline_a', spc.name.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 - endif -endfunction - -function! airline#extensions#term#inactive_apply(...) - 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') - return 1 - endif -endfunction - -function! s:termname() - let bufname = bufname('%') - if has('nvim') - return matchstr(bufname, 'term.*:\zs.*') - else - " get rid of leading '!' - return bufname[1:] - endif -endfunction - -function! airline#extensions#term#init(ext) - call a:ext.add_statusline_func('airline#extensions#term#apply') - call a:ext.add_inactive_statusline_func('airline#extensions#term#inactive_apply') -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/tmuxline.vim b/dotfiles/.vim/autoload/airline/extensions/tmuxline.vim deleted file mode 100644 index 44c7ec2..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/tmuxline.vim +++ /dev/null @@ -1,27 +0,0 @@ -" MIT License. Copyright (c) 2013-2018 Bailey Ling et al. -" vim: et ts=2 sts=2 sw=2 - -scriptencoding utf-8 - -if !exists(':Tmuxline') - finish -endif - -let s:tmuxline_snapshot_file = get(g:, 'airline#extensions#tmuxline#snapshot_file', '') -let s:color_template = get(g:, 'airline#extensions#tmuxline#color_template', 'normal') - -function! airline#extensions#tmuxline#init(ext) - call a:ext.add_theme_func('airline#extensions#tmuxline#set_tmux_colors') -endfunction - -function! airline#extensions#tmuxline#set_tmux_colors(palette) - let color_template = has_key(a:palette, s:color_template) ? s:color_template : 'normal' - let mode_palette = a:palette[color_template] - - let tmuxline_theme = tmuxline#api#create_theme_from_airline(mode_palette) - call tmuxline#api#set_theme(tmuxline_theme) - - if strlen(s:tmuxline_snapshot_file) - call tmuxline#api#snapshot(s:tmuxline_snapshot_file) - endif -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/undotree.vim b/dotfiles/.vim/autoload/airline/extensions/undotree.vim deleted file mode 100644 index 9e43dfb..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/undotree.vim +++ /dev/null @@ -1,28 +0,0 @@ -" MIT License. Copyright (c) 2013-2018 Bailey Ling et al. -" vim: et ts=2 sts=2 sw=2 - -scriptencoding utf-8 - -if !exists(':UndotreeToggle') - finish -endif - -function! airline#extensions#undotree#apply(...) - if exists('t:undotree') - if &ft == 'undotree' - if exists('*t:undotree.GetStatusLine') - call airline#extensions#apply_left_override('undo', '%{t:undotree.GetStatusLine()}') - else - call airline#extensions#apply_left_override('undotree', '%f') - endif - endif - - if &ft == 'diff' && exists('*t:diffpanel.GetStatusLine') - call airline#extensions#apply_left_override('diff', '%{t:diffpanel.GetStatusLine()}') - endif - endif -endfunction - -function! airline#extensions#undotree#init(ext) - call a:ext.add_statusline_func('airline#extensions#undotree#apply') -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/unicode.vim b/dotfiles/.vim/autoload/airline/extensions/unicode.vim deleted file mode 100644 index 4afe129..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/unicode.vim +++ /dev/null @@ -1,24 +0,0 @@ -" MIT License. Copyright (c) 2013-2018 Bailey Ling et al. -" vim: et ts=2 sts=2 sw=2 - -scriptencoding utf-8 - -if !get(g:, 'loaded_unicodePlugin', 0) - finish -endif - -function! airline#extensions#unicode#apply(...) - if exists(":UnicodeTable") == 2 && bufname('') ==# 'UnicodeTable' - call airline#parts#define('unicode', { - \ 'text': '[UnicodeTable]', - \ 'accent': 'bold' }) - let w:airline_section_a = airline#section#create(['unicode']) - let w:airline_section_b = '' - let w:airline_section_c = ' ' - let w:airline_section_y = '' - endif -endfunction - -function! airline#extensions#unicode#init(ext) - call a:ext.add_statusline_func('airline#extensions#unicode#apply') -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/unite.vim b/dotfiles/.vim/autoload/airline/extensions/unite.vim deleted file mode 100644 index c6a09f0..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/unite.vim +++ /dev/null @@ -1,24 +0,0 @@ -" MIT License. Copyright (c) 2013-2018 Bailey Ling et al. -" vim: et ts=2 sts=2 sw=2 - -scriptencoding utf-8 - -if !get(g:, 'loaded_unite', 0) - finish -endif - -function! airline#extensions#unite#apply(...) - if &ft == 'unite' - call a:1.add_section('airline_a', ' Unite ') - call a:1.add_section('airline_b', ' %{get(unite#get_context(), "buffer_name", "")} ') - call a:1.add_section('airline_c', ' %{unite#get_status_string()} ') - call a:1.split() - call a:1.add_section('airline_y', ' %{get(unite#get_context(), "real_buffer_name", "")} ') - return 1 - endif -endfunction - -function! airline#extensions#unite#init(ext) - let g:unite_force_overwrite_statusline = 0 - call a:ext.add_statusline_func('airline#extensions#unite#apply') -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/vimagit.vim b/dotfiles/.vim/autoload/airline/extensions/vimagit.vim deleted file mode 100644 index 8c98ec9..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/vimagit.vim +++ /dev/null @@ -1,34 +0,0 @@ -" MIT License. Copyright (c) 2016-2018 Jerome Reybert et al. -" vim: et ts=2 sts=2 sw=2 - -" This plugin replace the whole section_a when in vimagit buffer -scriptencoding utf-8 - -if !get(g:, 'loaded_magit', 0) - finish -endif - -function! airline#extensions#vimagit#init(ext) - call a:ext.add_statusline_func('airline#extensions#vimagit#apply') -endfunction - -function! airline#extensions#vimagit#get_mode() - if ( exists("*magit#get_current_mode") ) - return magit#get_current_mode() - else - if ( b:magit_current_commit_mode == '' ) - return "STAGING" - elseif ( b:magit_current_commit_mode == 'CC' ) - return "COMMIT" - elseif ( b:magit_current_commit_mode == 'CA' ) - return "AMEND" - else - return "???" - endif -endfunction - -function! airline#extensions#vimagit#apply(...) - if ( &filetype == 'magit' ) - let w:airline_section_a = '%{airline#extensions#vimagit#get_mode()}' - endif -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/vimtex.vim b/dotfiles/.vim/autoload/airline/extensions/vimtex.vim deleted file mode 100644 index 9eda8d5..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/vimtex.vim +++ /dev/null @@ -1,84 +0,0 @@ -" MIT License. Copyright (c) 2013-2018 Bailey Ling et al. -" vim: et ts=2 sts=2 sw=2 - -" This plugin replace the whole section_a when in vimagit buffer -scriptencoding utf-8 - -let s:spc = g:airline_symbols.space - -function! s:SetDefault(var, val) - if !exists(a:var) - execute 'let ' . a:var . '=' . string(a:val) - endif -endfunction - -" Left and right delimiters (added only when status string is not empty) -call s:SetDefault( 'g:airline#extensions#vimtex#left', "{") -call s:SetDefault( 'g:airline#extensions#vimtex#right', "}") - -" The current tex file is the main project file -call s:SetDefault( 'g:airline#extensions#vimtex#main', "" ) -" -" The current tex file is a subfile of the project -" and the compilation is set for the main file -call s:SetDefault( 'g:airline#extensions#vimtex#sub_main', "m") -" -" The current tex file is a subfile of the project -" and the compilation is set for this subfile -call s:SetDefault( 'g:airline#extensions#vimtex#sub_local', "l") -" -" Compilation is running and continuous compilation is off -call s:SetDefault( 'g:airline#extensions#vimtex#compiled', "c₁") - -" Compilation is running and continuous compilation is on -call s:SetDefault( 'g:airline#extensions#vimtex#continuous', "c") - -" Viewer is opened -call s:SetDefault( 'g:airline#extensions#vimtex#viewer', "v") - -function! airline#extensions#vimtex#init(ext) - call airline#parts#define_raw('vimtex', '%{airline#extensions#vimtex#get_scope()}') - call a:ext.add_statusline_func('airline#extensions#vimtex#apply') -endfunction - -function! airline#extensions#vimtex#apply(...) - if exists("b:vimtex") - let w:airline_section_x = get(w:, 'airline_section_x', g:airline_section_x) - let w:airline_section_x.=s:spc.g:airline_left_alt_sep.s:spc.'%{airline#extensions#vimtex#get_scope()}' - endif -endfunction - -function! airline#extensions#vimtex#get_scope() - let l:status = '' - - let vt_local = get(b:, 'vimtex_local', {}) - if empty(vt_local) - let l:status .= g:airline#extensions#vimtex#main - else - if get(vt_local, 'active') - let l:status .= g:airline#extensions#vimtex#sub_local - else - let l:status .= g:airline#extensions#vimtex#sub_main - endif - endif - - if get(get(get(b:, 'vimtex', {}), 'viewer', {}), 'xwin_id') - let l:status .= g:airline#extensions#vimtex#viewer - endif - - let l:compiler = get(get(b:, 'vimtex', {}), 'compiler', {}) - if !empty(l:compiler) - if has_key(l:compiler, 'is_running') && b:vimtex.compiler.is_running() - if get(l:compiler, 'continuous') - let l:status .= g:airline#extensions#vimtex#continuous - else - let l:status .= g:airline#extensions#vimtex#compiled - endif - endif - endif - - if !empty(l:status) - let l:status = g:airline#extensions#vimtex#left . l:status . g:airline#extensions#vimtex#right - endif - return l:status -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/virtualenv.vim b/dotfiles/.vim/autoload/airline/extensions/virtualenv.vim deleted file mode 100644 index b494d85..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/virtualenv.vim +++ /dev/null @@ -1,31 +0,0 @@ -" MIT License. Copyright (c) 2013-2018 Bailey Ling et al. -" vim: et ts=2 sts=2 sw=2 - -scriptencoding utf-8 - -let s:spc = g:airline_symbols.space - -function! airline#extensions#virtualenv#init(ext) - call a:ext.add_statusline_func('airline#extensions#virtualenv#apply') -endfunction - -function! airline#extensions#virtualenv#apply(...) - if &filetype =~# "python" - if get(g:, 'virtualenv_loaded', 0) - let statusline = virtualenv#statusline() - else - let statusline = fnamemodify($VIRTUAL_ENV, ':t') - endif - if !empty(statusline) - call airline#extensions#append_to_section('x', - \ s:spc.g:airline_right_alt_sep.s:spc.statusline) - endif - endif -endfunction - -function! airline#extensions#virtualenv#update() - if &filetype =~# "python" - call airline#extensions#virtualenv#apply() - call airline#update_statusline() - endif -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/whitespace.vim b/dotfiles/.vim/autoload/airline/extensions/whitespace.vim deleted file mode 100644 index c9b5a2a..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/whitespace.vim +++ /dev/null @@ -1,171 +0,0 @@ -" MIT License. Copyright (c) 2013-2018 Bailey Ling et al. -" vim: et ts=2 sts=2 sw=2 - -" http://got-ravings.blogspot.com/2008/10/vim-pr0n-statusline-whitespace-flags.html - -scriptencoding utf-8 - -let s:show_message = get(g:, 'airline#extensions#whitespace#show_message', 1) -let s:symbol = get(g:, 'airline#extensions#whitespace#symbol', g:airline_symbols.whitespace) -let s:default_checks = ['indent', 'trailing', 'mixed-indent-file'] - -let s:enabled = get(g:, 'airline#extensions#whitespace#enabled', 1) -let s:skip_check_ft = {'make': ['indent', 'mixed-indent-file']} - -function! s:check_mixed_indent() - let indent_algo = get(g:, 'airline#extensions#whitespace#mixed_indent_algo', 0) - if indent_algo == 1 - " [<tab>]<space><tab> - " spaces before or between tabs are not allowed - let t_s_t = '(^\t* +\t\s*\S)' - " <tab>(<space> x count) - " count of spaces at the end of tabs should be less than tabstop value - let t_l_s = '(^\t+ {' . &ts . ',}' . '\S)' - return search('\v' . t_s_t . '|' . t_l_s, 'nw') - elseif indent_algo == 2 - return search('\v(^\t* +\t\s*\S)', 'nw') - else - return search('\v(^\t+ +)|(^ +\t+)', 'nw') - endif -endfunction - -function! s:check_mixed_indent_file() - let c_like_langs = get(g:, 'airline#extensions#c_like_langs', - \ [ 'arduino', 'c', 'cpp', 'cuda', 'go', 'javascript', 'ld', 'php' ]) - if index(c_like_langs, &ft) > -1 - " for C-like languages: allow /** */ comment style with one space before the '*' - let head_spc = '\v(^ +\*@!)' - else - let head_spc = '\v(^ +)' - endif - let indent_tabs = search('\v(^\t+)', 'nw') - let indent_spc = search(head_spc, 'nw') - if indent_tabs > 0 && indent_spc > 0 - return printf("%d:%d", indent_tabs, indent_spc) - else - return '' - endif -endfunction - -function! airline#extensions#whitespace#check() - let max_lines = get(g:, 'airline#extensions#whitespace#max_lines', 20000) - if &readonly || !&modifiable || !s:enabled || line('$') > max_lines - \ || get(b:, 'airline_whitespace_disabled', 0) - return '' - endif - let skip_check_ft = extend(s:skip_check_ft, - \ get(g:, 'airline#extensions#whitespace#skip_indent_check_ft', {}), 'force') - - if !exists('b:airline_whitespace_check') - let b:airline_whitespace_check = '' - let checks = get(b:, 'airline_whitespace_checks', get(g:, 'airline#extensions#whitespace#checks', s:default_checks)) - - let trailing = 0 - let check = 'trailing' - if index(checks, check) > -1 && index(get(skip_check_ft, &ft, []), check) < 0 - try - let regexp = get(g:, 'airline#extensions#whitespace#trailing_regexp', '\s$') - let trailing = search(regexp, 'nw') - catch - call airline#util#warning(printf('Whitespace: error occurred evaluating "%s"', regexp)) - echomsg v:exception - return '' - endtry - endif - - let mixed = 0 - let check = 'indent' - if index(checks, check) > -1 && index(get(skip_check_ft, &ft, []), check) < 0 - let mixed = s:check_mixed_indent() - endif - - let mixed_file = '' - let check = 'mixed-indent-file' - if index(checks, check) > -1 && index(get(skip_check_ft, &ft, []), check) < 0 - let mixed_file = s:check_mixed_indent_file() - endif - - let long = 0 - if index(checks, 'long') > -1 && &tw > 0 - let long = search('\%>'.&tw.'v.\+', 'nw') - endif - - if trailing != 0 || mixed != 0 || long != 0 || !empty(mixed_file) - let b:airline_whitespace_check = s:symbol - if strlen(s:symbol) > 0 - let space = (g:airline_symbols.space) - else - let space = '' - endif - - if s:show_message - if trailing != 0 - let trailing_fmt = get(g:, 'airline#extensions#whitespace#trailing_format', '[%s]trailing') - let b:airline_whitespace_check .= space.printf(trailing_fmt, trailing) - endif - if mixed != 0 - let mixed_indent_fmt = get(g:, 'airline#extensions#whitespace#mixed_indent_format', '[%s]mixed-indent') - let b:airline_whitespace_check .= space.printf(mixed_indent_fmt, mixed) - endif - if long != 0 - let long_fmt = get(g:, 'airline#extensions#whitespace#long_format', '[%s]long') - let b:airline_whitespace_check .= space.printf(long_fmt, long) - endif - if !empty(mixed_file) - let mixed_indent_file_fmt = get(g:, 'airline#extensions#whitespace#mixed_indent_file_format', '[%s]mix-indent-file') - let b:airline_whitespace_check .= space.printf(mixed_indent_file_fmt, mixed_file) - endif - endif - endif - endif - return airline#util#shorten(b:airline_whitespace_check, 120, 9) -endfunction - -function! airline#extensions#whitespace#toggle() - if s:enabled - augroup airline_whitespace - autocmd! - augroup END - augroup! airline_whitespace - let s:enabled = 0 - else - call airline#extensions#whitespace#init() - let s:enabled = 1 - endif - - if exists("g:airline#extensions#whitespace#enabled") - let g:airline#extensions#whitespace#enabled = s:enabled - if s:enabled && match(g:airline_section_warning, '#whitespace#check') < 0 - let g:airline_section_warning .= airline#section#create(['whitespace']) - call airline#update_statusline() - endif - endif - call airline#util#warning(printf('Whitespace checking: %s',(s:enabled ? 'Enabled' : 'Disabled'))) -endfunction - -function! airline#extensions#whitespace#disable() - if s:enabled - call airline#extensions#whitespace#toggle() - endif -endfunction - -function! airline#extensions#whitespace#init(...) - call airline#parts#define_function('whitespace', 'airline#extensions#whitespace#check') - - unlet! b:airline_whitespace_check - augroup airline_whitespace - autocmd! - autocmd CursorHold,BufWritePost * call <sid>ws_refresh() - augroup END -endfunction - -function! s:ws_refresh() - if get(b:, 'airline_ws_changedtick', 0) == b:changedtick - return - endif - unlet! b:airline_whitespace_check - if get(g:, 'airline_skip_empty_sections', 0) - exe ':AirlineRefresh' - endif - let b:airline_ws_changedtick = b:changedtick -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/windowswap.vim b/dotfiles/.vim/autoload/airline/extensions/windowswap.vim deleted file mode 100644 index 5ef531e..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/windowswap.vim +++ /dev/null @@ -1,29 +0,0 @@ -" MIT License. Copyright (c) 2013-2018 Bailey Ling et al. -" vim: et ts=2 sts=2 sw=2 - -scriptencoding utf-8 - -if !exists('g:loaded_windowswap') - finish -endif - -let s:spc = g:airline_symbols.space - -if !exists('g:airline#extensions#windowswap#indicator_text') - let g:airline#extensions#windowswap#indicator_text = 'WS' -endif - -function! airline#extensions#windowswap#init(ext) - call airline#parts#define_function('windowswap', 'airline#extensions#windowswap#get_status') -endfunction - -function! airline#extensions#windowswap#get_status() - " use new tab-aware api if WS is up to date - let s:mark = exists('*WindowSwap#IsCurrentWindowMarked') ? - \WindowSwap#IsCurrentWindowMarked() : - \(WindowSwap#HasMarkedWindow() && WindowSwap#GetMarkedWindowNum() == winnr()) - if s:mark - return g:airline#extensions#windowswap#indicator_text.s:spc - endif - return '' -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/wordcount.vim b/dotfiles/.vim/autoload/airline/extensions/wordcount.vim deleted file mode 100644 index a9b9aac..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/wordcount.vim +++ /dev/null @@ -1,117 +0,0 @@ -" MIT License. Copyright (c) 2013-2018 Bailey Ling et al. -" vim: et ts=2 sts=2 sw=2 fdm=marker - -scriptencoding utf-8 - -" get wordcount {{{1 -if exists('*wordcount') - function! s:get_wordcount(visual_mode_active) - let query = a:visual_mode_active ? 'visual_words' : 'words' - return get(wordcount(), query, 0) - endfunction -else " Pull wordcount from the g_ctrl-g stats - function! s:get_wordcount(visual_mode_active) - let pattern = a:visual_mode_active - \ ? '^.\D*\d\+\D\+\d\+\D\+\zs\d\+' - \ : '^.\D*\%(\d\+\D\+\)\{5}\zs\d\+' - - let save_status = v:statusmsg - if !a:visual_mode_active && col('.') == col('$') - let save_pos = getpos('.') - execute "silent normal! g\<c-g>" - call setpos('.', save_pos) - else - execute "silent normal! g\<c-g>" - endif - let stats = v:statusmsg - let v:statusmsg = save_status - - return str2nr(matchstr(stats, pattern)) - endfunction -endif - -" format {{{1 -let s:formatter = get(g:, 'airline#extensions#wordcount#formatter', 'default') - -" wrapper function for compatibility; redefined below for old-style formatters -function! s:format_wordcount(wordcount) - return airline#extensions#wordcount#formatters#{s:formatter}#to_string(a:wordcount) -endfunction - -" check user-defined formatter exists with appropriate functions, otherwise -" fall back to default -if s:formatter !=# 'default' - execute 'runtime! autoload/airline/extensions/wordcount/formatters/'.s:formatter - if !exists('*airline#extensions#wordcount#formatters#{s:formatter}#to_string') - if !exists('*airline#extensions#wordcount#formatters#{s:formatter}#format') - let s:formatter = 'default' - else - " redefine for backwords compatibility - function! s:format_wordcount(_) - if mode() ==? 'v' - return b:airline_wordcount - else - return airline#extensions#wordcount#formatters#{s:formatter}#format() - endif - endfunction - endif - endif -endif - -" update {{{1 -let s:wordcount_cache = 0 " cache wordcount for performance when force_update=0 -function! s:update_wordcount(force_update) - let wordcount = s:get_wordcount(0) - if wordcount != s:wordcount_cache || a:force_update - let s:wordcount_cache = wordcount - let b:airline_wordcount = s:format_wordcount(wordcount) - endif -endfunction - -let s:visual_active = 0 " Boolean: for when to get visual wordcount -function airline#extensions#wordcount#get() - if s:visual_active - return s:format_wordcount(s:get_wordcount(1)) - else - if get(b:, 'airline_changedtick', 0) != b:changedtick - call s:update_wordcount(0) - let b:airline_changedtick = b:changedtick - endif - return get(b:, 'airline_wordcount', '') - endif -endfunction - -" airline functions {{{1 -" default filetypes: -let s:filetypes = ['help', 'markdown', 'rst', 'org', 'text', 'asciidoc', 'tex', 'mail'] -function! airline#extensions#wordcount#apply(...) - let filetypes = get(g:, 'airline#extensions#wordcount#filetypes', s:filetypes) - - " Check if filetype needs testing - if did_filetype() || filetypes isnot s:filetypes - let s:filetypes = filetypes - - " Select test based on type of "filetypes": new=list, old=string - if type(filetypes) == get(v:, 't_list', type([])) - \ ? index(filetypes, &filetype) > -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 - endif - - if exists('b:airline_wordcount') - call airline#extensions#prepend_to_section( - \ 'z', '%{airline#extensions#wordcount#get()}') - endif -endfunction - -function! airline#extensions#wordcount#init(ext) - augroup airline_wordcount - autocmd! User AirlineModeChanged nested - \ let s:visual_active = (mode() ==? 'v' || mode() ==? 's') - augroup END - call a:ext.add_statusline_func('airline#extensions#wordcount#apply') -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/wordcount/formatters/default.vim b/dotfiles/.vim/autoload/airline/extensions/wordcount/formatters/default.vim deleted file mode 100644 index 5682921..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/wordcount/formatters/default.vim +++ /dev/null @@ -1,39 +0,0 @@ -" MIT License. Copyright (c) 2013-2018 Bailey Ling et al. -" vim: et ts=2 sts=2 sw=2 - -scriptencoding utf-8 - -function! airline#extensions#wordcount#formatters#default#update_fmt(...) - let s:fmt = get(g:, 'airline#extensions#wordcount#formatter#default#fmt', '%s words') - let s:fmt_short = get(g:, 'airline#extensions#wordcount#formatter#default#fmt_short', s:fmt == '%s words' ? '%sW' : s:fmt) -endfunction - -" Reload format when statusline is rebuilt -call airline#extensions#wordcount#formatters#default#update_fmt() -if index(g:airline_statusline_funcrefs, function('airline#extensions#wordcount#formatters#default#update_fmt')) == -1 - " only add it, if not already done - call airline#add_statusline_funcref(function('airline#extensions#wordcount#formatters#default#update_fmt')) -endif - -if match(get(v:, 'lang', ''), '\v\cC|en') > -1 - let s:decimal_group = ',' -elseif match(get(v:, 'lang', ''), '\v\cde|dk|fr|pt') > -1 - let s:decimal_group = '.' -else - let s:decimal_group = '' -endif - -function! airline#extensions#wordcount#formatters#default#to_string(wordcount) - if winwidth(0) >= 80 - 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') - else - let wordcount = a:wordcount - endif - let str = printf(s:fmt, wordcount) - else - let str = printf(s:fmt_short, a:wordcount) - endif - return str . g:airline_symbols.space . g:airline_right_alt_sep . g:airline_symbols.space -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/xkblayout.vim b/dotfiles/.vim/autoload/airline/extensions/xkblayout.vim deleted file mode 100644 index b9d56a1..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/xkblayout.vim +++ /dev/null @@ -1,24 +0,0 @@ -" MIT License. Copyright (c) 2017-2018 YoungHoon Rhiu et al. -" vim: et ts=2 sts=2 sw=2 - -scriptencoding utf-8 - -if !exists('g:XkbSwitchLib') - finish -endif - -function! airline#extensions#xkblayout#status() - let keyboard_layout = libcall(g:XkbSwitchLib, 'Xkb_Switch_getXkbLayout', '') - let keyboard_layout = split(keyboard_layout, '\.')[-1] - let short_codes = get(g:, 'airline#extensions#xkblayout#short_codes', {'2SetKorean': 'KR', 'Chinese': 'CN', 'Japanese': 'JP'}) - - if has_key(short_codes, keyboard_layout) - let keyboard_layout = short_codes[keyboard_layout] - endif - - return keyboard_layout -endfunction - -function! airline#extensions#xkblayout#init(ext) - call airline#parts#define_function('xkblayout', 'airline#extensions#xkblayout#status') -endfunction diff --git a/dotfiles/.vim/autoload/airline/extensions/ycm.vim b/dotfiles/.vim/autoload/airline/extensions/ycm.vim deleted file mode 100644 index 677ba03..0000000 --- a/dotfiles/.vim/autoload/airline/extensions/ycm.vim +++ /dev/null @@ -1,37 +0,0 @@ -" MIT License. Copyright (c) 2015-2018 Evgeny Firsov et al. -" vim: et ts=2 sts=2 sw=2 - -scriptencoding utf-8 - -let s:spc = g:airline_symbols.space -let s:error_symbol = get(g:, 'airline#extensions#ycm#error_symbol', 'E:') -let s:warning_symbol = get(g:, 'airline#extensions#ycm#warning_symbol', 'W:') - -function! airline#extensions#ycm#init(ext) - call airline#parts#define_function('ycm_error_count', 'airline#extensions#ycm#get_error_count') - call airline#parts#define_function('ycm_warning_count', 'airline#extensions#ycm#get_warning_count') -endfunction - -function! airline#extensions#ycm#get_error_count() - if exists(':YcmDiag') && exists("*youcompleteme#GetErrorCount") - let cnt = youcompleteme#GetErrorCount() - - if cnt != 0 - return s:error_symbol.cnt - endif - endif - - return '' -endfunction - -function! airline#extensions#ycm#get_warning_count() - if exists(':YcmDiag') && exists("*youcompleteme#GetWarningCount") - let cnt = youcompleteme#GetWarningCount() - - if cnt != 0 - return s:warning_symbol.cnt.s:spc - endif - endif - - return '' -endfunction |