4

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 Answer 1

7
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).

Sign up to request clarification or add additional context in comments.

2 Comments

What does CURRENT+=2 do? (this is working for me, just trying to grok)
@skarface CURRENT is the current word being handled, and that increases it by 2 (because we inject them: from ggl (1 word) to git pull origin (3 words)).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.