use oxi_types::{
Array,
BufHandle,
Dictionary,
Error,
Integer,
NonOwning,
Object,
String,
};
use crate::opts::*;
extern "C" {
pub(crate) fn nvim_buf_add_highlight(
buf: BufHandle,
ns_id: Integer,
hl_group: NonOwning<String>,
line: Integer,
col_start: Integer,
col_end: Integer,
err: *mut Error,
) -> Integer;
pub(crate) fn nvim_buf_clear_namespace(
buf: BufHandle,
ns_id: Integer,
line_start: Integer,
line_end: Integer,
err: *mut Error,
);
pub(crate) fn nvim_buf_del_extmark(
buf: BufHandle,
ns_id: Integer,
id: Integer,
err: *mut Error,
) -> bool;
pub(crate) fn nvim_buf_get_extmark_by_id(
buf: BufHandle,
ns_id: Integer,
id: Integer,
#[cfg(not(feature = "neovim-nightly"))] opts: NonOwning<Dictionary>,
#[cfg(feature = "neovim-nightly")] opts: *const GetExtmarkByIdOpts,
err: *mut Error,
) -> Array;
pub(crate) fn nvim_buf_get_extmarks(
buf: BufHandle,
ns_id: Integer,
start: Object,
end: Object,
#[cfg(not(feature = "neovim-nightly"))] opts: NonOwning<Dictionary>,
#[cfg(feature = "neovim-nightly")] opts: *const GetExtmarksOpts,
err: *mut Error,
) -> Array;
pub(crate) fn nvim_buf_set_extmark(
buf: BufHandle,
ns_id: Integer,
line: Integer,
col: Integer,
opts: *const SetExtmarkOpts,
err: *mut Error,
) -> Integer;
pub(crate) fn nvim_create_namespace(name: NonOwning<String>) -> Integer;
pub(crate) fn nvim_get_namespaces() -> Dictionary;
pub(crate) fn nvim_set_decoration_provider(
ns_id: Integer,
opts: *const DecorationProviderOpts,
err: *mut Error,
);
}