mirror of
https://github.com/vim-airline/vim-airline.git
synced 2026-07-31 21:20:26 +08:00
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
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:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user