Skip to main content

LanguageProvider

Trait LanguageProvider 

Source
pub trait LanguageProvider {
    // Provided methods
    fn language_name(&self, name: &str) -> SharedString { ... }
    fn config(&self, _name: &str) -> Rc<LanguageConfig> { ... }
    fn syntax_context_provider(
        &self,
        _name: &str,
    ) -> Option<Rc<dyn SyntaxContextProvider>> { ... }
}
Expand description

Supplies language identities, editing defaults, and syntax providers to Base.

Implementations normalize aliases consistently with their highlighter. Syntax providers belong to individual editors; configuration values can be shared. Base does not require a parser. Component installs its implementation at init.

Provided Methods§

Source

fn language_name(&self, name: &str) -> SharedString

Resolve a name or alias to its canonical identifier. Resolving an already canonical identifier must return the same identifier.

Source

fn config(&self, _name: &str) -> Rc<LanguageConfig>

Editing defaults for a canonical identifier; application registrations take precedence over these defaults.

Source

fn syntax_context_provider( &self, _name: &str, ) -> Option<Rc<dyn SyntaxContextProvider>>

Creates an editor-owned provider, cached until the language or service changes. After changing grammar registrations, reselect the editor’s language with set_highlighter to replace its cached provider.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§