diff --git a/src/git_draft/prompt.py b/src/git_draft/prompt.py index 036ba8e..3b83d19 100644 --- a/src/git_draft/prompt.py +++ b/src/git_draft/prompt.py @@ -84,6 +84,7 @@ def _load_layouts() -> Mapping[str, str]: class _Context(TypedDict): prompt: Mapping[str, str] + program: PromptName toolbox: Toolbox @@ -167,7 +168,7 @@ def render(self, args: Sequence[str]) -> str: try: opts = docopt.docopt(self._doc, list(args)) except docopt.DocoptExit as exc: - raise ValueError(f"Invalid template arguments: {args}") from exc + raise ValueError(f"Invalid template arguments\n{exc}") from exc return self._template.render({**self._context, "opts": opts}) @@ -185,7 +186,11 @@ def _load_prompt( rel_path = Path(f"{name}.{_extension}") assert env.loader, "No loader in environment" template = env.loader.load(env, str(rel_path)) - context: _Context = dict(prompt=_load_layouts(), toolbox=toolbox) + context: _Context = dict( + program=name, + prompt=_load_layouts(), + toolbox=toolbox + ) try: module = template.make_module(vars=cast(dict, context)) except jinja2.TemplateError as exc: diff --git a/src/git_draft/prompts/add-docstrings.jinja b/src/git_draft/prompts/add-docstrings.jinja index b102755..c0a9d42 100644 --- a/src/git_draft/prompts/add-docstrings.jinja +++ b/src/git_draft/prompts/add-docstrings.jinja @@ -4,7 +4,7 @@ Add docstrings to one or more public symbols Usage: - add-docstrings [--path PATH] [--symbol SYMBOL] + {{ program }} [--path PATH] [--symbol SYMBOL] Options: --path PATH Path to (Python) file where docstrings should be added. If diff --git a/src/git_draft/prompts/add-test.jinja b/src/git_draft/prompts/add-test.jinja index cea0371..8dd4207 100644 --- a/src/git_draft/prompts/add-test.jinja +++ b/src/git_draft/prompts/add-test.jinja @@ -4,7 +4,7 @@ Add tests for a symbol Usage: - add-test --symbol NAME [--src-path PATH] [--test-path PATH] + {{ program }} --symbol NAME [--src-path PATH] [--test-path PATH] Options: --symbol NAME Name of the symbol to be tested.