nvim_oxi_api/opts/
echo.rs

1/// Options passed to [`echo()`](crate::echo).
2#[derive(Clone, Debug, Default)]
3#[repr(C)]
4pub struct EchoOpts {
5    #[cfg(not(feature = "neovim-0-10"))] // 0nly on 0.9.
6    verbose: types::Object,
7
8    #[cfg(feature = "neovim-0-10")] // On 0.10 and nightly.
9    verbose: bool,
10}
11
12impl EchoOpts {
13    #[inline(always)]
14    pub fn builder() -> EchoOptsBuilder {
15        EchoOptsBuilder::default()
16    }
17}
18
19#[derive(Clone, Default)]
20pub struct EchoOptsBuilder(EchoOpts);
21
22impl EchoOptsBuilder {
23    #[inline]
24    pub fn verbose(&mut self, verbose: bool) -> &mut Self {
25        #[cfg(not(feature = "neovim-0-10"))] // 0nly on 0.9.
26        {
27            self.0.verbose = verbose.into();
28        }
29        #[cfg(feature = "neovim-0-10")] // On 0.10 and nightly.
30        {
31            self.0.verbose = verbose;
32        }
33        self
34    }
35
36    #[inline]
37    pub fn build(&mut self) -> EchoOpts {
38        core::mem::take(&mut self.0)
39    }
40}