diff options
Diffstat (limited to 'alacritty_terminal/src/term/cell.rs')
-rw-r--r-- | alacritty_terminal/src/term/cell.rs | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/alacritty_terminal/src/term/cell.rs b/alacritty_terminal/src/term/cell.rs index 927687fb..81dc1e3a 100644 --- a/alacritty_terminal/src/term/cell.rs +++ b/alacritty_terminal/src/term/cell.rs @@ -2,15 +2,16 @@ use std::sync::atomic::{AtomicU32, Ordering}; use std::sync::Arc; use bitflags::bitflags; +#[cfg(feature = "serde")] use serde::{Deserialize, Serialize}; -use vte::ansi::Hyperlink as VteHyperlink; -use crate::ansi::{Color, NamedColor}; use crate::grid::{self, GridCell}; use crate::index::Column; +use crate::vte::ansi::{Color, Hyperlink as VteHyperlink, NamedColor}; bitflags! { - #[derive(Serialize, Deserialize, Debug, Clone, Copy, PartialEq, Eq, Hash)] + #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] + #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] pub struct Flags: u16 { const INVERSE = 0b0000_0000_0000_0001; const BOLD = 0b0000_0000_0000_0010; @@ -38,7 +39,8 @@ bitflags! { /// Counter for hyperlinks without explicit ID. static HYPERLINK_ID_SUFFIX: AtomicU32 = AtomicU32::new(0); -#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, Hash)] +#[derive(Debug, Clone, PartialEq, Eq, Hash)] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] pub struct Hyperlink { inner: Arc<HyperlinkInner>, } @@ -70,7 +72,8 @@ impl From<Hyperlink> for VteHyperlink { } } -#[derive(Serialize, Deserialize, Debug, PartialEq, Eq, Hash)] +#[derive(Debug, PartialEq, Eq, Hash)] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] struct HyperlinkInner { /// Identifier for the given hyperlink. id: String, @@ -117,7 +120,8 @@ impl ResetDiscriminant<Color> for Cell { /// This storage is reserved for cell attributes which are rarely set. This allows reducing the /// allocation required ahead of time for every cell, with some additional overhead when the extra /// storage is actually required. -#[derive(Serialize, Deserialize, Default, Debug, Clone, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Eq, PartialEq)] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] pub struct CellExtra { zerowidth: Vec<char>, @@ -127,7 +131,8 @@ pub struct CellExtra { } /// Content and attributes of a single cell in the terminal grid. -#[derive(Serialize, Deserialize, Clone, Debug, Eq, PartialEq)] +#[derive(Clone, Debug, Eq, PartialEq)] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] pub struct Cell { pub c: char, pub fg: Color, |