Use cmd.Name
when generating completion script
#2012
Merged
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.
This PR fixes a bug in completion scripts when the binary is called in any other way than by simply typing its name. Examples:
When installing my program
emu
with Homebrew,os.Args[0]
is/opt/homebrew/Cellar/emu/0.2.16/bin/emu
.When running my program
emu
like this:./emu
, thenos.Args[0]
is./emu
.This breaks the completion script.
I think using root command's
cmd.Name
is a good way to fix it.Also discussed here