use serde::{Deserialize, Deserializer, Serialize, Serializer};
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
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,
#[serde(untagged)]
Custom_(String),
}
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
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,
#[serde(untagged)]
Custom_(String),
}
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub enum DocumentDiagnosticReportKind {
#[serde(rename = "full")]
Full,
#[serde(rename = "unchanged")]
Unchanged,
}
#[derive(Clone, Debug, PartialEq, Eq)]
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: 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: 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),
value => Err(serde::de::Error::invalid_value(
serde::de::Unexpected::Signed(value as i64),
&"one of -32700, -32600, -32601, -32602, -32603, -32002, -32001",
)),
}
}
}
#[derive(Clone, Debug, PartialEq, Eq)]
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: 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: 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),
value => Err(serde::de::Error::invalid_value(
serde::de::Unexpected::Signed(value as i64),
&"one of -32803, -32802, -32801, -32800",
)),
}
}
}
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub enum FoldingRangeKind {
#[serde(rename = "comment")]
Comment,
#[serde(rename = "imports")]
Imports,
#[serde(rename = "region")]
Region,
#[serde(untagged)]
Custom_(String),
}
#[derive(Clone, Debug, PartialEq, Eq)]
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: Serializer,
{
match self {
SymbolKind::File => serializer.serialize_u32(1),
SymbolKind::Module => serializer.serialize_u32(2),
SymbolKind::Namespace => serializer.serialize_u32(3),
SymbolKind::Package => serializer.serialize_u32(4),
SymbolKind::Class => serializer.serialize_u32(5),
SymbolKind::Method => serializer.serialize_u32(6),
SymbolKind::Property => serializer.serialize_u32(7),
SymbolKind::Field => serializer.serialize_u32(8),
SymbolKind::Constructor => serializer.serialize_u32(9),
SymbolKind::Enum => serializer.serialize_u32(10),
SymbolKind::Interface => serializer.serialize_u32(11),
SymbolKind::Function => serializer.serialize_u32(12),
SymbolKind::Variable => serializer.serialize_u32(13),
SymbolKind::Constant => serializer.serialize_u32(14),
SymbolKind::String => serializer.serialize_u32(15),
SymbolKind::Number => serializer.serialize_u32(16),
SymbolKind::Boolean => serializer.serialize_u32(17),
SymbolKind::Array => serializer.serialize_u32(18),
SymbolKind::Object => serializer.serialize_u32(19),
SymbolKind::Key => serializer.serialize_u32(20),
SymbolKind::Null => serializer.serialize_u32(21),
SymbolKind::EnumMember => serializer.serialize_u32(22),
SymbolKind::Struct => serializer.serialize_u32(23),
SymbolKind::Event => serializer.serialize_u32(24),
SymbolKind::Operator => serializer.serialize_u32(25),
SymbolKind::TypeParameter => serializer.serialize_u32(26),
}
}
}
impl<'de> Deserialize<'de> for SymbolKind {
fn deserialize<D>(deserializer: D) -> Result<SymbolKind, D::Error>
where
D: Deserializer<'de>,
{
let value = u32::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),
value => Err(serde::de::Error::invalid_value(
serde::de::Unexpected::Signed(value as i64),
&"one of 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26",
)),
}
}
}
#[derive(Clone, Debug, PartialEq, Eq)]
pub enum SymbolTag {
Deprecated = 1,
}
impl Serialize for SymbolTag {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
match self {
SymbolTag::Deprecated => serializer.serialize_u32(1),
}
}
}
impl<'de> Deserialize<'de> for SymbolTag {
fn deserialize<D>(deserializer: D) -> Result<SymbolTag, D::Error>
where
D: Deserializer<'de>,
{
let value = u32::deserialize(deserializer)?;
match value {
1 => Ok(SymbolTag::Deprecated),
value => Err(serde::de::Error::invalid_value(
serde::de::Unexpected::Signed(value as i64),
&"one of 1",
)),
}
}
}
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub enum UniquenessLevel {
#[serde(rename = "document")]
Document,
#[serde(rename = "project")]
Project,
#[serde(rename = "group")]
Group,
#[serde(rename = "scheme")]
Scheme,
#[serde(rename = "global")]
Global,
}
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub enum MonikerKind {
#[serde(rename = "import")]
Import,
#[serde(rename = "export")]
Export,
#[serde(rename = "local")]
Local,
}
#[derive(Clone, Debug, PartialEq, Eq)]
pub enum InlayHintKind {
Type = 1,
Parameter = 2,
}
impl Serialize for InlayHintKind {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
match self {
InlayHintKind::Type => serializer.serialize_u32(1),
InlayHintKind::Parameter => serializer.serialize_u32(2),
}
}
}
impl<'de> Deserialize<'de> for InlayHintKind {
fn deserialize<D>(deserializer: D) -> Result<InlayHintKind, D::Error>
where
D: Deserializer<'de>,
{
let value = u32::deserialize(deserializer)?;
match value {
1 => Ok(InlayHintKind::Type),
2 => Ok(InlayHintKind::Parameter),
value => Err(serde::de::Error::invalid_value(
serde::de::Unexpected::Signed(value as i64),
&"one of 1, 2",
)),
}
}
}
#[derive(Clone, Debug, PartialEq, Eq)]
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: Serializer,
{
match self {
MessageType::Error => serializer.serialize_u32(1),
MessageType::Warning => serializer.serialize_u32(2),
MessageType::Info => serializer.serialize_u32(3),
MessageType::Log => serializer.serialize_u32(4),
#[cfg(feature = "proposed")]
MessageType::Debug => serializer.serialize_u32(5),
}
}
}
impl<'de> Deserialize<'de> for MessageType {
fn deserialize<D>(deserializer: D) -> Result<MessageType, D::Error>
where
D: Deserializer<'de>,
{
let value = u32::deserialize(deserializer)?;
match value {
1 => Ok(MessageType::Error),
2 => Ok(MessageType::Warning),
3 => Ok(MessageType::Info),
4 => Ok(MessageType::Log),
#[cfg(feature = "proposed")]
5 => Ok(MessageType::Debug),
value => Err(serde::de::Error::invalid_value(
serde::de::Unexpected::Signed(value as i64),
&"one of 1, 2, 3, 4, 5",
)),
}
}
}
#[derive(Clone, Debug, PartialEq, Eq)]
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: Serializer,
{
match self {
TextDocumentSyncKind::None => serializer.serialize_u32(0),
TextDocumentSyncKind::Full => serializer.serialize_u32(1),
TextDocumentSyncKind::Incremental => serializer.serialize_u32(2),
}
}
}
impl<'de> Deserialize<'de> for TextDocumentSyncKind {
fn deserialize<D>(deserializer: D) -> Result<TextDocumentSyncKind, D::Error>
where
D: Deserializer<'de>,
{
let value = u32::deserialize(deserializer)?;
match value {
0 => Ok(TextDocumentSyncKind::None),
1 => Ok(TextDocumentSyncKind::Full),
2 => Ok(TextDocumentSyncKind::Incremental),
value => Err(serde::de::Error::invalid_value(
serde::de::Unexpected::Signed(value as i64),
&"one of 0, 1, 2",
)),
}
}
}
#[derive(Clone, Debug, PartialEq, Eq)]
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: Serializer,
{
match self {
TextDocumentSaveReason::Manual => serializer.serialize_u32(1),
TextDocumentSaveReason::AfterDelay => serializer.serialize_u32(2),
TextDocumentSaveReason::FocusOut => serializer.serialize_u32(3),
}
}
}
impl<'de> Deserialize<'de> for TextDocumentSaveReason {
fn deserialize<D>(deserializer: D) -> Result<TextDocumentSaveReason, D::Error>
where
D: Deserializer<'de>,
{
let value = u32::deserialize(deserializer)?;
match value {
1 => Ok(TextDocumentSaveReason::Manual),
2 => Ok(TextDocumentSaveReason::AfterDelay),
3 => Ok(TextDocumentSaveReason::FocusOut),
value => Err(serde::de::Error::invalid_value(
serde::de::Unexpected::Signed(value as i64),
&"one of 1, 2, 3",
)),
}
}
}
#[derive(Clone, Debug, PartialEq, Eq)]
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: Serializer,
{
match self {
CompletionItemKind::Text => serializer.serialize_u32(1),
CompletionItemKind::Method => serializer.serialize_u32(2),
CompletionItemKind::Function => serializer.serialize_u32(3),
CompletionItemKind::Constructor => serializer.serialize_u32(4),
CompletionItemKind::Field => serializer.serialize_u32(5),
CompletionItemKind::Variable => serializer.serialize_u32(6),
CompletionItemKind::Class => serializer.serialize_u32(7),
CompletionItemKind::Interface => serializer.serialize_u32(8),
CompletionItemKind::Module => serializer.serialize_u32(9),
CompletionItemKind::Property => serializer.serialize_u32(10),
CompletionItemKind::Unit => serializer.serialize_u32(11),
CompletionItemKind::Value => serializer.serialize_u32(12),
CompletionItemKind::Enum => serializer.serialize_u32(13),
CompletionItemKind::Keyword => serializer.serialize_u32(14),
CompletionItemKind::Snippet => serializer.serialize_u32(15),
CompletionItemKind::Color => serializer.serialize_u32(16),
CompletionItemKind::File => serializer.serialize_u32(17),
CompletionItemKind::Reference => serializer.serialize_u32(18),
CompletionItemKind::Folder => serializer.serialize_u32(19),
CompletionItemKind::EnumMember => serializer.serialize_u32(20),
CompletionItemKind::Constant => serializer.serialize_u32(21),
CompletionItemKind::Struct => serializer.serialize_u32(22),
CompletionItemKind::Event => serializer.serialize_u32(23),
CompletionItemKind::Operator => serializer.serialize_u32(24),
CompletionItemKind::TypeParameter => serializer.serialize_u32(25),
}
}
}
impl<'de> Deserialize<'de> for CompletionItemKind {
fn deserialize<D>(deserializer: D) -> Result<CompletionItemKind, D::Error>
where
D: Deserializer<'de>,
{
let value = u32::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),
value => Err(serde::de::Error::invalid_value(
serde::de::Unexpected::Signed(value as i64),
&"one of 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25",
)),
}
}
}
#[derive(Clone, Debug, PartialEq, Eq)]
pub enum CompletionItemTag {
Deprecated = 1,
}
impl Serialize for CompletionItemTag {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
match self {
CompletionItemTag::Deprecated => serializer.serialize_u32(1),
}
}
}
impl<'de> Deserialize<'de> for CompletionItemTag {
fn deserialize<D>(deserializer: D) -> Result<CompletionItemTag, D::Error>
where
D: Deserializer<'de>,
{
let value = u32::deserialize(deserializer)?;
match value {
1 => Ok(CompletionItemTag::Deprecated),
value => Err(serde::de::Error::invalid_value(
serde::de::Unexpected::Signed(value as i64),
&"one of 1",
)),
}
}
}
#[derive(Clone, Debug, PartialEq, Eq)]
pub enum InsertTextFormat {
PlainText = 1,
Snippet = 2,
}
impl Serialize for InsertTextFormat {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
match self {
InsertTextFormat::PlainText => serializer.serialize_u32(1),
InsertTextFormat::Snippet => serializer.serialize_u32(2),
}
}
}
impl<'de> Deserialize<'de> for InsertTextFormat {
fn deserialize<D>(deserializer: D) -> Result<InsertTextFormat, D::Error>
where
D: Deserializer<'de>,
{
let value = u32::deserialize(deserializer)?;
match value {
1 => Ok(InsertTextFormat::PlainText),
2 => Ok(InsertTextFormat::Snippet),
value => Err(serde::de::Error::invalid_value(
serde::de::Unexpected::Signed(value as i64),
&"one of 1, 2",
)),
}
}
}
#[derive(Clone, Debug, PartialEq, Eq)]
pub enum InsertTextMode {
AsIs = 1,
AdjustIndentation = 2,
}
impl Serialize for InsertTextMode {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
match self {
InsertTextMode::AsIs => serializer.serialize_u32(1),
InsertTextMode::AdjustIndentation => serializer.serialize_u32(2),
}
}
}
impl<'de> Deserialize<'de> for InsertTextMode {
fn deserialize<D>(deserializer: D) -> Result<InsertTextMode, D::Error>
where
D: Deserializer<'de>,
{
let value = u32::deserialize(deserializer)?;
match value {
1 => Ok(InsertTextMode::AsIs),
2 => Ok(InsertTextMode::AdjustIndentation),
value => Err(serde::de::Error::invalid_value(
serde::de::Unexpected::Signed(value as i64),
&"one of 1, 2",
)),
}
}
}
#[derive(Clone, Debug, PartialEq, Eq)]
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: Serializer,
{
match self {
DocumentHighlightKind::Text => serializer.serialize_u32(1),
DocumentHighlightKind::Read => serializer.serialize_u32(2),
DocumentHighlightKind::Write => serializer.serialize_u32(3),
}
}
}
impl<'de> Deserialize<'de> for DocumentHighlightKind {
fn deserialize<D>(deserializer: D) -> Result<DocumentHighlightKind, D::Error>
where
D: Deserializer<'de>,
{
let value = u32::deserialize(deserializer)?;
match value {
1 => Ok(DocumentHighlightKind::Text),
2 => Ok(DocumentHighlightKind::Read),
3 => Ok(DocumentHighlightKind::Write),
value => Err(serde::de::Error::invalid_value(
serde::de::Unexpected::Signed(value as i64),
&"one of 1, 2, 3",
)),
}
}
}
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
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,
#[serde(untagged)]
Custom_(String),
}
#[derive(Clone, Debug, PartialEq, Eq)]
pub enum CodeActionTag {
LlmGenerated = 1,
}
impl Serialize for CodeActionTag {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
match self {
CodeActionTag::LlmGenerated => serializer.serialize_u32(1),
}
}
}
impl<'de> Deserialize<'de> for CodeActionTag {
fn deserialize<D>(deserializer: D) -> Result<CodeActionTag, D::Error>
where
D: Deserializer<'de>,
{
let value = u32::deserialize(deserializer)?;
match value {
1 => Ok(CodeActionTag::LlmGenerated),
value => Err(serde::de::Error::invalid_value(
serde::de::Unexpected::Signed(value as i64),
&"one of 1",
)),
}
}
}
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub enum TraceValue {
#[serde(rename = "off")]
Off,
#[serde(rename = "messages")]
Messages,
#[serde(rename = "verbose")]
Verbose,
}
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub enum MarkupKind {
#[serde(rename = "plaintext")]
PlainText,
#[serde(rename = "markdown")]
Markdown,
}
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
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,
#[serde(untagged)]
Custom_(String),
}
#[derive(Clone, Debug, PartialEq, Eq)]
pub enum InlineCompletionTriggerKind {
Invoked = 1,
Automatic = 2,
}
impl Serialize for InlineCompletionTriggerKind {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
match self {
InlineCompletionTriggerKind::Invoked => serializer.serialize_u32(1),
InlineCompletionTriggerKind::Automatic => serializer.serialize_u32(2),
}
}
}
impl<'de> Deserialize<'de> for InlineCompletionTriggerKind {
fn deserialize<D>(deserializer: D) -> Result<InlineCompletionTriggerKind, D::Error>
where
D: Deserializer<'de>,
{
let value = u32::deserialize(deserializer)?;
match value {
1 => Ok(InlineCompletionTriggerKind::Invoked),
2 => Ok(InlineCompletionTriggerKind::Automatic),
value => Err(serde::de::Error::invalid_value(
serde::de::Unexpected::Signed(value as i64),
&"one of 1, 2",
)),
}
}
}
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub enum PositionEncodingKind {
#[serde(rename = "utf-8")]
Utf8,
#[serde(rename = "utf-16")]
Utf16,
#[serde(rename = "utf-32")]
Utf32,
#[serde(untagged)]
Custom_(String),
}
#[derive(Clone, Debug, PartialEq, Eq)]
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: Serializer,
{
match self {
FileChangeType::Created => serializer.serialize_u32(1),
FileChangeType::Changed => serializer.serialize_u32(2),
FileChangeType::Deleted => serializer.serialize_u32(3),
}
}
}
impl<'de> Deserialize<'de> for FileChangeType {
fn deserialize<D>(deserializer: D) -> Result<FileChangeType, D::Error>
where
D: Deserializer<'de>,
{
let value = u32::deserialize(deserializer)?;
match value {
1 => Ok(FileChangeType::Created),
2 => Ok(FileChangeType::Changed),
3 => Ok(FileChangeType::Deleted),
value => Err(serde::de::Error::invalid_value(
serde::de::Unexpected::Signed(value as i64),
&"one of 1, 2, 3",
)),
}
}
}
#[derive(Clone, Debug, PartialEq, Eq)]
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: Serializer,
{
match self {
WatchKind::Create => serializer.serialize_u32(1),
WatchKind::Change => serializer.serialize_u32(2),
WatchKind::Delete => serializer.serialize_u32(4),
}
}
}
impl<'de> Deserialize<'de> for WatchKind {
fn deserialize<D>(deserializer: D) -> Result<WatchKind, D::Error>
where
D: Deserializer<'de>,
{
let value = u32::deserialize(deserializer)?;
match value {
1 => Ok(WatchKind::Create),
2 => Ok(WatchKind::Change),
4 => Ok(WatchKind::Delete),
value => Err(serde::de::Error::invalid_value(
serde::de::Unexpected::Signed(value as i64),
&"one of 1, 2, 4",
)),
}
}
}
#[derive(Clone, Debug, PartialEq, Eq, Copy)]
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: Serializer,
{
match self {
DiagnosticSeverity::Error => serializer.serialize_u32(1),
DiagnosticSeverity::Warning => serializer.serialize_u32(2),
DiagnosticSeverity::Information => serializer.serialize_u32(3),
DiagnosticSeverity::Hint => serializer.serialize_u32(4),
}
}
}
impl<'de> Deserialize<'de> for DiagnosticSeverity {
fn deserialize<D>(deserializer: D) -> Result<DiagnosticSeverity, D::Error>
where
D: Deserializer<'de>,
{
let value = u32::deserialize(deserializer)?;
match value {
1 => Ok(DiagnosticSeverity::Error),
2 => Ok(DiagnosticSeverity::Warning),
3 => Ok(DiagnosticSeverity::Information),
4 => Ok(DiagnosticSeverity::Hint),
value => Err(serde::de::Error::invalid_value(
serde::de::Unexpected::Signed(value as i64),
&"one of 1, 2, 3, 4",
)),
}
}
}
#[derive(Clone, Debug, PartialEq, Eq)]
pub enum DiagnosticTag {
Unnecessary = 1,
Deprecated = 2,
}
impl Serialize for DiagnosticTag {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
match self {
DiagnosticTag::Unnecessary => serializer.serialize_u32(1),
DiagnosticTag::Deprecated => serializer.serialize_u32(2),
}
}
}
impl<'de> Deserialize<'de> for DiagnosticTag {
fn deserialize<D>(deserializer: D) -> Result<DiagnosticTag, D::Error>
where
D: Deserializer<'de>,
{
let value = u32::deserialize(deserializer)?;
match value {
1 => Ok(DiagnosticTag::Unnecessary),
2 => Ok(DiagnosticTag::Deprecated),
value => Err(serde::de::Error::invalid_value(
serde::de::Unexpected::Signed(value as i64),
&"one of 1, 2",
)),
}
}
}
#[derive(Clone, Debug, PartialEq, Eq)]
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: Serializer,
{
match self {
CompletionTriggerKind::Invoked => serializer.serialize_u32(1),
CompletionTriggerKind::TriggerCharacter => serializer.serialize_u32(2),
CompletionTriggerKind::TriggerForIncompleteCompletions => serializer.serialize_u32(3),
}
}
}
impl<'de> Deserialize<'de> for CompletionTriggerKind {
fn deserialize<D>(deserializer: D) -> Result<CompletionTriggerKind, D::Error>
where
D: Deserializer<'de>,
{
let value = u32::deserialize(deserializer)?;
match value {
1 => Ok(CompletionTriggerKind::Invoked),
2 => Ok(CompletionTriggerKind::TriggerCharacter),
3 => Ok(CompletionTriggerKind::TriggerForIncompleteCompletions),
value => Err(serde::de::Error::invalid_value(
serde::de::Unexpected::Signed(value as i64),
&"one of 1, 2, 3",
)),
}
}
}
#[derive(Clone, Debug, PartialEq, Eq)]
pub enum ApplyKind {
Replace = 1,
Merge = 2,
}
impl Serialize for ApplyKind {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
match self {
ApplyKind::Replace => serializer.serialize_u32(1),
ApplyKind::Merge => serializer.serialize_u32(2),
}
}
}
impl<'de> Deserialize<'de> for ApplyKind {
fn deserialize<D>(deserializer: D) -> Result<ApplyKind, D::Error>
where
D: Deserializer<'de>,
{
let value = u32::deserialize(deserializer)?;
match value {
1 => Ok(ApplyKind::Replace),
2 => Ok(ApplyKind::Merge),
value => Err(serde::de::Error::invalid_value(
serde::de::Unexpected::Signed(value as i64),
&"one of 1, 2",
)),
}
}
}
#[derive(Clone, Debug, PartialEq, Eq)]
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: Serializer,
{
match self {
SignatureHelpTriggerKind::Invoked => serializer.serialize_u32(1),
SignatureHelpTriggerKind::TriggerCharacter => serializer.serialize_u32(2),
SignatureHelpTriggerKind::ContentChange => serializer.serialize_u32(3),
}
}
}
impl<'de> Deserialize<'de> for SignatureHelpTriggerKind {
fn deserialize<D>(deserializer: D) -> Result<SignatureHelpTriggerKind, D::Error>
where
D: Deserializer<'de>,
{
let value = u32::deserialize(deserializer)?;
match value {
1 => Ok(SignatureHelpTriggerKind::Invoked),
2 => Ok(SignatureHelpTriggerKind::TriggerCharacter),
3 => Ok(SignatureHelpTriggerKind::ContentChange),
value => Err(serde::de::Error::invalid_value(
serde::de::Unexpected::Signed(value as i64),
&"one of 1, 2, 3",
)),
}
}
}
#[derive(Clone, Debug, PartialEq, Eq)]
pub enum CodeActionTriggerKind {
Invoked = 1,
Automatic = 2,
}
impl Serialize for CodeActionTriggerKind {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
match self {
CodeActionTriggerKind::Invoked => serializer.serialize_u32(1),
CodeActionTriggerKind::Automatic => serializer.serialize_u32(2),
}
}
}
impl<'de> Deserialize<'de> for CodeActionTriggerKind {
fn deserialize<D>(deserializer: D) -> Result<CodeActionTriggerKind, D::Error>
where
D: Deserializer<'de>,
{
let value = u32::deserialize(deserializer)?;
match value {
1 => Ok(CodeActionTriggerKind::Invoked),
2 => Ok(CodeActionTriggerKind::Automatic),
value => Err(serde::de::Error::invalid_value(
serde::de::Unexpected::Signed(value as i64),
&"one of 1, 2",
)),
}
}
}
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub enum FileOperationPatternKind {
#[serde(rename = "file")]
File,
#[serde(rename = "folder")]
Folder,
}
#[derive(Clone, Debug, PartialEq, Eq)]
pub enum NotebookCellKind {
Markup = 1,
Code = 2,
}
impl Serialize for NotebookCellKind {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
match self {
NotebookCellKind::Markup => serializer.serialize_u32(1),
NotebookCellKind::Code => serializer.serialize_u32(2),
}
}
}
impl<'de> Deserialize<'de> for NotebookCellKind {
fn deserialize<D>(deserializer: D) -> Result<NotebookCellKind, D::Error>
where
D: Deserializer<'de>,
{
let value = u32::deserialize(deserializer)?;
match value {
1 => Ok(NotebookCellKind::Markup),
2 => Ok(NotebookCellKind::Code),
value => Err(serde::de::Error::invalid_value(
serde::de::Unexpected::Signed(value as i64),
&"one of 1, 2",
)),
}
}
}
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub enum ResourceOperationKind {
#[serde(rename = "create")]
Create,
#[serde(rename = "rename")]
Rename,
#[serde(rename = "delete")]
Delete,
}
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub enum FailureHandlingKind {
#[serde(rename = "abort")]
Abort,
#[serde(rename = "transactional")]
Transactional,
#[serde(rename = "textOnlyTransactional")]
TextOnlyTransactional,
#[serde(rename = "undo")]
Undo,
}
#[derive(Clone, Debug, PartialEq, Eq)]
pub enum PrepareSupportDefaultBehavior {
Identifier = 1,
}
impl Serialize for PrepareSupportDefaultBehavior {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
match self {
PrepareSupportDefaultBehavior::Identifier => serializer.serialize_u32(1),
}
}
}
impl<'de> Deserialize<'de> for PrepareSupportDefaultBehavior {
fn deserialize<D>(deserializer: D) -> Result<PrepareSupportDefaultBehavior, D::Error>
where
D: Deserializer<'de>,
{
let value = u32::deserialize(deserializer)?;
match value {
1 => Ok(PrepareSupportDefaultBehavior::Identifier),
value => Err(serde::de::Error::invalid_value(
serde::de::Unexpected::Signed(value as i64),
&"one of 1",
)),
}
}
}
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub enum TokenFormat {
#[serde(rename = "relative")]
Relative,
}