nvim_api/types/
highlight_infos.rs1use nvim_types::{
2 conversion::{self, FromObject},
3 serde::Deserializer,
4 Object,
5};
6use serde::Deserialize;
7
8#[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}