X-Git-Url: http://www.git.stargrave.org/?p=dotfiles.git;a=blobdiff_plain;f=vim%2F.vim%2Fplugin%2Fbuftabline.vim;h=60c067b7a9a16b077f3fa32ba6190c27751a659b;hp=4fb131802a35e025c992b2a148a7b3b66307f6c8;hb=1280549be01e3ce72d9e0aeef6254a1ff14a25a3;hpb=86cacc081de452eb66d50f13261310b07f8ca2d4 diff --git a/vim/.vim/plugin/buftabline.vim b/vim/.vim/plugin/buftabline.vim index 4fb1318..60c067b 100644 --- a/vim/.vim/plugin/buftabline.vim +++ b/vim/.vim/plugin/buftabline.vim @@ -1,29 +1,3 @@ -if exists('*BufTabLine') | finish | endif - -function! s:BufTabline() - redir => bufsRaw - silent buffers - redir END - let bufs = [] - for buf in split(bufsRaw, "\n")[:16] - let leftIdx = stridx(buf, '"') - let rightIdx = strridx(buf, '"') - let filename = substitute(buf[leftIdx + 1 : rightIdx - 1], "%", "%%", "g") - let linenum = split(buf[rightIdx:], " ")[-1] - let attrs = split(buf[:leftIdx-1], '\s\+') - let attrs = map(attrs, 'substitute(v:val, "%", "%%", "g")') - let attrs = (len(attrs) == 1) ? attrs[0] : attrs[0] . ":" . join(attrs[1:], "") - let attrs = "%#TabLine#" . attrs . "%*" - if len(filename) > 20 | let filename = "<" . filename[-(20-1):] | endif - let hl = (match(attrs, "%%") == -1) ? "%#TabLine#:" : "%#TabLineSel#" - let bufs = add(bufs, attrs . hl . filename . ":" . linenum . "%*") - endfor - return join(bufs, " ") -endfunction - -function! BufTabline() - return s:BufTabline() -endfunction - +if exists("*buftabline#do") | finish | endif set showtabline=2 -set tabline=%!BufTabline() +set tabline=%!buftabline#do()