pub struct ExtensionManager { /* private fields */ }Expand description
Single unified ExtensionManager that is always thread-safe when multi-thread feature is enabled
Implementations§
Source§impl ExtensionManager
impl ExtensionManager
Sourcepub fn with_event_channel(
event_tx: EventSender,
message_handler: Box<dyn MessageHandler>,
) -> Self
Available on crate feature std only.
pub fn with_event_channel( event_tx: EventSender, message_handler: Box<dyn MessageHandler>, ) -> Self
std only.Create a new extension manager with custom event sender and message handler
Sourcepub fn create_context<'a>(
&'a mut self,
extension_name: String,
document: Option<&'a mut EditorDocument>,
) -> Result<Box<dyn ExtensionContext + 'a>>
pub fn create_context<'a>( &'a mut self, extension_name: String, document: Option<&'a mut EditorDocument>, ) -> Result<Box<dyn ExtensionContext + 'a>>
Create an extension context for use by extensions
Sourcepub fn load_extension(
&mut self,
extension: Box<dyn EditorExtension>,
) -> Result<()>
pub fn load_extension( &mut self, extension: Box<dyn EditorExtension>, ) -> Result<()>
Load an extension
Sourcepub fn initialize_extension(
&mut self,
extension_name: &str,
context: &mut dyn ExtensionContext,
) -> Result<()>
pub fn initialize_extension( &mut self, extension_name: &str, context: &mut dyn ExtensionContext, ) -> Result<()>
Initialize an extension
Sourcepub fn unload_extension(
&mut self,
extension_name: &str,
context: &mut dyn ExtensionContext,
) -> Result<()>
pub fn unload_extension( &mut self, extension_name: &str, context: &mut dyn ExtensionContext, ) -> Result<()>
Unload an extension
Sourcepub fn execute_command(
&mut self,
command_id: &str,
args: &HashMap<String, String>,
context: &mut dyn ExtensionContext,
) -> Result<ExtensionResult>
pub fn execute_command( &mut self, command_id: &str, args: &HashMap<String, String>, context: &mut dyn ExtensionContext, ) -> Result<ExtensionResult>
Execute a command from an extension
Sourcepub fn list_extensions(&self) -> Vec<String>
pub fn list_extensions(&self) -> Vec<String>
Get list of loaded extensions
Sourcepub fn get_extension_state(
&self,
extension_name: &str,
) -> Option<ExtensionState>
pub fn get_extension_state( &self, extension_name: &str, ) -> Option<ExtensionState>
Get extension state
Sourcepub fn list_commands(&self) -> Vec<String>
pub fn list_commands(&self) -> Vec<String>
Get all available commands
Sourcepub fn get_config(&self, key: &str) -> Option<String>
pub fn get_config(&self, key: &str) -> Option<String>
Get configuration value
Sourcepub fn set_config(&mut self, key: String, value: String)
pub fn set_config(&mut self, key: String, value: String)
Set configuration value
Sourcepub fn get_extension_data(
&self,
extension_name: &str,
key: &str,
) -> Option<String>
pub fn get_extension_data( &self, extension_name: &str, key: &str, ) -> Option<String>
Get extension data
Sourcepub fn set_extension_data(
&mut self,
extension_name: String,
key: String,
value: String,
)
pub fn set_extension_data( &mut self, extension_name: String, key: String, value: String, )
Set extension data
Trait Implementations§
Source§impl Clone for ExtensionManager
Available on crate feature multi-thread only.
impl Clone for ExtensionManager
Available on crate feature
multi-thread only.Source§impl Debug for ExtensionManager
impl Debug for ExtensionManager
Auto Trait Implementations§
impl Freeze for ExtensionManager
impl !RefUnwindSafe for ExtensionManager
impl Send for ExtensionManager
impl Sync for ExtensionManager
impl Unpin for ExtensionManager
impl !UnwindSafe for ExtensionManager
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more