Add VimEnviron object

This commit is contained in:
ZyX 2013-05-19 13:06:57 +04:00
parent dfaf8c3b3a
commit ad35b48942
2 changed files with 20 additions and 1 deletions

View File

@ -79,3 +79,21 @@ else:
if type(r) is bytes:
return r.decode('utf-8')
return r
class VimEnviron(object):
@staticmethod
def __getitem__(key):
return vim.eval('$' + key)
@staticmethod
def get(key, default=None):
return vim.eval('$' + key) or default
@staticmethod
def __setitem__(key, value):
return vim.command('let $' + key + '="'
+ value.replace('"', '\\"').replace('\\', '\\\\').replace('\n', '\\n').replace('\0', '')
+ '"')
environ = VimEnviron()

View File

@ -2,7 +2,7 @@
from __future__ import absolute_import
from powerline.bindings.vim import vim_get_func
from powerline.bindings.vim import vim_get_func, environ
from powerline.renderer import Renderer
from powerline.colorscheme import ATTR_BOLD, ATTR_ITALIC, ATTR_UNDERLINE
from powerline.theme import Theme
@ -80,6 +80,7 @@ class VimRenderer(Renderer):
'mode': mode,
'window_id': window_id,
'winnr': winnr,
'environ': environ,
}
segment_info['buffer'] = segment_info['window'].buffer
segment_info['bufnr'] = segment_info['buffer'].number