Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: glob completion without menu style completion



>   > Is there a way to get it so that when I type
>   >
>   > rmdir *TAB
>   >
>   > the * gets replaced with all the choices that the completion system
>   > returns at that time (i.e., whatever glob pattern I've typed should be
>   > applied to the completion choices rather than to files)?  I don't see
>   > an option to do this.
>   >
>   > This would be so great for commands like cvs add and cvs rm.......
>   >
>
>   . . .
>
>   You are better off if you redefine TAB to simple expand-word like
>
>   bindkey '^I' expand-word
>
>   (that is what I have in my .zshrc), and use _match or _expand completers. I
>   personally do not have much experience with _expand, I use _match. Use them as
>   secondary competer; I use
>
>   zstyle ':completion:*' completer _oldlist _complete _match
>
>   and I get exactly what you want. In general, _match will try to match possible
>   completions (in this case, directory names) against pattern on command line.
>   It will be used if _complete did not generate any completions, that is, no
>   directory that started with '*' existed :-)

Thanks.  I'll study this so I understand exactly what it means and
give it a try.

>   In general, it is always good idea to use plain complete-word with new
>   completion system, because then you have much better control over possible
>   interpretation of patterns.

Do you mean to say that it's better to use expand-word, or are you
indicating here that there is some loss of control over interpretation
of patters by switching to expand-word?  If the latter, is it fully
mitigated by giving the zstyle command you mentioned?  I will need to
look into this in more depth so I can understand the full implications
of switching from complete-word to expand-word...

                                Jay



Messages sorted by: Reverse Date, Date, Thread, Author