Fix zsh completion for commands which output is influenced by the permissions it is run with. #2131
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 originates from when using
nerdctl
(which built its CLI with cobra), the auto-completion will not work for unprivileged users, even if they have sudo permission and are trying to tab out the command withsudo
prefix.For example,
sudo nerdctl <tab>
will fallback to file completion. That is because the hiddennerdctl __complete ""
is run without sudo permission under the hood and fails.This patch will enable the correct permission to be passed to the underlying hidden
__complete
command, thus correctly handling the case for commands which output is influenced by the permissions it is run with.Currently, this fix is only available to zsh. And I have put it behind a switch that defaults to false.
Before
After