Fixes to completions#355
Conversation
| # FIXME: when generating completions via `python -m script completions`, | ||
| # we incorrectly infer `script_name` as `__main__.py` | ||
| script_name = self._io.input.script_name or inspect.stack()[-1][1] | ||
| script_name = self._io.input.script_name or self._get_prog_name_from_stack() |
There was a problem hiding this comment.
did this work for you? ik it works for click, but would need tweaking
what about unifying the logic from the help command, which prefers self._application.name if defined? that feels more consistent and what I would expect:
cleo/src/cleo/commands/base_command.py
Lines 61 to 64 in 7448f55
There was a problem hiding this comment.
I have only tested the _get_prog_name_from_stack method and it has returned the proper module name. Aplication.name is not always good, because you might have your program aliased on shell level (like having pipx installation with suffix).
| f"# {cmd.name}", | ||
| *[ | ||
| f"complete -c {script_name} -A " | ||
| f"-n '__fish_seen_subcommand_from {sanitize(command_name)}' " |
There was a problem hiding this comment.
just to make sure I understand, the syntax error was already fixed here with 6cc808d right? we just haven't had a release since then
There was a problem hiding this comment.
Well, the fix was making '__fish_seen_subcommand_from \'command name\'' entry, while this fix changes it to being '__fish_seen_subcommand_from "command name"' which feels like a more "proper" way to nest quotes.
|
Superseded by #358 |
Closes: #231