aboutsummaryrefslogtreecommitdiff
path: root/dotfiles/.local/share/nvim/site/autoload/airline/parts.vim
diff options
context:
space:
mode:
authorYaroslav <contact@yaroslavps.com>2020-03-31 17:52:49 +0300
committerYaroslav <contact@yaroslavps.com>2020-03-31 17:52:49 +0300
commit7217c7749e5403c9c7856c1d12c7986eb9c3b460 (patch)
treed60a112d9119a51af1cf5f590c5efad81751edf6 /dotfiles/.local/share/nvim/site/autoload/airline/parts.vim
parent9a3aa7b20a67c1b7991da1da9508ad5f78f76352 (diff)
downloadvimrice-7217c7749e5403c9c7856c1d12c7986eb9c3b460.tar.gz
vimrice-7217c7749e5403c9c7856c1d12c7986eb9c3b460.zip
Goodbye vim, been using neovim for ages now; home directory cleanup
Diffstat (limited to 'dotfiles/.local/share/nvim/site/autoload/airline/parts.vim')
-rw-r--r--dotfiles/.local/share/nvim/site/autoload/airline/parts.vim114
1 files changed, 114 insertions, 0 deletions
diff --git a/dotfiles/.local/share/nvim/site/autoload/airline/parts.vim b/dotfiles/.local/share/nvim/site/autoload/airline/parts.vim
new file mode 100644
index 0000000..b6625c6
--- /dev/null
+++ b/dotfiles/.local/share/nvim/site/autoload/airline/parts.vim
@@ -0,0 +1,114 @@
+" MIT License. Copyright (c) 2013-2018 Bailey Ling et al.
+" vim: et ts=2 sts=2 sw=2
+
+scriptencoding utf-8
+
+let s:parts = {}
+
+" PUBLIC API {{{
+
+function! airline#parts#define(key, config)
+ let s:parts[a:key] = get(s:parts, a:key, {})
+ if exists('g:airline#init#bootstrapping')
+ call extend(s:parts[a:key], a:config, 'keep')
+ else
+ call extend(s:parts[a:key], a:config, 'force')
+ endif
+endfunction
+
+function! airline#parts#define_function(key, name)
+ call airline#parts#define(a:key, { 'function': a:name })
+endfunction
+
+function! airline#parts#define_text(key, text)
+ call airline#parts#define(a:key, { 'text': a:text })
+endfunction
+
+function! airline#parts#define_raw(key, raw)
+ call airline#parts#define(a:key, { 'raw': a:raw })
+endfunction
+
+function! airline#parts#define_minwidth(key, width)
+ call airline#parts#define(a:key, { 'minwidth': a:width })
+endfunction
+
+function! airline#parts#define_condition(key, predicate)
+ call airline#parts#define(a:key, { 'condition': a:predicate })
+endfunction
+
+function! airline#parts#define_accent(key, accent)
+ call airline#parts#define(a:key, { 'accent': a:accent })
+endfunction
+
+function! airline#parts#define_empty(keys)
+ for key in a:keys
+ call airline#parts#define_raw(key, '')
+ endfor
+endfunction
+
+function! airline#parts#get(key)
+ return get(s:parts, a:key, {})
+endfunction
+
+" }}}
+
+function! airline#parts#mode()
+ return airline#util#shorten(get(w:, 'airline_current_mode', ''), 79, 1)
+endfunction
+
+function! airline#parts#crypt()
+ return g:airline_detect_crypt && exists("+key") && !empty(&key) ? g:airline_symbols.crypt : ''
+endfunction
+
+function! airline#parts#paste()
+ return g:airline_detect_paste && &paste ? g:airline_symbols.paste : ''
+endfunction
+
+function! airline#parts#spell()
+ let spelllang = g:airline_detect_spelllang ? printf(" [%s]", toupper(substitute(&spelllang, ',', '/', 'g'))) : ''
+ if g:airline_detect_spell && &spell
+ if winwidth(0) >= 90
+ return g:airline_symbols.spell . spelllang
+ elseif winwidth(0) >= 70
+ return g:airline_symbols.spell
+ else
+ return split(g:airline_symbols.spell, '\zs')[0]
+ endif
+ endif
+ return ''
+endfunction
+
+function! airline#parts#iminsert()
+ if g:airline_detect_iminsert && &iminsert && exists('b:keymap_name')
+ return toupper(b:keymap_name)
+ endif
+ return ''
+endfunction
+
+function! airline#parts#readonly()
+ " only consider regular buffers (e.g. ones that represent actual files,
+ " but not special ones like e.g. NERDTree)
+ if !empty(&buftype) || airline#util#ignore_buf(bufname('%'))
+ return ''
+ endif
+ if &readonly && !filereadable(bufname('%'))
+ return '[noperm]'
+ else
+ return &readonly ? g:airline_symbols.readonly : ''
+ endif
+endfunction
+
+function! airline#parts#filetype()
+ return winwidth(0) < 90 && strlen(&filetype) > 3 ? matchstr(&filetype, '...'). (&encoding is? 'utf-8' ? '…' : '>') : &filetype
+endfunction
+
+function! airline#parts#ffenc()
+ let expected = get(g:, 'airline#parts#ffenc#skip_expected_string', '')
+ let bomb = &l:bomb ? '[BOM]' : ''
+ let ff = strlen(&ff) ? '['.&ff.']' : ''
+ if expected is# &fenc.bomb.ff
+ return ''
+ else
+ return &fenc.bomb.ff
+ endif
+endfunction