diff --git a/gdtoolkit/formatter/__init__.py b/gdtoolkit/formatter/__init__.py index c76f6ee..ade5aa4 100644 --- a/gdtoolkit/formatter/__init__.py +++ b/gdtoolkit/formatter/__init__.py @@ -15,6 +15,9 @@ DEFAULT_CONFIG = MappingProxyType( { "excluded_directories": {".git"}, + "safety_checks": None, + "use_spaces": None, + "line_length": None, } ) diff --git a/gdtoolkit/formatter/__main__.py b/gdtoolkit/formatter/__main__.py index eb38cb3..ddb176f 100644 --- a/gdtoolkit/formatter/__main__.py +++ b/gdtoolkit/formatter/__main__.py @@ -25,6 +25,7 @@ Examples: echo 'pass' | gdformat - # reads from STDIN """ + import sys import os import logging @@ -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", DEFAULT_CONFIG["line_length"]) + ) + + spaces_for_indent = ( + int(arguments["--use-spaces"]) + if arguments["--use-spaces"] + else config.get("use_spaces", DEFAULT_CONFIG["use_spaces"]) + ) + + safety_checks = ( + not arguments["--fast"] + if arguments.get("--fast") + else config.get("safety_checks", DEFAULT_CONFIG["safety_checks"]) + ) + if files == ["-"]: _format_stdin(line_length, spaces_for_indent, safety_checks) elif arguments["--check"]: