Subject: RE: Zsh observations
From: Michael Schaap <[email-masked]>
To: Andrej Borsenkow <[email-masked]>
Cc: <[email-masked]>, ZSH Workers Mailing List <[email-masked]>
Date: Mon, 09 Jul 2001 21:22:05 +0200

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)

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/