Text plugin
Text plugins deal with custom TeX-like commands.
Register commands
Here we will register a command \hello and call it in the config file.
You also need plugin_type to specify that it is a text plugin.
use ayaka_bindings::*;
#[export]
fn plugin_type() -> PluginType {
PluginType::builder().text(["hello"]).build()
}
#[export]
fn hello(_args: Vec<String>, _ctx: TextProcessContext) -> TextProcessResult {
let mut res = TextProcessResult::default();
res.line.push_back_chars("Hello");
res
}
Call the command in the config file:
- \hello world!
And it outputs:
Hello world!
The process results
The TextProcessResult object is some lines and properties to be added to the current action. line will be appended to the current position of the command, and props will be set and update.
Existing plugins
| Plugin | Description |
|---|---|
basictex | Basic TeX commands. |
live2d | Live2D commands. |