use crate::*;
pub trait Request {
const METHOD: &'static str;
type Params: Send + serde::Serialize + serde::de::DeserializeOwned;
type Result: Send + serde::Serialize + serde::de::DeserializeOwned;
}
pub enum TextDocumentImplementation {}
impl Request for TextDocumentImplementation {
const METHOD: &'static str = "textDocument/implementation";
type Params = ImplementationParams;
type Result = Option<Or2<Definition, Vec<DefinitionLink>>>;
}
pub enum TextDocumentTypeDefinition {}
impl Request for TextDocumentTypeDefinition {
const METHOD: &'static str = "textDocument/typeDefinition";
type Params = TypeDefinitionParams;
type Result = Option<Or2<Definition, Vec<DefinitionLink>>>;
}
pub enum WorkspaceWorkspaceFolders {}
impl Request for WorkspaceWorkspaceFolders {
const METHOD: &'static str = "workspace/workspaceFolders";
type Params = ();
type Result = Option<Vec<WorkspaceFolder>>;
}
pub enum WorkspaceConfiguration {}
impl Request for WorkspaceConfiguration {
const METHOD: &'static str = "workspace/configuration";
type Params = ConfigurationParams;
type Result = Vec<Value>;
}
pub enum TextDocumentDocumentColor {}
impl Request for TextDocumentDocumentColor {
const METHOD: &'static str = "textDocument/documentColor";
type Params = DocumentColorParams;
type Result = Vec<ColorInformation>;
}
pub enum TextDocumentColorPresentation {}
impl Request for TextDocumentColorPresentation {
const METHOD: &'static str = "textDocument/colorPresentation";
type Params = ColorPresentationParams;
type Result = Vec<ColorPresentation>;
}
pub enum TextDocumentFoldingRange {}
impl Request for TextDocumentFoldingRange {
const METHOD: &'static str = "textDocument/foldingRange";
type Params = FoldingRangeParams;
type Result = Option<Vec<FoldingRange>>;
}
pub enum WorkspaceFoldingRangeRefresh {}
impl Request for WorkspaceFoldingRangeRefresh {
const METHOD: &'static str = "workspace/foldingRange/refresh";
type Params = ();
type Result = ();
}
pub enum TextDocumentDeclaration {}
impl Request for TextDocumentDeclaration {
const METHOD: &'static str = "textDocument/declaration";
type Params = DeclarationParams;
type Result = Option<Or2<Declaration, Vec<DeclarationLink>>>;
}
pub enum TextDocumentSelectionRange {}
impl Request for TextDocumentSelectionRange {
const METHOD: &'static str = "textDocument/selectionRange";
type Params = SelectionRangeParams;
type Result = Option<Vec<SelectionRange>>;
}
pub enum WindowWorkDoneProgressCreate {}
impl Request for WindowWorkDoneProgressCreate {
const METHOD: &'static str = "window/workDoneProgress/create";
type Params = WorkDoneProgressCreateParams;
type Result = ();
}
pub enum TextDocumentPrepareCallHierarchy {}
impl Request for TextDocumentPrepareCallHierarchy {
const METHOD: &'static str = "textDocument/prepareCallHierarchy";
type Params = CallHierarchyPrepareParams;
type Result = Option<Vec<CallHierarchyItem>>;
}
pub enum CallHierarchyIncomingCalls {}
impl Request for CallHierarchyIncomingCalls {
const METHOD: &'static str = "callHierarchy/incomingCalls";
type Params = CallHierarchyIncomingCallsParams;
type Result = Option<Vec<CallHierarchyIncomingCall>>;
}
pub enum CallHierarchyOutgoingCalls {}
impl Request for CallHierarchyOutgoingCalls {
const METHOD: &'static str = "callHierarchy/outgoingCalls";
type Params = CallHierarchyOutgoingCallsParams;
type Result = Option<Vec<CallHierarchyOutgoingCall>>;
}
pub enum TextDocumentSemanticTokensFull {}
impl Request for TextDocumentSemanticTokensFull {
const METHOD: &'static str = "textDocument/semanticTokens/full";
type Params = SemanticTokensParams;
type Result = Option<SemanticTokens>;
}
pub enum TextDocumentSemanticTokensFullDelta {}
impl Request for TextDocumentSemanticTokensFullDelta {
const METHOD: &'static str = "textDocument/semanticTokens/full/delta";
type Params = SemanticTokensDeltaParams;
type Result = Option<Or2<SemanticTokens, SemanticTokensDelta>>;
}
pub enum TextDocumentSemanticTokensRange {}
impl Request for TextDocumentSemanticTokensRange {
const METHOD: &'static str = "textDocument/semanticTokens/range";
type Params = SemanticTokensRangeParams;
type Result = Option<SemanticTokens>;
}
pub enum WorkspaceSemanticTokensRefresh {}
impl Request for WorkspaceSemanticTokensRefresh {
const METHOD: &'static str = "workspace/semanticTokens/refresh";
type Params = ();
type Result = ();
}
pub enum WindowShowDocument {}
impl Request for WindowShowDocument {
const METHOD: &'static str = "window/showDocument";
type Params = ShowDocumentParams;
type Result = ShowDocumentResult;
}
pub enum TextDocumentLinkedEditingRange {}
impl Request for TextDocumentLinkedEditingRange {
const METHOD: &'static str = "textDocument/linkedEditingRange";
type Params = LinkedEditingRangeParams;
type Result = Option<LinkedEditingRanges>;
}
pub enum WorkspaceWillCreateFiles {}
impl Request for WorkspaceWillCreateFiles {
const METHOD: &'static str = "workspace/willCreateFiles";
type Params = CreateFilesParams;
type Result = Option<WorkspaceEdit>;
}
pub enum WorkspaceWillRenameFiles {}
impl Request for WorkspaceWillRenameFiles {
const METHOD: &'static str = "workspace/willRenameFiles";
type Params = RenameFilesParams;
type Result = Option<WorkspaceEdit>;
}
pub enum WorkspaceWillDeleteFiles {}
impl Request for WorkspaceWillDeleteFiles {
const METHOD: &'static str = "workspace/willDeleteFiles";
type Params = DeleteFilesParams;
type Result = Option<WorkspaceEdit>;
}
pub enum TextDocumentMoniker {}
impl Request for TextDocumentMoniker {
const METHOD: &'static str = "textDocument/moniker";
type Params = MonikerParams;
type Result = Option<Vec<Moniker>>;
}
pub enum TextDocumentPrepareTypeHierarchy {}
impl Request for TextDocumentPrepareTypeHierarchy {
const METHOD: &'static str = "textDocument/prepareTypeHierarchy";
type Params = TypeHierarchyPrepareParams;
type Result = Option<Vec<TypeHierarchyItem>>;
}
pub enum TypeHierarchySupertypes {}
impl Request for TypeHierarchySupertypes {
const METHOD: &'static str = "typeHierarchy/supertypes";
type Params = TypeHierarchySupertypesParams;
type Result = Option<Vec<TypeHierarchyItem>>;
}
pub enum TypeHierarchySubtypes {}
impl Request for TypeHierarchySubtypes {
const METHOD: &'static str = "typeHierarchy/subtypes";
type Params = TypeHierarchySubtypesParams;
type Result = Option<Vec<TypeHierarchyItem>>;
}
pub enum TextDocumentInlineValue {}
impl Request for TextDocumentInlineValue {
const METHOD: &'static str = "textDocument/inlineValue";
type Params = InlineValueParams;
type Result = Option<Vec<InlineValue>>;
}
pub enum WorkspaceInlineValueRefresh {}
impl Request for WorkspaceInlineValueRefresh {
const METHOD: &'static str = "workspace/inlineValue/refresh";
type Params = ();
type Result = ();
}
pub enum TextDocumentInlayHint {}
impl Request for TextDocumentInlayHint {
const METHOD: &'static str = "textDocument/inlayHint";
type Params = InlayHintParams;
type Result = Option<Vec<InlayHint>>;
}
pub enum InlayHintResolve {}
impl Request for InlayHintResolve {
const METHOD: &'static str = "inlayHint/resolve";
type Params = InlayHint;
type Result = InlayHint;
}
pub enum WorkspaceInlayHintRefresh {}
impl Request for WorkspaceInlayHintRefresh {
const METHOD: &'static str = "workspace/inlayHint/refresh";
type Params = ();
type Result = ();
}
pub enum TextDocumentDiagnostic {}
impl Request for TextDocumentDiagnostic {
const METHOD: &'static str = "textDocument/diagnostic";
type Params = DocumentDiagnosticParams;
type Result = DocumentDiagnosticReport;
}
pub enum WorkspaceDiagnostic {}
impl Request for WorkspaceDiagnostic {
const METHOD: &'static str = "workspace/diagnostic";
type Params = WorkspaceDiagnosticParams;
type Result = WorkspaceDiagnosticReport;
}
pub enum WorkspaceDiagnosticRefresh {}
impl Request for WorkspaceDiagnosticRefresh {
const METHOD: &'static str = "workspace/diagnostic/refresh";
type Params = ();
type Result = ();
}
pub enum TextDocumentInlineCompletion {}
impl Request for TextDocumentInlineCompletion {
const METHOD: &'static str = "textDocument/inlineCompletion";
type Params = InlineCompletionParams;
type Result = Option<Or2<InlineCompletionList, Vec<InlineCompletionItem>>>;
}
pub enum ClientRegisterCapability {}
impl Request for ClientRegisterCapability {
const METHOD: &'static str = "client/registerCapability";
type Params = RegistrationParams;
type Result = ();
}
pub enum ClientUnregisterCapability {}
impl Request for ClientUnregisterCapability {
const METHOD: &'static str = "client/unregisterCapability";
type Params = UnregistrationParams;
type Result = ();
}
pub enum Initialize {}
impl Request for Initialize {
const METHOD: &'static str = "initialize";
type Params = InitializeParams;
type Result = InitializeResult;
}
pub enum Shutdown {}
impl Request for Shutdown {
const METHOD: &'static str = "shutdown";
type Params = ();
type Result = ();
}
pub enum WindowShowMessageRequest {}
impl Request for WindowShowMessageRequest {
const METHOD: &'static str = "window/showMessageRequest";
type Params = ShowMessageRequestParams;
type Result = Option<MessageActionItem>;
}
pub enum TextDocumentWillSaveWaitUntil {}
impl Request for TextDocumentWillSaveWaitUntil {
const METHOD: &'static str = "textDocument/willSaveWaitUntil";
type Params = WillSaveTextDocumentParams;
type Result = Option<Vec<TextEdit>>;
}
pub enum TextDocumentCompletion {}
impl Request for TextDocumentCompletion {
const METHOD: &'static str = "textDocument/completion";
type Params = CompletionParams;
type Result = Option<Or2<Vec<CompletionItem>, CompletionList>>;
}
pub enum CompletionItemResolve {}
impl Request for CompletionItemResolve {
const METHOD: &'static str = "completionItem/resolve";
type Params = CompletionItem;
type Result = CompletionItem;
}
pub enum TextDocumentHover {}
impl Request for TextDocumentHover {
const METHOD: &'static str = "textDocument/hover";
type Params = HoverParams;
type Result = Option<Hover>;
}
pub enum TextDocumentSignatureHelp {}
impl Request for TextDocumentSignatureHelp {
const METHOD: &'static str = "textDocument/signatureHelp";
type Params = SignatureHelpParams;
type Result = Option<SignatureHelp>;
}
pub enum TextDocumentDefinition {}
impl Request for TextDocumentDefinition {
const METHOD: &'static str = "textDocument/definition";
type Params = DefinitionParams;
type Result = Option<Or2<Definition, Vec<DefinitionLink>>>;
}
pub enum TextDocumentReferences {}
impl Request for TextDocumentReferences {
const METHOD: &'static str = "textDocument/references";
type Params = ReferenceParams;
type Result = Option<Vec<Location>>;
}
pub enum TextDocumentDocumentHighlight {}
impl Request for TextDocumentDocumentHighlight {
const METHOD: &'static str = "textDocument/documentHighlight";
type Params = DocumentHighlightParams;
type Result = Option<Vec<DocumentHighlight>>;
}
pub enum TextDocumentDocumentSymbol {}
impl Request for TextDocumentDocumentSymbol {
const METHOD: &'static str = "textDocument/documentSymbol";
type Params = DocumentSymbolParams;
type Result = Option<Or2<Vec<SymbolInformation>, Vec<DocumentSymbol>>>;
}
pub enum TextDocumentCodeAction {}
impl Request for TextDocumentCodeAction {
const METHOD: &'static str = "textDocument/codeAction";
type Params = CodeActionParams;
type Result = Option<Vec<Or2<Command, CodeAction>>>;
}
pub enum CodeActionResolve {}
impl Request for CodeActionResolve {
const METHOD: &'static str = "codeAction/resolve";
type Params = CodeAction;
type Result = CodeAction;
}
pub enum WorkspaceSymbolRequest {}
impl Request for WorkspaceSymbolRequest {
const METHOD: &'static str = "workspace/symbol";
type Params = WorkspaceSymbolParams;
type Result = Option<Or2<Vec<SymbolInformation>, Vec<WorkspaceSymbol>>>;
}
pub enum WorkspaceSymbolResolve {}
impl Request for WorkspaceSymbolResolve {
const METHOD: &'static str = "workspaceSymbol/resolve";
type Params = WorkspaceSymbol;
type Result = WorkspaceSymbol;
}
pub enum TextDocumentCodeLens {}
impl Request for TextDocumentCodeLens {
const METHOD: &'static str = "textDocument/codeLens";
type Params = CodeLensParams;
type Result = Option<Vec<CodeLens>>;
}
pub enum CodeLensResolve {}
impl Request for CodeLensResolve {
const METHOD: &'static str = "codeLens/resolve";
type Params = CodeLens;
type Result = CodeLens;
}
pub enum WorkspaceCodeLensRefresh {}
impl Request for WorkspaceCodeLensRefresh {
const METHOD: &'static str = "workspace/codeLens/refresh";
type Params = ();
type Result = ();
}
pub enum TextDocumentDocumentLink {}
impl Request for TextDocumentDocumentLink {
const METHOD: &'static str = "textDocument/documentLink";
type Params = DocumentLinkParams;
type Result = Option<Vec<DocumentLink>>;
}
pub enum DocumentLinkResolve {}
impl Request for DocumentLinkResolve {
const METHOD: &'static str = "documentLink/resolve";
type Params = DocumentLink;
type Result = DocumentLink;
}
pub enum TextDocumentFormatting {}
impl Request for TextDocumentFormatting {
const METHOD: &'static str = "textDocument/formatting";
type Params = DocumentFormattingParams;
type Result = Option<Vec<TextEdit>>;
}
pub enum TextDocumentRangeFormatting {}
impl Request for TextDocumentRangeFormatting {
const METHOD: &'static str = "textDocument/rangeFormatting";
type Params = DocumentRangeFormattingParams;
type Result = Option<Vec<TextEdit>>;
}
pub enum TextDocumentRangesFormatting {}
impl Request for TextDocumentRangesFormatting {
const METHOD: &'static str = "textDocument/rangesFormatting";
type Params = DocumentRangesFormattingParams;
type Result = Option<Vec<TextEdit>>;
}
pub enum TextDocumentOnTypeFormatting {}
impl Request for TextDocumentOnTypeFormatting {
const METHOD: &'static str = "textDocument/onTypeFormatting";
type Params = DocumentOnTypeFormattingParams;
type Result = Option<Vec<TextEdit>>;
}
pub enum TextDocumentRename {}
impl Request for TextDocumentRename {
const METHOD: &'static str = "textDocument/rename";
type Params = RenameParams;
type Result = Option<WorkspaceEdit>;
}
pub enum TextDocumentPrepareRename {}
impl Request for TextDocumentPrepareRename {
const METHOD: &'static str = "textDocument/prepareRename";
type Params = PrepareRenameParams;
type Result = Option<PrepareRenameResult>;
}
pub enum WorkspaceExecuteCommand {}
impl Request for WorkspaceExecuteCommand {
const METHOD: &'static str = "workspace/executeCommand";
type Params = ExecuteCommandParams;
type Result = Option<Value>;
}
pub enum WorkspaceApplyEdit {}
impl Request for WorkspaceApplyEdit {
const METHOD: &'static str = "workspace/applyEdit";
type Params = ApplyWorkspaceEditParams;
type Result = ApplyWorkspaceEditResult;
}