From 35af3bf37f41ec2fbd68cdb9176db02811869fbf Mon Sep 17 00:00:00 2001 From: yasuda Date: Wed, 6 Apr 2022 09:07:13 +0900 Subject: [PATCH] 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. --- autoload/airline/extensions/tabline.vim | 4 ++-- autoload/airline/extensions/tabline/buflist.vim | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/autoload/airline/extensions/tabline.vim b/autoload/airline/extensions/tabline.vim index 64bd48c1..6da09949 100644 --- a/autoload/airline/extensions/tabline.vim +++ b/autoload/airline/extensions/tabline.vim @@ -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 diff --git a/autoload/airline/extensions/tabline/buflist.vim b/autoload/airline/extensions/tabline/buflist.vim index f7722011..99262327 100644 --- a/autoload/airline/extensions/tabline/buflist.vim +++ b/autoload/airline/extensions/tabline/buflist.vim @@ -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