From: Oliver Kiddle <opk@zsh.org>
To: "Peter Slížik" <peter.slizik@gmail.com>
Cc: Zsh Users <zsh-users@zsh.org>
Subject: Re: Tweaking the completion engine to prefer some completions
Date: Tue, 13 Jul 2021 14:00:14 +0200 [thread overview]
Message-ID: <35517-1626177614.172306@tY6Q.TYg-.r6yl> (raw)
In-Reply-To: <CAC-uhUA9=TxbPKup6GwhqBEj=Sf7Q9qHwq7mqwLp2XRfo7EZWg@mail.gmail.com>
Peter Slížik wrote:
>
> I have a few applications installed on my system, with their names sharing a
> common prefix.
> Now as the apps are company-specific, let me invent some contrived names:
>
> messageedit, messageview, messageformat, messagesend, you've got the idea.
>
> Now, in may daily work, I'm using only one of them: messageedit. The other are
> used... well, almost never.
>
> Now, if I type mess<Tab>, the name gets completed to message and the completion
> engine waits for further input.
>
> I would like to tweak the completion in such a way the typing mess<Tab>
> completes the input to messageedit and ignores the other possible apps.
>
> Can this be done in a positive way (by naming the preferred application) or in
> a negative fashion (by prohibiting all unwanted completions)?
You can do this with the ignored-patterns style. On the surface, this
works in the negative sense, e.g.:
zstyle ':completion:*:commands' ignored-patterns messageview messageformat messagesend
But you can use a pattern to turn this around into a positive form, e.g:
zstyle ':completion:*:-command-:*:commands' ignored-patterns 'mess(^ageedit)'
If you still occasionally want to complete the others, you may want to
look into the _ignored completer to complete them as a fallback if you
have entered a longer prefix.
In the second example, I used a more specific context which will only
apply in command position. You can vary that depending on the contexts
in which you want it to apply.
Oliver
next prev parent reply other threads:[~2021-07-13 12:01 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-07-13 10:01 Peter Slížik
2021-07-13 12:00 ` Oliver Kiddle [this message]
2021-07-13 16:41 ` Peter Slížik
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=35517-1626177614.172306@tY6Q.TYg-.r6yl \
--to=opk@zsh.org \
--cc=peter.slizik@gmail.com \
--cc=zsh-users@zsh.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/zsh/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).