tabline: Fix tab label being named wrongly

- Manage `nobuflisted` windows together
    - If a tab has no `buflisted` window,
      the tab label is named from default buffer name.
- Fix default buffer name selection from wrong tab
    - It has picked up default buffer name from active tab,
      not from the target tab.
This commit is contained in:
yasuda 2022-04-06 09:07:13 +09:00
parent dc65eea5d9
commit 35af3bf37f
2 changed files with 3 additions and 3 deletions

View File

@ -217,7 +217,7 @@ if !exists(":def") || !airline#util#has_vim9_script()
let all_buffers = airline#extensions#tabline#buflist#list()
let curbuf = filter(buflist, 'index(all_buffers, v:val) != -1')
if len(curbuf) == 0
call add(curbuf, tabpagebuflist()[0])
call add(curbuf, tabpagebuflist(a:n)[0])
endif
return airline#extensions#tabline#get_buffer_name(curbuf[0], curbuf)
endif
@ -433,7 +433,7 @@ else
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])
add(curbuf, tabpagebuflist(n)[0])
endif
return airline#extensions#tabline#get_buffer_name(curbuf[0], curbuf)
endif

View File

@ -52,7 +52,7 @@ function! airline#extensions#tabline#buflist#list()
" Basically branch 535 already does it, but since it relies on
" BufAdd autocommand, I'd like to avoid this if possible.
for nr in list
if buflisted(nr)
if bufloaded(nr)
" Do not add to the bufferlist, if either
" 1) bufnr is exclude_buffers list
" 2) buffername matches one of exclude_paths patterns