From 0a92173a9e5eb68b63fa7e1ee40e24e22cb77523 Mon Sep 17 00:00:00 2001 From: e_gleba Date: Sat, 18 Jan 2025 19:59:36 +0300 Subject: [PATCH 1/3] added more options to config file (spaces, line length and safety checks) --- gdtoolkit/formatter/__init__.py | 13 +++++--- gdtoolkit/formatter/__main__.py | 55 ++++++++++++++++++++------------- 2 files changed, 41 insertions(+), 27 deletions(-) diff --git a/gdtoolkit/formatter/__init__.py b/gdtoolkit/formatter/__init__.py index c76f6ee..0fd8b2d 100644 --- a/gdtoolkit/formatter/__init__.py +++ b/gdtoolkit/formatter/__init__.py @@ -1,20 +1,23 @@ +from types import MappingProxyType from typing import Optional -from types import MappingProxyType from lark import Tree from ..parser import parser from .formatter import format_code # noqa: F401 -from .safety_checks import ( # noqa: F401 - check_tree_invariant, - check_formatting_stability, +from .safety_checks import LoosenTreeTransformer # noqa: F401 +from .safety_checks import ( check_comment_persistence, - LoosenTreeTransformer, + check_formatting_stability, + check_tree_invariant, ) DEFAULT_CONFIG = MappingProxyType( { "excluded_directories": {".git"}, + "safety_checks": True, + "use_spaces": 4, + "line_length": 80, } ) diff --git a/gdtoolkit/formatter/__main__.py b/gdtoolkit/formatter/__main__.py index eb38cb3..b58e5dd 100644 --- a/gdtoolkit/formatter/__main__.py +++ b/gdtoolkit/formatter/__main__.py @@ -25,31 +25,32 @@ Examples: echo 'pass' | gdformat - # reads from STDIN """ -import sys -import os + +import difflib import logging +import os import pathlib -import difflib -from typing import List, Tuple, Optional +import sys from types import MappingProxyType -import pkg_resources +from typing import List, Optional, Tuple -from docopt import docopt import lark +import pkg_resources import yaml +from docopt import docopt -from gdtoolkit.formatter import format_code, check_formatting_safety, DEFAULT_CONFIG +from gdtoolkit.common.exceptions import ( + lark_unexpected_input_to_str, + lark_unexpected_token_to_str, +) +from gdtoolkit.common.utils import find_gd_files_from_paths +from gdtoolkit.formatter import DEFAULT_CONFIG, check_formatting_safety, format_code from gdtoolkit.formatter.exceptions import ( - TreeInvariantViolation, - FormattingStabilityViolation, CommentPersistenceViolation, + FormattingStabilityViolation, + TreeInvariantViolation, ) from gdtoolkit.parser import parser -from gdtoolkit.common.utils import find_gd_files_from_paths -from gdtoolkit.common.exceptions import ( - lark_unexpected_token_to_str, - lark_unexpected_input_to_str, -) CONFIG_FILE_NAME = "gdformatrc" @@ -69,14 +70,6 @@ def main(): if arguments["--diff"]: arguments["--check"] = True - line_length = int(arguments["--line-length"]) - spaces_for_indent = ( - int(arguments["--use-spaces"]) - if arguments["--use-spaces"] is not None - else None - ) - safety_checks = not arguments["--fast"] - config_file_path = _find_config_file() config = _load_config_file_or_default(config_file_path) _log_config_entries(config) @@ -86,6 +79,24 @@ def main(): arguments[""], excluded_directories=set(config["excluded_directories"]) ) + line_length = ( + int(arguments["--line-length"]) + if arguments["--line-length"] + else config.get("line_length", 80) + ) + + spaces_for_indent = ( + int(arguments["--use-spaces"]) + if arguments["--use-spaces"] + else config.get("use_spaces", None) + ) + + safety_checks = ( + not arguments["--fast"] + if arguments.get("--fast") + else config.get("safety_checks", True) + ) + if files == ["-"]: _format_stdin(line_length, spaces_for_indent, safety_checks) elif arguments["--check"]: From 755684563e89b08bb874c1aa6310445b601191aa Mon Sep 17 00:00:00 2001 From: e_gleba Date: Mon, 10 Feb 2025 12:50:18 +0300 Subject: [PATCH 2/3] removed pysort imports to min changes --- gdtoolkit/formatter/__init__.py | 10 +++++----- gdtoolkit/formatter/__main__.py | 28 ++++++++++++++-------------- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/gdtoolkit/formatter/__init__.py b/gdtoolkit/formatter/__init__.py index 0fd8b2d..ee45db7 100644 --- a/gdtoolkit/formatter/__init__.py +++ b/gdtoolkit/formatter/__init__.py @@ -1,15 +1,15 @@ -from types import MappingProxyType from typing import Optional +from types import MappingProxyType from lark import Tree from ..parser import parser from .formatter import format_code # noqa: F401 -from .safety_checks import LoosenTreeTransformer # noqa: F401 -from .safety_checks import ( - check_comment_persistence, - check_formatting_stability, +from .safety_checks import ( # noqa: F401 check_tree_invariant, + check_formatting_stability, + check_comment_persistence, + LoosenTreeTransformer, ) DEFAULT_CONFIG = MappingProxyType( diff --git a/gdtoolkit/formatter/__main__.py b/gdtoolkit/formatter/__main__.py index b58e5dd..4436d38 100644 --- a/gdtoolkit/formatter/__main__.py +++ b/gdtoolkit/formatter/__main__.py @@ -26,31 +26,31 @@ echo 'pass' | gdformat - # reads from STDIN """ -import difflib -import logging +import sys import os +import logging import pathlib -import sys +import difflib +from typing import List, Tuple, Optional from types import MappingProxyType -from typing import List, Optional, Tuple +import pkg_resources +from docopt import docopt import lark -import pkg_resources import yaml -from docopt import docopt -from gdtoolkit.common.exceptions import ( - lark_unexpected_input_to_str, - lark_unexpected_token_to_str, -) -from gdtoolkit.common.utils import find_gd_files_from_paths -from gdtoolkit.formatter import DEFAULT_CONFIG, check_formatting_safety, format_code +from gdtoolkit.formatter import format_code, check_formatting_safety, DEFAULT_CONFIG from gdtoolkit.formatter.exceptions import ( - CommentPersistenceViolation, - FormattingStabilityViolation, TreeInvariantViolation, + FormattingStabilityViolation, + CommentPersistenceViolation, ) from gdtoolkit.parser import parser +from gdtoolkit.common.utils import find_gd_files_from_paths +from gdtoolkit.common.exceptions import ( + lark_unexpected_token_to_str, + lark_unexpected_input_to_str, +) CONFIG_FILE_NAME = "gdformatrc" From 8369f434c9da37013fcf81eb49b4832fe3b4f437 Mon Sep 17 00:00:00 2001 From: e_gleba Date: Mon, 10 Feb 2025 13:06:07 +0300 Subject: [PATCH 3/3] fixed formatting, made default call to the DAFAULT_CONFIG if no config found --- gdtoolkit/formatter/__init__.py | 6 +++--- gdtoolkit/formatter/__main__.py | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/gdtoolkit/formatter/__init__.py b/gdtoolkit/formatter/__init__.py index ee45db7..ade5aa4 100644 --- a/gdtoolkit/formatter/__init__.py +++ b/gdtoolkit/formatter/__init__.py @@ -15,9 +15,9 @@ DEFAULT_CONFIG = MappingProxyType( { "excluded_directories": {".git"}, - "safety_checks": True, - "use_spaces": 4, - "line_length": 80, + "safety_checks": None, + "use_spaces": None, + "line_length": None, } ) diff --git a/gdtoolkit/formatter/__main__.py b/gdtoolkit/formatter/__main__.py index 4436d38..ddb176f 100644 --- a/gdtoolkit/formatter/__main__.py +++ b/gdtoolkit/formatter/__main__.py @@ -82,19 +82,19 @@ def main(): line_length = ( int(arguments["--line-length"]) if arguments["--line-length"] - else config.get("line_length", 80) + else config.get("line_length", DEFAULT_CONFIG["line_length"]) ) spaces_for_indent = ( int(arguments["--use-spaces"]) if arguments["--use-spaces"] - else config.get("use_spaces", None) + else config.get("use_spaces", DEFAULT_CONFIG["use_spaces"]) ) safety_checks = ( not arguments["--fast"] if arguments.get("--fast") - else config.get("safety_checks", True) + else config.get("safety_checks", DEFAULT_CONFIG["safety_checks"]) ) if files == ["-"]: