Struct async_lsp::ClientSocket
source · pub struct ClientSocket(_);Expand description
The socket for Language Server to communicate with the Language Client peer.
Implementations§
source§impl ClientSocket
impl ClientSocket
sourcepub async fn request<R: Request>(&self, params: R::Params) -> Result<R::Result>
pub async fn request<R: Request>(&self, params: R::Params) -> Result<R::Result>
Send a request to the peer and wait for its response.
Errors
Error::ServiceStoppedwhen the service main loop stopped.Error::Responsewhen the peer replies an error.
sourcepub fn notify<N: Notification>(&self, params: N::Params) -> Result<()>
pub fn notify<N: Notification>(&self, params: N::Params) -> Result<()>
Send a notification to the peer and wait for its response.
This is done asynchronously. An Ok result indicates the message is successfully
queued, but may not be sent to the peer yet.
Errors
Error::ServiceStoppedwhen the service main loop stopped.
sourcepub fn emit<E: Send + 'static>(&self, event: E) -> Result<()>
pub fn emit<E: Send + 'static>(&self, event: E) -> Result<()>
Emit an arbitrary loopback event object to the service handler.
This is done asynchronously. An Ok result indicates the message is successfully
queued, but may not be processed yet.
Errors
Error::ServiceStoppedwhen the service main loop stopped.
Trait Implementations§
source§impl Clone for ClientSocket
impl Clone for ClientSocket
source§fn clone(&self) -> ClientSocket
fn clone(&self) -> ClientSocket
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moresource§impl Debug for ClientSocket
impl Debug for ClientSocket
source§impl LanguageClient for &ClientSocket
impl LanguageClient for &ClientSocket
type Error = Error
type NotifyResult = Result<(), Error>
fn workspace_folders( &mut self, params: <WorkspaceFoldersRequest as Request>::Params ) -> BoxFuture<'static, Result<<WorkspaceFoldersRequest as Request>::Result, Self::Error>>
fn configuration( &mut self, params: <WorkspaceConfiguration as Request>::Params ) -> BoxFuture<'static, Result<<WorkspaceConfiguration as Request>::Result, Self::Error>>
fn work_done_progress_create( &mut self, params: <WorkDoneProgressCreate as Request>::Params ) -> BoxFuture<'static, Result<<WorkDoneProgressCreate as Request>::Result, Self::Error>>
fn semantic_tokens_refresh( &mut self, params: <SemanticTokensRefresh as Request>::Params ) -> BoxFuture<'static, Result<<SemanticTokensRefresh as Request>::Result, Self::Error>>
fn show_document( &mut self, params: <ShowDocument as Request>::Params ) -> BoxFuture<'static, Result<<ShowDocument as Request>::Result, Self::Error>>
fn inline_value_refresh( &mut self, params: <InlineValueRefreshRequest as Request>::Params ) -> BoxFuture<'static, Result<<InlineValueRefreshRequest as Request>::Result, Self::Error>>
fn inlay_hint_refresh( &mut self, params: <InlayHintRefreshRequest as Request>::Params ) -> BoxFuture<'static, Result<<InlayHintRefreshRequest as Request>::Result, Self::Error>>
fn register_capability( &mut self, params: <RegisterCapability as Request>::Params ) -> BoxFuture<'static, Result<<RegisterCapability as Request>::Result, Self::Error>>
fn unregister_capability( &mut self, params: <UnregisterCapability as Request>::Params ) -> BoxFuture<'static, Result<<UnregisterCapability as Request>::Result, Self::Error>>
fn show_message_request( &mut self, params: <ShowMessageRequest as Request>::Params ) -> BoxFuture<'static, Result<<ShowMessageRequest as Request>::Result, Self::Error>>
fn code_lens_refresh( &mut self, params: <CodeLensRefresh as Request>::Params ) -> BoxFuture<'static, Result<<CodeLensRefresh as Request>::Result, Self::Error>>
fn apply_edit( &mut self, params: <ApplyWorkspaceEdit as Request>::Params ) -> BoxFuture<'static, Result<<ApplyWorkspaceEdit as Request>::Result, Self::Error>>
fn show_message( &mut self, params: <ShowMessage as Notification>::Params ) -> Self::NotifyResult
fn log_message( &mut self, params: <LogMessage as Notification>::Params ) -> Self::NotifyResult
fn telemetry_event( &mut self, params: <TelemetryEvent as Notification>::Params ) -> Self::NotifyResult
fn publish_diagnostics( &mut self, params: <PublishDiagnostics as Notification>::Params ) -> Self::NotifyResult
fn log_trace( &mut self, params: <LogTrace as Notification>::Params ) -> Self::NotifyResult
fn cancel_request( &mut self, params: <Cancel as Notification>::Params ) -> Self::NotifyResult
fn progress( &mut self, params: <Progress as Notification>::Params ) -> Self::NotifyResult
source§impl LanguageClient for ClientSocket
impl LanguageClient for ClientSocket
type Error = Error
type NotifyResult = Result<(), Error>
fn workspace_folders( &mut self, params: <WorkspaceFoldersRequest as Request>::Params ) -> BoxFuture<'static, Result<<WorkspaceFoldersRequest as Request>::Result, Self::Error>>
fn configuration( &mut self, params: <WorkspaceConfiguration as Request>::Params ) -> BoxFuture<'static, Result<<WorkspaceConfiguration as Request>::Result, Self::Error>>
fn work_done_progress_create( &mut self, params: <WorkDoneProgressCreate as Request>::Params ) -> BoxFuture<'static, Result<<WorkDoneProgressCreate as Request>::Result, Self::Error>>
fn semantic_tokens_refresh( &mut self, params: <SemanticTokensRefresh as Request>::Params ) -> BoxFuture<'static, Result<<SemanticTokensRefresh as Request>::Result, Self::Error>>
fn show_document( &mut self, params: <ShowDocument as Request>::Params ) -> BoxFuture<'static, Result<<ShowDocument as Request>::Result, Self::Error>>
fn inline_value_refresh( &mut self, params: <InlineValueRefreshRequest as Request>::Params ) -> BoxFuture<'static, Result<<InlineValueRefreshRequest as Request>::Result, Self::Error>>
fn inlay_hint_refresh( &mut self, params: <InlayHintRefreshRequest as Request>::Params ) -> BoxFuture<'static, Result<<InlayHintRefreshRequest as Request>::Result, Self::Error>>
fn register_capability( &mut self, params: <RegisterCapability as Request>::Params ) -> BoxFuture<'static, Result<<RegisterCapability as Request>::Result, Self::Error>>
fn unregister_capability( &mut self, params: <UnregisterCapability as Request>::Params ) -> BoxFuture<'static, Result<<UnregisterCapability as Request>::Result, Self::Error>>
fn show_message_request( &mut self, params: <ShowMessageRequest as Request>::Params ) -> BoxFuture<'static, Result<<ShowMessageRequest as Request>::Result, Self::Error>>
fn code_lens_refresh( &mut self, params: <CodeLensRefresh as Request>::Params ) -> BoxFuture<'static, Result<<CodeLensRefresh as Request>::Result, Self::Error>>
fn apply_edit( &mut self, params: <ApplyWorkspaceEdit as Request>::Params ) -> BoxFuture<'static, Result<<ApplyWorkspaceEdit as Request>::Result, Self::Error>>
fn show_message( &mut self, params: <ShowMessage as Notification>::Params ) -> Self::NotifyResult
fn log_message( &mut self, params: <LogMessage as Notification>::Params ) -> Self::NotifyResult
fn telemetry_event( &mut self, params: <TelemetryEvent as Notification>::Params ) -> Self::NotifyResult
fn publish_diagnostics( &mut self, params: <PublishDiagnostics as Notification>::Params ) -> Self::NotifyResult
fn log_trace( &mut self, params: <LogTrace as Notification>::Params ) -> Self::NotifyResult
fn cancel_request( &mut self, params: <Cancel as Notification>::Params ) -> Self::NotifyResult
fn progress( &mut self, params: <Progress as Notification>::Params ) -> Self::NotifyResult
Auto Trait Implementations§
impl !RefUnwindSafe for ClientSocket
impl Send for ClientSocket
impl Sync for ClientSocket
impl Unpin for ClientSocket
impl !UnwindSafe for ClientSocket
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