mirror of
https://github.com/vim-airline/vim-airline.git
synced 2025-07-27 16:04:39 +02:00
cache open buffers into a dictionary and loop over the keys
This commit is contained in:
parent
63e309130a
commit
a4d69d53b5
@ -2,6 +2,14 @@
|
|||||||
" vim: et ts=2 sts=2 sw=2
|
" vim: et ts=2 sts=2 sw=2
|
||||||
|
|
||||||
let s:excludes = get(g:, 'airline#extensions#tabline#excludes', [])
|
let s:excludes = get(g:, 'airline#extensions#tabline#excludes', [])
|
||||||
|
let s:buffers = {}
|
||||||
|
|
||||||
|
for nr in range(1, bufnr('$'))
|
||||||
|
let s:buffers[nr] = 1
|
||||||
|
endfor
|
||||||
|
|
||||||
|
autocmd BufAdd * let s:buffers[expand('<abuf>')] = 1
|
||||||
|
autocmd BufDelete * let nr = expand('<abuf>') | if has_key(s:buffers, nr) | unlet s:buffers[nr] | endif
|
||||||
|
|
||||||
function! airline#extensions#tabline#buflist#invalidate()
|
function! airline#extensions#tabline#buflist#invalidate()
|
||||||
unlet! s:current_buffer_list
|
unlet! s:current_buffer_list
|
||||||
@ -13,8 +21,8 @@ function! airline#extensions#tabline#buflist#list()
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
let buffers = []
|
let buffers = []
|
||||||
let cur = bufnr('%')
|
for key in keys(s:buffers)
|
||||||
for nr in range(1, bufnr('$'))
|
let nr = str2nr(key)
|
||||||
if buflisted(nr) && bufexists(nr)
|
if buflisted(nr) && bufexists(nr)
|
||||||
let toadd = 1
|
let toadd = 1
|
||||||
for ex in s:excludes
|
for ex in s:excludes
|
||||||
|
Loading…
x
Reference in New Issue
Block a user