tabline: add custom buffer filter function (#2752)
CI / Test (v7.4) (push) Has been cancelled
CI / Test (v8.0.0000) (push) Has been cancelled
CI / Test (v8.1.0000) (push) Has been cancelled
CI / Test (v8.2.0000) (push) Has been cancelled
CI / Test (v8.2.1000) (push) Has been cancelled
CI / Test (v9.0.0000) (push) Has been cancelled
CI / Test (v9.1.0000) (push) Has been cancelled
reviewdog / runner / vint (push) Has been cancelled

This commit is contained in:
IkorJefocur
2026-06-01 09:48:58 +02:00
committed by GitHub
parent d842cfb9dd
commit f02ddb6338
2 changed files with 9 additions and 0 deletions
@@ -44,6 +44,7 @@ function! airline#extensions#tabline#buflist#list()
let exclude_buffers = get(g:, 'airline#extensions#tabline#exclude_buffers', [])
let exclude_paths = get(g:, 'airline#extensions#tabline#excludes', [])
let exclude_preview = get(g:, 'airline#extensions#tabline#exclude_preview', 1)
let CustomFilter = get(g:, 'airline#extensions#tabline#filter_function')
let list = (exists('g:did_bufmru') && g:did_bufmru) ? BufMRUList() : range(1, bufnr("$"))
@@ -61,6 +62,8 @@ function! airline#extensions#tabline#buflist#list()
" 'bufhidden' == wipe
" 'buftype' == nofile
" 5) ignore buffers matching airline#extensions#tabline#ignore_bufadd_pat
" 6) airline#extensions#tabline#filter_function is defined and returns
" empty value
" check buffer numbers first
if index(exclude_buffers, nr) >= 0
@@ -74,6 +77,8 @@ function! airline#extensions#tabline#buflist#list()
" check other types last
elseif s:ExcludeOther(nr, exclude_preview)
continue
elseif !empty(CustomFilter) && !call(CustomFilter, [nr])
continue
endif
call add(buffers, nr)