Add Context.enter_item function for processing marked iterable items

This commit is contained in:
ZyX 2014-09-19 22:20:01 +04:00
parent 02c913f315
commit 891a9cbaa5
2 changed files with 5 additions and 3 deletions

View File

@ -58,3 +58,6 @@ class Context(tuple):
def enter_key(self, value, key): def enter_key(self, value, key):
return self + ((value.keydict[key], value[key]),) return self + ((value.keydict[key], value[key]),)
def enter_item(self, name, item):
return self + ((MarkedUnicode(name, item.mark), item),)

View File

@ -8,7 +8,6 @@ from copy import copy
from powerline.lib.unicode import unicode from powerline.lib.unicode import unicode
from powerline.lint.markedjson.error import echoerr, DelayedEchoErr from powerline.lint.markedjson.error import echoerr, DelayedEchoErr
from powerline.lint.markedjson.markedvalue import MarkedUnicode
from powerline.lint.selfcheck import havemarks from powerline.lint.selfcheck import havemarks
from powerline.lint.context import list_sep from powerline.lint.context import list_sep
@ -108,7 +107,7 @@ class Spec(object):
item, item,
value.mark, value.mark,
data, data,
context + ((MarkedUnicode('list item ' + unicode(i), item.mark), item),), context.enter_item('list item ' + unicode(i), item),
echoerr echoerr
) )
else: else:
@ -149,7 +148,7 @@ class Spec(object):
item, item,
value.mark, value.mark,
data, data,
context + ((MarkedUnicode('tuple item ' + unicode(i), item.mark), item),), context.enter_item('tuple item ' + unicode(i), item),
echoerr echoerr
) )
if ihadproblem: if ihadproblem: