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

Re: Completion... but only for the extension part

On 7/31/22, Thomas Lauer <thomas.lauer@xxxxxxxxxx> wrote:
> Sorry if this is in the Fine Manual but I couldn't find it (and googling
> also brought no great enlightenment).
> I have directories with many files in them which all have rather long
> extensions (12+ chars). There can be quite a few separate extensions,
> say "*.winter-music" or "*.spanish-photos"... you get the idea.
> So, often I want to complete filenames as normal but sometimes I want to
> limit completion to files with just one specific extension, say
> "*.indonesian-videos". So... I'd like to type "*.indo" and then press
> <whatever> to get "*.indonesian-videos" which in its turn will complete
> only those files. The problem is the <whatever> bit... or rather a
> function that does that and can be bound to <whatever>. Do I have to
> write such a function or is there something in the completion system
> that will do this OOTB?

There is _extensions, you probably want it on a separate keybind from
normal completion, look at the _all_matches entry for an example of
how to do that.

https://www.zsh.org/mla/workers/2014/msg00230.html is the thread for
the patch that adds _extensions if you're curious.

Mikael Magnusson

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