Hello Peter, thank you for your suggestion. Following it I was able to write: compdef _docker xy=_docker_image_commands that kind of work for the first word, the problem is that the second word is not completed correctly since it tries again to use _docker_image_commands instead of whaterver it should have called. The only functions defined inside the file that /usr/share/zsh/vendor-completions/_docker match the word image are: __docker_complete_images __docker_complete_images_filters __docker_image_commands __docker_image_subcommand so there isn't a more general completion function like _docker_image that takes care of the completion for docker image [xx [yy]...], but there are various functions called from __docker_subcommand inspecting the array $words. What I would need, I think, is the ability to populate from another completion function this array adding as first argument the value "image", so that: compadd _docker mydockerwrapper=docker would make __docker_subcommand behave as if the command line contained not only "docker" but "docker image", something like: compadd _docker mydockerwrapper="docker image" that is obviously wrong because "docker image" it is not a correct service name, I wrote it just to illustrate my point 2018-03-02 11:51 GMT+01:00 Peter Stephenson : > From: Peter Stephenson > To: Pier Paolo Grassi > Cc: zsh-users@zsh.org > Subject: Re: alias of completion > Date: Fri, 2 Mar 2018 10:47:34 +0000 > X-Mailer: Claws Mail 3.13.2 (GTK+ 2.24.30; x86_64-pc-linux-gnu) > Organization: SCSC > > On Fri, 2 Mar 2018 10:31:57 +0100 > Pier Paolo Grassi wrote: > > 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 > > > > I get the same suggestion that I would get after docker ls, and if I > > have > > > > mydockerwrapper xx > > > > I get the same completion that I would get after docker ls xx, and > > so on. > > You need a bit of help from the completion function in > question to do this. The feature in question is "services": I just > looked at the docker completion and it does support this. > > You'll need to do something like > > compdef _docker mydockerwrapper=docker_service_complete_ls_filters > > where the thing on the right of the "=" is an appropriate docker > completion function without the "_" (search for _$service for the code > in _docker supporting this). > > pws > -- Pier Paolo Grassi email: pierpaolog@gmail.com linkedin: https://www.linkedin.com/in/pier-paolo-grassi-19300217 fondatore: https://www.meetup.com/it-IT/Machine-Learning-TO