36 lines
1.1 KiB
VimL
36 lines
1.1 KiB
VimL
|
" -----------------------------------------------------------------------------
|
||
|
" - Tabline setup -
|
||
|
" -----------------------------------------------------------------------------
|
||
|
function! GuiTabLabel()
|
||
|
let label = ''
|
||
|
let bufnrlist = tabpagebuflist(v:lnum)
|
||
|
" Add '+' if one of the buffers in the tab page is modified
|
||
|
for bufnr in bufnrlist
|
||
|
if getbufvar(bufnr, "&modified")
|
||
|
let label = '+'
|
||
|
break
|
||
|
endif
|
||
|
endfor
|
||
|
" Append the tab number
|
||
|
let label .= v:lnum.': '
|
||
|
" Append the buffer name
|
||
|
let name = bufname(bufnrlist[tabpagewinnr(v:lnum) - 1])
|
||
|
if name == ''
|
||
|
" give a name to no-name documents
|
||
|
if &buftype=='quickfix'
|
||
|
let name = '[Quickfix List]'
|
||
|
else
|
||
|
let name = '[No Name]'
|
||
|
endif
|
||
|
else
|
||
|
" get only the file name
|
||
|
let name = fnamemodify(name,":t")
|
||
|
endif
|
||
|
let label .= name
|
||
|
" Append the number of windows in the tab page
|
||
|
let wincount = tabpagewinnr(v:lnum, '$')
|
||
|
return label . ' [' . wincount . ']'
|
||
|
endfunction
|
||
|
|
||
|
set guitablabel=%{GuiTabLabel()}
|