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

Re: region_highlight converts `fg=default` to `none`, which is not the same



On Fri, 23 Oct 2020 at 02:28, Daniel Shahaf <d.s@xxxxxxxxxxxxxxxxxx> wrote:
You haven't explained why you think it's zle that does the conversion.
For starters, what's the output of `tput smso | xxd` and `tput rev |
xxd`?  Here they print the same value, even though \e[3m; does
italicize.  (Plain xterm on Debian.)

Ah, my bad. I assumed `region_highlight` handled visual formatting similarly to how `complist` and prompt expansion handle them, and assumed that the exact same names used in the `colors` function meant the same thing. I'm sure many other Zsh end users will assume the same. It would be great if all four of those could be made consistent with each other.

On Fri, 23 Oct 2020 at 11:08, Roman Perepelitsa <roman.perepelitsa@xxxxxxxxx> wrote:
Previous discussion about standout, italized and negative image:
https://www.zsh.org/mla/workers/2019/msg01189.html.

Thanks for the link. Did that discussion ever result in a patch? It looks like you never got an answer to [your question](https://www.zsh.org/mla/workers/2019/msg01191.html):

Shall I send a patch? I'd love to have this feature.

I'd love to have `region_highlight` just accept and pass through unmodified all ECMA-48 SGR parameter values. (See http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-048.pdf, page 61.) It is a standard, after all.

I feel like routing this through `ncurses` is not only unnecessary (since we have a standard for this); it's also problematic. For many terminals, there is a significant lag between their last release and the last time their `terminfo` entry in `ncurses` got updated. (The entry for macOS's Terminal.app, for example, is already 3 years old and you get better results from `ncurses` by letting Terminal.app declare itself as being `xterm-256color`, rather than relying on the `nsterm` entry.) Rather than using `ncurses` for this, I'd rather see the principle of ["graceful degradation"](https://en.wikipedia.org/wiki/Fault_tolerance) be applied here and let the terminal itself handle (that is, ignore) those SGR parameter values that it does not support.



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