nvim_api/opts/
cmd.rs

1use derive_builder::Builder;
2use nvim_types::Object;
3
4/// Options passed to `api::cmd`.
5#[derive(Clone, Debug, Default, Builder)]
6#[builder(default, build_fn(private, name = "fallible_build"))]
7pub struct CmdOpts {
8    #[builder(setter(strip_option))]
9    output: Option<bool>,
10}
11
12impl CmdOpts {
13    #[inline(always)]
14    pub fn builder() -> CmdOptsBuilder {
15        CmdOptsBuilder::default()
16    }
17}
18
19impl CmdOptsBuilder {
20    pub fn build(&mut self) -> CmdOpts {
21        self.fallible_build().expect("never fails, all fields have defaults")
22    }
23}
24
25#[derive(Default, Debug)]
26#[allow(non_camel_case_types)]
27#[repr(C)]
28pub(crate) struct KeyDict_cmd_opts {
29    output: Object,
30}
31
32impl From<&CmdOpts> for KeyDict_cmd_opts {
33    fn from(opts: &CmdOpts) -> Self {
34        Self { output: opts.output.into() }
35    }
36}