X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=vim%2F.vim%2Fplugin%2Fbuftabline.vim;h=60c067b7a9a16b077f3fa32ba6190c27751a659b;hb=1280549be01e3ce72d9e0aeef6254a1ff14a25a3;hp=6c4d9336bbdbc1d63ed2c8b52723bb47488d6d5c;hpb=cf13b1d34e08269b80f48dc08c7aa82ed1de2bc0;p=dotfiles.git diff --git a/vim/.vim/plugin/buftabline.vim b/vim/.vim/plugin/buftabline.vim index 6c4d933..60c067b 100644 --- a/vim/.vim/plugin/buftabline.vim +++ b/vim/.vim/plugin/buftabline.vim @@ -1,23 +1,3 @@ -function! 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 = buf[leftIdx + 1 : rightIdx - 1] - 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 - +if exists("*buftabline#do") | finish | endif set showtabline=2 -set tabline=%!BufTabline() +set tabline=%!buftabline#do()