summary refs log tree commit diff
path: root/.vim/after/plugin/line_bufferline.vim
blob: 551790fea8573e27ed71b6352cd815d53dd1cff7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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