(
file: &ThemeFile,
value: &Value,
mode: ThemeMode,
stack: &mut Vec<String>,
)
| 478 | } |
| 479 | |
| 480 | fn resolve_color_value( |
| 481 | file: &ThemeFile, |
| 482 | value: &Value, |
| 483 | mode: ThemeMode, |
| 484 | stack: &mut Vec<String>, |
| 485 | ) -> Option<Color> { |
| 486 | match value { |
| 487 | Value::String(raw) => resolve_color_string(file, raw, mode, stack), |
| 488 | Value::Number(number) => number.as_u64().map(ansi_to_color), |
| 489 | Value::Object(map) => { |
| 490 | let key = match mode { |
| 491 | ThemeMode::Dark => "dark", |
| 492 | ThemeMode::Light => "light", |
| 493 | }; |
| 494 | map.get(key) |
| 495 | .and_then(|v| resolve_color_value(file, v, mode, stack)) |
| 496 | } |
| 497 | _ => None, |
| 498 | } |
| 499 | } |
| 500 | |
| 501 | fn resolve_color_string( |
| 502 | file: &ThemeFile, |
no test coverage detected