summary refs log tree commit diff
path: root/.vim/after/plugin/line_bufferline.vim
diff options
context:
space:
mode:
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