Respect the fact that vim.eval in Vim returns str instances
This commit is contained in:
parent
3ac75eeca6
commit
a92d72b5d7
19
tests/vim.py
19
tests/vim.py
|
@ -44,6 +44,24 @@ def _vim(func):
|
||||||
return f
|
return f
|
||||||
|
|
||||||
|
|
||||||
|
def _unicode(func):
|
||||||
|
from functools import wraps
|
||||||
|
import sys
|
||||||
|
|
||||||
|
if sys.version_info < (3,):
|
||||||
|
return func
|
||||||
|
|
||||||
|
@wraps(func)
|
||||||
|
def f(*args, **kwargs):
|
||||||
|
from powerline.lib.unicode import u
|
||||||
|
ret = func(*args, **kwargs)
|
||||||
|
if isinstance(ret, bytes):
|
||||||
|
ret = u(ret)
|
||||||
|
return ret
|
||||||
|
|
||||||
|
return f
|
||||||
|
|
||||||
|
|
||||||
class _Buffers(object):
|
class _Buffers(object):
|
||||||
@_vim
|
@_vim
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
|
@ -163,6 +181,7 @@ def command(cmd):
|
||||||
|
|
||||||
|
|
||||||
@_vim
|
@_vim
|
||||||
|
@_unicode
|
||||||
def eval(expr):
|
def eval(expr):
|
||||||
if expr.startswith('g:'):
|
if expr.startswith('g:'):
|
||||||
return vars[expr[2:]]
|
return vars[expr[2:]]
|
||||||
|
|
Loading…
Reference in New Issue