Trait async_lsp::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§
sourcetype Error: From<ResponseError> + Send + 'static
 
type Error: From<ResponseError> + Send + 'static
Should always be defined to ResponseError for user implementations.
sourcetype NotifyResult: NotifyResult
 
type NotifyResult: NotifyResult
Should always be defined to ControlFlow<Result<()>> for user implementations.