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

Re: Completion in pwd before subdirecories

On Dec 15,  7:56pm, Oliver Kiddle wrote:
} It has never seemed ideal to me that, for example, gunzip completion
} will complete a directory called dir.gz even if the user has
} directories after files in their file-patterns style. Ideally we should
} tidy things up from the completion functions and not expect user's to
} set the file-patterns style for every command.
} For the majority of commands we use something like _files -g '*.gz' to
} specify a filename extension. These should ideally not match
} directories.

So why aren't we using "_files -g '*.gz(.)'" in that case?

The most general case is that we want globs to match both directories and
files.  If the user is actually completing (rather than expanding) a word
containing a glob pattern, in the absence of other info (such as that gzip
can't inflate a directory) I'd think the user expectation is that all the
matches get lumped together.

It's quite possible that I'm still missing something, though.

} One option might be for _files to add the (^-/) when substituting
} %p and to add a -/g option to suppress this when the glob should also
} match directories.

I'm not convinced that this wouldn't amount to coding for a fringe case
and turning the most common situation into an option.

} We could even have other escapes in addition to %p which give the user
} more control. A user who relies on _next_tags to get at directories
} may want explicitly globbed directories first for commands like chown.

I agree in principle with that, though.

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