You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
\e[9m: crossed-out (characters still legible but marked as to be deleted)
\e[20m: Fraktur (Gothic)
\e[21m: doubly underlined
\e[51m: framed
\e[52m: encircled
\e[53m: overlined
\e[60m: ideogram underline or right side line
\e[61m: ideogram double underline or double line on the right side
\e[62m: ideogram overline or left side line
\e[63m: ideogram double overline or double line on the left side
\e[64m: ideogram stress marking
I tested those flags in various terminal emulators:
Terminal emulator
\e[3m
\e[6m
\e[9m
\e[21m
\e[53m
Windows Terminal
✅ Yes
✅ Yes
✅ Yes
✅ Yes
✅ Yes
GNOME Terminal
✅ Yes
✅ Yes
✅ Yes
✅ Yes
✅ Yes
Konsole
✅ Yes
❌ No
✅ Yes
✅ Yes
✅ Yes
Visual Studio Code
✅ Yes
❌ No
✅ Yes
✅ Yes
✅ Yes
kitty
✅ Yes
❌ No
✅ Yes
✅ Yes
❌ No
xterm
✅ Yes
❌ No
✅ Yes
✅ Yes
❌ No
Alacritty
✅ Yes
❌ No
✅ Yes
❌ No
❌ No
iTerm2
✅ Yes
❌ No
✅ Yes
❌ No
❌ No
Termux
✅ Yes
❌ No
✅ Yes
❌ No
❌ No
Terminal.app
✅ Yes
❌ No
❌ No
❌ No
❌ No
Linux virtual console
✅ Yes
❌ No
❌ No
✅ Yes
❌ No
(The Linux virtual console does not actually render those flags as such, instead it merely recolors text. Also it supports \e[12m (second alternative font) for some reason.)
The flags not shown in the table are not supported by any of these emulators, so I assume they are truly too obscure. For the flags that are shown we should define additional values in Colorize::Mode:
As suggested in https://forum.crystal-lang.org/t/italic-mode-not-supported-in-colorize/5890, several SGR codes from ECMA 48 are not defined in the
Colorize::Mode
enum yet, presumably because they weren't widely supported. The flags that don't simply cancel other flags' effects are:\e[3m
: italicized\e[6m
: rapidly blinking (150 per minute or more)\e[9m
: crossed-out (characters still legible but marked as to be deleted)\e[20m
: Fraktur (Gothic)\e[21m
: doubly underlined\e[51m
: framed\e[52m
: encircled\e[53m
: overlined\e[60m
: ideogram underline or right side line\e[61m
: ideogram double underline or double line on the right side\e[62m
: ideogram overline or left side line\e[63m
: ideogram double overline or double line on the left side\e[64m
: ideogram stress markingI tested those flags in various terminal emulators:
\e[3m
\e[6m
\e[9m
\e[21m
\e[53m
(The Linux virtual console does not actually render those flags as such, instead it merely recolors text. Also it supports
\e[12m
(second alternative font) for some reason.)The flags not shown in the table are not supported by any of these emulators, so I assume they are truly too obscure. For the flags that are shown we should define additional values in
Colorize::Mode
:The text was updated successfully, but these errors were encountered: