pub struct LanguageNamespace {
store: Arc<ProviderStore>,
}Expand description
Languages namespace — mirrors the full vscode.languages API surface.
Each register_*_provider method:
- Assigns a unique handle from the atomic counter
- Stores the registration in
ProviderStorefor lifecycle tracking - Returns a
Disposablethat removes the registration on dispose
Mountain gRPC forwarding (P4 task) will be added in Grove-Vine Connection:
each registration will additionally send a RegisterProviderRequest via the
Spine connection to Mountain’s CocoonService.
Fields§
§store: Arc<ProviderStore>Active provider registration store.
Implementations§
Source§impl LanguageNamespace
impl LanguageNamespace
Sourcepub fn active_registration_count(&self) -> usize
pub fn active_registration_count(&self) -> usize
Returns the number of active provider registrations.
Sourcefn register(
&self,
provider_type: &str,
selector: &DocumentSelector,
) -> Disposable
fn register( &self, provider_type: &str, selector: &DocumentSelector, ) -> Disposable
Internal helper: register a provider, return a disposable handle.
Sourcepub async fn register_completion_item_provider<T: CompletionItemProvider>(
&self,
selector: DocumentSelector,
_provider: T,
_trigger_characters: Option<Vec<String>>,
) -> Result<Disposable, String>
pub async fn register_completion_item_provider<T: CompletionItemProvider>( &self, selector: DocumentSelector, _provider: T, _trigger_characters: Option<Vec<String>>, ) -> Result<Disposable, String>
Register completion item provider
Sourcepub fn register_hover_provider(&self, selector: DocumentSelector) -> Disposable
pub fn register_hover_provider(&self, selector: DocumentSelector) -> Disposable
Register hover provider
Sourcepub fn register_definition_provider(
&self,
selector: DocumentSelector,
) -> Disposable
pub fn register_definition_provider( &self, selector: DocumentSelector, ) -> Disposable
Register definition provider
Sourcepub fn register_reference_provider(
&self,
selector: DocumentSelector,
) -> Disposable
pub fn register_reference_provider( &self, selector: DocumentSelector, ) -> Disposable
Register reference provider
Sourcepub fn register_code_actions_provider(
&self,
selector: DocumentSelector,
) -> Disposable
pub fn register_code_actions_provider( &self, selector: DocumentSelector, ) -> Disposable
Register code actions provider
Sourcepub fn register_document_highlight_provider(
&self,
selector: DocumentSelector,
) -> Disposable
pub fn register_document_highlight_provider( &self, selector: DocumentSelector, ) -> Disposable
Register document highlight provider
Sourcepub fn register_document_symbol_provider(
&self,
selector: DocumentSelector,
) -> Disposable
pub fn register_document_symbol_provider( &self, selector: DocumentSelector, ) -> Disposable
Register document symbol provider
Sourcepub fn register_workspace_symbol_provider(&self) -> Disposable
pub fn register_workspace_symbol_provider(&self) -> Disposable
Register workspace symbol provider
Sourcepub fn register_rename_provider(&self, selector: DocumentSelector) -> Disposable
pub fn register_rename_provider(&self, selector: DocumentSelector) -> Disposable
Register rename provider
Sourcepub fn register_document_formatting_edit_provider(
&self,
selector: DocumentSelector,
) -> Disposable
pub fn register_document_formatting_edit_provider( &self, selector: DocumentSelector, ) -> Disposable
Register document formatting provider
Sourcepub fn register_document_range_formatting_edit_provider(
&self,
selector: DocumentSelector,
) -> Disposable
pub fn register_document_range_formatting_edit_provider( &self, selector: DocumentSelector, ) -> Disposable
Register document range formatting provider
Sourcepub fn register_on_type_formatting_edit_provider(
&self,
selector: DocumentSelector,
_trigger_characters: Vec<String>,
) -> Disposable
pub fn register_on_type_formatting_edit_provider( &self, selector: DocumentSelector, _trigger_characters: Vec<String>, ) -> Disposable
Register on-type formatting provider
Sourcepub fn register_signature_help_provider(
&self,
selector: DocumentSelector,
) -> Disposable
pub fn register_signature_help_provider( &self, selector: DocumentSelector, ) -> Disposable
Register signature help provider
Sourcepub fn register_code_lens_provider(
&self,
selector: DocumentSelector,
) -> Disposable
pub fn register_code_lens_provider( &self, selector: DocumentSelector, ) -> Disposable
Register code lens provider
Sourcepub fn register_folding_range_provider(
&self,
selector: DocumentSelector,
) -> Disposable
pub fn register_folding_range_provider( &self, selector: DocumentSelector, ) -> Disposable
Register folding range provider
Sourcepub fn register_selection_range_provider(
&self,
selector: DocumentSelector,
) -> Disposable
pub fn register_selection_range_provider( &self, selector: DocumentSelector, ) -> Disposable
Register selection range provider
Sourcepub fn register_document_semantic_tokens_provider(
&self,
selector: DocumentSelector,
) -> Disposable
pub fn register_document_semantic_tokens_provider( &self, selector: DocumentSelector, ) -> Disposable
Register semantic tokens provider
Sourcepub fn register_inlay_hints_provider(
&self,
selector: DocumentSelector,
) -> Disposable
pub fn register_inlay_hints_provider( &self, selector: DocumentSelector, ) -> Disposable
Register inlay hints provider
Sourcepub fn register_type_hierarchy_provider(
&self,
selector: DocumentSelector,
) -> Disposable
pub fn register_type_hierarchy_provider( &self, selector: DocumentSelector, ) -> Disposable
Register type hierarchy provider
Sourcepub fn register_call_hierarchy_provider(
&self,
selector: DocumentSelector,
) -> Disposable
pub fn register_call_hierarchy_provider( &self, selector: DocumentSelector, ) -> Disposable
Register call hierarchy provider
Sourcepub fn register_linked_editing_range_provider(
&self,
selector: DocumentSelector,
) -> Disposable
pub fn register_linked_editing_range_provider( &self, selector: DocumentSelector, ) -> Disposable
Register linked editing range provider
Sourcepub fn register_declaration_provider(
&self,
selector: DocumentSelector,
) -> Disposable
pub fn register_declaration_provider( &self, selector: DocumentSelector, ) -> Disposable
Register declaration provider
Sourcepub fn register_implementation_provider(
&self,
selector: DocumentSelector,
) -> Disposable
pub fn register_implementation_provider( &self, selector: DocumentSelector, ) -> Disposable
Register implementation provider
Sourcepub fn register_type_definition_provider(
&self,
selector: DocumentSelector,
) -> Disposable
pub fn register_type_definition_provider( &self, selector: DocumentSelector, ) -> Disposable
Register type definition provider
Sourcepub fn create_diagnostic_collection(
&self,
name: Option<String>,
) -> DiagnosticCollection
pub fn create_diagnostic_collection( &self, name: Option<String>, ) -> DiagnosticCollection
Register diagnostic collection
Sourcepub fn set_language_configuration(&self, language: String) -> Disposable
pub fn set_language_configuration(&self, language: String) -> Disposable
Set language configuration
Trait Implementations§
Source§impl Clone for LanguageNamespace
impl Clone for LanguageNamespace
Auto Trait Implementations§
impl Freeze for LanguageNamespace
impl RefUnwindSafe for LanguageNamespace
impl Send for LanguageNamespace
impl Sync for LanguageNamespace
impl Unpin for LanguageNamespace
impl UnsafeUnpin for LanguageNamespace
impl UnwindSafe for LanguageNamespace
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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>
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>
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request