Skip to content
Merged
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,9 @@ docstr-coverage some_project/src

#### Options

- _--output=\<type\>, -o \<type\>_ - Set output style (default text)
- text - Output in simple style.
- markdown - Output in Markdown notation.
- _--skip-magic, -m_ - Ignore all magic methods (except `__init__`)
- _--skip-init, -i_ - Ignore all `__init__` methods
- _--skip-file-doc, -f_ - Ignore module docstrings (at the top of files)
Expand Down
17 changes: 15 additions & 2 deletions docstr_coverage/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
from docstr_coverage.config_file import set_config_defaults
from docstr_coverage.coverage import analyze
from docstr_coverage.ignore_config import IgnoreConfig
from docstr_coverage.printers import LegacyPrinter
from docstr_coverage.printers import LegacyPrinter, MarkdownPrinter


def do_include_filepath(filepath: str, exclude_re: Optional["re.Pattern"]) -> bool:
Expand Down Expand Up @@ -261,6 +261,15 @@ def _assert_valid_key_value(k, v):
default=".docstr_coverage",
help="Deprecated. Use json config (--config / -C) instead",
)
@click.option(
"-o",
"--output",
type=click.Choice(["text", "markdown"]),
default="text",
help="Formatting style of the output (text, markdown)",
show_default=True,
metavar="FORMAT",
)
def execute(paths, **kwargs):
"""Measure docstring coverage for `PATHS`"""

Expand Down Expand Up @@ -328,7 +337,11 @@ def execute(paths, **kwargs):
show_progress = not kwargs["percentage_only"]
results = analyze(all_paths, ignore_config=ignore_config, show_progress=show_progress)

LegacyPrinter(verbosity=kwargs["verbose"], ignore_config=ignore_config).print(results)
if kwargs["output"] == "markdown":
printer = MarkdownPrinter(results, verbosity=kwargs["verbose"], ignore_config=ignore_config)
else:
printer = LegacyPrinter(results, verbosity=kwargs["verbose"], ignore_config=ignore_config)
printer.print()

file_results, total_results = results.to_legacy()

Expand Down
2 changes: 1 addition & 1 deletion docstr_coverage/coverage.py
Original file line number Diff line number Diff line change
Expand Up @@ -213,7 +213,7 @@ def get_docstring_coverage(
ignore_names=ignore_names,
)
results = analyze(filenames, ignore_config)
LegacyPrinter(verbosity=verbose, ignore_config=ignore_config).print(results)
LegacyPrinter(results, verbosity=verbose, ignore_config=ignore_config).print()
return results.to_legacy()


Expand Down
Loading