aboutsummaryrefslogtreecommitdiff
path: root/.vim/autoload/airline/extensions/tabline/formatters/default.vim
diff options
context:
space:
mode:
authorYaroslav <contact@yaroslavps.com>2019-09-05 19:35:38 +0300
committerYaroslav <contact@yaroslavps.com>2019-09-05 19:35:38 +0300
commit212dcd0bf753f08c0127a26a71b673c734b45c02 (patch)
tree4a43e43c7c9b9ccfcaef4088ba9e5f52154994b5 /.vim/autoload/airline/extensions/tabline/formatters/default.vim
downloadvimrice-212dcd0bf753f08c0127a26a71b673c734b45c02.tar.gz
vimrice-212dcd0bf753f08c0127a26a71b673c734b45c02.zip
init commit, extracted vim config from i3rice
Diffstat (limited to '.vim/autoload/airline/extensions/tabline/formatters/default.vim')
-rw-r--r--.vim/autoload/airline/extensions/tabline/formatters/default.vim43
1 files changed, 43 insertions, 0 deletions
diff --git a/.vim/autoload/airline/extensions/tabline/formatters/default.vim b/.vim/autoload/airline/extensions/tabline/formatters/default.vim
new file mode 100644
index 0000000..c98d7ef
--- /dev/null
+++ b/.vim/autoload/airline/extensions/tabline/formatters/default.vim
@@ -0,0 +1,43 @@
+" 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