pub struct ExternalLspProvider { /* private fields */ }Expand description
External LSP provider that queries ricecoder-external-lsp
Implementations§
Source§impl ExternalLspProvider
impl ExternalLspProvider
Sourcepub fn new(language: String, registry: Arc<LspServerRegistry>) -> Self
pub fn new(language: String, registry: Arc<LspServerRegistry>) -> Self
Create a new external LSP provider
Trait Implementations§
Source§impl IdeProvider for ExternalLspProvider
impl IdeProvider for ExternalLspProvider
Source§fn get_completions<'life0, 'life1, 'async_trait>(
&'life0 self,
_params: &'life1 CompletionParams,
) -> Pin<Box<dyn Future<Output = IdeResult<Vec<CompletionItem>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_completions<'life0, 'life1, 'async_trait>(
&'life0 self,
_params: &'life1 CompletionParams,
) -> Pin<Box<dyn Future<Output = IdeResult<Vec<CompletionItem>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get completions for a given context
Source§fn get_diagnostics<'life0, 'life1, 'async_trait>(
&'life0 self,
_params: &'life1 DiagnosticsParams,
) -> Pin<Box<dyn Future<Output = IdeResult<Vec<Diagnostic>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_diagnostics<'life0, 'life1, 'async_trait>(
&'life0 self,
_params: &'life1 DiagnosticsParams,
) -> Pin<Box<dyn Future<Output = IdeResult<Vec<Diagnostic>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get diagnostics for a given source
Source§fn get_hover<'life0, 'life1, 'async_trait>(
&'life0 self,
_params: &'life1 HoverParams,
) -> Pin<Box<dyn Future<Output = IdeResult<Option<Hover>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_hover<'life0, 'life1, 'async_trait>(
&'life0 self,
_params: &'life1 HoverParams,
) -> Pin<Box<dyn Future<Output = IdeResult<Option<Hover>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get hover information for a given position
Source§fn get_definition<'life0, 'life1, 'async_trait>(
&'life0 self,
_params: &'life1 DefinitionParams,
) -> Pin<Box<dyn Future<Output = IdeResult<Option<Location>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_definition<'life0, 'life1, 'async_trait>(
&'life0 self,
_params: &'life1 DefinitionParams,
) -> Pin<Box<dyn Future<Output = IdeResult<Option<Location>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get definition location for a given position
Source§fn is_available(&self, language: &str) -> bool
fn is_available(&self, language: &str) -> bool
Check if this provider is available for the given language
Auto Trait Implementations§
impl Freeze for ExternalLspProvider
impl RefUnwindSafe for ExternalLspProvider
impl Send for ExternalLspProvider
impl Sync for ExternalLspProvider
impl Unpin for ExternalLspProvider
impl UnwindSafe for ExternalLspProvider
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