diff --git a/autoload/airline/extensions/tabline.vim b/autoload/airline/extensions/tabline.vim index 6da09949..edd406cd 100644 --- a/autoload/airline/extensions/tabline.vim +++ b/autoload/airline/extensions/tabline.vim @@ -219,7 +219,7 @@ if !exists(":def") || !airline#util#has_vim9_script() if len(curbuf) == 0 call add(curbuf, tabpagebuflist(a:n)[0]) endif - return airline#extensions#tabline#get_buffer_name(curbuf[0], curbuf) + return airline#extensions#tabline#get_buffer_name(a:n, curbuf) endif return title @@ -435,7 +435,7 @@ else if len(curbuf) == 0 add(curbuf, tabpagebuflist(n)[0]) endif - return airline#extensions#tabline#get_buffer_name(curbuf[0], curbuf) + return airline#extensions#tabline#get_buffer_name(n, curbuf) endif return title enddef diff --git a/autoload/airline/extensions/tabline/formatters/tabnr.vim b/autoload/airline/extensions/tabline/formatters/tabnr.vim index 0499b99c..49670e10 100644 --- a/autoload/airline/extensions/tabline/formatters/tabnr.vim +++ b/autoload/airline/extensions/tabline/formatters/tabnr.vim @@ -3,8 +3,22 @@ scriptencoding utf-8 -function! airline#extensions#tabline#formatters#tabnr#format(nr, buflist) +function! airline#extensions#tabline#formatters#tabnr#format(tab_nr, buflist) let spc=g:airline_symbols.space + let tab_nr_type = get(g:, 'airline#extensions#tabline#tab_nr_type', 0) + if tab_nr_type == 0 " nr of splits + " TODO: What should be returned here: Just the buffer number? + " the following would return the buffer_number/list_of_splits + " return spc. a:tab_nr. '/'. len(a:buflist) + " for now, return the buffer number + return spc. a:tab_nr + elseif tab_nr_type == 1 " tab number + " Return only the current tab number + return spc. a:tab_nr + else " tab_nr_type == 2 splits and tab number + " return the tab number followed by the number of buffers (in the tab) + return spc. a:tab_nr. spc. len(tabpagebuflist(a:buflist[0])) + endif - return printf("%s %d/%d", spc, a:nr, len(tabpagebuflist(a:nr))) +" return printf("%s %d/%d", spc, a:nr, len(tabpagebuflist(a:nr))) endfunction diff --git a/autoload/airline/extensions/tabline/tabs.vim b/autoload/airline/extensions/tabline/tabs.vim index 38c57d07..f32fd632 100644 --- a/autoload/airline/extensions/tabline/tabs.vim +++ b/autoload/airline/extensions/tabline/tabs.vim @@ -70,8 +70,7 @@ function! airline#extensions#tabline#tabs#get() let val = '%(' if get(g:, 'airline#extensions#tabline#show_tab_nr', 1) - let tab_nr_type = get(g:, 'airline#extensions#tabline#tab_nr_type', 0) - let val .= airline#extensions#tabline#tabs#tabnr_formatter(tab_nr_type, a:i) + let val .= airline#extensions#tabline#tabs#tabnr_formatter(a:i, tabpagebuflist(a:i)) endif return val.'%'.a:i.'T %{airline#extensions#tabline#title('.a:i.')} %)'