From 7df817b848bf3544a505f7df7b7bec02a3571380 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 7 Feb 2023 07:06:08 +0000 Subject: [PATCH 1/2] [pre-commit.ci] pre-commit autoupdate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/psf/black: 22.12.0 → 23.1.0](https://github.com/psf/black/compare/22.12.0...23.1.0) --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 73394439..d5a03dd1 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -23,6 +23,6 @@ repos: - id: isort name: isort (python) - repo: https://github.com/psf/black - rev: 22.12.0 + rev: 23.1.0 hooks: - id: black From ac348e130202a21033bf09fd4b03e0ae52f2ffff Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 7 Feb 2023 07:06:21 +0000 Subject: [PATCH 2/2] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- fortls/__init__.py | 1 - fortls/helper_functions.py | 4 ++-- fortls/langserver.py | 9 ++++----- fortls/objects.py | 12 ++++++------ fortls/parse_fortran.py | 12 ++++++------ test/test_preproc.py | 2 +- test/test_server_documentation.py | 2 +- test/test_server_hover.py | 2 +- test/test_server_references.py | 2 +- test/test_server_signature_help.py | 1 - 10 files changed, 22 insertions(+), 25 deletions(-) diff --git a/fortls/__init__.py b/fortls/__init__.py index 7655ca2b..edcec288 100644 --- a/fortls/__init__.py +++ b/fortls/__init__.py @@ -400,7 +400,6 @@ def debug_server_general(args, settings): print("=======") # if args.debug_actions: - pp = pprint.PrettyPrinter(indent=2, width=120) print('\nTesting "textDocument/getActions" request:') check_request_params(args) diff --git a/fortls/helper_functions.py b/fortls/helper_functions.py index 60934a58..87799125 100644 --- a/fortls/helper_functions.py +++ b/fortls/helper_functions.py @@ -238,7 +238,7 @@ def find_paren_match(string: str) -> int: """ paren_count = 1 ind = -1 - for (i, char) in enumerate(string): + for i, char in enumerate(string): if char == "(": paren_count += 1 elif char == ")": @@ -568,7 +568,7 @@ def get_var_stack(line: str) -> list[str]: return [""] # Continuation of variable after paren requires '%' character iLast = 0 - for (i, section) in enumerate(sections): + for i, section in enumerate(sections): if not line[section.start : section.end].startswith("%"): iLast = i final_var = "" diff --git a/fortls/langserver.py b/fortls/langserver.py index 46c9d2ba..8f003b87 100644 --- a/fortls/langserver.py +++ b/fortls/langserver.py @@ -304,7 +304,6 @@ def map_types(type, in_class: bool = False): # Add scopes to outline view test_output = [] for scope in file_obj.ast.get_scopes(): - if ( not scope.name # Skip empty strings or scope.name.startswith("#") # Skip comments @@ -472,7 +471,7 @@ def child_candidates( else: tmp_list: list[str] = [] tmp_rename: list[str] = [] - for (var, rename) in zip(var_list, rename_list): + for var, rename in zip(var_list, rename_list): var_name: str | None = rename if var_name is None: var_name = var.name @@ -667,7 +666,7 @@ def build_comp( candidate_list, rename_list = get_candidates( scope_list, var_prefix, include_globals, public_only, abstract_only, no_use ) - for (candidate, rename) in zip(candidate_list, rename_list): + for candidate, rename in zip(candidate_list, rename_list): # Skip module names (only valid in USE) candidate_type = candidate.get_type() if type_mask[candidate_type]: @@ -944,7 +943,7 @@ def get_all_references( for filename, file_obj in file_set: file_refs = [] # Search through file line by line - for (i, line) in enumerate(file_obj.contents_split): + for i, line in enumerate(file_obj.contents_split): if len(line) == 0: continue # Skip comment lines @@ -1034,7 +1033,7 @@ def serve_references(self, request): return None all_refs, _ = self.get_all_references(def_obj, type_mem, file_obj=restrict_file) refs = [] - for (filename, file_refs) in all_refs.items(): + for filename, file_refs in all_refs.items(): for ref in file_refs: refs.append( uri_json(path_to_uri(filename), ref[0], ref[1], ref[0], ref[2]) diff --git a/fortls/objects.py b/fortls/objects.py index 472ff4b7..b44d1362 100644 --- a/fortls/objects.py +++ b/fortls/objects.py @@ -265,7 +265,7 @@ def add_children(mod_obj, query: str): matching_symbols = [] query = query.lower() - for (_, obj_packed) in obj_tree.items(): + for _, obj_packed in obj_tree.items(): top_obj = obj_packed[0] top_uri = obj_packed[1] if top_uri is not None: @@ -877,7 +877,7 @@ def resolve_link(self, obj_tree): ancestor_interfaces.append(prototype) # Match interface definitions to implementations for prototype in ancestor_interfaces: - for (i, child) in enumerate(self.children): + for i, child in enumerate(self.children): if child.name.lower() == prototype.name.lower(): # Create correct object for interface if child.get_type() == BASE_TYPE_ID: @@ -893,7 +893,7 @@ def resolve_link(self, obj_tree): child.copy_from(child_old) # Replace in child and scope lists self.children[i] = child - for (j, file_scope) in enumerate(child.file_ast.scope_list): + for j, file_scope in enumerate(child.file_ast.scope_list): if file_scope is child_old: child.file_ast.scope_list[j] = child if child.get_type() == prototype.get_type(): @@ -965,7 +965,7 @@ def resolve_arg_link(self, obj_tree): self.missing_args = [] for child in self.children: ind = -1 - for (i, arg) in enumerate(arg_list_lower): + for i, arg in enumerate(arg_list_lower): if arg == child.name.lower(): ind = i break @@ -1069,7 +1069,7 @@ def get_docs_full( def get_signature(self, drop_arg=-1): arg_sigs = [] arg_list = self.args.split(",") - for (i, arg_obj) in enumerate(self.arg_objs): + for i, arg_obj in enumerate(self.arg_objs): if i == drop_arg: continue if arg_obj is None: @@ -1138,7 +1138,7 @@ def get_diagnostics(self): if (implicit_flag is None) or implicit_flag: return errors arg_list = self.args.replace(" ", "").split(",") - for (i, arg_obj) in enumerate(self.arg_objs): + for i, arg_obj in enumerate(self.arg_objs): if arg_obj is None: arg_name = arg_list[i].strip() new_diag = Diagnostic( diff --git a/fortls/parse_fortran.py b/fortls/parse_fortran.py index 413c4966..9c47c3b6 100644 --- a/fortls/parse_fortran.py +++ b/fortls/parse_fortran.py @@ -1164,13 +1164,13 @@ def find_word_in_code_line( word_range = find_word_in_line(curr_line.lower(), find_word_lower) if backward and (word_range.start < 0): back_lines.reverse() - for (i, line) in enumerate(back_lines): + for i, line in enumerate(back_lines): word_range = find_word_in_line(line.lower(), find_word_lower) if word_range.start >= 0: line_no -= i + 1 return line_no, word_range if forward and (word_range.start < 0): - for (i, line) in enumerate(forward_lines): + for i, line in enumerate(forward_lines): word_range = find_word_in_line(line.lower(), find_word_lower) if word_range.start >= 0: line_no += i + 1 @@ -1207,7 +1207,7 @@ def check_file(self, obj_tree, max_line_length=-1, max_comment_line_length=-1): COMMENT_LINE_MATCH = FRegex.FIXED_COMMENT else: COMMENT_LINE_MATCH = FRegex.FREE_COMMENT - for (i, line) in enumerate(self.contents_split): + for i, line in enumerate(self.contents_split): if COMMENT_LINE_MATCH.match(line) is None: if 0 < max_line_length < len(line): self.ast.add_error( @@ -1891,7 +1891,7 @@ def format(docs: list[str]) -> str: docstr = "" has_args = True idx_args = -1 - for (i, line) in enumerate(docs): + for i, line in enumerate(docs): if line.startswith("@brief"): docstr += line.replace("@brief", "", 1).strip() + "\n" elif line.startswith("@param"): @@ -1940,7 +1940,7 @@ def add_line_comment(file_ast: FortranAST, docs: list[str]): # most efficient implementation, see: shorturl.at/dfmyV if len("".join(docs)) > 0: file_ast.add_doc(format(docs), forward=predocmark) - for (i, doc_line) in enumerate(docs): + for i, doc_line in enumerate(docs): log.debug(f"{doc_line} !!! Doc string - Line:{_ln + i}") docs[:] = [] return ln @@ -2093,7 +2093,7 @@ def replace_vars(line: str): def_regexes = {} output_file = [] def_cont_name = None - for (i, line) in enumerate(contents_split): + for i, line in enumerate(contents_split): # Handle multiline macro continuation if def_cont_name is not None: output_file.append("") diff --git a/test/test_preproc.py b/test/test_preproc.py index b149c648..e1bdd49d 100644 --- a/test/test_preproc.py +++ b/test/test_preproc.py @@ -16,7 +16,7 @@ def hover_req(file_path: str, ln: int, col: int) -> str: def check_return(result_array, checks): assert len(result_array) == len(checks) - for (i, check) in enumerate(checks): + for i, check in enumerate(checks): assert result_array[i]["contents"]["value"] == check root_dir = test_dir / "pp" diff --git a/test/test_server_documentation.py b/test/test_server_documentation.py index 760aa0e8..0b0ea7f2 100644 --- a/test/test_server_documentation.py +++ b/test/test_server_documentation.py @@ -5,7 +5,7 @@ def check_return(result_array, checks, only_docs=False): comm_lines = [] found_docs = False idx = 0 - for (i, hover_line) in enumerate(result_array["contents"]["value"].splitlines()): + for i, hover_line in enumerate(result_array["contents"]["value"].splitlines()): if hover_line == "-----": found_docs = True if found_docs and only_docs: diff --git a/test/test_server_hover.py b/test/test_server_hover.py index a2fc1b39..ba52dbe3 100644 --- a/test/test_server_hover.py +++ b/test/test_server_hover.py @@ -16,7 +16,7 @@ def hover_req(file_path: Path, ln: int, col: int) -> str: def validate_hover(result_array: list, checks: list): assert len(result_array) - 1 == len(checks) - for (i, check) in enumerate(checks): + for i, check in enumerate(checks): assert result_array[i + 1]["contents"]["value"] == check diff --git a/test/test_server_references.py b/test/test_server_references.py index 46205582..89e25948 100644 --- a/test/test_server_references.py +++ b/test/test_server_references.py @@ -5,7 +5,7 @@ def validate_refs(result_array, checks): def find_in_results(uri, sline): - for (i, result) in enumerate(result_array): + for i, result in enumerate(result_array): if (result["uri"] == uri) and (result["range"]["start"]["line"] == sline): del result_array[i] return result diff --git a/test/test_server_signature_help.py b/test/test_server_signature_help.py index 34c2565f..2c116f51 100644 --- a/test/test_server_signature_help.py +++ b/test/test_server_signature_help.py @@ -49,7 +49,6 @@ def test_subroutine_signature_help(): def test_intrinsics(): - string = write_rpc_request( 1, "initialize", {"rootPath": str(test_dir / "signature")} )