From: Daniel Shahaf <d.s@daniel.shahaf.name>
To: zsh-users@zsh.org
Subject: Re: Most minimal configuration challenge
Date: Mon, 12 Sep 2022 08:59:48 +0000 [thread overview]
Message-ID: <20220912085948.GW5920@tarpaulin.shahaf.local2> (raw)
In-Reply-To: <20220905094734.GC255763@zira.vinc17.org>
Vincent Lefevre wrote on Mon, Sep 05, 2022 at 11:47:34 +0200:
> On 2022-09-04 06:42:24 +0000, Daniel Shahaf wrote:
> > Vincent Lefevre wrote on Fri, Sep 02, 2022 at 16:44:34 +0200:
> > > For instance, "zstyle -L" gives in particular:
> > >
> > > zstyle :urlglobber url-local-schema ftp file
> > > zstyle ':url-quote-magic:*' url-metas '*?[]^(|)~#{}='
> > >
> > > but I can't find any explanation about why it should be ":urlglobber"
> > > and not something else. The man page looks similar for urlglobber and
> > > url-quote-magic, though they look different above.
> >
> > By convention, context patterns are of the form «:foo:…» where «foo»
> > identifies a particular library / module / plugin for namespacing
> > reasons. So, it says ":urlglobber" and not something else because
> > that's what the author of urlglobber named urlglobber.
>
> This is still unclear. The zshcontrib(1) man page says:
>
> zstyle :bracketed-paste-magic paste-finish \
> quote-paste
> zstyle :bracketed-paste-magic:finish quote-style \
> qqq
>
> But I don't see why ":bracketed-paste-magic" is used in the first line
> instead of ":bracketed-paste-magic:*".
The context pattern must match the lookup's context. The lookup of the
paste-finish style in the bracketed-paste-magic plugin are under the
context ":bracketed-paste-magic". The pattern ":bracketed-paste-magic:*"
wouldn't match that context.
> Moreover, I don't see where the context "finish" is described in the
> man pages.
The context element "finish" is specific to the quote-paste helper
function. (That's perhaps not clear from the documentation.) The
possible values of that style are indeed undocumented. Bart?
> > > In the zshmodules(1) man page:
> > >
> > > For example, a fictional `weather' plugin might state in its
> > > documentation that it looks up the preferred-precipitation style
> > > under the `:weather:continent:day-of-the-week:phase-of-the-moon'
> > > context. According to this, you might set the following in your
> > > zshrc:
> > >
> > > zstyle ':weather:europe:*' preferred-precipitation rain
> > > zstyle ':weather:*:Sunday:*' preferred-precipitation snow
> > >
> > > So I would expect the translator to mention "continent",
> > > "day-of-the-week" and "phase-of-the-moon" in its output.
> >
> > The zstyle completion actually does this; try completing
> > «zstyle :vcs_info:<TAB>» or «zstyle :completion:<TAB>».
>
> zstyle :vcs_info:<TAB>
>
> just gives
>
> Completing `context pattern' or `vcs'
>
Here it says «vcs» and offers the various valid values (plus or minus
quilt and hooks, but that's another story).
Under «zsh -f» the various valid values aren't completed until
vcs_info_printsys is callable. Running vcs_info once does the trick.
Presumably _zstyle should «autoload vcs_info_printsys» before calling it.
Could someone test this, please? (I'm ENOTIME.)
> This is not very informative. This is different from the man page,
> which says "vcs-string".
>
Again, I'm ENOTIME, but patches are welcome.
> zstyle :bracketed-paste-magic:<TAB>
>
> is even less informative:
>
> Completing `context pattern'
>
bracketed-paste-magic styles should /not/ be completed at this point.
Styles used by the quote-paste helper function /should/ be completed at
that point. So, the problem is just that _zstyle doesn't know about the
styles used by that helper function.
_zstyle could be taught about bracketed-paste-magic and quote-paste…
… but it doesn't scale for _zstyle to know about any random zstyle-using
thing. For instance, a third party plugin that looks up zstyles might
want implement completion for them. It'd be a lot easier to do that if
_zstyle would, say, delegate to «_zstyle-foo» for completion related to
contexts of the form (:foo|:foo:*), and that function were implemented
by by the foo (possibly third-party) plugin.
> With "ls -<TAB>", I get a list of possible options together with
> a short explanation. I would expect something like that with
> "zstyle :completion:<TAB>" rather than just a list of the possible
> completions.
Patches welcome. See _zstyle and _describe.
Cheers,
Daniel
next prev parent reply other threads:[~2022-09-12 9:01 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-27 4:30 Felipe Contreras
2022-08-27 16:10 ` Daniel Shahaf
2022-08-27 19:32 ` Vincent Bernat
2022-08-27 20:04 ` Lawrence Velázquez
2022-08-27 23:53 ` Ray Andrews
2022-08-28 7:53 ` zzapper
2022-08-28 10:30 ` Daniel Shahaf
2022-08-28 13:59 ` Ray Andrews
2022-08-28 18:29 ` Daniel Shahaf
2022-08-31 9:28 ` Vincent Lefevre
2022-08-31 14:17 ` Ray Andrews
2022-09-01 21:52 ` Felipe Contreras
2022-09-02 1:41 ` Lawrence Velázquez
2022-09-02 1:26 ` Lawrence Velázquez
2022-09-02 1:49 ` Felipe Contreras
2022-09-02 5:40 ` Lawrence Velázquez
2022-09-02 7:38 ` Felipe Contreras
2022-09-02 10:36 ` Daniel Shahaf
2022-09-02 14:26 ` Ray Andrews
2022-09-04 7:13 ` Daniel Shahaf
2022-09-04 16:30 ` Ray Andrews
2022-09-02 10:39 ` [PATCH] zstyle: Correct and expand docs (was: Re: Most minimal configuration challenge) Daniel Shahaf
2022-09-02 15:05 ` Bart Schaefer
2022-09-04 6:51 ` Daniel Shahaf
2022-09-02 13:55 ` Most minimal configuration challenge Ray Andrews
2022-09-04 7:21 ` Daniel Shahaf
2022-09-04 16:34 ` Ray Andrews
2022-09-02 13:32 ` Ray Andrews
2022-09-04 7:28 ` Daniel Shahaf
2022-09-02 9:53 ` Daniel Shahaf
2022-09-02 9:26 ` Daniel Shahaf
2022-09-02 14:44 ` Vincent Lefevre
2022-09-04 6:42 ` Daniel Shahaf
2022-09-05 9:47 ` Vincent Lefevre
2022-09-12 8:59 ` Daniel Shahaf [this message]
2022-08-28 18:58 ` Bart Schaefer
2022-08-28 19:23 ` Felipe Contreras
2022-08-28 19:35 ` Ray Andrews
2022-08-28 18:57 ` Felipe Contreras
2022-09-02 1:36 ` Vincent Lefevre
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=20220912085948.GW5920@tarpaulin.shahaf.local2 \
--to=d.s@daniel.shahaf.name \
--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).