zsh-users
 help / color / mirror / code / Atom feed
From: Bart Schaefer <schaefer@brasslantern.com>
To: linuxtechguy@gmail.com
Cc: zsh <zsh-users@zsh.org>
Subject: Re: zsh/nearcolor module usage
Date: Mon, 6 Feb 2023 20:12:35 -0800	[thread overview]
Message-ID: <CAH+w=7b5Oq_hK9SRNtxR7SrHgsxtei8dRezX3FtEAWOMdx6MTg@mail.gmail.com> (raw)
In-Reply-To: <CA+rB6G+PGaYGiOe7UvV4NVofYQ4VrxABFAJVFhyLQw12jMyrpQ@mail.gmail.com>

On Mon, Feb 6, 2023 at 6:54 PM Jim <linux.tech.guy@gmail.com> wrote:
>
> Unless I missed something, which I may have, I didn't see anything about how to
> use it.

It is a bit obscure.

The expansion of prompts section has a cross-reference

       %F (%f)
              Start (stop) using a different foreground colour,  if  supported
              by  the  terminal.  The colour may be specified two ways: either
              as a numeric argument, as normal, or by  a  sequence  in  braces
              following  the  %F, for example %F{red}.  In the latter case the
              values allowed are as described for the fg zle_highlight  attri‐
              bute;  see Character Highlighting in zshzle(1).  This means that
              numeric colours are allowed in the second format also.

In the section on Character Highlighting, we find

       fg=colour
              The  foreground  colour should be set to colour, a decimal inte‐
              ger, the name of one of the eight most widely-supported  colours
              or as a `#' followed by an RGB triplet in hexadecimal format.

And then in the entry for the nearcolor module

       The zsh/nearcolor module replaces colours  specified  as  hex  triplets
       with  the  nearest  colour  in  the  88 or 256 colour palettes that are
       widely used by terminal emulators.

> % print -P '%F{#ABCB8D}text%f'
>
> Question:  Does anyone know any other ways to use nearcolor?  I tried using the
> parameter expansion flag (%) but nothing I tried worked.

Parameter expansion with (%) should work.
  palegreenpants="%F{#ABCB8D}pants%f"
  print -r -- $palegreenpants

> As I said, unless I missed something, it would also seem useful to add a usage
> example to the man page along with how to load the module.

A reference back to prompts and highlighting would be appropriate.

> BTW, not all virtual terminals seem to use the parameter COLORTERM.
> [...]  If using the example in the man page, nearcolor would
> never have loaded for xterm.

That example is not intended to be exhaustive or necessarily even
correct, it's just showing how to load the module only when some
arbitrary condition is true.  It's up to you to figure out the right
condition to test.  I'm not sure how to express that in the text.


  reply	other threads:[~2023-02-07  4:13 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-07  2:53 Jim
2023-02-07  4:12 ` Bart Schaefer [this message]
2023-02-07  4:29   ` Bart Schaefer
2023-02-07  5:10     ` Jim

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='CAH+w=7b5Oq_hK9SRNtxR7SrHgsxtei8dRezX3FtEAWOMdx6MTg@mail.gmail.com' \
    --to=schaefer@brasslantern.com \
    --cc=linuxtechguy@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).