diff --git a/powerline/lint/checks.py b/powerline/lint/checks.py index 18d2a00e..6d7a4e10 100644 --- a/powerline/lint/checks.py +++ b/powerline/lint/checks.py @@ -10,7 +10,7 @@ from powerline.lib.unicode import unicode from powerline.lint.markedjson.markedvalue import MarkedUnicode from powerline.lint.markedjson.error import DelayedEchoErr, Mark from powerline.lint.selfcheck import havemarks -from powerline.lint.context import list_sep, list_themes, new_context_item +from powerline.lint.context import list_sep, list_themes from powerline.lint.imp import WithPath, import_function, import_segment from powerline.lint.spec import Spec from powerline.lint.inspect import getconfigargspec @@ -627,7 +627,7 @@ def check_args_variant(func, args, data, context, echoerr): args[key], args.mark, data, - context + new_context_item(key, args), + context.enter_key(args, key), echoerr ) if khadproblem: diff --git a/powerline/lint/context.py b/powerline/lint/context.py index f54c31c3..1c188129 100644 --- a/powerline/lint/context.py +++ b/powerline/lint/context.py @@ -55,3 +55,6 @@ class Context(tuple): @property def key(self): return key_sep.join((c[0] for c in self)) + + def enter_key(self, value, key): + return self + ((value.keydict[key], value[key]),) diff --git a/powerline/lint/spec.py b/powerline/lint/spec.py index 89a13fa2..94c6f96c 100644 --- a/powerline/lint/spec.py +++ b/powerline/lint/spec.py @@ -10,7 +10,7 @@ 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, new_context_item +from powerline.lint.context import list_sep class Spec(object): @@ -322,7 +322,7 @@ class Spec(object): value[key], value.mark, data, - context + new_context_item(key, value), + context.enter_key(value, key), echoerr ) if mhadproblem: @@ -353,7 +353,7 @@ class Spec(object): value[key], value.mark, data, - context + new_context_item(key, value), + context.enter_key(value, key), echoerr ) if vhadproblem: