diff --git a/src/docstub-stubs/_app_generate_stubs.pyi b/src/docstub-stubs/_app_generate_stubs.pyi index ae4c95b..14d6810 100644 --- a/src/docstub-stubs/_app_generate_stubs.pyi +++ b/src/docstub-stubs/_app_generate_stubs.pyi @@ -1,6 +1,7 @@ # File generated with docstub import logging +import sys import time from collections import Counter from collections.abc import Iterable, Sequence diff --git a/src/docstub-stubs/_config.pyi b/src/docstub-stubs/_config.pyi index 2bfebcf..2b979b3 100644 --- a/src/docstub-stubs/_config.pyi +++ b/src/docstub-stubs/_config.pyi @@ -5,6 +5,7 @@ import logging import tomllib from collections.abc import Mapping from pathlib import Path +from pprint import pformat from typing import ClassVar, Self logger: logging.Logger @@ -27,5 +28,6 @@ class Config: def to_dict(self) -> None: ... def __post_init__(self) -> None: ... def __repr__(self) -> str: ... + def __str__(self) -> str: ... @staticmethod def validate(mapping: Mapping) -> None: ... diff --git a/src/docstub/_app_generate_stubs.py b/src/docstub/_app_generate_stubs.py index 616f519..7b8be1c 100644 --- a/src/docstub/_app_generate_stubs.py +++ b/src/docstub/_app_generate_stubs.py @@ -4,6 +4,7 @@ """ import logging +import sys import time from collections import Counter from contextlib import contextmanager @@ -276,6 +277,8 @@ def generate_stubs( verbosity=verbosity, group_errors=group_errors ) + logger.debug("Command line args: %s", sys.orig_argv) + root_path = Path(root_path) if root_path.is_file(): logger.warning( @@ -290,6 +293,7 @@ def generate_stubs( config = _load_configuration(config_paths) config = config.merge(Config(ignore_files=list(ignore))) + logger.debug("Fully loaded config:\n%s", config) types, type_prefixes = _collect_type_info( root_path, ignore=config.ignore_files, cache=not no_cache diff --git a/src/docstub/_cli.py b/src/docstub/_cli.py index 41da4cd..6ff6091 100644 --- a/src/docstub/_cli.py +++ b/src/docstub/_cli.py @@ -230,6 +230,8 @@ def clean(verbose, quiet): verbosity = _calc_verbosity(verbose=verbose, quiet=quiet) app.setup_logging(verbosity=verbosity, group_errors=False) + logger.debug("Command line args: %s", sys.orig_argv) + path = app.cache_dir_in_cwd() if path.exists(): try: diff --git a/src/docstub/_config.py b/src/docstub/_config.py index acd44b1..a217870 100644 --- a/src/docstub/_config.py +++ b/src/docstub/_config.py @@ -2,6 +2,7 @@ import logging import tomllib from pathlib import Path +from pprint import pformat from typing import ClassVar logger: logging.Logger = logging.getLogger(__name__) @@ -72,6 +73,9 @@ def __repr__(self) -> str: formatted = f"<{type(self).__name__}: {sources}>" return formatted + def __str__(self) -> str: + return pformat(self.to_dict()) + @staticmethod def validate(mapping): """Make sure that a valid Config can be created from `mapping`. diff --git a/src/docstub/_report.py b/src/docstub/_report.py index 831b1f3..f79f572 100644 --- a/src/docstub/_report.py +++ b/src/docstub/_report.py @@ -228,8 +228,9 @@ class ReportHandler(logging.StreamHandler): level_to_color : ClassVar[dict[int, str]] """ + # Use "safe" colors (https://blog.xoria.org/terminal-colors/) level_to_color = { - logging.DEBUG: "bright_black", + logging.DEBUG: "green", logging.INFO: "cyan", logging.WARNING: "yellow", logging.ERROR: "red",