| Crates.io | editsync_extension_api |
| lib.rs | editsync_extension_api |
| version | 0.2.0 |
| created_at | 2025-01-01 00:52:07.499917+00 |
| updated_at | 2025-01-01 00:52:07.499917+00 |
| description | APIs for creating Editsync extensions in Rust |
| homepage | |
| repository | https://github.com/khulnasoft/editsync |
| max_upload_size | |
| id | 1500486 |
| size | 79,500 |
This crate lets you write extensions for Editsync in Rust.
You'll need an extension.toml file at the root of your extension directory, with the following structure:
id = "my-extension"
name = "My Extension"
description = "..."
version = "0.0.1"
schema_version = 1
authors = ["Your Name <you@example.com>"]
repository = "https://github.com/your/extension-repository"
Editsync extensions are packaged as WebAssembly files. In your Cargo.toml, you'll
need to set your crate-type accordingly:
[dependencies]
# editsync_extension_api = "0.1.0"
[lib]
crate-type = ["cdylib"]
To define your extension, create a type that implements the Extension trait, and register it.
use editsync_extension_api as editsync;
struct MyExtension {
// ... state
}
impl editsync::Extension for MyExtension {
// ...
}
editsync::register_extension!(MyExtension);
To run your extension in Editsync as you're developing it:
editsync: extensions action in the command palette.Install Dev Extension button in the top rightExtensions created using newer versions of the Editsync extension API won't be compatible with older versions of Editsync.
Here is the compatibility of the editsync_extension_api with versions of Editsync:
| Editsync version | editsync_extension_api version |
|---|---|
0.162.x |
0.0.1 - 0.2.0 |
0.149.x |
0.0.1 - 0.1.0 |
0.131.x |
0.0.1 - 0.0.6 |
0.130.x |
0.0.1 - 0.0.5 |
0.129.x |
0.0.1 - 0.0.4 |
0.128.x |
0.0.1 |