tracexec_core/cli/
theme.rs

1use std::sync::LazyLock;
2
3use owo_colors::Style;
4
5pub struct Theme {
6  pub inline_error: Style,
7  pub plain: Style,
8  // Env
9  pub removed_env_var: Style,
10  pub removed_env_key: Style,
11  pub added_env_var: Style,
12  pub modified_env_key: Style,
13  pub modified_env_val: Style,
14  // Info
15  pub filename: Style,
16  pub cwd: Style,
17  // Fd
18  pub modified_fd: Style,
19  pub added_fd: Style,
20  // pub removed_fd: Style,
21}
22
23impl Default for Theme {
24  fn default() -> Self {
25    Self {
26      inline_error: Style::new().bright_red().bold().blink(),
27      plain: Style::new(),
28      removed_env_var: Style::new().bright_red().strikethrough(),
29      removed_env_key: Style::new().bright_red(),
30      added_env_var: Style::new().green(),
31      modified_env_key: Style::new().yellow(),
32      modified_env_val: Style::new().bright_blue(),
33      filename: Style::new(),
34      cwd: Style::new().bright_cyan(),
35      modified_fd: Style::new().bright_yellow().bold(),
36      added_fd: Style::new().bright_green().bold(),
37    }
38  }
39}
40
41pub static THEME: LazyLock<Theme> = LazyLock::new(Default::default);