tabline: Vim9 script implementation of #title func

This commit is contained in:
Christian 2020-11-18 17:15:13 +01:00 committed by Christian Brabandt
parent b10c1107e1
commit d5ffa5fd58
No known key found for this signature in database
GPG Key ID: F3F92DA383FDDE09

View File

@ -389,4 +389,31 @@ else
return airline#extensions#tabline#tabs#get() return airline#extensions#tabline#tabs#get()
endif endif
enddef enddef
def airline#extensions#tabline#title(n: number): string # {{{2
var title = ''
if s:taboo
title = TabooTabTitle(n)
endif
if empty(title)
title = gettabvar(n, 'title')
endif
var formatter = get(g:, 'airline#extensions#tabline#tabtitle_formatter')
if empty(title) && formatter != '' && exists("*" .. formatter)
title = call(formatter, [n])
endif
if empty(title)
var buflist = tabpagebuflist(n)
var winnr = tabpagewinnr(n)
var all_buffers = airline#extensions#tabline#buflist#list()
var curbuf = filter(buflist, {_, v -> index(all_buffers, v) != -1})
if len(curbuf) == 0
add(curbuf, tabpagebuflist()[0])
endif
return airline#extensions#tabline#get_buffer_name(curbuf[0], curbuf)
endif
return title
enddef
endif endif