#![doc(html_root_url = "https://docs.rs/nvim_oxi/latest")]
#![cfg_attr(docsrs, feature(doc_cfg))]
#![deny(future_incompatible)]
#![deny(nonstandard_style)]
#![deny(rustdoc::broken_intra_doc_links)]
#[doc(hidden)]
pub mod entrypoint;
mod error;
mod toplevel;
pub mod api {
#[doc(inline)]
pub use api::*;
}
#[cfg(feature = "libuv")]
#[cfg_attr(docsrs, doc(cfg(feature = "libuv")))]
pub mod libuv {
#[doc(inline)]
pub use libuv::*;
}
pub mod lua {
#[doc(inline)]
pub use luajit::*;
}
#[cfg(feature = "mlua")]
#[cfg_attr(docsrs, doc(cfg(feature = "mlua")))]
pub mod mlua {
pub use mlua::*;
pub fn lua() -> mlua::Lua {
unsafe {
luajit::with_state(|lua_state| {
mlua::Lua::init_from_ptr(lua_state as *mut _)
})
}
}
}
pub use error::{Error, Result};
pub use luajit::{IntoResult, dbg, print};
pub use macros::plugin;
#[cfg(feature = "test")]
#[cfg_attr(docsrs, doc(cfg(feature = "test")))]
pub use macros::test;
pub use types::*;
#[cfg(feature = "test")]
pub mod tests;
pub use toplevel::*;
pub use types::string;