use const_cstr::{const_cstr, ConstCStr};
use machinery::{identifier, Identifier};
use machinery_api::{
foundation::{ApplicationO, VersionT},
plugins::ui::DockingFindTabOptT,
Api,
};
use tree_sitter::Language;
#[repr(C)]
pub struct AnodeApi {
pub open_asset: unsafe extern "C" fn(app: *mut ApplicationO, opt: *const DockingFindTabOptT),
}
unsafe impl Send for AnodeApi {}
unsafe impl Sync for AnodeApi {}
impl Api for AnodeApi {
const NAME: ConstCStr = const_cstr!("tm_anode_api");
const VERSION: VersionT = VersionT {
major: 0,
minor: 1,
patch: 0,
};
}
pub struct AnodeAspectI {
pub property: u32,
pub highlighting: *const Highlighting,
}
unsafe impl Send for AnodeAspectI {}
unsafe impl Sync for AnodeAspectI {}
pub const ASPECT_ANODE: Identifier = identifier!("tm_anode_aspect_i");
pub struct Highlighting {
pub language: Language,
pub highlight_query: *const u8,
pub highlight_query_len: usize,
pub injection_query: *const u8,
pub injection_query_len: usize,
pub locals_query: *const u8,
pub locals_query_len: usize,
}
unsafe impl Send for Highlighting {}
unsafe impl Sync for Highlighting {}