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

Re: How to get faster completion if I make zsh assume what I've typed so far is correct?



Thorsten Kampe wrote:
> * paxunix (2004-04-07 12:41 +0100)

> >> The latter works perfectly.  The situation is even more pronounced on 
> >> zsh under Cygwin, where completing a path with 
> >> /cygdrive/<drive-letter> will cause your floppy drive to be accessed 
> >> every time you attempt a new completion.  The accept-exact '*' 
> >> resolves this issue wonderfully.  Many thanks!

For just resolving the /cygdrive/<drive-letter> problem, it might be
better to use something like: accept-exact '[acdef]'
just list all your drive letters. That will limit the scope of the
style more than '*'.

> > There are a couple of very annoying issues with this solution:  
> > ambiguous matches are not cycled through correctly and it is impossible 
> > to complete some pathnames.

That's because it is enabling accept-exact for the last component and
not just the earlier path components.

I don't know of any way to get this to work properly (short of digging
into the C source for compfiles). It really ought to be possible to
disable the partial completion.

> Try "zstyle ':completion:*:paths' accept-exact continue"

That won't help. It would just affect directories named `continue'. The
value `continue' is a feature of the _expand completer so should be used
with a context like ':completion:*:expand:*'. It allows both completions
and expansions to be offered in the case of exact ambiguous matches.

Oliver



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