pub struct ProviderRegistry { /* private fields */ }Expand description
Provider registry for managing multiple providers
Implementations§
Source§impl ProviderRegistry
impl ProviderRegistry
Sourcepub fn new(generic_provider: Arc<dyn IdeProvider>) -> Self
pub fn new(generic_provider: Arc<dyn IdeProvider>) -> Self
Create a new provider registry
Sourcepub fn register_lsp_provider(
&mut self,
language: String,
provider: Arc<dyn IdeProvider>,
)
pub fn register_lsp_provider( &mut self, language: String, provider: Arc<dyn IdeProvider>, )
Register an external LSP provider for a language
Sourcepub fn register_configured_provider(
&mut self,
language: String,
provider: Arc<dyn IdeProvider>,
)
pub fn register_configured_provider( &mut self, language: String, provider: Arc<dyn IdeProvider>, )
Register a configured rules provider for a language
Sourcepub fn register_builtin_provider(
&mut self,
language: String,
provider: Arc<dyn IdeProvider>,
)
pub fn register_builtin_provider( &mut self, language: String, provider: Arc<dyn IdeProvider>, )
Register a built-in provider for a language
Sourcepub fn get_provider(&self, language: &str) -> Arc<dyn IdeProvider>
pub fn get_provider(&self, language: &str) -> Arc<dyn IdeProvider>
Get a provider for a language following the priority chain
Sourcepub fn is_provider_available(&self, language: &str) -> bool
pub fn is_provider_available(&self, language: &str) -> bool
Check if a provider is available for a language
Sourcepub fn available_languages(&self) -> Vec<String>
pub fn available_languages(&self) -> Vec<String>
Get all available languages
Sourcepub fn unregister_lsp_provider(&mut self, language: &str)
pub fn unregister_lsp_provider(&mut self, language: &str)
Unregister an LSP provider for a language
Sourcepub fn unregister_configured_provider(&mut self, language: &str)
pub fn unregister_configured_provider(&mut self, language: &str)
Unregister a configured rules provider for a language
Sourcepub fn unregister_builtin_provider(&mut self, language: &str)
pub fn unregister_builtin_provider(&mut self, language: &str)
Unregister a built-in provider for a language
Auto Trait Implementations§
impl Freeze for ProviderRegistry
impl !RefUnwindSafe for ProviderRegistry
impl Send for ProviderRegistry
impl Sync for ProviderRegistry
impl Unpin for ProviderRegistry
impl !UnwindSafe for ProviderRegistry
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more