mirror of
https://github.com/powerline/powerline.git
synced 2025-07-27 07:44:36 +02:00
Always specify all keys in segment_info
This commit is contained in:
parent
da48e9d84e
commit
6481f1b65e
@ -84,15 +84,16 @@ class VimRenderer(Renderer):
|
|||||||
def get_segment_info(self, segment_info, mode):
|
def get_segment_info(self, segment_info, mode):
|
||||||
return segment_info or self.segment_info
|
return segment_info or self.segment_info
|
||||||
|
|
||||||
def render(self, window=None, window_id=None, winnr=None):
|
def render(self, window=None, window_id=None, winnr=None, is_tabline=False):
|
||||||
'''Render all segments.'''
|
'''Render all segments.'''
|
||||||
segment_info = self.segment_info.copy()
|
segment_info = self.segment_info.copy()
|
||||||
if window is not None:
|
|
||||||
if window is vim.current.window:
|
if window is vim.current.window:
|
||||||
mode = vim_mode(1)
|
mode = vim_mode(1)
|
||||||
mode = mode_translations.get(mode, mode)
|
mode = mode_translations.get(mode, mode)
|
||||||
else:
|
else:
|
||||||
mode = 'nc'
|
mode = 'nc'
|
||||||
|
|
||||||
segment_info.update(
|
segment_info.update(
|
||||||
window=window,
|
window=window,
|
||||||
mode=mode,
|
mode=mode,
|
||||||
@ -104,16 +105,12 @@ class VimRenderer(Renderer):
|
|||||||
segment_info['tabnr'] = segment_info['tabpage'].number
|
segment_info['tabnr'] = segment_info['tabpage'].number
|
||||||
segment_info['bufnr'] = segment_info['buffer'].number
|
segment_info['bufnr'] = segment_info['buffer'].number
|
||||||
winwidth = segment_info['window'].width
|
winwidth = segment_info['window'].width
|
||||||
matcher_info = segment_info
|
|
||||||
else:
|
|
||||||
mode = None
|
|
||||||
winwidth = int(vim.eval('&columns'))
|
|
||||||
matcher_info = None
|
|
||||||
statusline = super(VimRenderer, self).render(
|
statusline = super(VimRenderer, self).render(
|
||||||
mode=mode,
|
mode=mode,
|
||||||
width=winwidth,
|
width=winwidth,
|
||||||
segment_info=segment_info,
|
segment_info=segment_info,
|
||||||
matcher_info=matcher_info,
|
matcher_info=(None if is_tabline else segment_info),
|
||||||
)
|
)
|
||||||
return statusline
|
return statusline
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@ from __future__ import absolute_import
|
|||||||
|
|
||||||
import sys
|
import sys
|
||||||
from powerline.bindings.vim import vim_get_func, vim_getvar
|
from powerline.bindings.vim import vim_get_func, vim_getvar
|
||||||
from powerline import Powerline
|
from powerline import Powerline, FailedUnicode
|
||||||
from powerline.lib import mergedicts
|
from powerline.lib import mergedicts
|
||||||
import vim
|
import vim
|
||||||
from itertools import count
|
from itertools import count
|
||||||
@ -228,15 +228,14 @@ class VimPowerline(Powerline):
|
|||||||
def statusline(self, window_id):
|
def statusline(self, window_id):
|
||||||
window, window_id, winnr = self.win_idx(window_id) or (None, None, None)
|
window, window_id, winnr = self.win_idx(window_id) or (None, None, None)
|
||||||
if not window:
|
if not window:
|
||||||
return 'No window {0}'.format(window_id)
|
return FailedUnicode('No window {0}'.format(window_id))
|
||||||
return self.render(window, window_id, winnr)
|
return self.render(window, window_id, winnr)
|
||||||
|
|
||||||
def tabline(self):
|
def tabline(self):
|
||||||
return self.render()
|
return self.render(*self.win_idx(None), is_tabline=True)
|
||||||
|
|
||||||
def new_window(self):
|
def new_window(self):
|
||||||
window, window_id, winnr = self.win_idx(None)
|
return self.render(*self.win_idx(None))
|
||||||
return self.render(window, window_id, winnr)
|
|
||||||
|
|
||||||
if not hasattr(vim, 'bindeval'):
|
if not hasattr(vim, 'bindeval'):
|
||||||
# Method for PowerlinePyeval function. Is here to reduce the number of
|
# Method for PowerlinePyeval function. Is here to reduce the number of
|
||||||
|
@ -53,7 +53,7 @@ class TestConfig(TestCase):
|
|||||||
outputs[out] = (i, (args, kwargs), mode)
|
outputs[out] = (i, (args, kwargs), mode)
|
||||||
|
|
||||||
with vim_module._with('bufname', '/tmp/foo.txt'):
|
with vim_module._with('bufname', '/tmp/foo.txt'):
|
||||||
out = powerline.render()
|
out = powerline.render(vim_module.current.window, 1, vim_module.current.window.number, is_tabline=True)
|
||||||
outputs[out] = (-1, (None, None), 'tab')
|
outputs[out] = (-1, (None, None), 'tab')
|
||||||
with vim_module._with('globals', powerline_config_path=cfg_path):
|
with vim_module._with('globals', powerline_config_path=cfg_path):
|
||||||
exclude = set(('no', 'v', 'V', VBLOCK, 's', 'S', SBLOCK, 'R', 'Rv', 'c', 'cv', 'ce', 'r', 'rm', 'r?', '!'))
|
exclude = set(('no', 'v', 'V', VBLOCK, 's', 'S', SBLOCK, 'R', 'Rv', 'c', 'cv', 'ce', 'r', 'rm', 'r?', '!'))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user