optimizing support for the default theme (Monokai Extended).
"optimizing" = every token class uses a different color.
optimizing support for at least one of the themes that use the terminal's 16 customizable colors (ansi, base16, base16-256).
I managed to optimize ansi, was unable to do so for base16 (but it has improved), base16-246 is broken.
have pathnames be colorized on most themes.
this was a relatively recent addition and I hadn't optimized for this.
not breaking any of the themes that were previously ok.
which I achieved, while also making quite a few themes usable that weren't before.
What follows is a side-by-side diff of the color changes for every theme. Left is before, right is after. Dark themes go first, light themes last.
The images include italics. But for each theme that shows italics there's also a (default) version without italics, just run bat without --italic-text.
Emoji key:
:arrow_up: = critical improvement, from unusable to optimized
:arrow_upper_right: = slight improvement
:arrow_right: = mostly equivalent, no difference in terms of "optimal support".
including themes that only added support for pathnames, which was easy enough to do
:no_entry_sign: = unusable theme
often because one of options, arguments or headings is not colorized; or options = headings.
Monokai Extended :arrow_upper_right:
ansi :arrow_up:
1337 :arrow_right:
Coldark-Dark :arrow_right:
DarkNeon :arrow_right: :no_entry_sign:
options not colorized.
Dracula :arrow_right:
Monokai Extended Bright :arrow_upper_right:
headings = pathnames, but at least now headings != arguments. pathnames are infrequent.
Monokai Extended Origin :arrow_upper_right:
Nord :arrow_right: :no_entry_sign:
subcommands & pathnames not colorized.
OneHalfDark :arrow_up:
Solarized (dark) :arrow_right:
Sublime Snazzy :arrow_right:
TwoDark :arrow_up:
Visual Studio Dark+ :arrow_upper_right:
better hue distribution across classes.
base16 :arrow_upper_right:
pathnames not colorized.
base16-256 :arrow_upper_right: :no_entry_sign:
subcommands colorized in black.
gruvbox-dark :arrow_upper_right: :no_entry_sign:
headings = options, pathnames not colorized.
zenburn :arrow_right:
Coldark-Cold :arrow_right:
GitHub :arrow_up:
Monokai Extended Light :arrow_right:
headings != arguments anymore. but previous color for headings had less brightness -> better contrast.
The main motivations for this overhaul were:
What follows is a side-by-side diff of the color changes for every theme. Left is before, right is after. Dark themes go first, light themes last.
The images include italics. But for each theme that shows italics there's also a (default) version without italics, just run bat without
--italic-text
.Emoji key:
Monokai Extended :arrow_upper_right:
ansi :arrow_up:
1337 :arrow_right:
Coldark-Dark :arrow_right:
DarkNeon :arrow_right: :no_entry_sign:
options not colorized.
Dracula :arrow_right:
Monokai Extended Bright :arrow_upper_right:
headings = pathnames, but at least now headings != arguments. pathnames are infrequent.
Monokai Extended Origin :arrow_upper_right:
Nord :arrow_right: :no_entry_sign:
subcommands & pathnames not colorized.
OneHalfDark :arrow_up:
Solarized (dark) :arrow_right:
Sublime Snazzy :arrow_right:
TwoDark :arrow_up:
Visual Studio Dark+ :arrow_upper_right:
better hue distribution across classes.
base16 :arrow_upper_right:
pathnames not colorized.
base16-256 :arrow_upper_right: :no_entry_sign:
subcommands colorized in black.
gruvbox-dark :arrow_upper_right: :no_entry_sign:
headings = options, pathnames not colorized.
zenburn :arrow_right:
Coldark-Cold :arrow_right:
GitHub :arrow_up:
Monokai Extended Light :arrow_right:
headings != arguments anymore. but previous color for headings had less brightness -> better contrast.
OneHalfLight :arrow_up:
Solarized (light) :arrow_right:
ansi (with light terminal theme) :arrow_up:
base16 (with light terminal theme) :arrow_upper_right: :no_entry_sign:
normal text barely visible, probably a grey variation (colors 0x7 or 0x8).
base16-256 (with light terminal theme) :arrow_upper_right: :no_entry_sign:
normal text barely visible.
gruvbox-light :arrow_upper_right: :no_entry_sign:
headings = options, pathnames not colorized.