use oxi_types as types;
use crate::Buffer;
use crate::ToFunction;
pub type OnInputArgs = (
String, u32, Buffer, types::String, );
#[derive(Clone, Debug, Default, oxi_macros::OptsBuilder)]
#[repr(C)]
pub struct OpenTermOpts {
#[cfg(feature = "neovim-nightly")]
#[builder(mask)]
mask: u64,
#[cfg(any(feature = "neovim-0-8", feature = "neovim-0-9"))]
#[builder(
generics = "F: ToFunction<OnInputArgs, ()>",
argtype = "F",
inline = "types::Object::from_luaref({0}.into_luaref())"
)]
on_input: types::Object,
#[cfg(feature = "neovim-nightly")]
#[builder(
generics = "F: ToFunction<OnInputArgs, ()>",
argtype = "F",
inline = "{0}.into_luaref()"
)]
on_input: types::LuaRef,
}
#[cfg(any(feature = "neovim-0-8", feature = "neovim-0-9"))]
impl From<&OpenTermOpts> for oxi_types::Dictionary {
fn from(opts: &OpenTermOpts) -> Self {
Self::from_iter([("on_input", opts.on_input.clone())])
}
}