Still trying to digest.

On Wed, Dec 13, 2023 at 9:31 PM Bart Schaefer <schaefer@brasslantern.com> wrote:
On Wed, Dec 13, 2023 at 5:27 AM Jim <linux.tech.guy@gmail.com> wrote:
>
> The one thing that looks strange about the change is prompt %S and %s, previously
> standout mode, will now mean reverse mode.

The "colors" function should not be conflated with the prompt escapes.
They have almost nothing to do with one another.  Changes to the
function do not affect prompts unless you are using the PROMPT_SUBST
option to interpolate variables defined by "colors".  What's emitted
by the prompt escapes has not changed as a result of any updates to
zsh:

I was associating  the two, thanks for clarifying.

The lack of a firm definition of "standout" is why this change was
made.  Even "italic" remains a bit iffy; from
 https://en.wikipedia.org/wiki/ANSI_escape_code
 3  Italic  Not widely supported. Sometimes treated as inverse or blink.

(That wikipedia page also has some useful color charts, I'd not found
those before.)

Very familiar with this page, but way TLDR all of it. But a great reference.

In any case you're right that the contrib.yo doc should be updated,
but none of your other changes would be correct.

I agree. But something I believe is lacking is the absence of usable predefined
attributes in the color function. bold_color and reset_color are the only ones
even though the color associative array has many others uncommented.
Would another associative array for the user to use be helpful? Something
along the lines of ${attribute[<attribute name>}}

e.g.  attribute[reverse] attribute[no-reverse]
   attribute[bold] attribute[faint] attribute[normal]
   ...

The attached patch is offered as a possible enhancement. It generates
the ANSI code for all uncommented attributes. Some attributes may not
be implemented in the user's prefered terminal emulator but would for
others. VTE derived terminals support most if not all of those in colors.

If the patch is acceptable, I would try to generate the man page additions
and changes. Not that familiar with yodl and the "zsh definitions", but would
be willing to take a stab at it.

Regards,

Jim Murphy