Unverified Commit 706f123b authored by Harry Mellor's avatar Harry Mellor Committed by GitHub
Browse files

[Docs] Use definition lists for CLI reference docs (#33186)


Signed-off-by: default avatarHarry Mellor <19981378+hmellor@users.noreply.github.com>
Co-authored-by: default avatarAshwin Phadke <23502062+ashwin-phadke@users.noreply.github.com>
parent fb7abfc1
...@@ -4,6 +4,7 @@ import importlib.metadata ...@@ -4,6 +4,7 @@ import importlib.metadata
import importlib.util import importlib.util
import logging import logging
import sys import sys
import textwrap
import traceback import traceback
from argparse import SUPPRESS, Action, HelpFormatter from argparse import SUPPRESS, Action, HelpFormatter
from collections.abc import Iterable from collections.abc import Iterable
...@@ -152,22 +153,21 @@ class MarkdownFormatter(HelpFormatter): ...@@ -152,22 +153,21 @@ class MarkdownFormatter(HelpFormatter):
heading_md = f"{self._argument_heading_prefix} {option_strings}\n\n" heading_md = f"{self._argument_heading_prefix} {option_strings}\n\n"
self._markdown_output.append(heading_md) self._markdown_output.append(heading_md)
if choices := action.choices: if action.choices or isinstance(action.metavar, (list, tuple)):
choices = f"`{'`, `'.join(str(c) for c in choices)}`" choices_iterable = action.choices or action.metavar
self._markdown_output.append(f"Possible choices: {choices}\n\n") choices = f"`{'`, `'.join(str(c) for c in choices_iterable)}`"
elif (metavar := action.metavar) and isinstance(metavar, (list, tuple)): self._markdown_output.append(f": Possible choices: {choices}\n\n")
metavar = f"`{'`, `'.join(str(m) for m in metavar)}`"
self._markdown_output.append(f"Possible choices: {metavar}\n\n")
if action.help: if action.help:
self._markdown_output.append(f"{action.help}\n\n") help_dd = ":" + textwrap.indent(action.help, " ")[1:]
self._markdown_output.append(f"{help_dd}\n\n")
# None usually means the default is determined at runtime # None usually means the default is determined at runtime
if (default := action.default) != SUPPRESS and default is not None: if (default := action.default) != SUPPRESS and default is not None:
# Make empty string defaults visible # Make empty string defaults visible
if default == "": if default == "":
default = '""' default = '""'
self._markdown_output.append(f"Default: `{default}`\n\n") self._markdown_output.append(f": Default: `{default}`\n\n")
def format_help(self): def format_help(self):
"""Return the formatted help as markdown.""" """Return the formatted help as markdown."""
......
...@@ -108,6 +108,7 @@ plugins: ...@@ -108,6 +108,7 @@ plugins:
markdown_extensions: markdown_extensions:
- attr_list - attr_list
- def_list
- md_in_html - md_in_html
- admonition - admonition
- pymdownx.details - pymdownx.details
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment