Trait LanguageServer

Source
pub trait LanguageServer {
    type Error: From<ResponseError> + Send + 'static;
    type NotifyResult: NotifyResult;

Show 68 methods // Required method fn initialize( &mut self, params: <Initialize as Request>::Params, ) -> BoxFuture<'static, Result<<Initialize as Request>::Result, Self::Error>>; // Provided methods fn shutdown( &mut self, (): <Shutdown as Request>::Params, ) -> BoxFuture<'static, Result<<Shutdown as Request>::Result, Self::Error>> { ... } fn implementation( &mut self, params: <GotoImplementation as Request>::Params, ) -> BoxFuture<'static, Result<<GotoImplementation as Request>::Result, Self::Error>> { ... } fn type_definition( &mut self, params: <GotoTypeDefinition as Request>::Params, ) -> BoxFuture<'static, Result<<GotoTypeDefinition as Request>::Result, Self::Error>> { ... } fn document_color( &mut self, params: <DocumentColor as Request>::Params, ) -> BoxFuture<'static, Result<<DocumentColor as Request>::Result, Self::Error>> { ... } fn color_presentation( &mut self, params: <ColorPresentationRequest as Request>::Params, ) -> BoxFuture<'static, Result<<ColorPresentationRequest as Request>::Result, Self::Error>> { ... } fn folding_range( &mut self, params: <FoldingRangeRequest as Request>::Params, ) -> BoxFuture<'static, Result<<FoldingRangeRequest as Request>::Result, Self::Error>> { ... } fn declaration( &mut self, params: <GotoDeclaration as Request>::Params, ) -> BoxFuture<'static, Result<<GotoDeclaration as Request>::Result, Self::Error>> { ... } fn selection_range( &mut self, params: <SelectionRangeRequest as Request>::Params, ) -> BoxFuture<'static, Result<<SelectionRangeRequest as Request>::Result, Self::Error>> { ... } fn prepare_call_hierarchy( &mut self, params: <CallHierarchyPrepare as Request>::Params, ) -> BoxFuture<'static, Result<<CallHierarchyPrepare as Request>::Result, Self::Error>> { ... } fn incoming_calls( &mut self, params: <CallHierarchyIncomingCalls as Request>::Params, ) -> BoxFuture<'static, Result<<CallHierarchyIncomingCalls as Request>::Result, Self::Error>> { ... } fn outgoing_calls( &mut self, params: <CallHierarchyOutgoingCalls as Request>::Params, ) -> BoxFuture<'static, Result<<CallHierarchyOutgoingCalls as Request>::Result, Self::Error>> { ... } fn semantic_tokens_full( &mut self, params: <SemanticTokensFullRequest as Request>::Params, ) -> BoxFuture<'static, Result<<SemanticTokensFullRequest as Request>::Result, Self::Error>> { ... } fn semantic_tokens_full_delta( &mut self, params: <SemanticTokensFullDeltaRequest as Request>::Params, ) -> BoxFuture<'static, Result<<SemanticTokensFullDeltaRequest as Request>::Result, Self::Error>> { ... } fn semantic_tokens_range( &mut self, params: <SemanticTokensRangeRequest as Request>::Params, ) -> BoxFuture<'static, Result<<SemanticTokensRangeRequest as Request>::Result, Self::Error>> { ... } fn linked_editing_range( &mut self, params: <LinkedEditingRange as Request>::Params, ) -> BoxFuture<'static, Result<<LinkedEditingRange as Request>::Result, Self::Error>> { ... } fn will_create_files( &mut self, params: <WillCreateFiles as Request>::Params, ) -> BoxFuture<'static, Result<<WillCreateFiles as Request>::Result, Self::Error>> { ... } fn will_rename_files( &mut self, params: <WillRenameFiles as Request>::Params, ) -> BoxFuture<'static, Result<<WillRenameFiles as Request>::Result, Self::Error>> { ... } fn will_delete_files( &mut self, params: <WillDeleteFiles as Request>::Params, ) -> BoxFuture<'static, Result<<WillDeleteFiles as Request>::Result, Self::Error>> { ... } fn moniker( &mut self, params: <MonikerRequest as Request>::Params, ) -> BoxFuture<'static, Result<<MonikerRequest as Request>::Result, Self::Error>> { ... } fn prepare_type_hierarchy( &mut self, params: <TypeHierarchyPrepare as Request>::Params, ) -> BoxFuture<'static, Result<<TypeHierarchyPrepare as Request>::Result, Self::Error>> { ... } fn supertypes( &mut self, params: <TypeHierarchySupertypes as Request>::Params, ) -> BoxFuture<'static, Result<<TypeHierarchySupertypes as Request>::Result, Self::Error>> { ... } fn subtypes( &mut self, params: <TypeHierarchySubtypes as Request>::Params, ) -> BoxFuture<'static, Result<<TypeHierarchySubtypes as Request>::Result, Self::Error>> { ... } fn inline_value( &mut self, params: <InlineValueRequest as Request>::Params, ) -> BoxFuture<'static, Result<<InlineValueRequest as Request>::Result, Self::Error>> { ... } fn inlay_hint( &mut self, params: <InlayHintRequest as Request>::Params, ) -> BoxFuture<'static, Result<<InlayHintRequest as Request>::Result, Self::Error>> { ... } fn inlay_hint_resolve( &mut self, params: <InlayHintResolveRequest as Request>::Params, ) -> BoxFuture<'static, Result<<InlayHintResolveRequest as Request>::Result, Self::Error>> { ... } fn document_diagnostic( &mut self, params: <DocumentDiagnosticRequest as Request>::Params, ) -> BoxFuture<'static, Result<<DocumentDiagnosticRequest as Request>::Result, Self::Error>> { ... } fn workspace_diagnostic( &mut self, params: <WorkspaceDiagnosticRequest as Request>::Params, ) -> BoxFuture<'static, Result<<WorkspaceDiagnosticRequest as Request>::Result, Self::Error>> { ... } fn will_save_wait_until( &mut self, params: <WillSaveWaitUntil as Request>::Params, ) -> BoxFuture<'static, Result<<WillSaveWaitUntil as Request>::Result, Self::Error>> { ... } fn completion( &mut self, params: <Completion as Request>::Params, ) -> BoxFuture<'static, Result<<Completion as Request>::Result, Self::Error>> { ... } fn completion_item_resolve( &mut self, params: <ResolveCompletionItem as Request>::Params, ) -> BoxFuture<'static, Result<<ResolveCompletionItem as Request>::Result, Self::Error>> { ... } fn hover( &mut self, params: <HoverRequest as Request>::Params, ) -> BoxFuture<'static, Result<<HoverRequest as Request>::Result, Self::Error>> { ... } fn signature_help( &mut self, params: <SignatureHelpRequest as Request>::Params, ) -> BoxFuture<'static, Result<<SignatureHelpRequest as Request>::Result, Self::Error>> { ... } fn definition( &mut self, params: <GotoDefinition as Request>::Params, ) -> BoxFuture<'static, Result<<GotoDefinition as Request>::Result, Self::Error>> { ... } fn references( &mut self, params: <References as Request>::Params, ) -> BoxFuture<'static, Result<<References as Request>::Result, Self::Error>> { ... } fn document_highlight( &mut self, params: <DocumentHighlightRequest as Request>::Params, ) -> BoxFuture<'static, Result<<DocumentHighlightRequest as Request>::Result, Self::Error>> { ... } fn document_symbol( &mut self, params: <DocumentSymbolRequest as Request>::Params, ) -> BoxFuture<'static, Result<<DocumentSymbolRequest as Request>::Result, Self::Error>> { ... } fn code_action( &mut self, params: <CodeActionRequest as Request>::Params, ) -> BoxFuture<'static, Result<<CodeActionRequest as Request>::Result, Self::Error>> { ... } fn code_action_resolve( &mut self, params: <CodeActionResolveRequest as Request>::Params, ) -> BoxFuture<'static, Result<<CodeActionResolveRequest as Request>::Result, Self::Error>> { ... } fn symbol( &mut self, params: <WorkspaceSymbolRequest as Request>::Params, ) -> BoxFuture<'static, Result<<WorkspaceSymbolRequest as Request>::Result, Self::Error>> { ... } fn workspace_symbol_resolve( &mut self, params: <WorkspaceSymbolResolve as Request>::Params, ) -> BoxFuture<'static, Result<<WorkspaceSymbolResolve as Request>::Result, Self::Error>> { ... } fn code_lens( &mut self, params: <CodeLensRequest as Request>::Params, ) -> BoxFuture<'static, Result<<CodeLensRequest as Request>::Result, Self::Error>> { ... } fn code_lens_resolve( &mut self, params: <CodeLensResolve as Request>::Params, ) -> BoxFuture<'static, Result<<CodeLensResolve as Request>::Result, Self::Error>> { ... } fn document_link( &mut self, params: <DocumentLinkRequest as Request>::Params, ) -> BoxFuture<'static, Result<<DocumentLinkRequest as Request>::Result, Self::Error>> { ... } fn document_link_resolve( &mut self, params: <DocumentLinkResolve as Request>::Params, ) -> BoxFuture<'static, Result<<DocumentLinkResolve as Request>::Result, Self::Error>> { ... } fn formatting( &mut self, params: <Formatting as Request>::Params, ) -> BoxFuture<'static, Result<<Formatting as Request>::Result, Self::Error>> { ... } fn range_formatting( &mut self, params: <RangeFormatting as Request>::Params, ) -> BoxFuture<'static, Result<<RangeFormatting as Request>::Result, Self::Error>> { ... } fn on_type_formatting( &mut self, params: <OnTypeFormatting as Request>::Params, ) -> BoxFuture<'static, Result<<OnTypeFormatting as Request>::Result, Self::Error>> { ... } fn rename( &mut self, params: <Rename as Request>::Params, ) -> BoxFuture<'static, Result<<Rename as Request>::Result, Self::Error>> { ... } fn prepare_rename( &mut self, params: <PrepareRenameRequest as Request>::Params, ) -> BoxFuture<'static, Result<<PrepareRenameRequest as Request>::Result, Self::Error>> { ... } fn execute_command( &mut self, params: <ExecuteCommand as Request>::Params, ) -> BoxFuture<'static, Result<<ExecuteCommand as Request>::Result, Self::Error>> { ... } fn initialized( &mut self, params: <Initialized as Notification>::Params, ) -> Self::NotifyResult { ... } fn exit(&mut self, (): <Exit as Notification>::Params) -> Self::NotifyResult { ... } fn did_change_workspace_folders( &mut self, params: <DidChangeWorkspaceFolders as Notification>::Params, ) -> Self::NotifyResult { ... } fn work_done_progress_cancel( &mut self, params: <WorkDoneProgressCancel as Notification>::Params, ) -> Self::NotifyResult { ... } fn did_create_files( &mut self, params: <DidCreateFiles as Notification>::Params, ) -> Self::NotifyResult { ... } fn did_rename_files( &mut self, params: <DidRenameFiles as Notification>::Params, ) -> Self::NotifyResult { ... } fn did_delete_files( &mut self, params: <DidDeleteFiles as Notification>::Params, ) -> Self::NotifyResult { ... } fn did_change_configuration( &mut self, params: <DidChangeConfiguration as Notification>::Params, ) -> Self::NotifyResult { ... } fn did_open( &mut self, params: <DidOpenTextDocument as Notification>::Params, ) -> Self::NotifyResult { ... } fn did_change( &mut self, params: <DidChangeTextDocument as Notification>::Params, ) -> Self::NotifyResult { ... } fn did_close( &mut self, params: <DidCloseTextDocument as Notification>::Params, ) -> Self::NotifyResult { ... } fn did_save( &mut self, params: <DidSaveTextDocument as Notification>::Params, ) -> Self::NotifyResult { ... } fn will_save( &mut self, params: <WillSaveTextDocument as Notification>::Params, ) -> Self::NotifyResult { ... } fn did_change_watched_files( &mut self, params: <DidChangeWatchedFiles as Notification>::Params, ) -> Self::NotifyResult { ... } fn set_trace( &mut self, params: <SetTrace 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 { ... }
}
Available on crate feature omni-trait only.
Expand description

The omnitrait defining all standard LSP requests and notifications supported by lsp_types for a Language Server.

Required Associated Types§

Source

type Error: From<ResponseError> + Send + 'static

Should always be defined to ResponseError for user implementations.

Source

type NotifyResult: NotifyResult

Should always be defined to ControlFlow<Result<()>> for user implementations.

Required Methods§

Source

fn initialize( &mut self, params: <Initialize as Request>::Params, ) -> BoxFuture<'static, Result<<Initialize as Request>::Result, Self::Error>>

Provided Methods§

Source

fn shutdown( &mut self, (): <Shutdown as Request>::Params, ) -> BoxFuture<'static, Result<<Shutdown as Request>::Result, Self::Error>>

Source

fn implementation( &mut self, params: <GotoImplementation as Request>::Params, ) -> BoxFuture<'static, Result<<GotoImplementation as Request>::Result, Self::Error>>

Source

fn type_definition( &mut self, params: <GotoTypeDefinition as Request>::Params, ) -> BoxFuture<'static, Result<<GotoTypeDefinition as Request>::Result, Self::Error>>

Source

fn document_color( &mut self, params: <DocumentColor as Request>::Params, ) -> BoxFuture<'static, Result<<DocumentColor as Request>::Result, Self::Error>>

Source

fn color_presentation( &mut self, params: <ColorPresentationRequest as Request>::Params, ) -> BoxFuture<'static, Result<<ColorPresentationRequest as Request>::Result, Self::Error>>

Source

fn folding_range( &mut self, params: <FoldingRangeRequest as Request>::Params, ) -> BoxFuture<'static, Result<<FoldingRangeRequest as Request>::Result, Self::Error>>

Source

fn declaration( &mut self, params: <GotoDeclaration as Request>::Params, ) -> BoxFuture<'static, Result<<GotoDeclaration as Request>::Result, Self::Error>>

Source

fn selection_range( &mut self, params: <SelectionRangeRequest as Request>::Params, ) -> BoxFuture<'static, Result<<SelectionRangeRequest as Request>::Result, Self::Error>>

Source

fn prepare_call_hierarchy( &mut self, params: <CallHierarchyPrepare as Request>::Params, ) -> BoxFuture<'static, Result<<CallHierarchyPrepare as Request>::Result, Self::Error>>

Source

fn incoming_calls( &mut self, params: <CallHierarchyIncomingCalls as Request>::Params, ) -> BoxFuture<'static, Result<<CallHierarchyIncomingCalls as Request>::Result, Self::Error>>

Source

fn outgoing_calls( &mut self, params: <CallHierarchyOutgoingCalls as Request>::Params, ) -> BoxFuture<'static, Result<<CallHierarchyOutgoingCalls as Request>::Result, Self::Error>>

Source

fn semantic_tokens_full( &mut self, params: <SemanticTokensFullRequest as Request>::Params, ) -> BoxFuture<'static, Result<<SemanticTokensFullRequest as Request>::Result, Self::Error>>

Source

fn semantic_tokens_full_delta( &mut self, params: <SemanticTokensFullDeltaRequest as Request>::Params, ) -> BoxFuture<'static, Result<<SemanticTokensFullDeltaRequest as Request>::Result, Self::Error>>

Source

fn semantic_tokens_range( &mut self, params: <SemanticTokensRangeRequest as Request>::Params, ) -> BoxFuture<'static, Result<<SemanticTokensRangeRequest as Request>::Result, Self::Error>>

Source

fn linked_editing_range( &mut self, params: <LinkedEditingRange as Request>::Params, ) -> BoxFuture<'static, Result<<LinkedEditingRange as Request>::Result, Self::Error>>

Source

fn will_create_files( &mut self, params: <WillCreateFiles as Request>::Params, ) -> BoxFuture<'static, Result<<WillCreateFiles as Request>::Result, Self::Error>>

Source

fn will_rename_files( &mut self, params: <WillRenameFiles as Request>::Params, ) -> BoxFuture<'static, Result<<WillRenameFiles as Request>::Result, Self::Error>>

Source

fn will_delete_files( &mut self, params: <WillDeleteFiles as Request>::Params, ) -> BoxFuture<'static, Result<<WillDeleteFiles as Request>::Result, Self::Error>>

Source

fn moniker( &mut self, params: <MonikerRequest as Request>::Params, ) -> BoxFuture<'static, Result<<MonikerRequest as Request>::Result, Self::Error>>

Source

fn prepare_type_hierarchy( &mut self, params: <TypeHierarchyPrepare as Request>::Params, ) -> BoxFuture<'static, Result<<TypeHierarchyPrepare as Request>::Result, Self::Error>>

Source

fn supertypes( &mut self, params: <TypeHierarchySupertypes as Request>::Params, ) -> BoxFuture<'static, Result<<TypeHierarchySupertypes as Request>::Result, Self::Error>>

Source

fn subtypes( &mut self, params: <TypeHierarchySubtypes as Request>::Params, ) -> BoxFuture<'static, Result<<TypeHierarchySubtypes as Request>::Result, Self::Error>>

Source

fn inline_value( &mut self, params: <InlineValueRequest as Request>::Params, ) -> BoxFuture<'static, Result<<InlineValueRequest as Request>::Result, Self::Error>>

Source

fn inlay_hint( &mut self, params: <InlayHintRequest as Request>::Params, ) -> BoxFuture<'static, Result<<InlayHintRequest as Request>::Result, Self::Error>>

Source

fn inlay_hint_resolve( &mut self, params: <InlayHintResolveRequest as Request>::Params, ) -> BoxFuture<'static, Result<<InlayHintResolveRequest as Request>::Result, Self::Error>>

Source

fn document_diagnostic( &mut self, params: <DocumentDiagnosticRequest as Request>::Params, ) -> BoxFuture<'static, Result<<DocumentDiagnosticRequest as Request>::Result, Self::Error>>

Source

fn workspace_diagnostic( &mut self, params: <WorkspaceDiagnosticRequest as Request>::Params, ) -> BoxFuture<'static, Result<<WorkspaceDiagnosticRequest as Request>::Result, Self::Error>>

Source

fn will_save_wait_until( &mut self, params: <WillSaveWaitUntil as Request>::Params, ) -> BoxFuture<'static, Result<<WillSaveWaitUntil as Request>::Result, Self::Error>>

Source

fn completion( &mut self, params: <Completion as Request>::Params, ) -> BoxFuture<'static, Result<<Completion as Request>::Result, Self::Error>>

Source

fn completion_item_resolve( &mut self, params: <ResolveCompletionItem as Request>::Params, ) -> BoxFuture<'static, Result<<ResolveCompletionItem as Request>::Result, Self::Error>>

Source

fn hover( &mut self, params: <HoverRequest as Request>::Params, ) -> BoxFuture<'static, Result<<HoverRequest as Request>::Result, Self::Error>>

Source

fn signature_help( &mut self, params: <SignatureHelpRequest as Request>::Params, ) -> BoxFuture<'static, Result<<SignatureHelpRequest as Request>::Result, Self::Error>>

Source

fn definition( &mut self, params: <GotoDefinition as Request>::Params, ) -> BoxFuture<'static, Result<<GotoDefinition as Request>::Result, Self::Error>>

Source

fn references( &mut self, params: <References as Request>::Params, ) -> BoxFuture<'static, Result<<References as Request>::Result, Self::Error>>

Source

fn document_highlight( &mut self, params: <DocumentHighlightRequest as Request>::Params, ) -> BoxFuture<'static, Result<<DocumentHighlightRequest as Request>::Result, Self::Error>>

Source

fn document_symbol( &mut self, params: <DocumentSymbolRequest as Request>::Params, ) -> BoxFuture<'static, Result<<DocumentSymbolRequest as Request>::Result, Self::Error>>

Source

fn code_action( &mut self, params: <CodeActionRequest as Request>::Params, ) -> BoxFuture<'static, Result<<CodeActionRequest as Request>::Result, Self::Error>>

Source

fn code_action_resolve( &mut self, params: <CodeActionResolveRequest as Request>::Params, ) -> BoxFuture<'static, Result<<CodeActionResolveRequest as Request>::Result, Self::Error>>

