diff --git a/vint/linting/policy/prohibit_abbreviation_option.py b/vint/linting/policy/prohibit_abbreviation_option.py index 72b117a..20b4485 100644 --- a/vint/linting/policy/prohibit_abbreviation_option.py +++ b/vint/linting/policy/prohibit_abbreviation_option.py @@ -22,9 +22,6 @@ class ProhibitAbbreviationOption(AbstractPolicy): reference = ':help option-summary' level = Level.STYLE_PROBLEM - was_scriptencoding_found = False - has_encoding_opt_after_scriptencoding = False - def listen_node_types(self): return [NodeType.EXCMD, NodeType.OPTION] diff --git a/vint/linting/policy/prohibit_encoding_opt_after_scriptencoding.py b/vint/linting/policy/prohibit_encoding_opt_after_scriptencoding.py index 27df365..c27b192 100644 --- a/vint/linting/policy/prohibit_encoding_opt_after_scriptencoding.py +++ b/vint/linting/policy/prohibit_encoding_opt_after_scriptencoding.py @@ -12,20 +12,27 @@ class ProhibitEncodingOptionAfterScriptEncoding(AbstractPolicy): level = Level.WARNING was_scriptencoding_found = False - has_encoding_opt_after_scriptencoding = False def listen_node_types(self): - return [NodeType.EXCMD] + return [NodeType.EXCMD, NodeType.TOPLEVEL] - def is_valid(self, excmd_node, lint_context): + def is_valid(self, node, lint_context): """ Whether the specified node is valid. This policy prohibits encoding option after scriptencoding. """ - cmd_str = excmd_node['str'] + node_type = NodeType(node['type']) + + if node_type is NodeType.TOPLEVEL: + self.was_scriptencoding_found = False + return True + + assert node_type is NodeType.EXCMD + + cmd_str = node['str'] if re.match(r':*scripte', cmd_str): self.was_scriptencoding_found = True