From 46d58d39fa071059b792ec4dc822b7161b636481 Mon Sep 17 00:00:00 2001 From: ZyX Date: Wed, 25 Jun 2014 19:27:21 +0400 Subject: [PATCH] Fix typo in VimRenderer.render segment_info should have been initialized with self.segment_info, not updated: new values must have priority. Refactored the result so that static values are defined in VimRenderer.segment_info. --- powerline/renderers/vim.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/powerline/renderers/vim.py b/powerline/renderers/vim.py index 14496a1e..b948dc0e 100644 --- a/powerline/renderers/vim.py +++ b/powerline/renderers/vim.py @@ -30,6 +30,9 @@ class VimRenderer(Renderer): character_translations = Renderer.character_translations.copy() character_translations[ord('%')] = '%%' + segment_info = Renderer.segment_info.copy() + segment_info.update(environ=environ) + def __init__(self, *args, **kwargs): if not hasattr(vim, 'strwidth'): # Hope nobody want to change this at runtime @@ -84,16 +87,15 @@ class VimRenderer(Renderer): mode = mode_translations.get(mode, mode) else: mode = 'nc' - segment_info = { + segment_info = self.segment_info.copy() + segment_info.update({ 'window': window, 'mode': mode, 'window_id': window_id, 'winnr': winnr, - 'environ': environ, - } + }) segment_info['buffer'] = segment_info['window'].buffer segment_info['bufnr'] = segment_info['buffer'].number - segment_info.update(self.segment_info) winwidth = segment_info['window'].width statusline = super(VimRenderer, self).render( mode=mode,