Extension

Trait Extension 

Source
pub trait Extension: Send + Sync {
    // Required method
    fn new() -> Self
       where Self: Sized;

    // Provided methods
    fn uninstall(&mut self) { ... }
    fn language_server_command(
        &mut self,
        _language_server_id: &LanguageServerId,
        _worktree: &Worktree,
    ) -> Result<Command> { ... }
    fn language_server_initialization_options(
        &mut self,
        _language_server_id: &LanguageServerId,
        _worktree: &Worktree,
    ) -> Result<Option<Value>> { ... }
    fn language_server_workspace_configuration(
        &mut self,
        _language_server_id: &LanguageServerId,
        _worktree: &Worktree,
    ) -> Result<Option<Value>> { ... }
    fn language_server_additional_initialization_options(
        &mut self,
        _language_server_id: &LanguageServerId,
        _target_language_server_id: &LanguageServerId,
        _worktree: &Worktree,
    ) -> Result<Option<Value>> { ... }
    fn language_server_additional_workspace_configuration(
        &mut self,
        _language_server_id: &LanguageServerId,
        _target_language_server_id: &LanguageServerId,
        _worktree: &Worktree,
    ) -> Result<Option<Value>> { ... }
    fn label_for_completion(
        &self,
        _language_server_id: &LanguageServerId,
        _completion: Completion,
    ) -> Option<CodeLabel> { ... }
    fn label_for_symbol(
        &self,
        _language_server_id: &LanguageServerId,
        _symbol: Symbol,
    ) -> Option<CodeLabel> { ... }
}
Expand description

A Klyx extension.

Required Methods§

Source

fn new() -> Self
where Self: Sized,

Returns a new instance of the extension.

Provided Methods§

Source

fn uninstall(&mut self)

This is called when the extension is removed from Klyx. It can be used to clean up resources or perform any necessary finalization.

Source

fn language_server_command( &mut self, _language_server_id: &LanguageServerId, _worktree: &Worktree, ) -> Result<Command>

Returns the command used to start the language server for the specified language.

Source

fn language_server_initialization_options( &mut self, _language_server_id: &LanguageServerId, _worktree: &Worktree, ) -> Result<Option<Value>>

Returns the initialization options to pass to the specified language server.

Source

fn language_server_workspace_configuration( &mut self, _language_server_id: &LanguageServerId, _worktree: &Worktree, ) -> Result<Option<Value>>

Returns the workspace configuration options to pass to the language server.

Source

fn language_server_additional_initialization_options( &mut self, _language_server_id: &LanguageServerId, _target_language_server_id: &LanguageServerId, _worktree: &Worktree, ) -> Result<Option<Value>>

Returns the initialization options to pass to the other language server.

Source

fn language_server_additional_workspace_configuration( &mut self, _language_server_id: &LanguageServerId, _target_language_server_id: &LanguageServerId, _worktree: &Worktree, ) -> Result<Option<Value>>

Returns the workspace configuration options to pass to the other language server.

Source

fn label_for_completion( &self, _language_server_id: &LanguageServerId, _completion: Completion, ) -> Option<CodeLabel>

Returns the label for the given completion.

Source

fn label_for_symbol( &self, _language_server_id: &LanguageServerId, _symbol: Symbol, ) -> Option<CodeLabel>

Returns the label for the given symbol.

Implementors§