Source

fn symbol( &mut self, params: <WorkspaceSymbolRequest as Request>::Params, ) -> BoxFuture<'static, Result<<WorkspaceSymbolRequest as Request>::Result, Self::Error>>

Source

fn workspace_symbol_resolve( &mut self, params: <WorkspaceSymbolResolve as Request>::Params, ) -> BoxFuture<'static, Result<<WorkspaceSymbolResolve as Request>::Result, Self::Error>>

Source

fn code_lens( &mut self, params: <CodeLensRequest as Request>::Params, ) -> BoxFuture<'static, Result<<CodeLensRequest as Request>::Result, Self::Error>>

Source

fn code_lens_resolve( &mut self, params: <CodeLensResolve as Request>::Params, ) -> BoxFuture<'static, Result<<CodeLensResolve as Request>::Result, Self::Error>>

Source

fn formatting( &mut self, params: <Formatting as Request>::Params, ) -> BoxFuture<'static, Result<<Formatting as Request>::Result, Self::Error>>

Source

fn range_formatting( &mut self, params: <RangeFormatting as Request>::Params, ) -> BoxFuture<'static, Result<<RangeFormatting as Request>::Result, Self::Error>>

Source

fn on_type_formatting( &mut self, params: <OnTypeFormatting as Request>::Params, ) -> BoxFuture<'static, Result<<OnTypeFormatting as Request>::Result, Self::Error>>

Source

fn rename( &mut self, params: <Rename as Request>::Params, ) -> BoxFuture<'static, Result<<Rename as Request>::Result, Self::Error>>

Source

fn prepare_rename( &mut self, params: <PrepareRenameRequest as Request>::Params, ) -> BoxFuture<'static, Result<<PrepareRenameRequest as Request>::Result, Self::Error>>

Source

fn execute_command( &mut self, params: <ExecuteCommand as Request>::Params, ) -> BoxFuture<'static, Result<<ExecuteCommand as Request>::Result, Self::Error>>

Source

fn initialized( &mut self, params: <Initialized as Notification>::Params, ) -> Self::NotifyResult

Source

fn exit(&mut self, (): <Exit as Notification>::Params) -> Self::NotifyResult

Source

fn did_change_workspace_folders( &mut self, params: <DidChangeWorkspaceFolders as Notification>::Params, ) -> Self::NotifyResult

Source

fn work_done_progress_cancel( &mut self, params: <WorkDoneProgressCancel as Notification>::Params, ) -> Self::NotifyResult

Source

fn did_create_files( &mut self, params: <DidCreateFiles as Notification>::Params, ) -> Self::NotifyResult

Source

fn did_rename_files( &mut self, params: <DidRenameFiles as Notification>::Params, ) -> Self::NotifyResult

Source

fn did_delete_files( &mut self, params: <DidDeleteFiles as Notification>::Params, ) -> Self::NotifyResult

Source

fn did_change_configuration( &mut self, params: <DidChangeConfiguration as Notification>::Params, ) -> Self::NotifyResult

Source

fn did_open( &mut self, params: <DidOpenTextDocument as Notification>::Params, ) -> Self::NotifyResult

Source

fn did_change( &mut self, params: <DidChangeTextDocument as Notification>::Params, ) -> Self::NotifyResult

Source

fn did_close( &mut self, params: <DidCloseTextDocument as Notification>::Params, ) -> Self::NotifyResult

Source

fn did_save( &mut self, params: <DidSaveTextDocument as Notification>::Params, ) -> Self::NotifyResult

Source

fn will_save( &mut self, params: <WillSaveTextDocument as Notification>::Params, ) -> Self::NotifyResult

Source

fn did_change_watched_files( &mut self, params: <DidChangeWatchedFiles as Notification>::Params, ) -> Self::NotifyResult

Source

fn set_trace( &mut self, params: <SetTrace as Notification>::Params, ) -> Self::NotifyResult

Source

fn cancel_request( &mut self, params: <Cancel as Notification>::Params, ) -> Self::NotifyResult

Source

fn progress( &mut self, params: <Progress as Notification>::Params, ) -> Self::NotifyResult

Implementors§