mirror of
https://github.com/powerline/powerline.git
synced 2025-07-27 07:44:36 +02:00
parent
61fc73d93d
commit
54f0537d29
@ -8,7 +8,7 @@ except ImportError:
|
|||||||
vim = {} # NOQA
|
vim = {} # NOQA
|
||||||
|
|
||||||
from powerline.theme import requires_segment_info
|
from powerline.theme import requires_segment_info
|
||||||
from powerline.bindings.vim import (current_tabpage, list_tabpages)
|
from powerline.bindings.vim import (current_tabpage, list_tabpages, vim_getbufoption)
|
||||||
|
|
||||||
|
|
||||||
def tabpage_updated_segment_info(segment_info, tabpage):
|
def tabpage_updated_segment_info(segment_info, tabpage):
|
||||||
@ -57,7 +57,7 @@ def tablister(pl, segment_info, **kwargs):
|
|||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
def buffer_updated_segment_info(segment_info, buffer):
|
def buffer_updated_segment_info(segment_info, buffer, mode):
|
||||||
segment_info = segment_info.copy()
|
segment_info = segment_info.copy()
|
||||||
segment_info.update(
|
segment_info.update(
|
||||||
window=None,
|
window=None,
|
||||||
@ -65,20 +65,25 @@ def buffer_updated_segment_info(segment_info, buffer):
|
|||||||
window_id=None,
|
window_id=None,
|
||||||
buffer=buffer,
|
buffer=buffer,
|
||||||
bufnr=buffer.number,
|
bufnr=buffer.number,
|
||||||
|
mode=mode,
|
||||||
)
|
)
|
||||||
return segment_info
|
return segment_info
|
||||||
|
|
||||||
|
|
||||||
@requires_segment_info
|
@requires_segment_info
|
||||||
def bufferlister(pl, segment_info, **kwargs):
|
def bufferlister(pl, segment_info, show_unlisted=False, **kwargs):
|
||||||
'''List all buffers in segment_info format
|
'''List all buffers in segment_info format
|
||||||
|
|
||||||
Specifically generates a list of segment info dictionaries with ``buffer``
|
Specifically generates a list of segment info dictionaries with ``buffer``
|
||||||
and ``bufnr`` keys set to buffer-specific ones, ``window``, ``winnr`` and
|
and ``bufnr`` keys set to buffer-specific ones, ``window``, ``winnr`` and
|
||||||
``window_id`` keys unset.
|
``window_id`` keys set to None.
|
||||||
|
|
||||||
Sets segment ``mode`` to either ``buf`` (for current buffer) or ``nc``
|
Sets segment ``mode`` to either ``buf`` (for current buffer) or ``nc``
|
||||||
(for all other buffers).
|
(for all other buffers).
|
||||||
|
|
||||||
|
:param bool show_unlisted:
|
||||||
|
True if unlisted buffers should be shown as well. Current buffer is
|
||||||
|
always shown.
|
||||||
'''
|
'''
|
||||||
cur_buffer = vim.current.buffer
|
cur_buffer = vim.current.buffer
|
||||||
cur_bufnr = cur_buffer.number
|
cur_bufnr = cur_buffer.number
|
||||||
@ -89,10 +94,21 @@ def bufferlister(pl, segment_info, **kwargs):
|
|||||||
|
|
||||||
return [
|
return [
|
||||||
(
|
(
|
||||||
buffer_updated_segment_info(segment_info, buffer),
|
buf_segment_info,
|
||||||
add_multiplier(buffer, {'mode': ('tab' if buffer == cur_buffer else 'nc')})
|
add_multiplier(buf_segment_info['buffer'], {'mode': buf_segment_info['mode']})
|
||||||
|
)
|
||||||
|
for buf_segment_info in (
|
||||||
|
buffer_updated_segment_info(
|
||||||
|
segment_info,
|
||||||
|
buffer,
|
||||||
|
('buf' if buffer is cur_buffer else 'nc')
|
||||||
|
)
|
||||||
|
for buffer in vim.buffers
|
||||||
|
) if (
|
||||||
|
buf_segment_info['buffer'] is cur_buffer
|
||||||
|
or show_unlisted
|
||||||
|
or int(vim_getbufoption(buf_segment_info, 'buflisted'))
|
||||||
)
|
)
|
||||||
for buffer in vim.buffers
|
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user