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

Re: feature request: special completion of glob patterns



On Aug 8,  5:25pm, Adam Spiers wrote:
> 
> Ideally, I would like the following completion behaviour (assuming
> baz.txt is the only file in foo1/bar):
> 
>   $ diff -u foo[12]/bar/b<TAB>
>   $ diff -u foo[12]/bar/baz.txt

This is very similar to the keep-prefix style, and I believe there was
some discussion in that thread of handling something like this.  You may
even be able to figure out a way to do it by looking for keep-prefix in
the _expand completer.

Trying out a couple of things has led me to find the following oddities:

zsh% x='foo[12]'
zsh% diff -u ${~x}/b<TAB>
zsh% diff -u ${~x}/foo/bar
                      ^
                      cursor here

It's behaving as if $~x expanded to ".".  This is with the _expand completer
and the keep-prefix style set to true.

The other is that the _expand completer seems to trigger menu-completion
even when I have explicitly turned it off.  I removed all references to
"menu" or "select" from my styles, I'm using the complete-word widget, and
I have automenu turned off, yet after `zsh/S*<TAB>' I still end up with a
menu completion cycling through zsh/Src, zsh/StartupFiles, and zsh/S*
(because I have the original style set).  I expected it just to list the
completions and feep.

I realize, looking back through the history of _expand, that it has always
been this way, and I simply never noticed because I usually have automenu
set.  Nevertheless it seems to me that there ought to be some way to turn
it off.



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