问题
How can I setup completion for a function, based on existing completion definitions and default arguments.
A simplified example (which could be rewritten as an alias):
gpl() {
git pull origin $@
}
This should have the same completion as after git pull origin
.
回答1:
compdef -e 'words[1]=(git pull origin); service=git; (( CURRENT+=2 )); _git' ggl
This massages the $words
, $service
and $CURRENT
vars used by the completion system, and then calls the _git
completion function.
(Thanks to Mikachu on #zsh).
来源:https://stackoverflow.com/questions/27226716/custom-zsh-completion-for-a-function-based-on-default-arguments