use rust_decimal::Decimal;
use serde::{Deserialize, Serialize};
use std::collections::HashMap;
use url::Url;
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(untagged)]
pub enum CustomStringEnum<T> {
Known(T),
Custom(String),
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(untagged)]
pub enum CustomIntEnum<T> {
Known(T),
Custom(i32),
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(untagged)]
pub enum OR2<T, U> {
T(T),
U(U),
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(untagged)]
pub enum OR3<T, U, V> {
T(T),
U(U),
V(V),
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(untagged)]
pub enum OR4<T, U, V, W> {
T(T),
U(U),
V(V),
W(W),
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(untagged)]
pub enum OR5<T, U, V, W, X> {
T(T),
U(U),
V(V),
W(W),
X(X),
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(untagged)]
pub enum OR6<T, U, V, W, X, Y> {
T(T),
U(U),
V(V),
W(W),
X(X),
Y(Y),
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(untagged)]
pub enum OR7<T, U, V, W, X, Y, Z> {
T(T),
U(U),
V(V),
W(W),
X(X),
Y(Y),
Z(Z),
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(untagged)]
pub enum LSPNull {
None,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(untagged)]
pub enum LSPAny {
String(String),
Integer(i32),
UInteger(u32),
Decimal(Decimal),
Boolean(bool),
Object(LSPObject),
Array(LSPArray),
Null,
}
type LSPObject = serde_json::Value;
type LSPArray = Vec<LSPAny>;
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
pub struct SelectionRange {
pub range: Range,
pub parent: Option<Box<SelectionRange>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
pub enum LSPRequestMethods {
#[serde(rename = "textDocument/implementation")]
TextDocumentImplementation,
#[serde(rename = "textDocument/typeDefinition")]
TextDocumentTypeDefinition,
#[serde(rename = "workspace/workspaceFolders")]
WorkspaceWorkspaceFolders,
#[serde(rename = "workspace/configuration")]
WorkspaceConfiguration,
#[serde(rename = "textDocument/documentColor")]
TextDocumentDocumentColor,
#[serde(rename = "textDocument/colorPresentation")]
TextDocumentColorPresentation,
#[serde(rename = "textDocument/foldingRange")]
TextDocumentFoldingRange,
#[serde(rename = "workspace/foldingRange/refresh")]
WorkspaceFoldingRangeRefresh,
#[serde(rename = "textDocument/declaration")]
TextDocumentDeclaration,
#[serde(rename = "textDocument/selectionRange")]
TextDocumentSelectionRange,
#[serde(rename = "window/workDoneProgress/create")]
WindowWorkDoneProgressCreate,
#[serde(rename = "textDocument/prepareCallHierarchy")]
TextDocumentPrepareCallHierarchy,
#[serde(rename = "callHierarchy/incomingCalls")]
CallHierarchyIncomingCalls,
#[serde(rename = "callHierarchy/outgoingCalls")]
CallHierarchyOutgoingCalls,
#[serde(rename = "textDocument/semanticTokens/full")]
TextDocumentSemanticTokensFull,
#[serde(rename = "textDocument/semanticTokens/full/delta")]
TextDocumentSemanticTokensFullDelta,
#[serde(rename = "textDocument/semanticTokens/range")]
TextDocumentSemanticTokensRange,
#[serde(rename = "workspace/semanticTokens/refresh")]
WorkspaceSemanticTokensRefresh,
#[serde(rename = "window/showDocument")]
WindowShowDocument,
#[serde(rename = "textDocument/linkedEditingRange")]
TextDocumentLinkedEditingRange,
#[serde(rename = "workspace/willCreateFiles")]
WorkspaceWillCreateFiles,
#[serde(rename = "workspace/willRenameFiles")]
WorkspaceWillRenameFiles,
#[serde(rename = "workspace/willDeleteFiles")]
WorkspaceWillDeleteFiles,
#[serde(rename = "textDocument/moniker")]
TextDocumentMoniker,
#[serde(rename = "textDocument/prepareTypeHierarchy")]
TextDocumentPrepareTypeHierarchy,
#[serde(rename = "typeHierarchy/supertypes")]
TypeHierarchySupertypes,
#[serde(rename = "typeHierarchy/subtypes")]
TypeHierarchySubtypes,
#[serde(rename = "textDocument/inlineValue")]
TextDocumentInlineValue,
#[serde(rename = "workspace/inlineValue/refresh")]
WorkspaceInlineValueRefresh,
#[serde(rename = "textDocument/inlayHint")]
TextDocumentInlayHint,
#[serde(rename = "inlayHint/resolve")]
InlayHintResolve,
#[serde(rename = "workspace/inlayHint/refresh")]
WorkspaceInlayHintRefresh,
#[serde(rename = "textDocument/diagnostic")]
TextDocumentDiagnostic,
#[serde(rename = "workspace/diagnostic")]
WorkspaceDiagnostic,
#[serde(rename = "workspace/diagnostic/refresh")]
WorkspaceDiagnosticRefresh,
#[serde(rename = "textDocument/inlineCompletion")]
TextDocumentInlineCompletion,
#[serde(rename = "workspace/textDocumentContent")]
WorkspaceTextDocumentContent,
#[serde(rename = "workspace/textDocumentContent/refresh")]
WorkspaceTextDocumentContentRefresh,
#[serde(rename = "client/registerCapability")]
ClientRegisterCapability,
#[serde(rename = "client/unregisterCapability")]
ClientUnregisterCapability,
#[serde(rename = "initialize")]
Initialize,
#[serde(rename = "shutdown")]
Shutdown,
#[serde(rename = "window/showMessageRequest")]
WindowShowMessageRequest,
#[serde(rename = "textDocument/willSaveWaitUntil")]
TextDocumentWillSaveWaitUntil,
#[serde(rename = "textDocument/completion")]
TextDocumentCompletion,
#[serde(rename = "completionItem/resolve")]
CompletionItemResolve,
#[serde(rename = "textDocument/hover")]
TextDocumentHover,
#[serde(rename = "textDocument/signatureHelp")]
TextDocumentSignatureHelp,
#[serde(rename = "textDocument/definition")]
TextDocumentDefinition,
#[serde(rename = "textDocument/references")]
TextDocumentReferences,
#[serde(rename = "textDocument/documentHighlight")]
TextDocumentDocumentHighlight,
#[serde(rename = "textDocument/documentSymbol")]
TextDocumentDocumentSymbol,
#[serde(rename = "textDocument/codeAction")]
TextDocumentCodeAction,
#[serde(rename = "codeAction/resolve")]
CodeActionResolve,
#[serde(rename = "workspace/symbol")]
WorkspaceSymbol,
#[serde(rename = "workspaceSymbol/resolve")]
WorkspaceSymbolResolve,
#[serde(rename = "textDocument/codeLens")]
TextDocumentCodeLens,
#[serde(rename = "codeLens/resolve")]
CodeLensResolve,
#[serde(rename = "workspace/codeLens/refresh")]
WorkspaceCodeLensRefresh,
#[serde(rename = "textDocument/documentLink")]
TextDocumentDocumentLink,
#[serde(rename = "documentLink/resolve")]
DocumentLinkResolve,
#[serde(rename = "textDocument/formatting")]
TextDocumentFormatting,
#[serde(rename = "textDocument/rangeFormatting")]
TextDocumentRangeFormatting,
#[serde(rename = "textDocument/rangesFormatting")]
TextDocumentRangesFormatting,
#[serde(rename = "textDocument/onTypeFormatting")]
TextDocumentOnTypeFormatting,
#[serde(rename = "textDocument/rename")]
TextDocumentRename,
#[serde(rename = "textDocument/prepareRename")]
TextDocumentPrepareRename,
#[serde(rename = "workspace/executeCommand")]
WorkspaceExecuteCommand,
#[serde(rename = "workspace/applyEdit")]
WorkspaceApplyEdit,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
pub enum LSPNotificationMethods {
#[serde(rename = "workspace/didChangeWorkspaceFolders")]
WorkspaceDidChangeWorkspaceFolders,
#[serde(rename = "window/workDoneProgress/cancel")]
WindowWorkDoneProgressCancel,
#[serde(rename = "workspace/didCreateFiles")]
WorkspaceDidCreateFiles,
#[serde(rename = "workspace/didRenameFiles")]
WorkspaceDidRenameFiles,
#[serde(rename = "workspace/didDeleteFiles")]
WorkspaceDidDeleteFiles,
#[serde(rename = "notebookDocument/didOpen")]
NotebookDocumentDidOpen,
#[serde(rename = "notebookDocument/didChange")]
NotebookDocumentDidChange,
#[serde(rename = "notebookDocument/didSave")]
NotebookDocumentDidSave,
#[serde(rename = "notebookDocument/didClose")]
NotebookDocumentDidClose,
#[serde(rename = "initialized")]
Initialized,
#[serde(rename = "exit")]
Exit,
#[serde(rename = "workspace/didChangeConfiguration")]
WorkspaceDidChangeConfiguration,
#[serde(rename = "window/showMessage")]
WindowShowMessage,
#[serde(rename = "window/logMessage")]
WindowLogMessage,
#[serde(rename = "telemetry/event")]
TelemetryEvent,
#[serde(rename = "textDocument/didOpen")]
TextDocumentDidOpen,
#[serde(rename = "textDocument/didChange")]
TextDocumentDidChange,
#[serde(rename = "textDocument/didClose")]
TextDocumentDidClose,
#[serde(rename = "textDocument/didSave")]
TextDocumentDidSave,
#[serde(rename = "textDocument/willSave")]
TextDocumentWillSave,
#[serde(rename = "workspace/didChangeWatchedFiles")]
WorkspaceDidChangeWatchedFiles,
#[serde(rename = "textDocument/publishDiagnostics")]
TextDocumentPublishDiagnostics,
#[serde(rename = "$/setTrace")]
SetTrace,
#[serde(rename = "$/logTrace")]
LogTrace,
#[serde(rename = "$/cancelRequest")]
CancelRequest,
#[serde(rename = "$/progress")]
Progress,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
pub enum MessageDirection {
#[serde(rename = "both")]
Both,
#[serde(rename = "clientToServer")]
ClientToServer,
#[serde(rename = "serverToClient")]
ServerToClient,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
pub enum SemanticTokenTypes {
#[serde(rename = "namespace")]
Namespace,
#[serde(rename = "type")]
Type,
#[serde(rename = "class")]
Class,
#[serde(rename = "enum")]
Enum,
#[serde(rename = "interface")]
Interface,
#[serde(rename = "struct")]
Struct,
#[serde(rename = "typeParameter")]
TypeParameter,
#[serde(rename = "parameter")]
Parameter,
#[serde(rename = "variable")]
Variable,
#[serde(rename = "property")]
Property,
#[serde(rename = "enumMember")]
EnumMember,
#[serde(rename = "event")]
Event,
#[serde(rename = "function")]
Function,
#[serde(rename = "method")]
Method,
#[serde(rename = "macro")]
Macro,
#[serde(rename = "keyword")]
Keyword,
#[serde(rename = "modifier")]
Modifier,
#[serde(rename = "comment")]
Comment,
#[serde(rename = "string")]
String,
#[serde(rename = "number")]
Number,
#[serde(rename = "regexp")]
Regexp,
#[serde(rename = "operator")]
Operator,
#[serde(rename = "decorator")]
Decorator,
#[serde(rename = "label")]
Label,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
pub enum SemanticTokenModifiers {
#[serde(rename = "declaration")]
Declaration,
#[serde(rename = "definition")]
Definition,
#[serde(rename = "readonly")]
Readonly,
#[serde(rename = "static")]
Static,
#[serde(rename = "deprecated")]
Deprecated,
#[serde(rename = "abstract")]
Abstract,
#[serde(rename = "async")]
Async,
#[serde(rename = "modification")]
Modification,
#[serde(rename = "documentation")]
Documentation,
#[serde(rename = "defaultLibrary")]
DefaultLibrary,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
pub enum DocumentDiagnosticReportKind {
#[serde(rename = "full")]
Full,
#[serde(rename = "unchanged")]
Unchanged,
}
#[derive(PartialEq, Debug, Eq, Clone)]
pub enum ErrorCodes {
ParseError = -32700,
InvalidRequest = -32600,
MethodNotFound = -32601,
InvalidParams = -32602,
InternalError = -32603,
ServerNotInitialized = -32002,
UnknownErrorCode = -32001,
}
impl Serialize for ErrorCodes {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
match self {
ErrorCodes::ParseError => serializer.serialize_i32(-32700),
ErrorCodes::InvalidRequest => serializer.serialize_i32(-32600),
ErrorCodes::MethodNotFound => serializer.serialize_i32(-32601),
ErrorCodes::InvalidParams => serializer.serialize_i32(-32602),
ErrorCodes::InternalError => serializer.serialize_i32(-32603),
ErrorCodes::ServerNotInitialized => serializer.serialize_i32(-32002),
ErrorCodes::UnknownErrorCode => serializer.serialize_i32(-32001),
}
}
}
impl<'de> Deserialize<'de> for ErrorCodes {
fn deserialize<D>(deserializer: D) -> Result<ErrorCodes, D::Error>
where
D: serde::Deserializer<'de>,
{
let value = i32::deserialize(deserializer)?;
match value {
-32700 => Ok(ErrorCodes::ParseError),
-32600 => Ok(ErrorCodes::InvalidRequest),
-32601 => Ok(ErrorCodes::MethodNotFound),
-32602 => Ok(ErrorCodes::InvalidParams),
-32603 => Ok(ErrorCodes::InternalError),
-32002 => Ok(ErrorCodes::ServerNotInitialized),
-32001 => Ok(ErrorCodes::UnknownErrorCode),
_ => Err(serde::de::Error::custom("Unexpected value")),
}
}
}
#[derive(PartialEq, Debug, Eq, Clone)]
pub enum LSPErrorCodes {
RequestFailed = -32803,
ServerCancelled = -32802,
ContentModified = -32801,
RequestCancelled = -32800,
}
impl Serialize for LSPErrorCodes {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
match self {
LSPErrorCodes::RequestFailed => serializer.serialize_i32(-32803),
LSPErrorCodes::ServerCancelled => serializer.serialize_i32(-32802),
LSPErrorCodes::ContentModified => serializer.serialize_i32(-32801),
LSPErrorCodes::RequestCancelled => serializer.serialize_i32(-32800),
}
}
}
impl<'de> Deserialize<'de> for LSPErrorCodes {
fn deserialize<D>(deserializer: D) -> Result<LSPErrorCodes, D::Error>
where
D: serde::Deserializer<'de>,
{
let value = i32::deserialize(deserializer)?;
match value {
-32803 => Ok(LSPErrorCodes::RequestFailed),
-32802 => Ok(LSPErrorCodes::ServerCancelled),
-32801 => Ok(LSPErrorCodes::ContentModified),
-32800 => Ok(LSPErrorCodes::RequestCancelled),
_ => Err(serde::de::Error::custom("Unexpected value")),
}
}
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
pub enum FoldingRangeKind {
#[serde(rename = "comment")]
Comment,
#[serde(rename = "imports")]
Imports,
#[serde(rename = "region")]
Region,
}
#[derive(PartialEq, Debug, Eq, Clone)]
pub enum SymbolKind {
File = 1,
Module = 2,
Namespace = 3,
Package = 4,
Class = 5,
Method = 6,
Property = 7,
Field = 8,
Constructor = 9,
Enum = 10,
Interface = 11,
Function = 12,
Variable = 13,
Constant = 14,
String = 15,
Number = 16,
Boolean = 17,
Array = 18,
Object = 19,
Key = 20,
Null = 21,
EnumMember = 22,
Struct = 23,
Event = 24,
Operator = 25,
TypeParameter = 26,
}
impl Serialize for SymbolKind {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
match self {
SymbolKind::File => serializer.serialize_i32(1),
SymbolKind::Module => serializer.serialize_i32(2),
SymbolKind::Namespace => serializer.serialize_i32(3),
SymbolKind::Package => serializer.serialize_i32(4),
SymbolKind::Class => serializer.serialize_i32(5),
SymbolKind::Method => serializer.serialize_i32(6),
SymbolKind::Property => serializer.serialize_i32(7),
SymbolKind::Field => serializer.serialize_i32(8),
SymbolKind::Constructor => serializer.serialize_i32(9),
SymbolKind::Enum => serializer.serialize_i32(10),
SymbolKind::Interface => serializer.serialize_i32(11),
SymbolKind::Function => serializer.serialize_i32(12),
SymbolKind::Variable => serializer.serialize_i32(13),
SymbolKind::Constant => serializer.serialize_i32(14),
SymbolKind::String => serializer.serialize_i32(15),
SymbolKind::Number => serializer.serialize_i32(16),
SymbolKind::Boolean => serializer.serialize_i32(17),
SymbolKind::Array => serializer.serialize_i32(18),
SymbolKind::Object => serializer.serialize_i32(19),
SymbolKind::Key => serializer.serialize_i32(20),
SymbolKind::Null => serializer.serialize_i32(21),
SymbolKind::EnumMember => serializer.serialize_i32(22),
SymbolKind::Struct => serializer.serialize_i32(23),
SymbolKind::Event => serializer.serialize_i32(24),
SymbolKind::Operator => serializer.serialize_i32(25),
SymbolKind::TypeParameter => serializer.serialize_i32(26),
}
}
}
impl<'de> Deserialize<'de> for SymbolKind {
fn deserialize<D>(deserializer: D) -> Result<SymbolKind, D::Error>
where
D: serde::Deserializer<'de>,
{
let value = i32::deserialize(deserializer)?;
match value {
1 => Ok(SymbolKind::File),
2 => Ok(SymbolKind::Module),
3 => Ok(SymbolKind::Namespace),
4 => Ok(SymbolKind::Package),
5 => Ok(SymbolKind::Class),
6 => Ok(SymbolKind::Method),
7 => Ok(SymbolKind::Property),
8 => Ok(SymbolKind::Field),
9 => Ok(SymbolKind::Constructor),
10 => Ok(SymbolKind::Enum),
11 => Ok(SymbolKind::Interface),
12 => Ok(SymbolKind::Function),
13 => Ok(SymbolKind::Variable),
14 => Ok(SymbolKind::Constant),
15 => Ok(SymbolKind::String),
16 => Ok(SymbolKind::Number),
17 => Ok(SymbolKind::Boolean),
18 => Ok(SymbolKind::Array),
19 => Ok(SymbolKind::Object),
20 => Ok(SymbolKind::Key),
21 => Ok(SymbolKind::Null),
22 => Ok(SymbolKind::EnumMember),
23 => Ok(SymbolKind::Struct),
24 => Ok(SymbolKind::Event),
25 => Ok(SymbolKind::Operator),
26 => Ok(SymbolKind::TypeParameter),
_ => Err(serde::de::Error::custom("Unexpected value")),
}
}
}
#[derive(PartialEq, Debug, Eq, Clone)]
pub enum SymbolTag {
Deprecated = 1,
}
impl Serialize for SymbolTag {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
match self {
SymbolTag::Deprecated => serializer.serialize_i32(1),
}
}
}
impl<'de> Deserialize<'de> for SymbolTag {
fn deserialize<D>(deserializer: D) -> Result<SymbolTag, D::Error>
where
D: serde::Deserializer<'de>,
{
let value = i32::deserialize(deserializer)?;
match value {
1 => Ok(SymbolTag::Deprecated),
_ => Err(serde::de::Error::custom("Unexpected value")),
}
}
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
pub enum UniquenessLevel {
#[serde(rename = "document")]
Document,
#[serde(rename = "project")]
Project,
#[serde(rename = "group")]
Group,
#[serde(rename = "scheme")]
Scheme,
#[serde(rename = "global")]
Global,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
pub enum MonikerKind {
#[serde(rename = "import")]
Import,
#[serde(rename = "export")]
Export,
#[serde(rename = "local")]
Local,
}
#[derive(PartialEq, Debug, Eq, Clone)]
pub enum InlayHintKind {
Type = 1,
Parameter = 2,
}
impl Serialize for InlayHintKind {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
match self {
InlayHintKind::Type => serializer.serialize_i32(1),
InlayHintKind::Parameter => serializer.serialize_i32(2),
}
}
}
impl<'de> Deserialize<'de> for InlayHintKind {
fn deserialize<D>(deserializer: D) -> Result<InlayHintKind, D::Error>
where
D: serde::Deserializer<'de>,
{
let value = i32::deserialize(deserializer)?;
match value {
1 => Ok(InlayHintKind::Type),
2 => Ok(InlayHintKind::Parameter),
_ => Err(serde::de::Error::custom("Unexpected value")),
}
}
}
#[derive(PartialEq, Debug, Eq, Clone)]
pub enum MessageType {
Error = 1,
Warning = 2,
Info = 3,
Log = 4,
#[cfg(feature = "proposed")]
Debug = 5,
}
impl Serialize for MessageType {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
match self {
MessageType::Error => serializer.serialize_i32(1),
MessageType::Warning => serializer.serialize_i32(2),
MessageType::Info => serializer.serialize_i32(3),
MessageType::Log => serializer.serialize_i32(4),
MessageType::Debug => serializer.serialize_i32(5),
}
}
}
impl<'de> Deserialize<'de> for MessageType {
fn deserialize<D>(deserializer: D) -> Result<MessageType, D::Error>
where
D: serde::Deserializer<'de>,
{
let value = i32::deserialize(deserializer)?;
match value {
1 => Ok(MessageType::Error),
2 => Ok(MessageType::Warning),
3 => Ok(MessageType::Info),
4 => Ok(MessageType::Log),
5 => Ok(MessageType::Debug),
_ => Err(serde::de::Error::custom("Unexpected value")),
}
}
}
#[derive(PartialEq, Debug, Eq, Clone)]
pub enum TextDocumentSyncKind {
None = 0,
Full = 1,
Incremental = 2,
}
impl Serialize for TextDocumentSyncKind {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
match self {
TextDocumentSyncKind::None => serializer.serialize_i32(0),
TextDocumentSyncKind::Full => serializer.serialize_i32(1),
TextDocumentSyncKind::Incremental => serializer.serialize_i32(2),
}
}
}
impl<'de> Deserialize<'de> for TextDocumentSyncKind {
fn deserialize<D>(deserializer: D) -> Result<TextDocumentSyncKind, D::Error>
where
D: serde::Deserializer<'de>,
{
let value = i32::deserialize(deserializer)?;
match value {
0 => Ok(TextDocumentSyncKind::None),
1 => Ok(TextDocumentSyncKind::Full),
2 => Ok(TextDocumentSyncKind::Incremental),
_ => Err(serde::de::Error::custom("Unexpected value")),
}
}
}
#[derive(PartialEq, Debug, Eq, Clone)]
pub enum TextDocumentSaveReason {
Manual = 1,
AfterDelay = 2,
FocusOut = 3,
}
impl Serialize for TextDocumentSaveReason {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
match self {
TextDocumentSaveReason::Manual => serializer.serialize_i32(1),
TextDocumentSaveReason::AfterDelay => serializer.serialize_i32(2),
TextDocumentSaveReason::FocusOut => serializer.serialize_i32(3),
}
}
}
impl<'de> Deserialize<'de> for TextDocumentSaveReason {
fn deserialize<D>(deserializer: D) -> Result<TextDocumentSaveReason, D::Error>
where
D: serde::Deserializer<'de>,
{
let value = i32::deserialize(deserializer)?;
match value {
1 => Ok(TextDocumentSaveReason::Manual),
2 => Ok(TextDocumentSaveReason::AfterDelay),
3 => Ok(TextDocumentSaveReason::FocusOut),
_ => Err(serde::de::Error::custom("Unexpected value")),
}
}
}
#[derive(PartialEq, Debug, Eq, Clone)]
pub enum CompletionItemKind {
Text = 1,
Method = 2,
Function = 3,
Constructor = 4,
Field = 5,
Variable = 6,
Class = 7,
Interface = 8,
Module = 9,
Property = 10,
Unit = 11,
Value = 12,
Enum = 13,
Keyword = 14,
Snippet = 15,
Color = 16,
File = 17,
Reference = 18,
Folder = 19,
EnumMember = 20,
Constant = 21,
Struct = 22,
Event = 23,
Operator = 24,
TypeParameter = 25,
}
impl Serialize for CompletionItemKind {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
match self {
CompletionItemKind::Text => serializer.serialize_i32(1),
CompletionItemKind::Method => serializer.serialize_i32(2),
CompletionItemKind::Function => serializer.serialize_i32(3),
CompletionItemKind::Constructor => serializer.serialize_i32(4),
CompletionItemKind::Field => serializer.serialize_i32(5),
CompletionItemKind::Variable => serializer.serialize_i32(6),
CompletionItemKind::Class => serializer.serialize_i32(7),
CompletionItemKind::Interface => serializer.serialize_i32(8),
CompletionItemKind::Module => serializer.serialize_i32(9),
CompletionItemKind::Property => serializer.serialize_i32(10),
CompletionItemKind::Unit => serializer.serialize_i32(11),
CompletionItemKind::Value => serializer.serialize_i32(12),
CompletionItemKind::Enum => serializer.serialize_i32(13),
CompletionItemKind::Keyword => serializer.serialize_i32(14),
CompletionItemKind::Snippet => serializer.serialize_i32(15),
CompletionItemKind::Color => serializer.serialize_i32(16),
CompletionItemKind::File => serializer.serialize_i32(17),
CompletionItemKind::Reference => serializer.serialize_i32(18),
CompletionItemKind::Folder => serializer.serialize_i32(19),
CompletionItemKind::EnumMember => serializer.serialize_i32(20),
CompletionItemKind::Constant => serializer.serialize_i32(21),
CompletionItemKind::Struct => serializer.serialize_i32(22),
CompletionItemKind::Event => serializer.serialize_i32(23),
CompletionItemKind::Operator => serializer.serialize_i32(24),
CompletionItemKind::TypeParameter => serializer.serialize_i32(25),
}
}
}
impl<'de> Deserialize<'de> for CompletionItemKind {
fn deserialize<D>(deserializer: D) -> Result<CompletionItemKind, D::Error>
where
D: serde::Deserializer<'de>,
{
let value = i32::deserialize(deserializer)?;
match value {
1 => Ok(CompletionItemKind::Text),
2 => Ok(CompletionItemKind::Method),
3 => Ok(CompletionItemKind::Function),
4 => Ok(CompletionItemKind::Constructor),
5 => Ok(CompletionItemKind::Field),
6 => Ok(CompletionItemKind::Variable),
7 => Ok(CompletionItemKind::Class),
8 => Ok(CompletionItemKind::Interface),
9 => Ok(CompletionItemKind::Module),
10 => Ok(CompletionItemKind::Property),
11 => Ok(CompletionItemKind::Unit),
12 => Ok(CompletionItemKind::Value),
13 => Ok(CompletionItemKind::Enum),
14 => Ok(CompletionItemKind::Keyword),
15 => Ok(CompletionItemKind::Snippet),
16 => Ok(CompletionItemKind::Color),
17 => Ok(CompletionItemKind::File),
18 => Ok(CompletionItemKind::Reference),
19 => Ok(CompletionItemKind::Folder),
20 => Ok(CompletionItemKind::EnumMember),
21 => Ok(CompletionItemKind::Constant),
22 => Ok(CompletionItemKind::Struct),
23 => Ok(CompletionItemKind::Event),
24 => Ok(CompletionItemKind::Operator),
25 => Ok(CompletionItemKind::TypeParameter),
_ => Err(serde::de::Error::custom("Unexpected value")),
}
}
}
#[derive(PartialEq, Debug, Eq, Clone)]
pub enum CompletionItemTag {
Deprecated = 1,
}
impl Serialize for CompletionItemTag {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
match self {
CompletionItemTag::Deprecated => serializer.serialize_i32(1),
}
}
}
impl<'de> Deserialize<'de> for CompletionItemTag {
fn deserialize<D>(deserializer: D) -> Result<CompletionItemTag, D::Error>
where
D: serde::Deserializer<'de>,
{
let value = i32::deserialize(deserializer)?;
match value {
1 => Ok(CompletionItemTag::Deprecated),
_ => Err(serde::de::Error::custom("Unexpected value")),
}
}
}
#[derive(PartialEq, Debug, Eq, Clone)]
pub enum InsertTextFormat {
PlainText = 1,
Snippet = 2,
}
impl Serialize for InsertTextFormat {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
match self {
InsertTextFormat::PlainText => serializer.serialize_i32(1),
InsertTextFormat::Snippet => serializer.serialize_i32(2),
}
}
}
impl<'de> Deserialize<'de> for InsertTextFormat {
fn deserialize<D>(deserializer: D) -> Result<InsertTextFormat, D::Error>
where
D: serde::Deserializer<'de>,
{
let value = i32::deserialize(deserializer)?;
match value {
1 => Ok(InsertTextFormat::PlainText),
2 => Ok(InsertTextFormat::Snippet),
_ => Err(serde::de::Error::custom("Unexpected value")),
}
}
}
#[derive(PartialEq, Debug, Eq, Clone)]
pub enum InsertTextMode {
AsIs = 1,
AdjustIndentation = 2,
}
impl Serialize for InsertTextMode {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
match self {
InsertTextMode::AsIs => serializer.serialize_i32(1),
InsertTextMode::AdjustIndentation => serializer.serialize_i32(2),
}
}
}
impl<'de> Deserialize<'de> for InsertTextMode {
fn deserialize<D>(deserializer: D) -> Result<InsertTextMode, D::Error>
where
D: serde::Deserializer<'de>,
{
let value = i32::deserialize(deserializer)?;
match value {
1 => Ok(InsertTextMode::AsIs),
2 => Ok(InsertTextMode::AdjustIndentation),
_ => Err(serde::de::Error::custom("Unexpected value")),
}
}
}
#[derive(PartialEq, Debug, Eq, Clone)]
pub enum DocumentHighlightKind {
Text = 1,
Read = 2,
Write = 3,
}
impl Serialize for DocumentHighlightKind {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
match self {
DocumentHighlightKind::Text => serializer.serialize_i32(1),
DocumentHighlightKind::Read => serializer.serialize_i32(2),
DocumentHighlightKind::Write => serializer.serialize_i32(3),
}
}
}
impl<'de> Deserialize<'de> for DocumentHighlightKind {
fn deserialize<D>(deserializer: D) -> Result<DocumentHighlightKind, D::Error>
where
D: serde::Deserializer<'de>,
{
let value = i32::deserialize(deserializer)?;
match value {
1 => Ok(DocumentHighlightKind::Text),
2 => Ok(DocumentHighlightKind::Read),
3 => Ok(DocumentHighlightKind::Write),
_ => Err(serde::de::Error::custom("Unexpected value")),
}
}
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
pub enum CodeActionKind {
#[serde(rename = "")]
Empty,
#[serde(rename = "quickfix")]
QuickFix,
#[serde(rename = "refactor")]
Refactor,
#[serde(rename = "refactor.extract")]
RefactorExtract,
#[serde(rename = "refactor.inline")]
RefactorInline,
#[cfg(feature = "proposed")]
#[serde(rename = "refactor.move")]
RefactorMove,
#[serde(rename = "refactor.rewrite")]
RefactorRewrite,
#[serde(rename = "source")]
Source,
#[serde(rename = "source.organizeImports")]
SourceOrganizeImports,
#[serde(rename = "source.fixAll")]
SourceFixAll,
#[serde(rename = "notebook")]
Notebook,
}
#[derive(PartialEq, Debug, Eq, Clone)]
pub enum CodeActionTag {
Llmgenerated = 1,
}
impl Serialize for CodeActionTag {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
match self {
CodeActionTag::Llmgenerated => serializer.serialize_i32(1),
}
}
}
impl<'de> Deserialize<'de> for CodeActionTag {
fn deserialize<D>(deserializer: D) -> Result<CodeActionTag, D::Error>
where
D: serde::Deserializer<'de>,
{
let value = i32::deserialize(deserializer)?;
match value {
1 => Ok(CodeActionTag::Llmgenerated),
_ => Err(serde::de::Error::custom("Unexpected value")),
}
}
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
pub enum TraceValue {
#[serde(rename = "off")]
Off,
#[serde(rename = "messages")]
Messages,
#[serde(rename = "verbose")]
Verbose,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
pub enum MarkupKind {
#[serde(rename = "plaintext")]
PlainText,
#[serde(rename = "markdown")]
Markdown,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
pub enum LanguageKind {
#[serde(rename = "abap")]
Abap,
#[serde(rename = "bat")]
WindowsBat,
#[serde(rename = "bibtex")]
BibTeX,
#[serde(rename = "clojure")]
Clojure,
#[serde(rename = "coffeescript")]
Coffeescript,
#[serde(rename = "c")]
C,
#[serde(rename = "cpp")]
Cpp,
#[serde(rename = "csharp")]
Csharp,
#[serde(rename = "css")]
Css,
#[cfg(feature = "proposed")]
#[serde(rename = "d")]
D,
#[cfg(feature = "proposed")]
#[serde(rename = "pascal")]
Delphi,
#[serde(rename = "diff")]
Diff,
#[serde(rename = "dart")]
Dart,
#[serde(rename = "dockerfile")]
Dockerfile,
#[serde(rename = "elixir")]
Elixir,
#[serde(rename = "erlang")]
Erlang,
#[serde(rename = "fsharp")]
Fsharp,
#[serde(rename = "git-commit")]
GitCommit,
#[serde(rename = "rebase")]
GitRebase,
#[serde(rename = "go")]
Go,
#[serde(rename = "groovy")]
Groovy,
#[serde(rename = "handlebars")]
Handlebars,
#[serde(rename = "haskell")]
Haskell,
#[serde(rename = "html")]
Html,
#[serde(rename = "ini")]
Ini,
#[serde(rename = "java")]
Java,
#[serde(rename = "javascript")]
JavaScript,
#[serde(rename = "javascriptreact")]
JavaScriptReact,
#[serde(rename = "json")]
Json,
#[serde(rename = "latex")]
LaTeX,
#[serde(rename = "less")]
Less,
#[serde(rename = "lua")]
Lua,
#[serde(rename = "makefile")]
Makefile,
#[serde(rename = "markdown")]
Markdown,
#[serde(rename = "objective-c")]
ObjectiveC,
#[serde(rename = "objective-cpp")]
ObjectiveCpp,
#[cfg(feature = "proposed")]
#[serde(rename = "pascal")]
Pascal,
#[serde(rename = "perl")]
Perl,
#[serde(rename = "perl6")]
Perl6,
#[serde(rename = "php")]
Php,
#[serde(rename = "powershell")]
Powershell,
#[serde(rename = "jade")]
Pug,
#[serde(rename = "python")]
Python,
#[serde(rename = "r")]
R,
#[serde(rename = "razor")]
Razor,
#[serde(rename = "ruby")]
Ruby,
#[serde(rename = "rust")]
Rust,
#[serde(rename = "scss")]
Scss,
#[serde(rename = "sass")]
Sass,
#[serde(rename = "scala")]
Scala,
#[serde(rename = "shaderlab")]
ShaderLab,
#[serde(rename = "shellscript")]
ShellScript,
#[serde(rename = "sql")]
Sql,
#[serde(rename = "swift")]
Swift,
#[serde(rename = "typescript")]
TypeScript,
#[serde(rename = "typescriptreact")]
TypeScriptReact,
#[serde(rename = "tex")]
TeX,
#[serde(rename = "vb")]
VisualBasic,
#[serde(rename = "xml")]
Xml,
#[serde(rename = "xsl")]
Xsl,
#[serde(rename = "yaml")]
Yaml,
}
#[cfg(feature = "proposed")]
#[derive(PartialEq, Debug, Eq, Clone)]
pub enum InlineCompletionTriggerKind {
Invoked = 1,
Automatic = 2,
}
impl Serialize for InlineCompletionTriggerKind {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
match self {
InlineCompletionTriggerKind::Invoked => serializer.serialize_i32(1),
InlineCompletionTriggerKind::Automatic => serializer.serialize_i32(2),
}
}
}
impl<'de> Deserialize<'de> for InlineCompletionTriggerKind {
fn deserialize<D>(deserializer: D) -> Result<InlineCompletionTriggerKind, D::Error>
where
D: serde::Deserializer<'de>,
{
let value = i32::deserialize(deserializer)?;
match value {
1 => Ok(InlineCompletionTriggerKind::Invoked),
2 => Ok(InlineCompletionTriggerKind::Automatic),
_ => Err(serde::de::Error::custom("Unexpected value")),
}
}
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
pub enum PositionEncodingKind {
#[serde(rename = "utf-8")]
Utf8,
#[serde(rename = "utf-16")]
Utf16,
#[serde(rename = "utf-32")]
Utf32,
}
#[derive(PartialEq, Debug, Eq, Clone)]
pub enum FileChangeType {
Created = 1,
Changed = 2,
Deleted = 3,
}
impl Serialize for FileChangeType {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
match self {
FileChangeType::Created => serializer.serialize_i32(1),
FileChangeType::Changed => serializer.serialize_i32(2),
FileChangeType::Deleted => serializer.serialize_i32(3),
}
}
}
impl<'de> Deserialize<'de> for FileChangeType {
fn deserialize<D>(deserializer: D) -> Result<FileChangeType, D::Error>
where
D: serde::Deserializer<'de>,
{
let value = i32::deserialize(deserializer)?;
match value {
1 => Ok(FileChangeType::Created),
2 => Ok(FileChangeType::Changed),
3 => Ok(FileChangeType::Deleted),
_ => Err(serde::de::Error::custom("Unexpected value")),
}
}
}
#[derive(PartialEq, Debug, Eq, Clone)]
pub enum WatchKind {
Create = 1,
Change = 2,
Delete = 4,
}
impl Serialize for WatchKind {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
match self {
WatchKind::Create => serializer.serialize_i32(1),
WatchKind::Change => serializer.serialize_i32(2),
WatchKind::Delete => serializer.serialize_i32(4),
}
}
}
impl<'de> Deserialize<'de> for WatchKind {
fn deserialize<D>(deserializer: D) -> Result<WatchKind, D::Error>
where
D: serde::Deserializer<'de>,
{
let value = i32::deserialize(deserializer)?;
match value {
1 => Ok(WatchKind::Create),
2 => Ok(WatchKind::Change),
4 => Ok(WatchKind::Delete),
_ => Err(serde::de::Error::custom("Unexpected value")),
}
}
}
#[derive(PartialEq, Debug, Eq, Clone)]
pub enum DiagnosticSeverity {
Error = 1,
Warning = 2,
Information = 3,
Hint = 4,
}
impl Serialize for DiagnosticSeverity {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
match self {
DiagnosticSeverity::Error => serializer.serialize_i32(1),
DiagnosticSeverity::Warning => serializer.serialize_i32(2),
DiagnosticSeverity::Information => serializer.serialize_i32(3),
DiagnosticSeverity::Hint => serializer.serialize_i32(4),
}
}
}
impl<'de> Deserialize<'de> for DiagnosticSeverity {
fn deserialize<D>(deserializer: D) -> Result<DiagnosticSeverity, D::Error>
where
D: serde::Deserializer<'de>,
{
let value = i32::deserialize(deserializer)?;
match value {
1 => Ok(DiagnosticSeverity::Error),
2 => Ok(DiagnosticSeverity::Warning),
3 => Ok(DiagnosticSeverity::Information),
4 => Ok(DiagnosticSeverity::Hint),
_ => Err(serde::de::Error::custom("Unexpected value")),
}
}
}
#[derive(PartialEq, Debug, Eq, Clone)]
pub enum DiagnosticTag {
Unnecessary = 1,
Deprecated = 2,
}
impl Serialize for DiagnosticTag {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
match self {
DiagnosticTag::Unnecessary => serializer.serialize_i32(1),
DiagnosticTag::Deprecated => serializer.serialize_i32(2),
}
}
}
impl<'de> Deserialize<'de> for DiagnosticTag {
fn deserialize<D>(deserializer: D) -> Result<DiagnosticTag, D::Error>
where
D: serde::Deserializer<'de>,
{
let value = i32::deserialize(deserializer)?;
match value {
1 => Ok(DiagnosticTag::Unnecessary),
2 => Ok(DiagnosticTag::Deprecated),
_ => Err(serde::de::Error::custom("Unexpected value")),
}
}
}
#[derive(PartialEq, Debug, Eq, Clone)]
pub enum CompletionTriggerKind {
Invoked = 1,
TriggerCharacter = 2,
TriggerForIncompleteCompletions = 3,
}
impl Serialize for CompletionTriggerKind {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
match self {
CompletionTriggerKind::Invoked => serializer.serialize_i32(1),
CompletionTriggerKind::TriggerCharacter => serializer.serialize_i32(2),
CompletionTriggerKind::TriggerForIncompleteCompletions => serializer.serialize_i32(3),
}
}
}
impl<'de> Deserialize<'de> for CompletionTriggerKind {
fn deserialize<D>(deserializer: D) -> Result<CompletionTriggerKind, D::Error>
where
D: serde::Deserializer<'de>,
{
let value = i32::deserialize(deserializer)?;
match value {
1 => Ok(CompletionTriggerKind::Invoked),
2 => Ok(CompletionTriggerKind::TriggerCharacter),
3 => Ok(CompletionTriggerKind::TriggerForIncompleteCompletions),
_ => Err(serde::de::Error::custom("Unexpected value")),
}
}
}
#[derive(PartialEq, Debug, Eq, Clone)]
pub enum ApplyKind {
Replace = 1,
Merge = 2,
}
impl Serialize for ApplyKind {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
match self {
ApplyKind::Replace => serializer.serialize_i32(1),
ApplyKind::Merge => serializer.serialize_i32(2),
}
}
}
impl<'de> Deserialize<'de> for ApplyKind {
fn deserialize<D>(deserializer: D) -> Result<ApplyKind, D::Error>
where
D: serde::Deserializer<'de>,
{
let value = i32::deserialize(deserializer)?;
match value {
1 => Ok(ApplyKind::Replace),
2 => Ok(ApplyKind::Merge),
_ => Err(serde::de::Error::custom("Unexpected value")),
}
}
}
#[derive(PartialEq, Debug, Eq, Clone)]
pub enum SignatureHelpTriggerKind {
Invoked = 1,
TriggerCharacter = 2,
ContentChange = 3,
}
impl Serialize for SignatureHelpTriggerKind {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
match self {
SignatureHelpTriggerKind::Invoked => serializer.serialize_i32(1),
SignatureHelpTriggerKind::TriggerCharacter => serializer.serialize_i32(2),
SignatureHelpTriggerKind::ContentChange => serializer.serialize_i32(3),
}
}
}
impl<'de> Deserialize<'de> for SignatureHelpTriggerKind {
fn deserialize<D>(deserializer: D) -> Result<SignatureHelpTriggerKind, D::Error>
where
D: serde::Deserializer<'de>,
{
let value = i32::deserialize(deserializer)?;
match value {
1 => Ok(SignatureHelpTriggerKind::Invoked),
2 => Ok(SignatureHelpTriggerKind::TriggerCharacter),
3 => Ok(SignatureHelpTriggerKind::ContentChange),
_ => Err(serde::de::Error::custom("Unexpected value")),
}
}
}
#[derive(PartialEq, Debug, Eq, Clone)]
pub enum CodeActionTriggerKind {
Invoked = 1,
Automatic = 2,
}
impl Serialize for CodeActionTriggerKind {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
match self {
CodeActionTriggerKind::Invoked => serializer.serialize_i32(1),
CodeActionTriggerKind::Automatic => serializer.serialize_i32(2),
}
}
}
impl<'de> Deserialize<'de> for CodeActionTriggerKind {
fn deserialize<D>(deserializer: D) -> Result<CodeActionTriggerKind, D::Error>
where
D: serde::Deserializer<'de>,
{
let value = i32::deserialize(deserializer)?;
match value {
1 => Ok(CodeActionTriggerKind::Invoked),
2 => Ok(CodeActionTriggerKind::Automatic),
_ => Err(serde::de::Error::custom("Unexpected value")),
}
}
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
pub enum FileOperationPatternKind {
#[serde(rename = "file")]
File,
#[serde(rename = "folder")]
Folder,
}
#[derive(PartialEq, Debug, Eq, Clone)]
pub enum NotebookCellKind {
Markup = 1,
Code = 2,
}
impl Serialize for NotebookCellKind {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
match self {
NotebookCellKind::Markup => serializer.serialize_i32(1),
NotebookCellKind::Code => serializer.serialize_i32(2),
}
}
}
impl<'de> Deserialize<'de> for NotebookCellKind {
fn deserialize<D>(deserializer: D) -> Result<NotebookCellKind, D::Error>
where
D: serde::Deserializer<'de>,
{
let value = i32::deserialize(deserializer)?;
match value {
1 => Ok(NotebookCellKind::Markup),
2 => Ok(NotebookCellKind::Code),
_ => Err(serde::de::Error::custom("Unexpected value")),
}
}
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
pub enum ResourceOperationKind {
#[serde(rename = "create")]
Create,
#[serde(rename = "rename")]
Rename,
#[serde(rename = "delete")]
Delete,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
pub enum FailureHandlingKind {
#[serde(rename = "abort")]
Abort,
#[serde(rename = "transactional")]
Transactional,
#[serde(rename = "textOnlyTransactional")]
TextOnlyTransactional,
#[serde(rename = "undo")]
Undo,
}
#[derive(PartialEq, Debug, Eq, Clone)]
pub enum PrepareSupportDefaultBehavior {
Identifier = 1,
}
impl Serialize for PrepareSupportDefaultBehavior {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
match self {
PrepareSupportDefaultBehavior::Identifier => serializer.serialize_i32(1),
}
}
}
impl<'de> Deserialize<'de> for PrepareSupportDefaultBehavior {
fn deserialize<D>(deserializer: D) -> Result<PrepareSupportDefaultBehavior, D::Error>
where
D: serde::Deserializer<'de>,
{
let value = i32::deserialize(deserializer)?;
match value {
1 => Ok(PrepareSupportDefaultBehavior::Identifier),
_ => Err(serde::de::Error::custom("Unexpected value")),
}
}
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
pub enum TokenFormat {
#[serde(rename = "relative")]
Relative,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(untagged)]
pub enum Definition {
One(Location),
Many(Vec<Location>),
}
pub type DefinitionLink = LocationLink;
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(untagged)]
pub enum Declaration {
One(Location),
Many(Vec<Location>),
}
pub type DeclarationLink = LocationLink;
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(untagged)]
pub enum InlineValue {
Text(InlineValueText),
VariableLookup(InlineValueVariableLookup),
EvaluatableExpression(InlineValueEvaluatableExpression),
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(untagged)]
pub enum DocumentDiagnosticReport {
Full(RelatedFullDocumentDiagnosticReport),
Unchanged(RelatedUnchangedDocumentDiagnosticReport),
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(untagged)]
pub enum PrepareRenameResult {
Range(Range),
PrepareRenamePlaceholder(PrepareRenamePlaceholder),
DefaultBehavior(PrepareRenameDefaultBehavior),
}
pub type DocumentSelector = Vec<DocumentFilter>;
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(untagged)]
pub enum ProgressToken {
Int(i32),
String(String),
}
pub type ChangeAnnotationIdentifier = String;
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(untagged)]
pub enum WorkspaceDocumentDiagnosticReport {
Full(WorkspaceFullDocumentDiagnosticReport),
Unchanged(WorkspaceUnchangedDocumentDiagnosticReport),
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(untagged)]
pub enum TextDocumentContentChangeEvent {
Partial(TextDocumentContentChangePartial),
Whole(TextDocumentContentChangeWholeDocument),
}
#[deprecated]
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(untagged)]
pub enum MarkedString {
String(String),
MarkedStringWithLanguage(MarkedStringWithLanguage),
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(untagged)]
pub enum DocumentFilter {
TextDocumentFilter(TextDocumentFilter),
NotebookCell(NotebookCellTextDocumentFilter),
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(untagged)]
pub enum GlobPattern {
Pattern(Pattern),
Relative(RelativePattern),
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(untagged)]
pub enum TextDocumentFilter {
Language(TextDocumentFilterLanguage),
Scheme(TextDocumentFilterScheme),
Pattern(TextDocumentFilterPattern),
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(untagged)]
pub enum NotebookDocumentFilter {
Type(NotebookDocumentFilterNotebookType),
Scheme(NotebookDocumentFilterScheme),
Pattern(NotebookDocumentFilterPattern),
}
pub type Pattern = String;
pub type RegularExpressionEngineKind = String;
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ImplementationParams {
pub partial_result_token: Option<ProgressToken>,
pub position: Position,
pub text_document: TextDocumentIdentifier,
pub work_done_token: Option<ProgressToken>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct Location {
pub range: Range,
pub uri: Url,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ImplementationRegistrationOptions {
#[serde(skip_serializing_if = "Option::is_none")]
pub document_selector: Option<DocumentSelector>,
pub id: Option<String>,
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct TypeDefinitionParams {
pub partial_result_token: Option<ProgressToken>,
pub position: Position,
pub text_document: TextDocumentIdentifier,
pub work_done_token: Option<ProgressToken>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct TypeDefinitionRegistrationOptions {
#[serde(skip_serializing_if = "Option::is_none")]
pub document_selector: Option<DocumentSelector>,
pub id: Option<String>,
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct WorkspaceFolder {
pub name: String,
pub uri: Url,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DidChangeWorkspaceFoldersParams {
pub event: WorkspaceFoldersChangeEvent,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ConfigurationParams {
pub items: Vec<ConfigurationItem>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentColorParams {
pub partial_result_token: Option<ProgressToken>,
pub text_document: TextDocumentIdentifier,
pub work_done_token: Option<ProgressToken>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ColorInformation {
pub color: Color,
pub range: Range,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentColorRegistrationOptions {
#[serde(skip_serializing_if = "Option::is_none")]
pub document_selector: Option<DocumentSelector>,
pub id: Option<String>,
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ColorPresentationParams {
pub color: Color,
pub partial_result_token: Option<ProgressToken>,
pub range: Range,
pub text_document: TextDocumentIdentifier,
pub work_done_token: Option<ProgressToken>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ColorPresentation {
pub additional_text_edits: Option<Vec<TextEdit>>,
pub label: String,
pub text_edit: Option<TextEdit>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct WorkDoneProgressOptions {
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct TextDocumentRegistrationOptions {
#[serde(skip_serializing_if = "Option::is_none")]
pub document_selector: Option<DocumentSelector>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct FoldingRangeParams {
pub partial_result_token: Option<ProgressToken>,
pub text_document: TextDocumentIdentifier,
pub work_done_token: Option<ProgressToken>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct FoldingRange {
pub collapsed_text: Option<String>,
pub end_character: Option<u32>,
pub end_line: u32,
pub kind: Option<CustomStringEnum<FoldingRangeKind>>,
pub start_character: Option<u32>,
pub start_line: u32,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct FoldingRangeRegistrationOptions {
#[serde(skip_serializing_if = "Option::is_none")]
pub document_selector: Option<DocumentSelector>,
pub id: Option<String>,
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DeclarationParams {
pub partial_result_token: Option<ProgressToken>,
pub position: Position,
pub text_document: TextDocumentIdentifier,
pub work_done_token: Option<ProgressToken>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DeclarationRegistrationOptions {
#[serde(skip_serializing_if = "Option::is_none")]
pub document_selector: Option<DocumentSelector>,
pub id: Option<String>,
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct SelectionRangeParams {
pub partial_result_token: Option<ProgressToken>,
pub positions: Vec<Position>,
pub text_document: TextDocumentIdentifier,
pub work_done_token: Option<ProgressToken>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct SelectionRangeRegistrationOptions {
#[serde(skip_serializing_if = "Option::is_none")]
pub document_selector: Option<DocumentSelector>,
pub id: Option<String>,
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct WorkDoneProgressCreateParams {
pub token: ProgressToken,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct WorkDoneProgressCancelParams {
pub token: ProgressToken,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CallHierarchyPrepareParams {
pub position: Position,
pub text_document: TextDocumentIdentifier,
pub work_done_token: Option<ProgressToken>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CallHierarchyItem {
pub data: Option<LSPAny>,
pub detail: Option<String>,
pub kind: SymbolKind,
pub name: String,
pub range: Range,
pub selection_range: Range,
pub tags: Option<Vec<SymbolTag>>,
pub uri: Url,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CallHierarchyRegistrationOptions {
#[serde(skip_serializing_if = "Option::is_none")]
pub document_selector: Option<DocumentSelector>,
pub id: Option<String>,
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CallHierarchyIncomingCallsParams {
pub item: CallHierarchyItem,
pub partial_result_token: Option<ProgressToken>,
pub work_done_token: Option<ProgressToken>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CallHierarchyIncomingCall {
pub from: CallHierarchyItem,
pub from_ranges: Vec<Range>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CallHierarchyOutgoingCallsParams {
pub item: CallHierarchyItem,
pub partial_result_token: Option<ProgressToken>,
pub work_done_token: Option<ProgressToken>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CallHierarchyOutgoingCall {
pub from_ranges: Vec<Range>,
pub to: CallHierarchyItem,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct SemanticTokensParams {
pub partial_result_token: Option<ProgressToken>,
pub text_document: TextDocumentIdentifier,
pub work_done_token: Option<ProgressToken>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct SemanticTokens {
pub data: Vec<u32>,
pub result_id: Option<String>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct SemanticTokensPartialResult {
pub data: Vec<u32>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct SemanticTokensRegistrationOptions {
#[serde(skip_serializing_if = "Option::is_none")]
pub document_selector: Option<DocumentSelector>,
pub full: Option<OR2<bool, SemanticTokensFullDelta>>,
pub id: Option<String>,
pub legend: SemanticTokensLegend,
pub range: Option<OR2<bool, LSPObject>>,
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct SemanticTokensDeltaParams {
pub partial_result_token: Option<ProgressToken>,
pub previous_result_id: String,
pub text_document: TextDocumentIdentifier,
pub work_done_token: Option<ProgressToken>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct SemanticTokensDelta {
pub edits: Vec<SemanticTokensEdit>,
pub result_id: Option<String>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct SemanticTokensDeltaPartialResult {
pub edits: Vec<SemanticTokensEdit>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct SemanticTokensRangeParams {
pub partial_result_token: Option<ProgressToken>,
pub range: Range,
pub text_document: TextDocumentIdentifier,
pub work_done_token: Option<ProgressToken>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ShowDocumentParams {
pub external: Option<bool>,
pub selection: Option<Range>,
pub take_focus: Option<bool>,
pub uri: Url,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ShowDocumentResult {
pub success: bool,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct LinkedEditingRangeParams {
pub position: Position,
pub text_document: TextDocumentIdentifier,
pub work_done_token: Option<ProgressToken>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct LinkedEditingRanges {
pub ranges: Vec<Range>,
pub word_pattern: Option<String>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct LinkedEditingRangeRegistrationOptions {
#[serde(skip_serializing_if = "Option::is_none")]
pub document_selector: Option<DocumentSelector>,
pub id: Option<String>,
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CreateFilesParams {
pub files: Vec<FileCreate>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct WorkspaceEdit {
pub change_annotations: Option<HashMap<ChangeAnnotationIdentifier, ChangeAnnotation>>,
pub changes: Option<HashMap<Url, Vec<TextEdit>>>,
pub document_changes: Option<Vec<OR4<TextDocumentEdit, CreateFile, RenameFile, DeleteFile>>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct FileOperationRegistrationOptions {
pub filters: Vec<FileOperationFilter>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct RenameFilesParams {
pub files: Vec<FileRename>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DeleteFilesParams {
pub files: Vec<FileDelete>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct MonikerParams {
pub partial_result_token: Option<ProgressToken>,
pub position: Position,
pub text_document: TextDocumentIdentifier,
pub work_done_token: Option<ProgressToken>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct Moniker {
pub identifier: String,
pub kind: Option<MonikerKind>,
pub scheme: String,
pub unique: UniquenessLevel,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct MonikerRegistrationOptions {
#[serde(skip_serializing_if = "Option::is_none")]
pub document_selector: Option<DocumentSelector>,
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct TypeHierarchyPrepareParams {
pub position: Position,
pub text_document: TextDocumentIdentifier,
pub work_done_token: Option<ProgressToken>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct TypeHierarchyItem {
pub data: Option<LSPAny>,
pub detail: Option<String>,
pub kind: SymbolKind,
pub name: String,
pub range: Range,
pub selection_range: Range,
pub tags: Option<Vec<SymbolTag>>,
pub uri: Url,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct TypeHierarchyRegistrationOptions {
#[serde(skip_serializing_if = "Option::is_none")]
pub document_selector: Option<DocumentSelector>,
pub id: Option<String>,
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct TypeHierarchySupertypesParams {
pub item: TypeHierarchyItem,
pub partial_result_token: Option<ProgressToken>,
pub work_done_token: Option<ProgressToken>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct TypeHierarchySubtypesParams {
pub item: TypeHierarchyItem,
pub partial_result_token: Option<ProgressToken>,
pub work_done_token: Option<ProgressToken>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct InlineValueParams {
pub context: InlineValueContext,
pub range: Range,
pub text_document: TextDocumentIdentifier,
pub work_done_token: Option<ProgressToken>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct InlineValueRegistrationOptions {
#[serde(skip_serializing_if = "Option::is_none")]
pub document_selector: Option<DocumentSelector>,
pub id: Option<String>,
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct InlayHintParams {
pub range: Range,
pub text_document: TextDocumentIdentifier,
pub work_done_token: Option<ProgressToken>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct InlayHint {
pub data: Option<LSPAny>,
pub kind: Option<InlayHintKind>,
pub label: OR2<String, Vec<InlayHintLabelPart>>,
pub padding_left: Option<bool>,
pub padding_right: Option<bool>,
pub position: Position,
pub text_edits: Option<Vec<TextEdit>>,
pub tooltip: Option<OR2<String, MarkupContent>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct InlayHintRegistrationOptions {
#[serde(skip_serializing_if = "Option::is_none")]
pub document_selector: Option<DocumentSelector>,
pub id: Option<String>,
pub resolve_provider: Option<bool>,
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentDiagnosticParams {
pub identifier: Option<String>,
pub partial_result_token: Option<ProgressToken>,
pub previous_result_id: Option<String>,
pub text_document: TextDocumentIdentifier,
pub work_done_token: Option<ProgressToken>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentDiagnosticReportPartialResult {
pub related_documents:
HashMap<Url, OR2<FullDocumentDiagnosticReport, UnchangedDocumentDiagnosticReport>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DiagnosticServerCancellationData {
pub retrigger_request: bool,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DiagnosticRegistrationOptions {
#[serde(skip_serializing_if = "Option::is_none")]
pub document_selector: Option<DocumentSelector>,
pub id: Option<String>,
pub identifier: Option<String>,
pub inter_file_dependencies: bool,
pub work_done_progress: Option<bool>,
pub workspace_diagnostics: bool,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct WorkspaceDiagnosticParams {
pub identifier: Option<String>,
pub partial_result_token: Option<ProgressToken>,
pub previous_result_ids: Vec<PreviousResultId>,
pub work_done_token: Option<ProgressToken>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct WorkspaceDiagnosticReport {
pub items: Vec<WorkspaceDocumentDiagnosticReport>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct WorkspaceDiagnosticReportPartialResult {
pub items: Vec<WorkspaceDocumentDiagnosticReport>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DidOpenNotebookDocumentParams {
pub cell_text_documents: Vec<TextDocumentItem>,
pub notebook_document: NotebookDocument,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct NotebookDocumentSyncRegistrationOptions {
pub id: Option<String>,
pub notebook_selector:
Vec<OR2<NotebookDocumentFilterWithNotebook, NotebookDocumentFilterWithCells>>,
pub save: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DidChangeNotebookDocumentParams {
pub change: NotebookDocumentChangeEvent,
pub notebook_document: VersionedNotebookDocumentIdentifier,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DidSaveNotebookDocumentParams {
pub notebook_document: NotebookDocumentIdentifier,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DidCloseNotebookDocumentParams {
pub cell_text_documents: Vec<TextDocumentIdentifier>,
pub notebook_document: NotebookDocumentIdentifier,
}
#[cfg(feature = "proposed")]
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct InlineCompletionParams {
pub context: InlineCompletionContext,
pub position: Position,
pub text_document: TextDocumentIdentifier,
pub work_done_token: Option<ProgressToken>,
}
#[cfg(feature = "proposed")]
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct InlineCompletionList {
pub items: Vec<InlineCompletionItem>,
}
#[cfg(feature = "proposed")]
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct InlineCompletionItem {
pub command: Option<Command>,
pub filter_text: Option<String>,
pub insert_text: OR2<String, StringValue>,
pub range: Option<Range>,
}
#[cfg(feature = "proposed")]
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct InlineCompletionRegistrationOptions {
#[serde(skip_serializing_if = "Option::is_none")]
pub document_selector: Option<DocumentSelector>,
pub id: Option<String>,
pub work_done_progress: Option<bool>,
}
#[cfg(feature = "proposed")]
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct TextDocumentContentParams {
pub uri: Url,
}
#[cfg(feature = "proposed")]
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct TextDocumentContentResult {
pub text: String,
}
#[cfg(feature = "proposed")]
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct TextDocumentContentRegistrationOptions {
pub id: Option<String>,
pub schemes: Vec<String>,
}
#[cfg(feature = "proposed")]
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct TextDocumentContentRefreshParams {
pub uri: Url,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct RegistrationParams {
pub registrations: Vec<Registration>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct UnregistrationParams {
pub unregisterations: Vec<Unregistration>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct InitializeParams {
pub capabilities: ClientCapabilities,
pub client_info: Option<ClientInfo>,
pub initialization_options: Option<LSPAny>,
pub locale: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub process_id: Option<i32>,
#[deprecated]
pub root_path: Option<String>,
#[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub root_uri: Option<Url>,
pub trace: Option<TraceValue>,
pub work_done_token: Option<ProgressToken>,
pub workspace_folders: Option<Vec<WorkspaceFolder>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct InitializeResult {
pub capabilities: ServerCapabilities,
pub server_info: Option<ServerInfo>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct InitializeError {
pub retry: bool,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct InitializedParams {}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DidChangeConfigurationParams {
pub settings: LSPAny,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DidChangeConfigurationRegistrationOptions {
pub section: Option<OR2<String, Vec<String>>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ShowMessageParams {
pub message: String,
#[serde(rename = "type")]
pub type_: MessageType,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ShowMessageRequestParams {
pub actions: Option<Vec<MessageActionItem>>,
pub message: String,
#[serde(rename = "type")]
pub type_: MessageType,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct MessageActionItem {
pub title: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct LogMessageParams {
pub message: String,
#[serde(rename = "type")]
pub type_: MessageType,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DidOpenTextDocumentParams {
pub text_document: TextDocumentItem,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DidChangeTextDocumentParams {
pub content_changes: Vec<TextDocumentContentChangeEvent>,
pub text_document: VersionedTextDocumentIdentifier,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct TextDocumentChangeRegistrationOptions {
#[serde(skip_serializing_if = "Option::is_none")]
pub document_selector: Option<DocumentSelector>,
pub sync_kind: TextDocumentSyncKind,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DidCloseTextDocumentParams {
pub text_document: TextDocumentIdentifier,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DidSaveTextDocumentParams {
pub text: Option<String>,
pub text_document: TextDocumentIdentifier,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct TextDocumentSaveRegistrationOptions {
#[serde(skip_serializing_if = "Option::is_none")]
pub document_selector: Option<DocumentSelector>,
pub include_text: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct WillSaveTextDocumentParams {
pub reason: TextDocumentSaveReason,
pub text_document: TextDocumentIdentifier,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct TextEdit {
pub new_text: String,
pub range: Range,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DidChangeWatchedFilesParams {
pub changes: Vec<FileEvent>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DidChangeWatchedFilesRegistrationOptions {
pub watchers: Vec<FileSystemWatcher>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct PublishDiagnosticsParams {
pub diagnostics: Vec<Diagnostic>,
pub uri: Url,
pub version: Option<i32>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CompletionParams {
pub context: Option<CompletionContext>,
pub partial_result_token: Option<ProgressToken>,
pub position: Position,
pub text_document: TextDocumentIdentifier,
pub work_done_token: Option<ProgressToken>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CompletionItem {
pub additional_text_edits: Option<Vec<TextEdit>>,
pub command: Option<Command>,
pub commit_characters: Option<Vec<String>>,
pub data: Option<LSPAny>,
#[deprecated]
pub deprecated: Option<bool>,
pub detail: Option<String>,
pub documentation: Option<OR2<String, MarkupContent>>,
pub filter_text: Option<String>,
pub insert_text: Option<String>,
pub insert_text_format: Option<InsertTextFormat>,
pub insert_text_mode: Option<InsertTextMode>,
pub kind: Option<CompletionItemKind>,
pub label: String,
pub label_details: Option<CompletionItemLabelDetails>,
pub preselect: Option<bool>,
pub sort_text: Option<String>,
pub tags: Option<Vec<CompletionItemTag>>,
pub text_edit: Option<OR2<TextEdit, InsertReplaceEdit>>,
pub text_edit_text: Option<String>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CompletionList {
pub apply_kind: Option<CompletionItemApplyKinds>,
pub is_incomplete: bool,
pub item_defaults: Option<CompletionItemDefaults>,
pub items: Vec<CompletionItem>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CompletionRegistrationOptions {
pub all_commit_characters: Option<Vec<String>>,
pub completion_item: Option<ServerCompletionItemOptions>,
#[serde(skip_serializing_if = "Option::is_none")]
pub document_selector: Option<DocumentSelector>,
pub resolve_provider: Option<bool>,
pub trigger_characters: Option<Vec<String>>,
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct HoverParams {
pub position: Position,
pub text_document: TextDocumentIdentifier,
pub work_done_token: Option<ProgressToken>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct Hover {
pub contents: OR3<MarkupContent, MarkedString, Vec<MarkedString>>,
pub range: Option<Range>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct HoverRegistrationOptions {
#[serde(skip_serializing_if = "Option::is_none")]
pub document_selector: Option<DocumentSelector>,
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct SignatureHelpParams {
pub context: Option<SignatureHelpContext>,
pub position: Position,
pub text_document: TextDocumentIdentifier,
pub work_done_token: Option<ProgressToken>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct SignatureHelp {
pub active_parameter: Option<u32>,
pub active_signature: Option<u32>,
pub signatures: Vec<SignatureInformation>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct SignatureHelpRegistrationOptions {
#[serde(skip_serializing_if = "Option::is_none")]
pub document_selector: Option<DocumentSelector>,
pub retrigger_characters: Option<Vec<String>>,
pub trigger_characters: Option<Vec<String>>,
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DefinitionParams {
pub partial_result_token: Option<ProgressToken>,
pub position: Position,
pub text_document: TextDocumentIdentifier,
pub work_done_token: Option<ProgressToken>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DefinitionRegistrationOptions {
#[serde(skip_serializing_if = "Option::is_none")]
pub document_selector: Option<DocumentSelector>,
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ReferenceParams {
pub context: ReferenceContext,
pub partial_result_token: Option<ProgressToken>,
pub position: Position,
pub text_document: TextDocumentIdentifier,
pub work_done_token: Option<ProgressToken>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ReferenceRegistrationOptions {
#[serde(skip_serializing_if = "Option::is_none")]
pub document_selector: Option<DocumentSelector>,
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentHighlightParams {
pub partial_result_token: Option<ProgressToken>,
pub position: Position,
pub text_document: TextDocumentIdentifier,
pub work_done_token: Option<ProgressToken>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentHighlight {
pub kind: Option<DocumentHighlightKind>,
pub range: Range,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentHighlightRegistrationOptions {
#[serde(skip_serializing_if = "Option::is_none")]
pub document_selector: Option<DocumentSelector>,
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentSymbolParams {
pub partial_result_token: Option<ProgressToken>,
pub text_document: TextDocumentIdentifier,
pub work_done_token: Option<ProgressToken>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct SymbolInformation {
pub container_name: Option<String>,
#[deprecated]
pub deprecated: Option<bool>,
pub kind: SymbolKind,
pub location: Location,
pub name: String,
pub tags: Option<Vec<SymbolTag>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentSymbol {
pub children: Option<Vec<DocumentSymbol>>,
#[deprecated]
pub deprecated: Option<bool>,
pub detail: Option<String>,
pub kind: SymbolKind,
pub name: String,
pub range: Range,
pub selection_range: Range,
pub tags: Option<Vec<SymbolTag>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentSymbolRegistrationOptions {
#[serde(skip_serializing_if = "Option::is_none")]
pub document_selector: Option<DocumentSelector>,
pub label: Option<String>,
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CodeActionParams {
pub context: CodeActionContext,
pub partial_result_token: Option<ProgressToken>,
pub range: Range,
pub text_document: TextDocumentIdentifier,
pub work_done_token: Option<ProgressToken>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct Command {
pub arguments: Option<Vec<LSPAny>>,
pub command: String,
pub title: String,
#[cfg(feature = "proposed")]
pub tooltip: Option<String>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CodeAction {
pub command: Option<Command>,
pub data: Option<LSPAny>,
pub diagnostics: Option<Vec<Diagnostic>>,
pub disabled: Option<CodeActionDisabled>,
pub edit: Option<WorkspaceEdit>,
pub is_preferred: Option<bool>,
pub kind: Option<CustomStringEnum<CodeActionKind>>,
pub tags: Option<Vec<CodeActionTag>>,
pub title: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CodeActionRegistrationOptions {
pub code_action_kinds: Option<Vec<CustomStringEnum<CodeActionKind>>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub document_selector: Option<DocumentSelector>,
#[cfg(feature = "proposed")]
pub documentation: Option<Vec<CodeActionKindDocumentation>>,
pub resolve_provider: Option<bool>,
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct WorkspaceSymbolParams {
pub partial_result_token: Option<ProgressToken>,
pub query: String,
pub work_done_token: Option<ProgressToken>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct WorkspaceSymbol {
pub container_name: Option<String>,
pub data: Option<LSPAny>,
pub kind: SymbolKind,
pub location: OR2<Location, LocationUriOnly>,
pub name: String,
pub tags: Option<Vec<SymbolTag>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct WorkspaceSymbolRegistrationOptions {
pub resolve_provider: Option<bool>,
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CodeLensParams {
pub partial_result_token: Option<ProgressToken>,
pub text_document: TextDocumentIdentifier,
pub work_done_token: Option<ProgressToken>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CodeLens {
pub command: Option<Command>,
pub data: Option<LSPAny>,
pub range: Range,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CodeLensRegistrationOptions {
#[serde(skip_serializing_if = "Option::is_none")]
pub document_selector: Option<DocumentSelector>,
pub resolve_provider: Option<bool>,
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentLinkParams {
pub partial_result_token: Option<ProgressToken>,
pub text_document: TextDocumentIdentifier,
pub work_done_token: Option<ProgressToken>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentLink {
pub data: Option<LSPAny>,
pub range: Range,
pub target: Option<Url>,
pub tooltip: Option<String>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentLinkRegistrationOptions {
#[serde(skip_serializing_if = "Option::is_none")]
pub document_selector: Option<DocumentSelector>,
pub resolve_provider: Option<bool>,
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentFormattingParams {
pub options: FormattingOptions,
pub text_document: TextDocumentIdentifier,
pub work_done_token: Option<ProgressToken>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentFormattingRegistrationOptions {
#[serde(skip_serializing_if = "Option::is_none")]
pub document_selector: Option<DocumentSelector>,
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentRangeFormattingParams {
pub options: FormattingOptions,
pub range: Range,
pub text_document: TextDocumentIdentifier,
pub work_done_token: Option<ProgressToken>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentRangeFormattingRegistrationOptions {
#[serde(skip_serializing_if = "Option::is_none")]
pub document_selector: Option<DocumentSelector>,
#[cfg(feature = "proposed")]
pub ranges_support: Option<bool>,
pub work_done_progress: Option<bool>,
}
#[cfg(feature = "proposed")]
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentRangesFormattingParams {
pub options: FormattingOptions,
pub ranges: Vec<Range>,
pub text_document: TextDocumentIdentifier,
pub work_done_token: Option<ProgressToken>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentOnTypeFormattingParams {
pub ch: String,
pub options: FormattingOptions,
pub position: Position,
pub text_document: TextDocumentIdentifier,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentOnTypeFormattingRegistrationOptions {
#[serde(skip_serializing_if = "Option::is_none")]
pub document_selector: Option<DocumentSelector>,
pub first_trigger_character: String,
pub more_trigger_character: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct RenameParams {
pub new_name: String,
pub position: Position,
pub text_document: TextDocumentIdentifier,
pub work_done_token: Option<ProgressToken>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct RenameRegistrationOptions {
#[serde(skip_serializing_if = "Option::is_none")]
pub document_selector: Option<DocumentSelector>,
pub prepare_provider: Option<bool>,
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct PrepareRenameParams {
pub position: Position,
pub text_document: TextDocumentIdentifier,
pub work_done_token: Option<ProgressToken>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ExecuteCommandParams {
pub arguments: Option<Vec<LSPAny>>,
pub command: String,
pub work_done_token: Option<ProgressToken>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ExecuteCommandRegistrationOptions {
pub commands: Vec<String>,
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ApplyWorkspaceEditParams {
pub edit: WorkspaceEdit,
pub label: Option<String>,
#[cfg(feature = "proposed")]
pub metadata: Option<WorkspaceEditMetadata>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ApplyWorkspaceEditResult {
pub applied: bool,
pub failed_change: Option<u32>,
pub failure_reason: Option<String>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct WorkDoneProgressBegin {
pub cancellable: Option<bool>,
pub kind: String,
pub message: Option<String>,
pub percentage: Option<u32>,
pub title: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct WorkDoneProgressReport {
pub cancellable: Option<bool>,
pub kind: String,
pub message: Option<String>,
pub percentage: Option<u32>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct WorkDoneProgressEnd {
pub kind: String,
pub message: Option<String>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct SetTraceParams {
pub value: TraceValue,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct LogTraceParams {
pub message: String,
pub verbose: Option<String>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CancelParams {
pub id: OR2<i32, String>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ProgressParams {
pub token: ProgressToken,
pub value: LSPAny,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct TextDocumentPositionParams {
pub position: Position,
pub text_document: TextDocumentIdentifier,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct WorkDoneProgressParams {
pub work_done_token: Option<ProgressToken>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct PartialResultParams {
pub partial_result_token: Option<ProgressToken>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct LocationLink {
pub origin_selection_range: Option<Range>,
pub target_range: Range,
pub target_selection_range: Range,
pub target_uri: Url,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct Range {
pub end: Position,
pub start: Position,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ImplementationOptions {
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct StaticRegistrationOptions {
pub id: Option<String>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct TypeDefinitionOptions {
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct WorkspaceFoldersChangeEvent {
pub added: Vec<WorkspaceFolder>,
pub removed: Vec<WorkspaceFolder>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ConfigurationItem {
pub scope_uri: Option<Url>,
pub section: Option<String>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct TextDocumentIdentifier {
pub uri: Url,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct Color {
pub alpha: Decimal,
pub blue: Decimal,
pub green: Decimal,
pub red: Decimal,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentColorOptions {
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct FoldingRangeOptions {
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DeclarationOptions {
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct Position {
pub character: u32,
pub line: u32,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct SelectionRangeOptions {
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CallHierarchyOptions {
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct SemanticTokensOptions {
pub full: Option<OR2<bool, SemanticTokensFullDelta>>,
pub legend: SemanticTokensLegend,
pub range: Option<OR2<bool, LSPObject>>,
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct SemanticTokensEdit {
pub data: Option<Vec<u32>>,
pub delete_count: u32,
pub start: u32,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct LinkedEditingRangeOptions {
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct FileCreate {
pub uri: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct TextDocumentEdit {
pub edits: Vec<OR3<TextEdit, AnnotatedTextEdit, SnippetTextEdit>>,
pub text_document: OptionalVersionedTextDocumentIdentifier,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CreateFile {
pub annotation_id: Option<ChangeAnnotationIdentifier>,
pub kind: String,
pub options: Option<CreateFileOptions>,
pub uri: Url,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct RenameFile {
pub annotation_id: Option<ChangeAnnotationIdentifier>,
pub kind: String,
pub new_uri: Url,
pub old_uri: Url,
pub options: Option<RenameFileOptions>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DeleteFile {
pub annotation_id: Option<ChangeAnnotationIdentifier>,
pub kind: String,
pub options: Option<DeleteFileOptions>,
pub uri: Url,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ChangeAnnotation {
pub description: Option<String>,
pub label: String,
pub needs_confirmation: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct FileOperationFilter {
pub pattern: FileOperationPattern,
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct FileRename {
pub new_uri: String,
pub old_uri: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct FileDelete {
pub uri: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct MonikerOptions {
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct TypeHierarchyOptions {
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct InlineValueContext {
pub frame_id: i32,
pub stopped_location: Range,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct InlineValueText {
pub range: Range,
pub text: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct InlineValueVariableLookup {
pub case_sensitive_lookup: bool,
pub range: Range,
pub variable_name: Option<String>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct InlineValueEvaluatableExpression {
pub expression: Option<String>,
pub range: Range,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct InlineValueOptions {
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct InlayHintLabelPart {
pub command: Option<Command>,
pub location: Option<Location>,
pub tooltip: Option<OR2<String, MarkupContent>>,
pub value: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct MarkupContent {
pub kind: MarkupKind,
pub value: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct InlayHintOptions {
pub resolve_provider: Option<bool>,
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct RelatedFullDocumentDiagnosticReport {
pub items: Vec<Diagnostic>,
pub kind: String,
pub related_documents:
Option<HashMap<Url, OR2<FullDocumentDiagnosticReport, UnchangedDocumentDiagnosticReport>>>,
pub result_id: Option<String>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct RelatedUnchangedDocumentDiagnosticReport {
pub kind: String,
pub related_documents:
Option<HashMap<Url, OR2<FullDocumentDiagnosticReport, UnchangedDocumentDiagnosticReport>>>,
pub result_id: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct FullDocumentDiagnosticReport {
pub items: Vec<Diagnostic>,
pub kind: String,
pub result_id: Option<String>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct UnchangedDocumentDiagnosticReport {
pub kind: String,
pub result_id: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DiagnosticOptions {
pub identifier: Option<String>,
pub inter_file_dependencies: bool,
pub work_done_progress: Option<bool>,
pub workspace_diagnostics: bool,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct PreviousResultId {
pub uri: Url,
pub value: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct NotebookDocument {
pub cells: Vec<NotebookCell>,
pub metadata: Option<LSPObject>,
pub notebook_type: String,
pub uri: Url,
pub version: i32,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct TextDocumentItem {
pub language_id: CustomStringEnum<LanguageKind>,
pub text: String,
pub uri: Url,
pub version: i32,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct NotebookDocumentSyncOptions {
pub notebook_selector:
Vec<OR2<NotebookDocumentFilterWithNotebook, NotebookDocumentFilterWithCells>>,
pub save: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct VersionedNotebookDocumentIdentifier {
pub uri: Url,
pub version: i32,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct NotebookDocumentChangeEvent {
pub cells: Option<NotebookDocumentCellChanges>,
pub metadata: Option<LSPObject>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct NotebookDocumentIdentifier {
pub uri: Url,
}
#[cfg(feature = "proposed")]
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct InlineCompletionContext {
pub selected_completion_info: Option<SelectedCompletionInfo>,
pub trigger_kind: InlineCompletionTriggerKind,
}
#[cfg(feature = "proposed")]
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct StringValue {
pub kind: String,
pub value: String,
}
#[cfg(feature = "proposed")]
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct InlineCompletionOptions {
pub work_done_progress: Option<bool>,
}
#[cfg(feature = "proposed")]
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct TextDocumentContentOptions {
pub schemes: Vec<String>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct Registration {
pub id: String,
pub method: String,
pub register_options: Option<LSPAny>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct Unregistration {
pub id: String,
pub method: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct _InitializeParams {
pub capabilities: ClientCapabilities,
pub client_info: Option<ClientInfo>,
pub initialization_options: Option<LSPAny>,
pub locale: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub process_id: Option<i32>,
#[deprecated]
pub root_path: Option<String>,
#[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub root_uri: Option<Url>,
pub trace: Option<TraceValue>,
pub work_done_token: Option<ProgressToken>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct WorkspaceFoldersInitializeParams {
pub workspace_folders: Option<Vec<WorkspaceFolder>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ServerCapabilities {
pub call_hierarchy_provider:
Option<OR3<bool, CallHierarchyOptions, CallHierarchyRegistrationOptions>>,
pub code_action_provider: Option<OR2<bool, CodeActionOptions>>,
pub code_lens_provider: Option<CodeLensOptions>,
pub color_provider: Option<OR3<bool, DocumentColorOptions, DocumentColorRegistrationOptions>>,
pub completion_provider: Option<CompletionOptions>,
pub declaration_provider: Option<OR3<bool, DeclarationOptions, DeclarationRegistrationOptions>>,
pub definition_provider: Option<OR2<bool, DefinitionOptions>>,
pub diagnostic_provider: Option<OR2<DiagnosticOptions, DiagnosticRegistrationOptions>>,
pub document_formatting_provider: Option<OR2<bool, DocumentFormattingOptions>>,
pub document_highlight_provider: Option<OR2<bool, DocumentHighlightOptions>>,
pub document_link_provider: Option<DocumentLinkOptions>,
pub document_on_type_formatting_provider: Option<DocumentOnTypeFormattingOptions>,
pub document_range_formatting_provider: Option<OR2<bool, DocumentRangeFormattingOptions>>,
pub document_symbol_provider: Option<OR2<bool, DocumentSymbolOptions>>,
pub execute_command_provider: Option<ExecuteCommandOptions>,
pub experimental: Option<LSPAny>,
pub folding_range_provider:
Option<OR3<bool, FoldingRangeOptions, FoldingRangeRegistrationOptions>>,
pub hover_provider: Option<OR2<bool, HoverOptions>>,
pub implementation_provider:
Option<OR3<bool, ImplementationOptions, ImplementationRegistrationOptions>>,
pub inlay_hint_provider: Option<OR3<bool, InlayHintOptions, InlayHintRegistrationOptions>>,
#[cfg(feature = "proposed")]
pub inline_completion_provider: Option<OR2<bool, InlineCompletionOptions>>,
pub inline_value_provider:
Option<OR3<bool, InlineValueOptions, InlineValueRegistrationOptions>>,
pub linked_editing_range_provider:
Option<OR3<bool, LinkedEditingRangeOptions, LinkedEditingRangeRegistrationOptions>>,
pub moniker_provider: Option<OR3<bool, MonikerOptions, MonikerRegistrationOptions>>,
pub notebook_document_sync:
Option<OR2<NotebookDocumentSyncOptions, NotebookDocumentSyncRegistrationOptions>>,
pub position_encoding: Option<CustomStringEnum<PositionEncodingKind>>,
pub references_provider: Option<OR2<bool, ReferenceOptions>>,
pub rename_provider: Option<OR2<bool, RenameOptions>>,
pub selection_range_provider:
Option<OR3<bool, SelectionRangeOptions, SelectionRangeRegistrationOptions>>,
pub semantic_tokens_provider:
Option<OR2<SemanticTokensOptions, SemanticTokensRegistrationOptions>>,
pub signature_help_provider: Option<SignatureHelpOptions>,
pub text_document_sync: Option<OR2<TextDocumentSyncOptions, TextDocumentSyncKind>>,
pub type_definition_provider:
Option<OR3<bool, TypeDefinitionOptions, TypeDefinitionRegistrationOptions>>,
pub type_hierarchy_provider:
Option<OR3<bool, TypeHierarchyOptions, TypeHierarchyRegistrationOptions>>,
pub workspace: Option<WorkspaceOptions>,
pub workspace_symbol_provider: Option<OR2<bool, WorkspaceSymbolOptions>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ServerInfo {
pub name: String,
pub version: Option<String>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct VersionedTextDocumentIdentifier {
pub uri: Url,
pub version: i32,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct SaveOptions {
pub include_text: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct FileEvent {
#[serde(rename = "type")]
pub type_: FileChangeType,
pub uri: Url,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct FileSystemWatcher {
pub glob_pattern: GlobPattern,
pub kind: Option<CustomIntEnum<WatchKind>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct Diagnostic {
pub code: Option<OR2<i32, String>>,
pub code_description: Option<CodeDescription>,
pub data: Option<LSPAny>,
pub message: String,
pub range: Range,
pub related_information: Option<Vec<DiagnosticRelatedInformation>>,
pub severity: Option<DiagnosticSeverity>,
pub source: Option<String>,
pub tags: Option<Vec<DiagnosticTag>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CompletionContext {
pub trigger_character: Option<String>,
pub trigger_kind: CompletionTriggerKind,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CompletionItemLabelDetails {
pub description: Option<String>,
pub detail: Option<String>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct InsertReplaceEdit {
pub insert: Range,
pub new_text: String,
pub replace: Range,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CompletionItemDefaults {
pub commit_characters: Option<Vec<String>>,
pub data: Option<LSPAny>,
pub edit_range: Option<OR2<Range, EditRangeWithInsertReplace>>,
pub insert_text_format: Option<InsertTextFormat>,
pub insert_text_mode: Option<InsertTextMode>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CompletionItemApplyKinds {
pub commit_characters: Option<ApplyKind>,
pub data: Option<ApplyKind>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CompletionOptions {
pub all_commit_characters: Option<Vec<String>>,
pub completion_item: Option<ServerCompletionItemOptions>,
pub resolve_provider: Option<bool>,
pub trigger_characters: Option<Vec<String>>,
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct HoverOptions {
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct SignatureHelpContext {
pub active_signature_help: Option<SignatureHelp>,
pub is_retrigger: bool,
pub trigger_character: Option<String>,
pub trigger_kind: SignatureHelpTriggerKind,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct SignatureInformation {
pub active_parameter: Option<u32>,
pub documentation: Option<OR2<String, MarkupContent>>,
pub label: String,
pub parameters: Option<Vec<ParameterInformation>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct SignatureHelpOptions {
pub retrigger_characters: Option<Vec<String>>,
pub trigger_characters: Option<Vec<String>>,
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DefinitionOptions {
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ReferenceContext {
pub include_declaration: bool,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ReferenceOptions {
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentHighlightOptions {
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct BaseSymbolInformation {
pub container_name: Option<String>,
pub kind: SymbolKind,
pub name: String,
pub tags: Option<Vec<SymbolTag>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentSymbolOptions {
pub label: Option<String>,
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CodeActionContext {
pub diagnostics: Vec<Diagnostic>,
pub only: Option<Vec<CustomStringEnum<CodeActionKind>>>,
pub trigger_kind: Option<CodeActionTriggerKind>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CodeActionDisabled {
pub reason: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CodeActionOptions {
pub code_action_kinds: Option<Vec<CustomStringEnum<CodeActionKind>>>,
#[cfg(feature = "proposed")]
pub documentation: Option<Vec<CodeActionKindDocumentation>>,
pub resolve_provider: Option<bool>,
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct LocationUriOnly {
pub uri: Url,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct WorkspaceSymbolOptions {
pub resolve_provider: Option<bool>,
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CodeLensOptions {
pub resolve_provider: Option<bool>,
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentLinkOptions {
pub resolve_provider: Option<bool>,
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct FormattingOptions {
pub insert_final_newline: Option<bool>,
pub insert_spaces: bool,
pub tab_size: u32,
pub trim_final_newlines: Option<bool>,
pub trim_trailing_whitespace: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentFormattingOptions {
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentRangeFormattingOptions {
#[cfg(feature = "proposed")]
pub ranges_support: Option<bool>,
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentOnTypeFormattingOptions {
pub first_trigger_character: String,
pub more_trigger_character: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct RenameOptions {
pub prepare_provider: Option<bool>,
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct PrepareRenamePlaceholder {
pub placeholder: String,
pub range: Range,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct PrepareRenameDefaultBehavior {
pub default_behavior: bool,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ExecuteCommandOptions {
pub commands: Vec<String>,
pub work_done_progress: Option<bool>,
}
#[cfg(feature = "proposed")]
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct WorkspaceEditMetadata {
pub is_refactoring: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct SemanticTokensLegend {
pub token_modifiers: Vec<String>,
pub token_types: Vec<String>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct SemanticTokensFullDelta {
pub delta: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct OptionalVersionedTextDocumentIdentifier {
pub uri: Url,
#[serde(skip_serializing_if = "Option::is_none")]
pub version: Option<i32>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct AnnotatedTextEdit {
pub annotation_id: ChangeAnnotationIdentifier,
pub new_text: String,
pub range: Range,
}
#[cfg(feature = "proposed")]
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct SnippetTextEdit {
pub annotation_id: Option<ChangeAnnotationIdentifier>,
pub range: Range,
pub snippet: StringValue,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ResourceOperation {
pub annotation_id: Option<ChangeAnnotationIdentifier>,
pub kind: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CreateFileOptions {
pub ignore_if_exists: Option<bool>,
pub overwrite: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct RenameFileOptions {
pub ignore_if_exists: Option<bool>,
pub overwrite: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DeleteFileOptions {
pub ignore_if_not_exists: Option<bool>,
pub recursive: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct FileOperationPattern {
pub glob: String,
pub matches: Option<FileOperationPatternKind>,
pub options: Option<FileOperationPatternOptions>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct WorkspaceFullDocumentDiagnosticReport {
pub items: Vec<Diagnostic>,
pub kind: String,
pub result_id: Option<String>,
pub uri: Url,
#[serde(skip_serializing_if = "Option::is_none")]
pub version: Option<i32>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct WorkspaceUnchangedDocumentDiagnosticReport {
pub kind: String,
pub result_id: String,
pub uri: Url,
#[serde(skip_serializing_if = "Option::is_none")]
pub version: Option<i32>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct NotebookCell {
pub document: Url,
pub execution_summary: Option<ExecutionSummary>,
pub kind: NotebookCellKind,
pub metadata: Option<LSPObject>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct NotebookDocumentFilterWithNotebook {
pub cells: Option<Vec<NotebookCellLanguage>>,
pub notebook: OR2<String, NotebookDocumentFilter>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct NotebookDocumentFilterWithCells {
pub cells: Vec<NotebookCellLanguage>,
pub notebook: Option<OR2<String, NotebookDocumentFilter>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct NotebookDocumentCellChanges {
pub data: Option<Vec<NotebookCell>>,
pub structure: Option<NotebookDocumentCellChangeStructure>,
pub text_content: Option<Vec<NotebookDocumentCellContentChanges>>,
}
#[cfg(feature = "proposed")]
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct SelectedCompletionInfo {
pub range: Range,
pub text: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ClientInfo {
pub name: String,
pub version: Option<String>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ClientCapabilities {
pub experimental: Option<LSPAny>,
pub general: Option<GeneralClientCapabilities>,
pub notebook_document: Option<NotebookDocumentClientCapabilities>,
pub text_document: Option<TextDocumentClientCapabilities>,
pub window: Option<WindowClientCapabilities>,
pub workspace: Option<WorkspaceClientCapabilities>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct TextDocumentSyncOptions {
pub change: Option<TextDocumentSyncKind>,
pub open_close: Option<bool>,
pub save: Option<OR2<bool, SaveOptions>>,
pub will_save: Option<bool>,
pub will_save_wait_until: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct WorkspaceOptions {
pub file_operations: Option<FileOperationOptions>,
#[cfg(feature = "proposed")]
pub text_document_content:
Option<OR2<TextDocumentContentOptions, TextDocumentContentRegistrationOptions>>,
pub workspace_folders: Option<WorkspaceFoldersServerCapabilities>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct TextDocumentContentChangePartial {
pub range: Range,
#[deprecated]
pub range_length: Option<u32>,
pub text: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct TextDocumentContentChangeWholeDocument {
pub text: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CodeDescription {
pub href: Url,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DiagnosticRelatedInformation {
pub location: Location,
pub message: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct EditRangeWithInsertReplace {
pub insert: Range,
pub replace: Range,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ServerCompletionItemOptions {
pub label_details_support: Option<bool>,
}
#[deprecated]
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct MarkedStringWithLanguage {
pub language: String,
pub value: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ParameterInformation {
pub documentation: Option<OR2<String, MarkupContent>>,
pub label: OR2<String, (u32, u32)>,
}
#[cfg(feature = "proposed")]
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CodeActionKindDocumentation {
pub command: Command,
pub kind: CustomStringEnum<CodeActionKind>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct NotebookCellTextDocumentFilter {
pub language: Option<String>,
pub notebook: OR2<String, NotebookDocumentFilter>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct FileOperationPatternOptions {
pub ignore_case: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ExecutionSummary {
pub execution_order: u32,
pub success: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct NotebookCellLanguage {
pub language: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct NotebookDocumentCellChangeStructure {
pub array: NotebookCellArrayChange,
pub did_close: Option<Vec<TextDocumentIdentifier>>,
pub did_open: Option<Vec<TextDocumentItem>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct NotebookDocumentCellContentChanges {
pub changes: Vec<TextDocumentContentChangeEvent>,
pub document: VersionedTextDocumentIdentifier,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct WorkspaceClientCapabilities {
pub apply_edit: Option<bool>,
pub code_lens: Option<CodeLensWorkspaceClientCapabilities>,
pub configuration: Option<bool>,
pub diagnostics: Option<DiagnosticWorkspaceClientCapabilities>,
pub did_change_configuration: Option<DidChangeConfigurationClientCapabilities>,
pub did_change_watched_files: Option<DidChangeWatchedFilesClientCapabilities>,
pub execute_command: Option<ExecuteCommandClientCapabilities>,
pub file_operations: Option<FileOperationClientCapabilities>,
#[cfg(feature = "proposed")]
pub folding_range: Option<FoldingRangeWorkspaceClientCapabilities>,
pub inlay_hint: Option<InlayHintWorkspaceClientCapabilities>,
pub inline_value: Option<InlineValueWorkspaceClientCapabilities>,
pub semantic_tokens: Option<SemanticTokensWorkspaceClientCapabilities>,
pub symbol: Option<WorkspaceSymbolClientCapabilities>,
#[cfg(feature = "proposed")]
pub text_document_content: Option<TextDocumentContentClientCapabilities>,
pub workspace_edit: Option<WorkspaceEditClientCapabilities>,
pub workspace_folders: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct TextDocumentClientCapabilities {
pub call_hierarchy: Option<CallHierarchyClientCapabilities>,
pub code_action: Option<CodeActionClientCapabilities>,
pub code_lens: Option<CodeLensClientCapabilities>,
pub color_provider: Option<DocumentColorClientCapabilities>,
pub completion: Option<CompletionClientCapabilities>,
pub declaration: Option<DeclarationClientCapabilities>,
pub definition: Option<DefinitionClientCapabilities>,
pub diagnostic: Option<DiagnosticClientCapabilities>,
pub document_highlight: Option<DocumentHighlightClientCapabilities>,
pub document_link: Option<DocumentLinkClientCapabilities>,
pub document_symbol: Option<DocumentSymbolClientCapabilities>,
pub filters: Option<TextDocumentFilterClientCapabilities>,
pub folding_range: Option<FoldingRangeClientCapabilities>,
pub formatting: Option<DocumentFormattingClientCapabilities>,
pub hover: Option<HoverClientCapabilities>,
pub implementation: Option<ImplementationClientCapabilities>,
pub inlay_hint: Option<InlayHintClientCapabilities>,
#[cfg(feature = "proposed")]
pub inline_completion: Option<InlineCompletionClientCapabilities>,
pub inline_value: Option<InlineValueClientCapabilities>,
pub linked_editing_range: Option<LinkedEditingRangeClientCapabilities>,
pub moniker: Option<MonikerClientCapabilities>,
pub on_type_formatting: Option<DocumentOnTypeFormattingClientCapabilities>,
pub publish_diagnostics: Option<PublishDiagnosticsClientCapabilities>,
pub range_formatting: Option<DocumentRangeFormattingClientCapabilities>,
pub references: Option<ReferenceClientCapabilities>,
pub rename: Option<RenameClientCapabilities>,
pub selection_range: Option<SelectionRangeClientCapabilities>,
pub semantic_tokens: Option<SemanticTokensClientCapabilities>,
pub signature_help: Option<SignatureHelpClientCapabilities>,
pub synchronization: Option<TextDocumentSyncClientCapabilities>,
pub type_definition: Option<TypeDefinitionClientCapabilities>,
pub type_hierarchy: Option<TypeHierarchyClientCapabilities>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct NotebookDocumentClientCapabilities {
pub synchronization: NotebookDocumentSyncClientCapabilities,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct WindowClientCapabilities {
pub show_document: Option<ShowDocumentClientCapabilities>,
pub show_message: Option<ShowMessageRequestClientCapabilities>,
pub work_done_progress: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct GeneralClientCapabilities {
pub markdown: Option<MarkdownClientCapabilities>,
pub position_encodings: Option<Vec<CustomStringEnum<PositionEncodingKind>>>,
pub regular_expressions: Option<RegularExpressionsClientCapabilities>,
pub stale_request_support: Option<StaleRequestSupportOptions>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct WorkspaceFoldersServerCapabilities {
pub change_notifications: Option<OR2<String, bool>>,
pub supported: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct FileOperationOptions {
pub did_create: Option<FileOperationRegistrationOptions>,
pub did_delete: Option<FileOperationRegistrationOptions>,
pub did_rename: Option<FileOperationRegistrationOptions>,
pub will_create: Option<FileOperationRegistrationOptions>,
pub will_delete: Option<FileOperationRegistrationOptions>,
pub will_rename: Option<FileOperationRegistrationOptions>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct RelativePattern {
pub base_uri: OR2<WorkspaceFolder, Url>,
pub pattern: Pattern,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct TextDocumentFilterLanguage {
pub language: String,
pub pattern: Option<GlobPattern>,
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct TextDocumentFilterScheme {
pub language: Option<String>,
pub pattern: Option<GlobPattern>,
pub scheme: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct TextDocumentFilterPattern {
pub language: Option<String>,
pub pattern: GlobPattern,
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct NotebookDocumentFilterNotebookType {
pub notebook_type: String,
pub pattern: Option<GlobPattern>,
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct NotebookDocumentFilterScheme {
pub notebook_type: Option<String>,
pub pattern: Option<GlobPattern>,
pub scheme: String,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct NotebookDocumentFilterPattern {
pub notebook_type: Option<String>,
pub pattern: GlobPattern,
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct NotebookCellArrayChange {
pub cells: Option<Vec<NotebookCell>>,
pub delete_count: u32,
pub start: u32,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct WorkspaceEditClientCapabilities {
pub change_annotation_support: Option<ChangeAnnotationsSupportOptions>,
pub document_changes: Option<bool>,
pub failure_handling: Option<FailureHandlingKind>,
#[cfg(feature = "proposed")]
pub metadata_support: Option<bool>,
pub normalizes_line_endings: Option<bool>,
pub resource_operations: Option<Vec<ResourceOperationKind>>,
#[cfg(feature = "proposed")]
pub snippet_edit_support: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DidChangeConfigurationClientCapabilities {
pub dynamic_registration: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DidChangeWatchedFilesClientCapabilities {
pub dynamic_registration: Option<bool>,
pub relative_pattern_support: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct WorkspaceSymbolClientCapabilities {
pub dynamic_registration: Option<bool>,
pub resolve_support: Option<ClientSymbolResolveOptions>,
pub symbol_kind: Option<ClientSymbolKindOptions>,
pub tag_support: Option<ClientSymbolTagOptions>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ExecuteCommandClientCapabilities {
pub dynamic_registration: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct SemanticTokensWorkspaceClientCapabilities {
pub refresh_support: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CodeLensWorkspaceClientCapabilities {
pub refresh_support: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct FileOperationClientCapabilities {
pub did_create: Option<bool>,
pub did_delete: Option<bool>,
pub did_rename: Option<bool>,
pub dynamic_registration: Option<bool>,
pub will_create: Option<bool>,
pub will_delete: Option<bool>,
pub will_rename: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct InlineValueWorkspaceClientCapabilities {
pub refresh_support: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct InlayHintWorkspaceClientCapabilities {
pub refresh_support: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DiagnosticWorkspaceClientCapabilities {
pub refresh_support: Option<bool>,
}
#[cfg(feature = "proposed")]
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct FoldingRangeWorkspaceClientCapabilities {
#[cfg(feature = "proposed")]
pub refresh_support: Option<bool>,
}
#[cfg(feature = "proposed")]
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct TextDocumentContentClientCapabilities {
pub dynamic_registration: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct TextDocumentSyncClientCapabilities {
pub did_save: Option<bool>,
pub dynamic_registration: Option<bool>,
pub will_save: Option<bool>,
pub will_save_wait_until: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct TextDocumentFilterClientCapabilities {
pub relative_pattern_support: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CompletionClientCapabilities {
pub completion_item: Option<ClientCompletionItemOptions>,
pub completion_item_kind: Option<ClientCompletionItemOptionsKind>,
pub completion_list: Option<CompletionListCapabilities>,
pub context_support: Option<bool>,
pub dynamic_registration: Option<bool>,
pub insert_text_mode: Option<InsertTextMode>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct HoverClientCapabilities {
pub content_format: Option<Vec<MarkupKind>>,
pub dynamic_registration: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct SignatureHelpClientCapabilities {
pub context_support: Option<bool>,
pub dynamic_registration: Option<bool>,
pub signature_information: Option<ClientSignatureInformationOptions>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DeclarationClientCapabilities {
pub dynamic_registration: Option<bool>,
pub link_support: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DefinitionClientCapabilities {
pub dynamic_registration: Option<bool>,
pub link_support: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct TypeDefinitionClientCapabilities {
pub dynamic_registration: Option<bool>,
pub link_support: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ImplementationClientCapabilities {
pub dynamic_registration: Option<bool>,
pub link_support: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ReferenceClientCapabilities {
pub dynamic_registration: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentHighlightClientCapabilities {
pub dynamic_registration: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentSymbolClientCapabilities {
pub dynamic_registration: Option<bool>,
pub hierarchical_document_symbol_support: Option<bool>,
pub label_support: Option<bool>,
pub symbol_kind: Option<ClientSymbolKindOptions>,
pub tag_support: Option<ClientSymbolTagOptions>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CodeActionClientCapabilities {
pub code_action_literal_support: Option<ClientCodeActionLiteralOptions>,
pub data_support: Option<bool>,
pub disabled_support: Option<bool>,
#[cfg(feature = "proposed")]
pub documentation_support: Option<bool>,
pub dynamic_registration: Option<bool>,
pub honors_change_annotations: Option<bool>,
pub is_preferred_support: Option<bool>,
pub resolve_support: Option<ClientCodeActionResolveOptions>,
pub tag_support: Option<CodeActionTagOptions>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CodeLensClientCapabilities {
pub dynamic_registration: Option<bool>,
pub resolve_support: Option<ClientCodeLensResolveOptions>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentLinkClientCapabilities {
pub dynamic_registration: Option<bool>,
pub tooltip_support: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentColorClientCapabilities {
pub dynamic_registration: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentFormattingClientCapabilities {
pub dynamic_registration: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentRangeFormattingClientCapabilities {
pub dynamic_registration: Option<bool>,
#[cfg(feature = "proposed")]
pub ranges_support: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentOnTypeFormattingClientCapabilities {
pub dynamic_registration: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct RenameClientCapabilities {
pub dynamic_registration: Option<bool>,
pub honors_change_annotations: Option<bool>,
pub prepare_support: Option<bool>,
pub prepare_support_default_behavior: Option<PrepareSupportDefaultBehavior>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct FoldingRangeClientCapabilities {
pub dynamic_registration: Option<bool>,
pub folding_range: Option<ClientFoldingRangeOptions>,
pub folding_range_kind: Option<ClientFoldingRangeKindOptions>,
pub line_folding_only: Option<bool>,
pub range_limit: Option<u32>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct SelectionRangeClientCapabilities {
pub dynamic_registration: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct PublishDiagnosticsClientCapabilities {
pub code_description_support: Option<bool>,
pub data_support: Option<bool>,
pub related_information: Option<bool>,
pub tag_support: Option<ClientDiagnosticsTagOptions>,
pub version_support: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CallHierarchyClientCapabilities {
pub dynamic_registration: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct SemanticTokensClientCapabilities {
pub augments_syntax_tokens: Option<bool>,
pub dynamic_registration: Option<bool>,
pub formats: Vec<TokenFormat>,
pub multiline_token_support: Option<bool>,
pub overlapping_token_support: Option<bool>,
pub requests: ClientSemanticTokensRequestOptions,
pub server_cancel_support: Option<bool>,
pub token_modifiers: Vec<String>,
pub token_types: Vec<String>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct LinkedEditingRangeClientCapabilities {
pub dynamic_registration: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct MonikerClientCapabilities {
pub dynamic_registration: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct TypeHierarchyClientCapabilities {
pub dynamic_registration: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct InlineValueClientCapabilities {
pub dynamic_registration: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct InlayHintClientCapabilities {
pub dynamic_registration: Option<bool>,
pub resolve_support: Option<ClientInlayHintResolveOptions>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DiagnosticClientCapabilities {
pub code_description_support: Option<bool>,
pub data_support: Option<bool>,
pub dynamic_registration: Option<bool>,
pub related_document_support: Option<bool>,
pub related_information: Option<bool>,
pub tag_support: Option<ClientDiagnosticsTagOptions>,
}
#[cfg(feature = "proposed")]
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct InlineCompletionClientCapabilities {
pub dynamic_registration: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct NotebookDocumentSyncClientCapabilities {
pub dynamic_registration: Option<bool>,
pub execution_summary_support: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ShowMessageRequestClientCapabilities {
pub message_action_item: Option<ClientShowMessageActionItemOptions>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ShowDocumentClientCapabilities {
pub support: bool,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct StaleRequestSupportOptions {
pub cancel: bool,
pub retry_on_content_modified: Vec<String>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct RegularExpressionsClientCapabilities {
pub engine: RegularExpressionEngineKind,
pub version: Option<String>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct MarkdownClientCapabilities {
pub allowed_tags: Option<Vec<String>>,
pub parser: String,
pub version: Option<String>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ChangeAnnotationsSupportOptions {
pub groups_on_label: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ClientSymbolKindOptions {
pub value_set: Option<Vec<SymbolKind>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ClientSymbolTagOptions {
pub value_set: Vec<SymbolTag>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ClientSymbolResolveOptions {
pub properties: Vec<String>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ClientCompletionItemOptions {
pub commit_characters_support: Option<bool>,
pub deprecated_support: Option<bool>,
pub documentation_format: Option<Vec<MarkupKind>>,
pub insert_replace_support: Option<bool>,
pub insert_text_mode_support: Option<ClientCompletionItemInsertTextModeOptions>,
pub label_details_support: Option<bool>,
pub preselect_support: Option<bool>,
pub resolve_support: Option<ClientCompletionItemResolveOptions>,
pub snippet_support: Option<bool>,
pub tag_support: Option<CompletionItemTagOptions>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ClientCompletionItemOptionsKind {
pub value_set: Option<Vec<CompletionItemKind>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CompletionListCapabilities {
pub apply_kind_support: Option<bool>,
pub item_defaults: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ClientSignatureInformationOptions {
pub active_parameter_support: Option<bool>,
pub documentation_format: Option<Vec<MarkupKind>>,
#[cfg(feature = "proposed")]
pub no_active_parameter_support: Option<bool>,
pub parameter_information: Option<ClientSignatureParameterInformationOptions>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ClientCodeActionLiteralOptions {
pub code_action_kind: ClientCodeActionKindOptions,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ClientCodeActionResolveOptions {
pub properties: Vec<String>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CodeActionTagOptions {
pub value_set: Vec<CodeActionTag>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ClientCodeLensResolveOptions {
pub properties: Vec<String>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ClientFoldingRangeKindOptions {
pub value_set: Option<Vec<CustomStringEnum<FoldingRangeKind>>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ClientFoldingRangeOptions {
pub collapsed_text: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DiagnosticsCapabilities {
pub code_description_support: Option<bool>,
pub data_support: Option<bool>,
pub related_information: Option<bool>,
pub tag_support: Option<ClientDiagnosticsTagOptions>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ClientSemanticTokensRequestOptions {
pub full: Option<OR2<bool, ClientSemanticTokensRequestFullDelta>>,
pub range: Option<OR2<bool, LSPObject>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ClientInlayHintResolveOptions {
pub properties: Vec<String>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ClientShowMessageActionItemOptions {
pub additional_properties_support: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CompletionItemTagOptions {
pub value_set: Vec<CompletionItemTag>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ClientCompletionItemResolveOptions {
pub properties: Vec<String>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ClientCompletionItemInsertTextModeOptions {
pub value_set: Vec<InsertTextMode>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ClientSignatureParameterInformationOptions {
pub label_offset_support: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ClientCodeActionKindOptions {
pub value_set: Vec<CustomStringEnum<CodeActionKind>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ClientDiagnosticsTagOptions {
pub value_set: Vec<DiagnosticTag>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ClientSemanticTokensRequestFullDelta {
pub delta: Option<bool>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DidChangeWorkspaceFoldersNotification {
pub jsonrpc: String,
pub method: LSPNotificationMethods,
pub params: DidChangeWorkspaceFoldersParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct WorkDoneProgressCancelNotification {
pub jsonrpc: String,
pub method: LSPNotificationMethods,
pub params: WorkDoneProgressCancelParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DidCreateFilesNotification {
pub jsonrpc: String,
pub method: LSPNotificationMethods,
pub params: CreateFilesParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DidRenameFilesNotification {
pub jsonrpc: String,
pub method: LSPNotificationMethods,
pub params: RenameFilesParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DidDeleteFilesNotification {
pub jsonrpc: String,
pub method: LSPNotificationMethods,
pub params: DeleteFilesParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DidOpenNotebookDocumentNotification {
pub jsonrpc: String,
pub method: LSPNotificationMethods,
pub params: DidOpenNotebookDocumentParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DidChangeNotebookDocumentNotification {
pub jsonrpc: String,
pub method: LSPNotificationMethods,
pub params: DidChangeNotebookDocumentParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DidSaveNotebookDocumentNotification {
pub jsonrpc: String,
pub method: LSPNotificationMethods,
pub params: DidSaveNotebookDocumentParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DidCloseNotebookDocumentNotification {
pub jsonrpc: String,
pub method: LSPNotificationMethods,
pub params: DidCloseNotebookDocumentParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct InitializedNotification {
pub jsonrpc: String,
pub method: LSPNotificationMethods,
pub params: Option<LSPAny>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ExitNotification {
pub jsonrpc: String,
pub method: LSPNotificationMethods,
pub params: Option<LSPNull>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DidChangeConfigurationNotification {
pub jsonrpc: String,
pub method: LSPNotificationMethods,
pub params: DidChangeConfigurationParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ShowMessageNotification {
pub jsonrpc: String,
pub method: LSPNotificationMethods,
pub params: ShowMessageParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct LogMessageNotification {
pub jsonrpc: String,
pub method: LSPNotificationMethods,
pub params: LogMessageParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct TelemetryEventNotification {
pub jsonrpc: String,
pub method: LSPNotificationMethods,
pub params: Option<LSPAny>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DidOpenTextDocumentNotification {
pub jsonrpc: String,
pub method: LSPNotificationMethods,
pub params: DidOpenTextDocumentParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DidChangeTextDocumentNotification {
pub jsonrpc: String,
pub method: LSPNotificationMethods,
pub params: DidChangeTextDocumentParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DidCloseTextDocumentNotification {
pub jsonrpc: String,
pub method: LSPNotificationMethods,
pub params: DidCloseTextDocumentParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DidSaveTextDocumentNotification {
pub jsonrpc: String,
pub method: LSPNotificationMethods,
pub params: DidSaveTextDocumentParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct WillSaveTextDocumentNotification {
pub jsonrpc: String,
pub method: LSPNotificationMethods,
pub params: WillSaveTextDocumentParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DidChangeWatchedFilesNotification {
pub jsonrpc: String,
pub method: LSPNotificationMethods,
pub params: DidChangeWatchedFilesParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct PublishDiagnosticsNotification {
pub jsonrpc: String,
pub method: LSPNotificationMethods,
pub params: PublishDiagnosticsParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct SetTraceNotification {
pub jsonrpc: String,
pub method: LSPNotificationMethods,
pub params: SetTraceParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct LogTraceNotification {
pub jsonrpc: String,
pub method: LSPNotificationMethods,
pub params: LogTraceParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CancelNotification {
pub jsonrpc: String,
pub method: LSPNotificationMethods,
pub params: CancelParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ProgressNotification {
pub jsonrpc: String,
pub method: LSPNotificationMethods,
pub params: ProgressParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(untagged)]
pub enum LSPId {
Int(i32),
String(String),
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(untagged)]
pub enum LSPIdOptional {
Int(i32),
String(String),
None,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ImplementationRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: ImplementationParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ImplementationResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
#[serde(skip_serializing_if = "Option::is_none")]
pub result: Option<OR2<Definition, Vec<DefinitionLink>>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct TypeDefinitionRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: TypeDefinitionParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct TypeDefinitionResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
#[serde(skip_serializing_if = "Option::is_none")]
pub result: Option<OR2<Definition, Vec<DefinitionLink>>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct WorkspaceFoldersRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: Option<LSPNull>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct WorkspaceFoldersResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
#[serde(skip_serializing_if = "Option::is_none")]
pub result: Option<Vec<WorkspaceFolder>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ConfigurationRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: ConfigurationParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ConfigurationResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
pub result: Vec<LSPAny>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentColorRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: DocumentColorParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentColorResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
pub result: Vec<ColorInformation>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ColorPresentationRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: ColorPresentationParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ColorPresentationResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
pub result: Vec<ColorPresentation>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct FoldingRangeRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: FoldingRangeParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct FoldingRangeResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
#[serde(skip_serializing_if = "Option::is_none")]
pub result: Option<Vec<FoldingRange>>,
}
#[cfg(feature = "proposed")]
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct FoldingRangeRefreshRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: Option<LSPNull>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct FoldingRangeRefreshResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
pub result: LSPNull,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DeclarationRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: DeclarationParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DeclarationResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
#[serde(skip_serializing_if = "Option::is_none")]
pub result: Option<OR2<Declaration, Vec<DeclarationLink>>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct SelectionRangeRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: SelectionRangeParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct SelectionRangeResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
#[serde(skip_serializing_if = "Option::is_none")]
pub result: Option<Vec<SelectionRange>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct WorkDoneProgressCreateRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: WorkDoneProgressCreateParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct WorkDoneProgressCreateResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
pub result: LSPNull,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CallHierarchyPrepareRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: CallHierarchyPrepareParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CallHierarchyPrepareResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
#[serde(skip_serializing_if = "Option::is_none")]
pub result: Option<Vec<CallHierarchyItem>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CallHierarchyIncomingCallsRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: CallHierarchyIncomingCallsParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CallHierarchyIncomingCallsResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
#[serde(skip_serializing_if = "Option::is_none")]
pub result: Option<Vec<CallHierarchyIncomingCall>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CallHierarchyOutgoingCallsRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: CallHierarchyOutgoingCallsParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CallHierarchyOutgoingCallsResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
#[serde(skip_serializing_if = "Option::is_none")]
pub result: Option<Vec<CallHierarchyOutgoingCall>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct SemanticTokensRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: SemanticTokensParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct SemanticTokensResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
#[serde(skip_serializing_if = "Option::is_none")]
pub result: Option<SemanticTokens>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct SemanticTokensDeltaRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: SemanticTokensDeltaParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct SemanticTokensDeltaResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
#[serde(skip_serializing_if = "Option::is_none")]
pub result: Option<OR2<SemanticTokens, SemanticTokensDelta>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct SemanticTokensRangeRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: SemanticTokensRangeParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct SemanticTokensRangeResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
#[serde(skip_serializing_if = "Option::is_none")]
pub result: Option<SemanticTokens>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct SemanticTokensRefreshRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: Option<LSPNull>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct SemanticTokensRefreshResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
pub result: LSPNull,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ShowDocumentRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: ShowDocumentParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ShowDocumentResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
pub result: ShowDocumentResult,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct LinkedEditingRangeRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: LinkedEditingRangeParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct LinkedEditingRangeResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
#[serde(skip_serializing_if = "Option::is_none")]
pub result: Option<LinkedEditingRanges>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct WillCreateFilesRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: CreateFilesParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct WillCreateFilesResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
#[serde(skip_serializing_if = "Option::is_none")]
pub result: Option<WorkspaceEdit>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct WillRenameFilesRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: RenameFilesParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct WillRenameFilesResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
#[serde(skip_serializing_if = "Option::is_none")]
pub result: Option<WorkspaceEdit>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct WillDeleteFilesRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: DeleteFilesParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct WillDeleteFilesResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
#[serde(skip_serializing_if = "Option::is_none")]
pub result: Option<WorkspaceEdit>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct MonikerRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: MonikerParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct MonikerResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
#[serde(skip_serializing_if = "Option::is_none")]
pub result: Option<Vec<Moniker>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct TypeHierarchyPrepareRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: TypeHierarchyPrepareParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct TypeHierarchyPrepareResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
#[serde(skip_serializing_if = "Option::is_none")]
pub result: Option<Vec<TypeHierarchyItem>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct TypeHierarchySupertypesRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: TypeHierarchySupertypesParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct TypeHierarchySupertypesResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
#[serde(skip_serializing_if = "Option::is_none")]
pub result: Option<Vec<TypeHierarchyItem>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct TypeHierarchySubtypesRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: TypeHierarchySubtypesParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct TypeHierarchySubtypesResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
#[serde(skip_serializing_if = "Option::is_none")]
pub result: Option<Vec<TypeHierarchyItem>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct InlineValueRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: InlineValueParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct InlineValueResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
#[serde(skip_serializing_if = "Option::is_none")]
pub result: Option<Vec<InlineValue>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct InlineValueRefreshRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: Option<LSPNull>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct InlineValueRefreshResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
pub result: LSPNull,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct InlayHintRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: InlayHintParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct InlayHintResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
#[serde(skip_serializing_if = "Option::is_none")]
pub result: Option<Vec<InlayHint>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct InlayHintResolveRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: InlayHint,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct InlayHintResolveResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
pub result: InlayHint,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct InlayHintRefreshRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: Option<LSPNull>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct InlayHintRefreshResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
pub result: LSPNull,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentDiagnosticRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: DocumentDiagnosticParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentDiagnosticResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
pub result: DocumentDiagnosticReport,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct WorkspaceDiagnosticRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: WorkspaceDiagnosticParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct WorkspaceDiagnosticResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
pub result: WorkspaceDiagnosticReport,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DiagnosticRefreshRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: Option<LSPNull>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DiagnosticRefreshResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
pub result: LSPNull,
}
#[cfg(feature = "proposed")]
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct InlineCompletionRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: InlineCompletionParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct InlineCompletionResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
#[serde(skip_serializing_if = "Option::is_none")]
pub result: Option<OR2<InlineCompletionList, Vec<InlineCompletionItem>>>,
}
#[cfg(feature = "proposed")]
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct TextDocumentContentRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: TextDocumentContentParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct TextDocumentContentResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
pub result: TextDocumentContentResult,
}
#[cfg(feature = "proposed")]
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct TextDocumentContentRefreshRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: TextDocumentContentRefreshParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct TextDocumentContentRefreshResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
pub result: LSPNull,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct RegistrationRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: RegistrationParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct RegistrationResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
pub result: LSPNull,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct UnregistrationRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: UnregistrationParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct UnregistrationResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
pub result: LSPNull,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct InitializeRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: InitializeParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct InitializeResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
pub result: InitializeResult,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ShutdownRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: Option<LSPNull>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ShutdownResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
pub result: LSPNull,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ShowMessageRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: ShowMessageRequestParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ShowMessageResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
#[serde(skip_serializing_if = "Option::is_none")]
pub result: Option<MessageActionItem>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct WillSaveTextDocumentWaitUntilRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: WillSaveTextDocumentParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct WillSaveTextDocumentWaitUntilResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
#[serde(skip_serializing_if = "Option::is_none")]
pub result: Option<Vec<TextEdit>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CompletionRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: CompletionParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CompletionResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
#[serde(skip_serializing_if = "Option::is_none")]
pub result: Option<OR2<Vec<CompletionItem>, CompletionList>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CompletionResolveRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: CompletionItem,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CompletionResolveResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
pub result: CompletionItem,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct HoverRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: HoverParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct HoverResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
#[serde(skip_serializing_if = "Option::is_none")]
pub result: Option<Hover>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct SignatureHelpRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: SignatureHelpParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct SignatureHelpResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
#[serde(skip_serializing_if = "Option::is_none")]
pub result: Option<SignatureHelp>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DefinitionRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: DefinitionParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DefinitionResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
#[serde(skip_serializing_if = "Option::is_none")]
pub result: Option<OR2<Definition, Vec<DefinitionLink>>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ReferencesRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: ReferenceParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ReferencesResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
#[serde(skip_serializing_if = "Option::is_none")]
pub result: Option<Vec<Location>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentHighlightRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: DocumentHighlightParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentHighlightResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
#[serde(skip_serializing_if = "Option::is_none")]
pub result: Option<Vec<DocumentHighlight>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentSymbolRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: DocumentSymbolParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentSymbolResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
#[serde(skip_serializing_if = "Option::is_none")]
pub result: Option<OR2<Vec<SymbolInformation>, Vec<DocumentSymbol>>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CodeActionRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: CodeActionParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CodeActionResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
#[serde(skip_serializing_if = "Option::is_none")]
pub result: Option<Vec<OR2<Command, CodeAction>>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CodeActionResolveRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: CodeAction,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CodeActionResolveResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
pub result: CodeAction,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct WorkspaceSymbolRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: WorkspaceSymbolParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct WorkspaceSymbolResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
#[serde(skip_serializing_if = "Option::is_none")]
pub result: Option<OR2<Vec<SymbolInformation>, Vec<WorkspaceSymbol>>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct WorkspaceSymbolResolveRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: WorkspaceSymbol,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct WorkspaceSymbolResolveResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
pub result: WorkspaceSymbol,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CodeLensRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: CodeLensParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CodeLensResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
#[serde(skip_serializing_if = "Option::is_none")]
pub result: Option<Vec<CodeLens>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CodeLensResolveRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: CodeLens,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CodeLensResolveResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
pub result: CodeLens,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CodeLensRefreshRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: Option<LSPNull>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct CodeLensRefreshResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
pub result: LSPNull,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentLinkRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: DocumentLinkParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentLinkResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
#[serde(skip_serializing_if = "Option::is_none")]
pub result: Option<Vec<DocumentLink>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentLinkResolveRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: DocumentLink,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentLinkResolveResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
pub result: DocumentLink,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentFormattingRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: DocumentFormattingParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentFormattingResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
#[serde(skip_serializing_if = "Option::is_none")]
pub result: Option<Vec<TextEdit>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentRangeFormattingRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: DocumentRangeFormattingParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentRangeFormattingResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
#[serde(skip_serializing_if = "Option::is_none")]
pub result: Option<Vec<TextEdit>>,
}
#[cfg(feature = "proposed")]
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentRangesFormattingRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: DocumentRangesFormattingParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentRangesFormattingResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
#[serde(skip_serializing_if = "Option::is_none")]
pub result: Option<Vec<TextEdit>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentOnTypeFormattingRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: DocumentOnTypeFormattingParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct DocumentOnTypeFormattingResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
#[serde(skip_serializing_if = "Option::is_none")]
pub result: Option<Vec<TextEdit>>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct RenameRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: RenameParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct RenameResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
#[serde(skip_serializing_if = "Option::is_none")]
pub result: Option<WorkspaceEdit>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct PrepareRenameRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: PrepareRenameParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct PrepareRenameResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
#[serde(skip_serializing_if = "Option::is_none")]
pub result: Option<PrepareRenameResult>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ExecuteCommandRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: ExecuteCommandParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ExecuteCommandResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
#[serde(skip_serializing_if = "Option::is_none")]
pub result: Option<LSPAny>,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ApplyWorkspaceEditRequest {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPId,
pub params: ApplyWorkspaceEditParams,
}
#[derive(Serialize, Deserialize, PartialEq, Debug, Eq, Clone)]
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct ApplyWorkspaceEditResponse {
pub jsonrpc: String,
pub method: LSPRequestMethods,
pub id: LSPIdOptional,
pub result: ApplyWorkspaceEditResult,
}