pub trait EditorExtension: Send + Sync {
Show 13 methods
// Required methods
fn info(&self) -> &ExtensionInfo;
fn initialize(&mut self, context: &mut dyn ExtensionContext) -> Result<()>;
fn shutdown(&mut self, context: &mut dyn ExtensionContext) -> Result<()>;
fn state(&self) -> ExtensionState;
fn execute_command(
&mut self,
command_id: &str,
args: &HashMap<String, String>,
context: &mut dyn ExtensionContext,
) -> Result<ExtensionResult>;
// Provided methods
fn commands(&self) -> Vec<ExtensionCommand> { ... }
fn handle_event(
&mut self,
_event: &DocumentEvent,
_context: &mut dyn ExtensionContext,
) -> Result<()> { ... }
fn config_schema(&self) -> HashMap<String, String> { ... }
fn validate_config(&self, _config: &HashMap<String, String>) -> Result<()> { ... }
fn pause(&mut self) -> Result<()> { ... }
fn resume(&mut self) -> Result<()> { ... }
fn get_data(&self, _key: &str) -> Option<String> { ... }
fn set_data(&mut self, _key: String, _value: String) -> Result<()> { ... }
}Expand description
Main extension trait that extensions must implement
Required Methods§
Sourcefn info(&self) -> &ExtensionInfo
fn info(&self) -> &ExtensionInfo
Get extension metadata
Sourcefn initialize(&mut self, context: &mut dyn ExtensionContext) -> Result<()>
fn initialize(&mut self, context: &mut dyn ExtensionContext) -> Result<()>
Initialize the extension
Sourcefn shutdown(&mut self, context: &mut dyn ExtensionContext) -> Result<()>
fn shutdown(&mut self, context: &mut dyn ExtensionContext) -> Result<()>
Shutdown the extension
Sourcefn state(&self) -> ExtensionState
fn state(&self) -> ExtensionState
Get the current state of the extension
Sourcefn execute_command(
&mut self,
command_id: &str,
args: &HashMap<String, String>,
context: &mut dyn ExtensionContext,
) -> Result<ExtensionResult>
fn execute_command( &mut self, command_id: &str, args: &HashMap<String, String>, context: &mut dyn ExtensionContext, ) -> Result<ExtensionResult>
Execute a command provided by this extension
Provided Methods§
Sourcefn commands(&self) -> Vec<ExtensionCommand>
fn commands(&self) -> Vec<ExtensionCommand>
Get commands provided by this extension
Sourcefn handle_event(
&mut self,
_event: &DocumentEvent,
_context: &mut dyn ExtensionContext,
) -> Result<()>
fn handle_event( &mut self, _event: &DocumentEvent, _context: &mut dyn ExtensionContext, ) -> Result<()>
Handle a document event (optional)
Sourcefn config_schema(&self) -> HashMap<String, String>
fn config_schema(&self) -> HashMap<String, String>
Get configuration schema (optional)