use crate::theme::Color;
const DEFAULT_FUNCTION: Color = Color::hex("#78c2b3");
const DEFAULT_CONSTANT: Color = Color::hex("#7c94ff");
const DEFAULT_OPERATOR: Color = Color::hex("#fe7057");
const DEFAULT_NUMBER: Color = Color::hex("#e5cb49");
const DEFAULT_VARIABLE: Color = Color::hex("#b27cde");
const DEFAULT_ANS: Color = Color::hex("#7dcfff");
const DEFAULT_COMMENT: Color = Color::hex("#67c1e5");
const DEFAULT_UNIT: Color = Color::hex("#ff79c6");
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub struct HighlightColors {
pub function: Color,
pub constant: Color,
pub operator: Color,
pub number: Color,
pub variable: Color,
pub ans: Color,
pub comment: Color,
pub unit: Color,
}
impl Default for HighlightColors {
fn default() -> Self {
HighlightColors {
function: DEFAULT_FUNCTION,
constant: DEFAULT_CONSTANT,
operator: DEFAULT_OPERATOR,
number: DEFAULT_NUMBER,
variable: DEFAULT_VARIABLE,
ans: DEFAULT_ANS,
comment: DEFAULT_COMMENT,
unit: DEFAULT_UNIT,
}
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn defaults_carry_the_nox_palette() {
let colors = HighlightColors::default();
assert_eq!(colors.function.to_hex(), "#78c2b3");
assert_eq!(colors.unit.to_hex(), "#ff79c6");
}
}