Commit Graph

21 Commits

Author SHA1 Message Date
Daniel Xu
750a7af6c7
theme: Add PaletteColor::HighlightText (#438)
You generally want to stick to default colors because of terminal color
schemes. If you don't, you risk getting suboptimal contrast and
difficult-to-read text. When you _do_ want to peg something to a color,
you need to fully specify the foreground and background to ensure you
have enough contrast for text to be readable.

Our project, below
(https://github.com/facebookincubator/resctl/tree/master/resctl/below),
wants to set a less jarring highlight color than red. In order to
effectively do this, we need a way to specify the highlighted text color
without causing a cascade of pegged colors. In other words, if we were
to manually set PaletteColor::View, we would need to manually set
everything PaletteColor::View is `ColorStyle`'d with, and so forth.

I realize this is an API breaking change. I spent some time considering
alternatives (such as detecting whether or not `HighlightText` is set,
and if not, use `View` as the highlighted text color). The problem with
the other options is that you'd need to:

  1) Document the fallback behavior
  2) Maintain backwards compat code paths

Seeing as cursive is pre-1.0 release, I figure this is the best way
forward.
2020-03-31 12:45:01 -07:00
Alexandre Bury
a3583ae62e Update ahash crate 2020-02-10 10:35:31 -08:00
Alexandre Bury
11d4c865c6 Add PaletteColor: FromStr 2020-01-20 15:38:37 -08:00
mara
8a018dbe4d Change tertiary color to white instead of grey (#408)
Change the tertiary color in the default theme to white instead of grey.

Currently, the tertiary color is the same as the view background color,
making it invisible as foreground color. This makes the Outset effect
not work as (I think) intended.
2019-12-02 08:45:09 -08:00
Alexandre Bury
86c800554b Make toml an optional feature 2019-09-09 14:45:07 -07:00
Alexandre Bury
565c64c528 Replace hashbrown with std+ahash 2019-09-09 12:51:22 -07:00
Johannes Wünsche
4623e40dab Change TitleSecondary from Yellow to Light Blue (#376) 2019-09-07 19:48:21 -07:00
Alexandre Bury
b7d71e8381 Rustfmt
Moves to "Tall" fn_args_layout
2019-07-30 16:08:40 -07:00
Alexandre Bury
19ad7b6cc3 Use hashbrown::HashMap 2019-03-16 16:16:30 -07:00
Alexandre Bury
06b02e4665 Remove "extern crate" and rustfmt 2019-02-28 16:04:14 -08:00
Alexandre Bury
e51be07e5d Update to Rust 2018
Run `cargo fix --edition` and update Cargo.toml
2019-02-28 15:54:12 -08:00
Alexandre Bury
5a6c84a55e Use With trait for chainable variant 2018-08-08 10:25:25 -07:00
Alexandre Bury
6ce2dba8a1 Fix clippy warnings 2018-06-21 14:44:30 -07:00
Alexandre Bury
6e1fc7fdb5 Update dependencies 2018-06-18 23:13:02 -07:00
Alexandre Bury
9569e991bf Make Palette::add_namespace public 2018-06-10 23:35:31 -07:00
Alexandre Bury
8acc08f340 Rustfmt 2018-06-10 23:29:19 -07:00
Alexandre Bury
017e100b1b Add custom values to Palette
This updates `Palette` to add a tree of custom values.
Branches from this tree can be copied back to the root with
Palette::merge. This can be used to group related values together.
2018-06-10 23:29:19 -07:00
Alexandre Bury
5dfdeab6ae Fix clippy warnings 2018-01-22 14:47:56 -08:00
Alexandre Bury
431285135f Make Palette directly an EnumMap
Removes the "colors" intermediate member.
2018-01-21 11:17:22 -08:00
Alexandre Bury
5ac0fce363 Refactor ColorStyle
Add the notion of PaletteColor to use a color from the palette.

Breaking change: most color styles are now methods rather than enum
variants.
2018-01-17 10:22:06 -08:00
Alexandre Bury
15c3e77fc4 Split theme.rs into multiple files 2018-01-08 16:11:12 +01:00