mirror of
https://github.com/powerline/powerline.git
synced 2025-07-25 23:05:32 +02:00
Fix performance issue with tabline and showtabline=2
vim_getbufoption(segment, 'buflisted') was causing vim to update the tabline for every keystroke. using vim.eval('buflisted(nr)') allows vim to optimize when it needs to update Fixes #1281
This commit is contained in:
parent
4e7f39926a
commit
6efabc170d
@ -89,22 +89,13 @@ def bufferlister(pl, segment_info, show_unlisted=False, **kwargs):
|
|||||||
return dct
|
return dct
|
||||||
|
|
||||||
return (
|
return (
|
||||||
(
|
(lambda buffer, prefix: (
|
||||||
buf_segment_info,
|
buffer_updated_segment_info(segment_info, buffer),
|
||||||
add_multiplier(buf_segment_info['buffer'], {'highlight_group_prefix': prefix})
|
add_multiplier(buffer, {'highlight_group_prefix': prefix}
|
||||||
)
|
))(buffer, 'buf' if buffer is cur_buffer else 'buf_nc')
|
||||||
for buf_segment_info, prefix in (
|
for buffer in vim.buffers if (
|
||||||
(
|
buffer is cur_buffer
|
||||||
buffer_updated_segment_info(
|
|
||||||
segment_info,
|
|
||||||
buffer
|
|
||||||
),
|
|
||||||
('buf' if buffer is cur_buffer else 'buf_nc')
|
|
||||||
)
|
|
||||||
for buffer in vim.buffers
|
|
||||||
) if (
|
|
||||||
buf_segment_info['buffer'] is cur_buffer
|
|
||||||
or show_unlisted
|
or show_unlisted
|
||||||
or int(vim_getbufoption(buf_segment_info, 'buflisted'))
|
or int(vim.eval('buflisted(%s)' % buffer.number)) > 0
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user