diff options
author | Timothy Edmund Crosley <timothy.crosley@gmail.com> | 2020-01-07 14:45:57 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-01-07 14:45:57 -0800 |
commit | fbe1ab9290f08521d39a929b516a973b14a53627 (patch) | |
tree | 4f94bac38ab3b9ac9006c3299af6d01476a1290d | |
parent | 0ee43b6a4f3c40876c3c7714846ecf8e584dc314 (diff) | |
parent | c528c36078ebf2714d66f39d44cc47ce4e0b1488 (diff) | |
download | isort-fbe1ab9290f08521d39a929b516a973b14a53627.tar.gz |
Merge pull request #1087 from timothycrosley/feature/fix-issue-574
Feature/fix issue 574
-rw-r--r-- | isort/main.py | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/isort/main.py b/isort/main.py index 0bbf3353..27d01cc1 100644 --- a/isort/main.py +++ b/isort/main.py @@ -7,6 +7,7 @@ import re import stat import sys from pathlib import Path +from pprint import pprint from typing import Any, Dict, Iterable, Iterator, List, Optional, Sequence from warnings import warn @@ -552,6 +553,12 @@ def parse_args(argv: Optional[Sequence[str]] = None) -> Dict[str, Any]: action="store_true", help="Tells isort to apply changes interactively.", ) + parser.add_argument( + "--show-config", + dest="show_config", + action="store_true", + help="See isort's determined config, as well as sources of config options.", + ) arguments = {key: value for key, value in vars(parser.parse_args(argv)).items() if value} if "dont_order_by_type" in arguments: @@ -571,6 +578,8 @@ def main(argv: Optional[Sequence[str]] = None) -> None: print(ASCII_ART) return + show_config: bool = arguments.pop("show_config", False) + if "settings_path" in arguments: sp = arguments["settings_path"] arguments["settings_path"] = ( @@ -586,14 +595,16 @@ def main(argv: Optional[Sequence[str]] = None) -> None: warn(f"virtual_env dir does not exist: {arguments['virtual_env']}") file_names = arguments.pop("files", []) - if not file_names: + if not file_names and not show_config: print(QUICK_GUIDE) return - elif file_names == ["-"]: + elif file_names == ["-"] and not show_config: SortImports(file_contents=sys.stdin.read(), write_to_stdout=True, **arguments) else: if "settings_path" not in arguments: - arguments["settings_path"] = os.path.abspath(file_names[0]) or os.getcwd() + arguments["settings_path"] = ( + os.path.abspath(file_names[0] if file_names else ".") or os.getcwd() + ) if not os.path.isdir(arguments["settings_path"]): arguments["settings_path"] = os.path.dirname(arguments["settings_path"]) @@ -605,6 +616,9 @@ def main(argv: Optional[Sequence[str]] = None) -> None: check = config_dict.pop("check", False) show_diff = config_dict.pop("show_diff", False) config = Config(**config_dict) + if show_config: + pprint(config.__dict__) + return wrong_sorted_files = False skipped: List[str] = [] |