pub trait Plugin {
Show 16 methods
// Required methods
fn id(&self) -> &str;
fn name(&self) -> &str;
fn init(&mut self, ctx: &mut PluginContext) -> Result<(), Box<dyn Error>>;
// Provided methods
fn handle_key(&mut self, _key: KeyEvent) -> bool { ... }
fn render(&self, _f: &mut Frame<'_>, _area: Rect) { ... }
fn tick(&mut self) { ... }
fn on_focus(&mut self) { ... }
fn on_blur(&mut self) { ... }
fn on_theme_change(&mut self, theme: &Theme) { ... }
fn on_user_update(&mut self, _user: Option<&User>) { ... }
fn status_hints(&self) -> Vec<(String, String)> { ... }
fn commands(&self) -> Vec<PluginCmdItem> { ... }
fn handle_palette_command(&mut self, _index: usize) { ... }
fn on_plugin_message(&mut self, _from: &str, _action: &str, _data: &str) { ... }
fn shutdown(&mut self) { ... }
fn binary_path(&self) -> Option<&Path> { ... }
}Required Methods§
fn id(&self) -> &str
fn name(&self) -> &str
fn init(&mut self, ctx: &mut PluginContext) -> Result<(), Box<dyn Error>>
Provided Methods§
fn handle_key(&mut self, _key: KeyEvent) -> bool
fn render(&self, _f: &mut Frame<'_>, _area: Rect)
fn tick(&mut self)
fn on_focus(&mut self)
fn on_blur(&mut self)
fn on_theme_change(&mut self, theme: &Theme)
fn on_user_update(&mut self, _user: Option<&User>)
fn status_hints(&self) -> Vec<(String, String)>
Sourcefn commands(&self) -> Vec<PluginCmdItem>
fn commands(&self) -> Vec<PluginCmdItem>
Palette commands that this plugin registers (category, label).
Sourcefn handle_palette_command(&mut self, _index: usize)
fn handle_palette_command(&mut self, _index: usize)
Called when a palette command from this plugin is selected.
index is the position in commands().
Sourcefn on_plugin_message(&mut self, _from: &str, _action: &str, _data: &str)
fn on_plugin_message(&mut self, _from: &str, _action: &str, _data: &str)
Called when a plugin-to-plugin message arrives.
Sourcefn shutdown(&mut self)
fn shutdown(&mut self)
Called before the plugin is unloaded (hot-reload or app exit).
The plugin should flush state, close handles, and prepare to be dropped.
For IPC plugins this sends Shutdown and waits briefly for a response
before the child process is killed.
Sourcefn binary_path(&self) -> Option<&Path>
fn binary_path(&self) -> Option<&Path>
Return the filesystem path to this plugin’s binary, if it runs as an
external process. None for in-process plugins. Used by the hot-reload
mechanism to detect when the binary has been updated on disk.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".