nvim_api/types/
autocmd_infos.rs1use nvim_types::{
2 conversion::{self, FromObject},
3 serde::Deserializer,
4 Object,
5};
6use serde::Deserialize;
7
8use crate::Buffer;
9
10#[non_exhaustive]
12#[derive(Clone, Debug, Eq, PartialEq, Hash, Deserialize)]
13pub struct AutocmdInfos {
14 pub buffer: Option<Buffer>,
17
18 pub buflocal: bool,
20
21 pub command: String,
23
24 #[serde(default)]
26 pub desc: Option<String>,
27
28 pub event: String,
30
31 #[serde(default)]
34 pub group: Option<u32>,
35
36 #[serde(default)]
39 pub group_name: Option<String>,
40
41 #[serde(default)]
43 pub id: Option<u32>,
44
45 pub once: bool,
47
48 pub pattern: String,
50}
51
52impl FromObject for AutocmdInfos {
53 fn from_object(obj: Object) -> Result<Self, conversion::Error> {
54 Self::deserialize(Deserializer::new(obj)).map_err(Into::into)
55 }
56}