Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: alias of completion
- X-seq: zsh-users 23196
- From: m0viefreak <m0viefreak.cm@xxxxxxxxxxxxxx>
- To: zsh-users@xxxxxxx
- Subject: Re: alias of completion
- Date: Fri, 2 Mar 2018 13:08:09 +0100
- Cc: Pier Paolo Grassi <pierpaolog@xxxxxxxxx>
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20161025; h=subject:to:references:cc:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=KgkSqHBWY9Hr7ZQeQo00QyRY1xQkJIsQ+rboKhthIHQ=; b=gXJmF/PfpEkNerOhaO1B3jAOIFH0KYgjyw9U998a+SzyVuXLo8tjY7Rg/Jp3xRRXIe /noxXCHYSVvj2RrbE7dQ8CTZCFd91DokHIdEgS5Q2r9jUSfR/5hIeEasla0OHIWccVVm T135+yC6R8+8TqQkW2QQOdjDWjwIPuxg9yPJs42qTamUqQQ5Ep0pIpuI454RO/oKgLUU tneuyKcmqBUEvv8J0IMHVR7zB5md70GgI8VjSZ+Rd40goQhWYDphdB8De1kbzr0OVz7r wJGKRlqdm018UmHnJ/syoVsEh+xtc6aH56rJ8GRZymqRwmZg0JhOC7UMKEVhH+DHxlKN FuPQ==
- In-reply-to: <CAP+y1xCmn1bDmajXY39N=TOgdRbjGLdGVMJrUPnpq_--6+3QFA@mail.gmail.com>
- List-help: <mailto:zsh-users-help@zsh.org>
- List-id: Zsh Users List <zsh-users.zsh.org>
- List-post: <mailto:zsh-users@zsh.org>
- List-unsubscribe: <mailto:zsh-users-unsubscribe@zsh.org>
- Mailing-list: contact zsh-users-help@xxxxxxx; run by ezmlm
- References: <CAP+y1xCmn1bDmajXY39N=TOgdRbjGLdGVMJrUPnpq_--6+3QFA@mail.gmail.com>
On 02.03.2018 10:31, Pier Paolo Grassi wrote:
> Hello guys, I just joined the list but I have been a zsh enthusiast for 15
> years and since I discovered it it's always been the best work enviroment I
> ever had.
> One thing I was never been able to accomplish though, is: what if I want a
> custom function, say:
>
> mydockerwrapper(){}
>
> behave, for completion's sake, like, let's say:
>
> docker ls
>
> so that if I try to complete after
>
> mydockerwrapper <TAB>
>
> I get the same suggestion that I would get after docker ls, and if I have
>
> mydockerwrapper xx <TAB>
>
> I get the same completion that I would get after docker ls xx, and so on.
>
> -what I tried-
>
> I know that the completion function for the docker command is _docker, and
> that I could associate my function to this completion function with
>
> compdef _docker mydockerwrapper
>
> but it doesn't seem possibile to pass one default argument to the
> completion function in this way.
>
> So I tried defining my own completion function, and add one argument and
> pass it to the _docker function, but I got stuck on this one.
>
> I'm sure this must be very easy to do in zsh, I just can't figure out how..
> maybe someone can help me out?
>
> thanks, happy coding everyone!
>
>
You could modify CURRENT and words in a custom completion function and
then just call _normal ("docker ls" is one word more than
"mydockerwrapper"):
_mydockerwrapper() {
((CURRENT++))
words=(docker ls "${words[@]:1}")
_normal
}
compdef _mydockerwrapper mydockerwrapper
Messages sorted by:
Reverse Date,
Date,
Thread,
Author