summary refs log tree commit diff
path: root/.vim/after/plugin/line_bufferline.vim
diff options
context:
space:
mode:
authorRobert Günzler <r@gnzler.io>2020-01-26 17:16:07 +0100
committerRobert Günzler <r@gnzler.io>2020-01-26 18:00:59 +0100
commitf5d56602df70950de6b7d40966b00c9939c81763 (patch)
treeb50ffeb5496fe3525cc1bab2629389ced95435b7 /.vim/after/plugin/line_bufferline.vim
Intial commit of v2
See https://drewdevault.com/2019/12/30/dotfiles.html
Diffstat (limited to '.vim/after/plugin/line_bufferline.vim')
-rw-r--r--.vim/after/plugin/line_bufferline.vim30
1 files changed, 30 insertions, 0 deletions
diff --git a/.vim/after/plugin/line_bufferline.vim b/.vim/after/plugin/line_bufferline.vim
new file mode 100644
index 0000000..551790f
--- /dev/null
+++ b/.vim/after/plugin/line_bufferline.vim
@@ -0,0 +1,30 @@
+if !exists('g:loaded_bufferline')
+  finish
+endif
+
+if !exists('g:lightline.tabline.left')
+  let g:lightline.tabline.left = []
+endif
+let g:lightline.tabline.left += [['bufferline']]
+let g:lightline.component_expand.bufferline = 'LightLineBufferline'
+let g:lightline.component_type.bufferline = 'tabsel'
+
+function! LightLineBufferline()
+  call bufferline#refresh_status()
+  let l:buffers = [
+  \ g:bufferline_status_info.before,
+  \ g:bufferline_status_info.current,
+  \ g:bufferline_status_info.after
+  \ ]
+
+  function! s:fmt(key, val)
+    let limit = 25
+    if strlen(a:val) > limit
+      return trim(a:val)[:limit] . '..'
+    endif
+    return trim(a:val)
+  endfunction
+
+  call map(l:buffers, function('s:fmt'))
+  return l:buffers
+endfunction