Rework complete command for Commander#125
Open
shadowspawn wants to merge 3 commits into
Open
Conversation
…ommands, and remove need to monkeypatch parse+parseAsync
|
Contributor
Author
|
This is the UX experience with the tab-style combo % my-cmd --help
Usage: my-cmd [options] [command]
Options:
-V, --version output the version number
-h, --help display help for command
Commands:
serve [options] Start the server
complete [shell] Generate shell completion scripts
help [command] display help for command
% my-cmd complete --help
Usage: my-cmd complete [options] [shell]
Generate shell completion scripts
Arguments:
shell shell type (choices: "zsh", "bash", "fish", "powershell")
Options:
-h, --help display help for command
% my-cmd complete
error: missing required argument 'shell'
% my-cmd complete x
error: command-argument value 'x' is invalid for argument 'shell'. Allowed choices are zsh, bash, fish, powershell.This is the UX experience with a custom name ( % my-cmd --help
Usage: my-cmd [options] [command]
Options:
-V, --version output the version number
-h, --help display help for command
Commands:
serve [options] Start the server
completion <shell> Generate shell completion scripts
help [command] display help for command
% my-cmd complete --help
Usage: my-cmd complete complete -- [args...]
Generate completion suggestions
Options:
-h, --help display help for command
% my-cmd completion --help
Usage: my-cmd completion [options] <shell>
Generate shell completion scripts
Arguments:
shell Shell type for completion script (choices: "zsh", "bash", "fish", "powershell")
Options:
-h, --help display help for command
% my-cmd completion
error: missing required argument 'shell'
% my-cmd completion x
error: command-argument value 'x' is invalid for argument 'shell'. Allowed choices are zsh, bash, fish, powershell. |
commit: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Rework Commander framework implementation to remove need to monkeypatch
.parse()+.parseAsync(), and optionally allow separate complete and completion commands. Commander allows customising name of other built-in commands and options likeversionandhelp.With separate commands, can show correct user facing syntax
completion <shell>and not need to detect difference between completion (complete <shell>) and complete (complete -- [args]).If maintainers ok with this approach, I'll mention the customisation option in the README.