#[cfg(feature = "neovim-0-10")] use types::Boolean;
#[cfg(not(feature = "neovim-0-10"))] use types::Object;
#[derive(Clone, Debug, Default)]
#[repr(C)]
pub struct CmdOpts {
#[cfg(not(feature = "neovim-0-10"))] output: Object,
#[cfg(feature = "neovim-0-10")] output: Boolean,
}
impl CmdOpts {
#[inline(always)]
pub fn builder() -> CmdOptsBuilder {
CmdOptsBuilder::default()
}
}
#[derive(Clone, Default)]
pub struct CmdOptsBuilder(CmdOpts);
impl CmdOptsBuilder {
#[inline]
pub fn output(&mut self, output: bool) -> &mut Self {
#[cfg(not(feature = "neovim-0-10"))] {
self.0.output = output.into();
}
#[cfg(feature = "neovim-0-10")] {
self.0.output = output;
}
self
}
#[inline]
pub fn build(&mut self) -> CmdOpts {
std::mem::take(&mut self.0)
}
}