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

RE: Zsh observations



At 19:30 9-7-2001, Andrej Borsenkow wrote:
On Mon, 9 Jul 2001, Michael Schaap wrote:

>
>          % ls -l
>          total 264
>          drwxrwxrwx   32 Administ None         4096 Jun 18 10:36 contrib
>          drwxrwxrwx   57 Administ None         8192 Jun  3 19:25 latest
>          -rwxrwxrwx    1 Administ None       239616 Jul  6 18:16 setup.exe
>          -rw-rw-rw-    1 Administ None        17970 Jul  8 16:53 setup.ini
>
> But remember, I've run
>          % zstyle ':completion::complete:-command-:*' ignored-patterns
> '*.(#i)(exe|dll)'
> on your advice.
> This works fine when running things from the $PATH, after applying your
> patch, but not this way.
>

If you posted the above in your first mail it would no take seven messages
to two lists to find the truth :-)

But I did! Sort of... (I quoted you giving the zstyle example. And, of course, I forgot the "./" in my example. ;-) )

 Always try vanilla zsh first (zsh -f;
autoload -U compinit; compinit). If the problem goes away - try to find
what settings are causing the problem. Not that I always do it myself
:-)))

As Bart said, you need _ignored completer. This makes sure that if only
matches from ignored set are found they are suggested as possible matches:

{tty0}:/tmp/tst> ll
total 2
-rwxr-xr-x    1 user     544             1 Jul  9 17:19 foo.exe*
-rw-r--r--    1 user     544             1 Jul  9 17:19 foo.ini
{tty0}:/tmp/tst> zstyle -L
zstyle ':completion:*' matcher-list 'r:|[.,_-]=* r:|=*'
zstyle ':completion::complete:-command-:*' ignored-patterns '*.(#i)exe'
zstyle ':completion:*' completer _complete _ignored
{tty0}:/tmp/tst> ./foTAB
{tty0}:/tmp/tst> ./foo.exe

Thanks.  This does the trick.



> I guess I'll just stop ignoring exes.  ("Doctor, it hurts when I do this.")
>

I guess, we really should hash just foo for foo.exe and stop messing with
ignored patterns.

Perhaps that would be the best solution. Except that then - just as before your patch - "setopt correct" will misbehave when you run a command in the $PATH without ".exe".
I guess there's no perfect solution for this.

Thanks for your help,

 - Michael (who's now a real zsh convert)



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