nvim_api/types/
highlight_infos.rs

1use nvim_types::{
2    conversion::{self, FromObject},
3    serde::Deserializer,
4    Object,
5};
6use serde::Deserialize;
7
8/// Attributes related to a highlight group.
9#[non_exhaustive]
10#[derive(Clone, Debug, Eq, PartialEq, Deserialize)]
11pub struct HighlightInfos {
12    pub background: Option<u32>,
13    pub bg_indexed: Option<bool>,
14    pub blend: Option<u32>,
15    pub bold: Option<bool>,
16    pub fg_indexed: Option<bool>,
17    pub foreground: Option<u32>,
18    pub italic: Option<bool>,
19    pub reverse: Option<bool>,
20    pub special: Option<u32>,
21    pub standout: Option<bool>,
22    pub strikethrough: Option<bool>,
23    pub undercurl: Option<bool>,
24    pub underdash: Option<bool>,
25    pub underdot: Option<bool>,
26    pub underline: Option<bool>,
27    pub underlineline: Option<bool>,
28}
29
30impl FromObject for HighlightInfos {
31    fn from_object(obj: Object) -> Result<Self, conversion::Error> {
32        Self::deserialize(Deserializer::new(obj)).map_err(Into::into)
33    }
34}