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.
This commit is contained in:
ZyX 2014-06-25 19:27:21 +04:00
parent 35522b1511
commit 46d58d39fa
1 changed files with 6 additions and 4 deletions

View File

@ -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,