diff options
Diffstat (limited to 'alacritty_terminal/src/config')
-rw-r--r-- | alacritty_terminal/src/config/bell.rs | 70 | ||||
-rw-r--r-- | alacritty_terminal/src/config/colors.rs | 213 | ||||
-rw-r--r-- | alacritty_terminal/src/config/mod.rs | 28 |
3 files changed, 3 insertions, 308 deletions
diff --git a/alacritty_terminal/src/config/bell.rs b/alacritty_terminal/src/config/bell.rs deleted file mode 100644 index 825a7b1f..00000000 --- a/alacritty_terminal/src/config/bell.rs +++ /dev/null @@ -1,70 +0,0 @@ -use std::time::Duration; - -use alacritty_config_derive::ConfigDeserialize; - -use crate::config::Program; -use crate::term::color::Rgb; - -#[derive(ConfigDeserialize, Clone, Debug, PartialEq, Eq)] -pub struct BellConfig { - /// Visual bell animation function. - pub animation: BellAnimation, - - /// Command to run on bell. - pub command: Option<Program>, - - /// Visual bell flash color. - pub color: Rgb, - - /// Visual bell duration in milliseconds. - duration: u16, -} - -impl Default for BellConfig { - fn default() -> Self { - Self { - color: Rgb { r: 255, g: 255, b: 255 }, - animation: Default::default(), - command: Default::default(), - duration: Default::default(), - } - } -} - -impl BellConfig { - pub fn duration(&self) -> Duration { - Duration::from_millis(self.duration as u64) - } -} - -/// `VisualBellAnimations` are modeled after a subset of CSS transitions and Robert -/// Penner's Easing Functions. -#[derive(ConfigDeserialize, Clone, Copy, Debug, PartialEq, Eq)] -pub enum BellAnimation { - // CSS animation. - Ease, - // CSS animation. - EaseOut, - // Penner animation. - EaseOutSine, - // Penner animation. - EaseOutQuad, - // Penner animation. - EaseOutCubic, - // Penner animation. - EaseOutQuart, - // Penner animation. - EaseOutQuint, - // Penner animation. - EaseOutExpo, - // Penner animation. - EaseOutCirc, - // Penner animation. - Linear, -} - -impl Default for BellAnimation { - fn default() -> Self { - BellAnimation::EaseOutExpo - } -} diff --git a/alacritty_terminal/src/config/colors.rs b/alacritty_terminal/src/config/colors.rs deleted file mode 100644 index 88ca5057..00000000 --- a/alacritty_terminal/src/config/colors.rs +++ /dev/null @@ -1,213 +0,0 @@ -use serde::de::Error as SerdeError; -use serde::{Deserialize, Deserializer}; - -use alacritty_config_derive::ConfigDeserialize; - -use crate::term::color::{CellRgb, Rgb}; - -#[derive(ConfigDeserialize, Clone, Debug, Default, PartialEq, Eq)] -pub struct Colors { - pub primary: PrimaryColors, - pub cursor: InvertedCellColors, - pub vi_mode_cursor: InvertedCellColors, - pub selection: InvertedCellColors, - pub normal: NormalColors, - pub bright: BrightColors, - pub dim: Option<DimColors>, - pub indexed_colors: Vec<IndexedColor>, - pub search: SearchColors, - pub line_indicator: LineIndicatorColors, -} - -impl Colors { - pub fn search_bar_foreground(&self) -> Rgb { - self.search.bar.foreground.unwrap_or(self.primary.background) - } - - pub fn search_bar_background(&self) -> Rgb { - self.search.bar.background.unwrap_or(self.primary.foreground) - } -} - -#[derive(ConfigDeserialize, Copy, Clone, Default, Debug, PartialEq, Eq)] -pub struct LineIndicatorColors { - pub foreground: Option<Rgb>, - pub background: Option<Rgb>, -} - -#[derive(Deserialize, Copy, Clone, Default, Debug, PartialEq, Eq)] -pub struct IndexedColor { - pub color: Rgb, - - index: ColorIndex, -} - -impl IndexedColor { - #[inline] - pub fn index(&self) -> u8 { - self.index.0 - } -} - -#[derive(Copy, Clone, Default, Debug, PartialEq, Eq)] -struct ColorIndex(u8); - -impl<'de> Deserialize<'de> for ColorIndex { - fn deserialize<D>(deserializer: D) -> Result<Self, D::Error> - where - D: Deserializer<'de>, - { - let index = u8::deserialize(deserializer)?; - - if index < 16 { - Err(SerdeError::custom( - "Config error: indexed_color's index is {}, but a value bigger than 15 was \ - expected; ignoring setting", - )) - } else { - Ok(Self(index)) - } - } -} - -#[derive(ConfigDeserialize, Debug, Copy, Clone, PartialEq, Eq)] -pub struct InvertedCellColors { - #[config(alias = "text")] - pub foreground: CellRgb, - #[config(alias = "cursor")] - pub background: CellRgb, -} - -impl Default for InvertedCellColors { - fn default() -> Self { - Self { foreground: CellRgb::CellBackground, background: CellRgb::CellForeground } - } -} - -#[derive(ConfigDeserialize, Debug, Copy, Clone, Default, PartialEq, Eq)] -pub struct SearchColors { - pub focused_match: InvertedCellColors, - pub matches: MatchColors, - bar: BarColors, -} - -#[derive(ConfigDeserialize, Debug, Copy, Clone, PartialEq, Eq)] -pub struct MatchColors { - pub foreground: CellRgb, - pub background: CellRgb, -} - -impl Default for MatchColors { - fn default() -> Self { - Self { - background: CellRgb::Rgb(Rgb { r: 0xff, g: 0xff, b: 0xff }), - foreground: CellRgb::Rgb(Rgb { r: 0x00, g: 0x00, b: 0x00 }), - } - } -} - -#[derive(ConfigDeserialize, Debug, Copy, Clone, Default, PartialEq, Eq)] -pub struct BarColors { - foreground: Option<Rgb>, - background: Option<Rgb>, -} - -#[derive(ConfigDeserialize, Clone, Debug, PartialEq, Eq)] -pub struct PrimaryColors { - pub foreground: Rgb, - pub background: Rgb, - pub bright_foreground: Option<Rgb>, - pub dim_foreground: Option<Rgb>, -} - -impl Default for PrimaryColors { - fn default() -> Self { - PrimaryColors { - background: Rgb { r: 0x1d, g: 0x1f, b: 0x21 }, - foreground: Rgb { r: 0xc5, g: 0xc8, b: 0xc6 }, - bright_foreground: Default::default(), - dim_foreground: Default::default(), - } - } -} - -#[derive(ConfigDeserialize, Clone, Debug, PartialEq, Eq)] -pub struct NormalColors { - pub black: Rgb, - pub red: Rgb, - pub green: Rgb, - pub yellow: Rgb, - pub blue: Rgb, - pub magenta: Rgb, - pub cyan: Rgb, - pub white: Rgb, -} - -impl Default for NormalColors { - fn default() -> Self { - NormalColors { - black: Rgb { r: 0x1d, g: 0x1f, b: 0x21 }, - red: Rgb { r: 0xcc, g: 0x66, b: 0x66 }, - green: Rgb { r: 0xb5, g: 0xbd, b: 0x68 }, - yellow: Rgb { r: 0xf0, g: 0xc6, b: 0x74 }, - blue: Rgb { r: 0x81, g: 0xa2, b: 0xbe }, - magenta: Rgb { r: 0xb2, g: 0x94, b: 0xbb }, - cyan: Rgb { r: 0x8a, g: 0xbe, b: 0xb7 }, - white: Rgb { r: 0xc5, g: 0xc8, b: 0xc6 }, - } - } -} - -#[derive(ConfigDeserialize, Clone, Debug, PartialEq, Eq)] -pub struct BrightColors { - pub black: Rgb, - pub red: Rgb, - pub green: Rgb, - pub yellow: Rgb, - pub blue: Rgb, - pub magenta: Rgb, - pub cyan: Rgb, - pub white: Rgb, -} - -impl Default for BrightColors { - fn default() -> Self { - BrightColors { - black: Rgb { r: 0x66, g: 0x66, b: 0x66 }, - red: Rgb { r: 0xd5, g: 0x4e, b: 0x53 }, - green: Rgb { r: 0xb9, g: 0xca, b: 0x4a }, - yellow: Rgb { r: 0xe7, g: 0xc5, b: 0x47 }, - blue: Rgb { r: 0x7a, g: 0xa6, b: 0xda }, - magenta: Rgb { r: 0xc3, g: 0x97, b: 0xd8 }, - cyan: Rgb { r: 0x70, g: 0xc0, b: 0xb1 }, - white: Rgb { r: 0xea, g: 0xea, b: 0xea }, - } - } -} - -#[derive(ConfigDeserialize, Clone, Debug, PartialEq, Eq)] -pub struct DimColors { - pub black: Rgb, - pub red: Rgb, - pub green: Rgb, - pub yellow: Rgb, - pub blue: Rgb, - pub magenta: Rgb, - pub cyan: Rgb, - pub white: Rgb, -} - -impl Default for DimColors { - fn default() -> Self { - DimColors { - black: Rgb { r: 0x13, g: 0x14, b: 0x15 }, - red: Rgb { r: 0x86, g: 0x43, b: 0x43 }, - green: Rgb { r: 0x77, g: 0x7c, b: 0x44 }, - yellow: Rgb { r: 0x9e, g: 0x82, b: 0x4c }, - blue: Rgb { r: 0x55, g: 0x6a, b: 0x7d }, - magenta: Rgb { r: 0x75, g: 0x61, b: 0x7b }, - cyan: Rgb { r: 0x5b, g: 0x7d, b: 0x78 }, - white: Rgb { r: 0x82, g: 0x84, b: 0x82 }, - } - } -} diff --git a/alacritty_terminal/src/config/mod.rs b/alacritty_terminal/src/config/mod.rs index 9b6f695f..59449faa 100644 --- a/alacritty_terminal/src/config/mod.rs +++ b/alacritty_terminal/src/config/mod.rs @@ -6,14 +6,10 @@ use serde::Deserialize; use alacritty_config_derive::ConfigDeserialize; -mod bell; -mod colors; mod scrolling; use crate::ansi::{CursorShape, CursorStyle}; -pub use crate::config::bell::{BellAnimation, BellConfig}; -pub use crate::config::colors::Colors; pub use crate::config::scrolling::Scrolling; pub const LOG_TARGET_CONFIG: &str = "alacritty_config_derive"; @@ -27,11 +23,6 @@ pub struct Config<T> { /// TERM env variable. pub env: HashMap<String, String>, - /// Should draw bold text with brighter colors instead of bold font. - pub draw_bold_text_with_bright_colors: bool, - - pub colors: Colors, - pub selection: Selection, /// Path to a shell program to run on startup. @@ -53,19 +44,6 @@ pub struct Config<T> { /// Remain open after child process exits. #[config(skip)] pub hold: bool, - - /// Bell configuration. - bell: BellConfig, - - #[config(deprecated = "use `bell` instead")] - pub visual_bell: Option<BellConfig>, -} - -impl<T> Config<T> { - #[inline] - pub fn bell(&self) -> &BellConfig { - self.visual_bell.as_ref().unwrap_or(&self.bell) - } } #[derive(ConfigDeserialize, Clone, Debug, PartialEq, Eq)] @@ -190,9 +168,9 @@ impl CursorBlinking { } } -impl Into<bool> for CursorBlinking { - fn into(self) -> bool { - self == Self::On || self == Self::Always +impl From<CursorBlinking> for bool { + fn from(blinking: CursorBlinking) -> bool { + blinking == CursorBlinking::On || blinking == CursorBlinking::Always } } |