Source code for help2man.external.shtab.__main__

#!/usr/bin/env python
"""This module can be called by
`python -m <https://docs.python.org/3/library/__main__.html>`_
to check if it imports any variable don't owned by any true module.

Call ``--print-completion`` will warn when shtab is not installed.

https://github.com/iterative/shtab/blob/95b0e3092cd4dcf1ac2871d44cebda01a89992df/shtab/__init__.py#L786-L789
"""
from argparse import Action, ArgumentParser
from typing import Any, NoReturn

FILE = None
DIRECTORY = DIR = None


class _PrintCompletionAction(Action):
    """Print completion action."""

    def __call__(
        self,
        parser: ArgumentParser,
        namespace: Any,
        values: Any,
        option_string: str | None = None,
    ) -> NoReturn:
        """__call__

        :param parser:
        :type parser: ArgumentParser
        :param namespace:
        :type namespace: Any
        :param values:
        :type values: Any
        :param option_string:
        :type option_string: str | None
        :rtype: NoReturn
        """
        print("Please install shtab firstly!")
        parser.exit(0)


[docs]def add_argument_to( parser: ArgumentParser, *args: Any, **kwargs: Any ) -> ArgumentParser: """Add completion argument to parser. :param parser: :type parser: ArgumentParser :param args: :type args: Any :param kwargs: :type kwargs: Any :rtype: ArgumentParser """ Action.complete = None # type: ignore parser.add_argument( "--print-completion", choices=["bash", "zsh", "tcsh"], action=_PrintCompletionAction, help="print shell completion script", ) return parser
if __name__ == "__main__": from ..__main__ import main_once as _main _main(__file__, vars())