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?

Peter Stephenson wrote:

paxunix wrote:
Why does zsh have to glob every directory along a pathname in order to find completions within the final directory? For example, take this case:

/one/two/three/four <TAB>

If I set -x, the output after hitting TAB shows zsh retrieves all the subdirectories within one, two, three and four.

It's looking for /oneandabit/twoandabit/threeandabit/four... etc.

I certainly agree it should be possible to turn this off but the
function that implements this is very hairy and full of calls to poorly
documented shell internals.

The documentation in the zshcompsys manual page suggests setting

 zstyle ':completion:*:paths' accept-exact true

or maybe (I'm not quite sure what the entry means and the implementation
is obscure)

 zstyle ':completion:*:paths' accept-exact '*'

If neither works, I would definitely interpret that as a bug.

I'm afraid vagueness is the order of the day since the author hasn't
been seen in these parts for ages.  Maybe Oliver knows more.

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!

Shawn Halpenny

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