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