From 2b3555c803b8e11afe4d48ef7092b06da8212781 Mon Sep 17 00:00:00 2001 From: Ben Jackson Date: Tue, 19 May 2020 21:35:19 +0100 Subject: [PATCH 1/2] Allow set encoding= in new files if a previous file used scriptencoding --- .../prohibit_encoding_opt_after_scriptencoding.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) 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 From 3b9be172e107f0862e945a345d642919db09f916 Mon Sep 17 00:00:00 2001 From: Ben Jackson Date: Tue, 19 May 2020 21:40:47 +0100 Subject: [PATCH 2/2] Remove 2 more unused variables (copypasta) --- vint/linting/policy/prohibit_abbreviation_option.py | 3 --- 1 file changed, 3 deletions(-) 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]