1#![cfg_attr(rustfmt, rustfmt_skip)]
4#![allow(clippy::large_enum_variant)]
5#![allow(clippy::enum_variant_names)]
6#![allow(clippy::upper_case_acronyms)]
7#![allow(clippy::doc_lazy_continuation)]
8#![allow(clippy::derive_partial_eq_without_eq)]
9#![allow(dead_code)]
10#![allow(unused_imports)]
11#![allow(non_upper_case_globals)]
12use serde::{Deserialize, Serialize};
13use serde_json::Value as LspAny;
14pub const LSP_SPEC_VERSION: &str = "3.18.0";
15pub type URI = String;
16pub type DocumentUri = String;
17pub type RegExp = String;
18pub type Integer = i32;
19pub type Uinteger = u32;
20pub type Decimal = f64;
21pub type Definition = LocationOrLocationArray;
28pub type DefinitionLink = LocationLink;
33pub type LSPArray = Vec<LSPAny>;
36pub type LSPAny = Option<
43 BooleanOrDecimalOrIntegerOrLSPArrayOrLSPObjectOrStringOrUinteger,
44>;
45pub type Declaration = LocationOrLocationArray;
47pub type DeclarationLink = LocationLink;
55pub type InlineValue = InlineValueEvaluatableExpressionOrInlineValueTextOrInlineValueVariableLookup;
63pub type DocumentDiagnosticReport = RelatedFullDocumentDiagnosticReportOrRelatedUnchangedDocumentDiagnosticReport;
71pub type PrepareRenameResult = PrepareRenameDefaultBehaviorOrPrepareRenamePlaceholderOrRange;
72pub type DocumentSelector = Vec<DocumentFilter>;
78pub type ProgressToken = IntegerOrString;
79pub type ChangeAnnotationIdentifier = String;
81pub type WorkspaceDocumentDiagnosticReport = WorkspaceFullDocumentDiagnosticReportOrWorkspaceUnchangedDocumentDiagnosticReport;
85pub type TextDocumentContentChangeEvent = TextDocumentContentChangePartialOrTextDocumentContentChangeWholeDocument;
88pub type MarkedString = MarkedStringWithLanguageOrString;
102pub type DocumentFilter = NotebookCellTextDocumentFilterOrTextDocumentFilter;
107pub type LSPObject = std::collections::BTreeMap<String, LSPAny>;
110pub type GlobPattern = PatternOrRelativePattern;
114#[doc = "A document filter denotes a document by different properties like\nthe {@link TextDocument.languageId language}, the {@link Uri.scheme scheme} of\nits resource, or a glob-pattern that is applied to the {@link TextDocument.fileName path}.\n\nGlob patterns can have the following syntax:\n- `*` to match zero or more characters in a path segment\n- `?` to match on one character in a path segment\n- `**` to match any number of path segments, including none\n- `{}` to group sub patterns into an OR expression. (e.g. `**\u{200b}/*.{ts,js}` matches all TypeScript and JavaScript files)\n- `[]` to declare a range of characters to match in a path segment (e.g., `example.[0-9]` to match on `example.0`, `example.1`, …)\n- `[!...]` to negate a range of characters to match in a path segment (e.g., `example.[!0-9]` to match on `example.a`, `example.b`, but not `example.0`)\n\n@sample A language filter that applies to typescript files on disk: `{ language: 'typescript', scheme: 'file' }`\n@sample A language filter that applies to all package.json paths: `{ language: 'json', pattern: '**package.json' }`\n\n@since 3.17.0"]
115pub type TextDocumentFilter = TextDocumentFilterLanguageOrTextDocumentFilterPatternOrTextDocumentFilterScheme;
116pub type NotebookDocumentFilter = NotebookDocumentFilterNotebookTypeOrNotebookDocumentFilterPatternOrNotebookDocumentFilterScheme;
122#[doc = "The glob pattern to watch relative to the base path. Glob patterns can have the following syntax:\n- `*` to match zero or more characters in a path segment\n- `?` to match on one character in a path segment\n- `**` to match any number of path segments, including none\n- `{}` to group conditions (e.g. `**\u{200b}/*.{ts,js}` matches all TypeScript and JavaScript files)\n- `[]` to declare a range of characters to match in a path segment (e.g., `example.[0-9]` to match on `example.0`, `example.1`, …)\n- `[!...]` to negate a range of characters to match in a path segment (e.g., `example.[!0-9]` to match on `example.a`, `example.b`, but not `example.0`)\n\n@since 3.17.0"]
123pub type Pattern = String;
124pub type RegularExpressionEngineKind = String;
125#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
131#[serde(transparent)]
132pub struct SemanticTokenTypes(pub String);
133impl SemanticTokenTypes {
134 pub const NAMESPACE: &'static str = "namespace";
135 pub const TYPE: &'static str = "type";
136 pub const CLASS: &'static str = "class";
137 pub const ENUM: &'static str = "enum";
138 pub const INTERFACE: &'static str = "interface";
139 pub const STRUCT: &'static str = "struct";
140 pub const TYPE_PARAMETER: &'static str = "typeParameter";
141 pub const PARAMETER: &'static str = "parameter";
142 pub const VARIABLE: &'static str = "variable";
143 pub const PROPERTY: &'static str = "property";
144 pub const ENUM_MEMBER: &'static str = "enumMember";
145 pub const EVENT: &'static str = "event";
146 pub const FUNCTION: &'static str = "function";
147 pub const METHOD: &'static str = "method";
148 pub const MACRO: &'static str = "macro";
149 pub const KEYWORD: &'static str = "keyword";
150 pub const MODIFIER: &'static str = "modifier";
151 pub const COMMENT: &'static str = "comment";
152 pub const STRING: &'static str = "string";
153 pub const NUMBER: &'static str = "number";
154 pub const REGEXP: &'static str = "regexp";
155 pub const OPERATOR: &'static str = "operator";
156 pub const DECORATOR: &'static str = "decorator";
157 pub const LABEL: &'static str = "label";
158}
159#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
165#[serde(transparent)]
166pub struct SemanticTokenModifiers(pub String);
167impl SemanticTokenModifiers {
168 pub const DECLARATION: &'static str = "declaration";
169 pub const DEFINITION: &'static str = "definition";
170 pub const READONLY: &'static str = "readonly";
171 pub const STATIC: &'static str = "static";
172 pub const DEPRECATED: &'static str = "deprecated";
173 pub const ABSTRACT: &'static str = "abstract";
174 pub const ASYNC: &'static str = "async";
175 pub const MODIFICATION: &'static str = "modification";
176 pub const DOCUMENTATION: &'static str = "documentation";
177 pub const DEFAULT_LIBRARY: &'static str = "defaultLibrary";
178}
179#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
183pub enum DocumentDiagnosticReportKind {
184 #[serde(rename = "full")]
187 Full,
188 #[serde(rename = "unchanged")]
191 Unchanged,
192}
193#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
195#[serde(transparent)]
196pub struct ErrorCodes(pub i32);
197impl ErrorCodes {
198 pub const PARSE_ERROR: i32 = -32700;
199 pub const INVALID_REQUEST: i32 = -32600;
200 pub const METHOD_NOT_FOUND: i32 = -32601;
201 pub const INVALID_PARAMS: i32 = -32602;
202 pub const INTERNAL_ERROR: i32 = -32603;
203 pub const SERVER_NOT_INITIALIZED: i32 = -32002;
204 pub const UNKNOWN_ERROR_CODE: i32 = -32001;
205}
206#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
207#[serde(transparent)]
208pub struct LSPErrorCodes(pub i32);
209impl LSPErrorCodes {
210 pub const REQUEST_FAILED: i32 = -32803;
211 pub const SERVER_CANCELLED: i32 = -32802;
212 pub const CONTENT_MODIFIED: i32 = -32801;
213 pub const REQUEST_CANCELLED: i32 = -32800;
214}
215#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
217#[serde(transparent)]
218pub struct FoldingRangeKind(pub String);
219impl FoldingRangeKind {
220 pub const COMMENT: &'static str = "comment";
221 pub const IMPORTS: &'static str = "imports";
222 pub const REGION: &'static str = "region";
223}
224#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
226pub enum SymbolKind {
227 File,
228 Module,
229 Namespace,
230 Package,
231 Class,
232 Method,
233 Property,
234 Field,
235 Constructor,
236 Enum,
237 Interface,
238 Function,
239 Variable,
240 Constant,
241 String,
242 Number,
243 Boolean,
244 Array,
245 Object,
246 Key,
247 Null,
248 EnumMember,
249 Struct,
250 Event,
251 Operator,
252 TypeParameter,
253}
254impl serde::Serialize for SymbolKind {
255 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
256 where
257 S: serde::Serializer,
258 {
259 match self {
260 Self::File => serializer.serialize_i64(1i64),
261 Self::Module => serializer.serialize_i64(2i64),
262 Self::Namespace => serializer.serialize_i64(3i64),
263 Self::Package => serializer.serialize_i64(4i64),
264 Self::Class => serializer.serialize_i64(5i64),
265 Self::Method => serializer.serialize_i64(6i64),
266 Self::Property => serializer.serialize_i64(7i64),
267 Self::Field => serializer.serialize_i64(8i64),
268 Self::Constructor => serializer.serialize_i64(9i64),
269 Self::Enum => serializer.serialize_i64(10i64),
270 Self::Interface => serializer.serialize_i64(11i64),
271 Self::Function => serializer.serialize_i64(12i64),
272 Self::Variable => serializer.serialize_i64(13i64),
273 Self::Constant => serializer.serialize_i64(14i64),
274 Self::String => serializer.serialize_i64(15i64),
275 Self::Number => serializer.serialize_i64(16i64),
276 Self::Boolean => serializer.serialize_i64(17i64),
277 Self::Array => serializer.serialize_i64(18i64),
278 Self::Object => serializer.serialize_i64(19i64),
279 Self::Key => serializer.serialize_i64(20i64),
280 Self::Null => serializer.serialize_i64(21i64),
281 Self::EnumMember => serializer.serialize_i64(22i64),
282 Self::Struct => serializer.serialize_i64(23i64),
283 Self::Event => serializer.serialize_i64(24i64),
284 Self::Operator => serializer.serialize_i64(25i64),
285 Self::TypeParameter => serializer.serialize_i64(26i64),
286 }
287 }
288}
289impl<'de> serde::Deserialize<'de> for SymbolKind {
290 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
291 where
292 D: serde::Deserializer<'de>,
293 {
294 struct Visitor;
295 impl<'de> serde::de::Visitor<'de> for Visitor {
296 type Value = SymbolKind;
297 fn expecting(
298 &self,
299 formatter: &mut std::fmt::Formatter,
300 ) -> std::fmt::Result {
301 formatter.write_str("a number representing the enum")
302 }
303 fn visit_i64<E>(self, value: i64) -> Result<Self::Value, E>
304 where
305 E: serde::de::Error,
306 {
307 match value {
308 1i64 => Ok(SymbolKind::File),
309 2i64 => Ok(SymbolKind::Module),
310 3i64 => Ok(SymbolKind::Namespace),
311 4i64 => Ok(SymbolKind::Package),
312 5i64 => Ok(SymbolKind::Class),
313 6i64 => Ok(SymbolKind::Method),
314 7i64 => Ok(SymbolKind::Property),
315 8i64 => Ok(SymbolKind::Field),
316 9i64 => Ok(SymbolKind::Constructor),
317 10i64 => Ok(SymbolKind::Enum),
318 11i64 => Ok(SymbolKind::Interface),
319 12i64 => Ok(SymbolKind::Function),
320 13i64 => Ok(SymbolKind::Variable),
321 14i64 => Ok(SymbolKind::Constant),
322 15i64 => Ok(SymbolKind::String),
323 16i64 => Ok(SymbolKind::Number),
324 17i64 => Ok(SymbolKind::Boolean),
325 18i64 => Ok(SymbolKind::Array),
326 19i64 => Ok(SymbolKind::Object),
327 20i64 => Ok(SymbolKind::Key),
328 21i64 => Ok(SymbolKind::Null),
329 22i64 => Ok(SymbolKind::EnumMember),
330 23i64 => Ok(SymbolKind::Struct),
331 24i64 => Ok(SymbolKind::Event),
332 25i64 => Ok(SymbolKind::Operator),
333 26i64 => Ok(SymbolKind::TypeParameter),
334 _ => Err(E::custom(format!("unknown variant: {}", value))),
335 }
336 }
337 fn visit_u64<E>(self, value: u64) -> Result<Self::Value, E>
338 where
339 E: serde::de::Error,
340 {
341 self.visit_i64(value as i64)
342 }
343 }
344 deserializer.deserialize_i64(Visitor)
345 }
346}
347#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
351pub enum SymbolTag {
352 Deprecated,
354}
355impl serde::Serialize for SymbolTag {
356 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
357 where
358 S: serde::Serializer,
359 {
360 match self {
361 Self::Deprecated => serializer.serialize_i64(1i64),
362 }
363 }
364}
365impl<'de> serde::Deserialize<'de> for SymbolTag {
366 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
367 where
368 D: serde::Deserializer<'de>,
369 {
370 struct Visitor;
371 impl<'de> serde::de::Visitor<'de> for Visitor {
372 type Value = SymbolTag;
373 fn expecting(
374 &self,
375 formatter: &mut std::fmt::Formatter,
376 ) -> std::fmt::Result {
377 formatter.write_str("a number representing the enum")
378 }
379 fn visit_i64<E>(self, value: i64) -> Result<Self::Value, E>
380 where
381 E: serde::de::Error,
382 {
383 match value {
384 1i64 => Ok(SymbolTag::Deprecated),
385 _ => Err(E::custom(format!("unknown variant: {}", value))),
386 }
387 }
388 fn visit_u64<E>(self, value: u64) -> Result<Self::Value, E>
389 where
390 E: serde::de::Error,
391 {
392 self.visit_i64(value as i64)
393 }
394 }
395 deserializer.deserialize_i64(Visitor)
396 }
397}
398#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
402pub enum UniquenessLevel {
403 #[serde(rename = "document")]
405 Document,
406 #[serde(rename = "project")]
408 Project,
409 #[serde(rename = "group")]
411 Group,
412 #[serde(rename = "scheme")]
414 Scheme,
415 #[serde(rename = "global")]
417 Global,
418}
419#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
423pub enum MonikerKind {
424 #[serde(rename = "import")]
426 Import,
427 #[serde(rename = "export")]
429 Export,
430 #[serde(rename = "local")]
433 Local,
434}
435#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
439pub enum InlayHintKind {
440 Type,
442 Parameter,
444}
445impl serde::Serialize for InlayHintKind {
446 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
447 where
448 S: serde::Serializer,
449 {
450 match self {
451 Self::Type => serializer.serialize_i64(1i64),
452 Self::Parameter => serializer.serialize_i64(2i64),
453 }
454 }
455}
456impl<'de> serde::Deserialize<'de> for InlayHintKind {
457 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
458 where
459 D: serde::Deserializer<'de>,
460 {
461 struct Visitor;
462 impl<'de> serde::de::Visitor<'de> for Visitor {
463 type Value = InlayHintKind;
464 fn expecting(
465 &self,
466 formatter: &mut std::fmt::Formatter,
467 ) -> std::fmt::Result {
468 formatter.write_str("a number representing the enum")
469 }
470 fn visit_i64<E>(self, value: i64) -> Result<Self::Value, E>
471 where
472 E: serde::de::Error,
473 {
474 match value {
475 1i64 => Ok(InlayHintKind::Type),
476 2i64 => Ok(InlayHintKind::Parameter),
477 _ => Err(E::custom(format!("unknown variant: {}", value))),
478 }
479 }
480 fn visit_u64<E>(self, value: u64) -> Result<Self::Value, E>
481 where
482 E: serde::de::Error,
483 {
484 self.visit_i64(value as i64)
485 }
486 }
487 deserializer.deserialize_i64(Visitor)
488 }
489}
490#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
492pub enum MessageType {
493 Error,
495 Warning,
497 Info,
499 Log,
501 Debug,
505}
506impl serde::Serialize for MessageType {
507 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
508 where
509 S: serde::Serializer,
510 {
511 match self {
512 Self::Error => serializer.serialize_i64(1i64),
513 Self::Warning => serializer.serialize_i64(2i64),
514 Self::Info => serializer.serialize_i64(3i64),
515 Self::Log => serializer.serialize_i64(4i64),
516 Self::Debug => serializer.serialize_i64(5i64),
517 }
518 }
519}
520impl<'de> serde::Deserialize<'de> for MessageType {
521 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
522 where
523 D: serde::Deserializer<'de>,
524 {
525 struct Visitor;
526 impl<'de> serde::de::Visitor<'de> for Visitor {
527 type Value = MessageType;
528 fn expecting(
529 &self,
530 formatter: &mut std::fmt::Formatter,
531 ) -> std::fmt::Result {
532 formatter.write_str("a number representing the enum")
533 }
534 fn visit_i64<E>(self, value: i64) -> Result<Self::Value, E>
535 where
536 E: serde::de::Error,
537 {
538 match value {
539 1i64 => Ok(MessageType::Error),
540 2i64 => Ok(MessageType::Warning),
541 3i64 => Ok(MessageType::Info),
542 4i64 => Ok(MessageType::Log),
543 5i64 => Ok(MessageType::Debug),
544 _ => Err(E::custom(format!("unknown variant: {}", value))),
545 }
546 }
547 fn visit_u64<E>(self, value: u64) -> Result<Self::Value, E>
548 where
549 E: serde::de::Error,
550 {
551 self.visit_i64(value as i64)
552 }
553 }
554 deserializer.deserialize_i64(Visitor)
555 }
556}
557#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
560pub enum TextDocumentSyncKind {
561 None,
563 Full,
566 Incremental,
570}
571impl serde::Serialize for TextDocumentSyncKind {
572 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
573 where
574 S: serde::Serializer,
575 {
576 match self {
577 Self::None => serializer.serialize_i64(0i64),
578 Self::Full => serializer.serialize_i64(1i64),
579 Self::Incremental => serializer.serialize_i64(2i64),
580 }
581 }
582}
583impl<'de> serde::Deserialize<'de> for TextDocumentSyncKind {
584 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
585 where
586 D: serde::Deserializer<'de>,
587 {
588 struct Visitor;
589 impl<'de> serde::de::Visitor<'de> for Visitor {
590 type Value = TextDocumentSyncKind;
591 fn expecting(
592 &self,
593 formatter: &mut std::fmt::Formatter,
594 ) -> std::fmt::Result {
595 formatter.write_str("a number representing the enum")
596 }
597 fn visit_i64<E>(self, value: i64) -> Result<Self::Value, E>
598 where
599 E: serde::de::Error,
600 {
601 match value {
602 0i64 => Ok(TextDocumentSyncKind::None),
603 1i64 => Ok(TextDocumentSyncKind::Full),
604 2i64 => Ok(TextDocumentSyncKind::Incremental),
605 _ => Err(E::custom(format!("unknown variant: {}", value))),
606 }
607 }
608 fn visit_u64<E>(self, value: u64) -> Result<Self::Value, E>
609 where
610 E: serde::de::Error,
611 {
612 self.visit_i64(value as i64)
613 }
614 }
615 deserializer.deserialize_i64(Visitor)
616 }
617}
618#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
620pub enum TextDocumentSaveReason {
621 Manual,
624 AfterDelay,
626 FocusOut,
628}
629impl serde::Serialize for TextDocumentSaveReason {
630 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
631 where
632 S: serde::Serializer,
633 {
634 match self {
635 Self::Manual => serializer.serialize_i64(1i64),
636 Self::AfterDelay => serializer.serialize_i64(2i64),
637 Self::FocusOut => serializer.serialize_i64(3i64),
638 }
639 }
640}
641impl<'de> serde::Deserialize<'de> for TextDocumentSaveReason {
642 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
643 where
644 D: serde::Deserializer<'de>,
645 {
646 struct Visitor;
647 impl<'de> serde::de::Visitor<'de> for Visitor {
648 type Value = TextDocumentSaveReason;
649 fn expecting(
650 &self,
651 formatter: &mut std::fmt::Formatter,
652 ) -> std::fmt::Result {
653 formatter.write_str("a number representing the enum")
654 }
655 fn visit_i64<E>(self, value: i64) -> Result<Self::Value, E>
656 where
657 E: serde::de::Error,
658 {
659 match value {
660 1i64 => Ok(TextDocumentSaveReason::Manual),
661 2i64 => Ok(TextDocumentSaveReason::AfterDelay),
662 3i64 => Ok(TextDocumentSaveReason::FocusOut),
663 _ => Err(E::custom(format!("unknown variant: {}", value))),
664 }
665 }
666 fn visit_u64<E>(self, value: u64) -> Result<Self::Value, E>
667 where
668 E: serde::de::Error,
669 {
670 self.visit_i64(value as i64)
671 }
672 }
673 deserializer.deserialize_i64(Visitor)
674 }
675}
676#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
678pub enum CompletionItemKind {
679 Text,
680 Method,
681 Function,
682 Constructor,
683 Field,
684 Variable,
685 Class,
686 Interface,
687 Module,
688 Property,
689 Unit,
690 Value,
691 Enum,
692 Keyword,
693 Snippet,
694 Color,
695 File,
696 Reference,
697 Folder,
698 EnumMember,
699 Constant,
700 Struct,
701 Event,
702 Operator,
703 TypeParameter,
704}
705impl serde::Serialize for CompletionItemKind {
706 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
707 where
708 S: serde::Serializer,
709 {
710 match self {
711 Self::Text => serializer.serialize_i64(1i64),
712 Self::Method => serializer.serialize_i64(2i64),
713 Self::Function => serializer.serialize_i64(3i64),
714 Self::Constructor => serializer.serialize_i64(4i64),
715 Self::Field => serializer.serialize_i64(5i64),
716 Self::Variable => serializer.serialize_i64(6i64),
717 Self::Class => serializer.serialize_i64(7i64),
718 Self::Interface => serializer.serialize_i64(8i64),
719 Self::Module => serializer.serialize_i64(9i64),
720 Self::Property => serializer.serialize_i64(10i64),
721 Self::Unit => serializer.serialize_i64(11i64),
722 Self::Value => serializer.serialize_i64(12i64),
723 Self::Enum => serializer.serialize_i64(13i64),
724 Self::Keyword => serializer.serialize_i64(14i64),
725 Self::Snippet => serializer.serialize_i64(15i64),
726 Self::Color => serializer.serialize_i64(16i64),
727 Self::File => serializer.serialize_i64(17i64),
728 Self::Reference => serializer.serialize_i64(18i64),
729 Self::Folder => serializer.serialize_i64(19i64),
730 Self::EnumMember => serializer.serialize_i64(20i64),
731 Self::Constant => serializer.serialize_i64(21i64),
732 Self::Struct => serializer.serialize_i64(22i64),
733 Self::Event => serializer.serialize_i64(23i64),
734 Self::Operator => serializer.serialize_i64(24i64),
735 Self::TypeParameter => serializer.serialize_i64(25i64),
736 }
737 }
738}
739impl<'de> serde::Deserialize<'de> for CompletionItemKind {
740 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
741 where
742 D: serde::Deserializer<'de>,
743 {
744 struct Visitor;
745 impl<'de> serde::de::Visitor<'de> for Visitor {
746 type Value = CompletionItemKind;
747 fn expecting(
748 &self,
749 formatter: &mut std::fmt::Formatter,
750 ) -> std::fmt::Result {
751 formatter.write_str("a number representing the enum")
752 }
753 fn visit_i64<E>(self, value: i64) -> Result<Self::Value, E>
754 where
755 E: serde::de::Error,
756 {
757 match value {
758 1i64 => Ok(CompletionItemKind::Text),
759 2i64 => Ok(CompletionItemKind::Method),
760 3i64 => Ok(CompletionItemKind::Function),
761 4i64 => Ok(CompletionItemKind::Constructor),
762 5i64 => Ok(CompletionItemKind::Field),
763 6i64 => Ok(CompletionItemKind::Variable),
764 7i64 => Ok(CompletionItemKind::Class),
765 8i64 => Ok(CompletionItemKind::Interface),
766 9i64 => Ok(CompletionItemKind::Module),
767 10i64 => Ok(CompletionItemKind::Property),
768 11i64 => Ok(CompletionItemKind::Unit),
769 12i64 => Ok(CompletionItemKind::Value),
770 13i64 => Ok(CompletionItemKind::Enum),
771 14i64 => Ok(CompletionItemKind::Keyword),
772 15i64 => Ok(CompletionItemKind::Snippet),
773 16i64 => Ok(CompletionItemKind::Color),
774 17i64 => Ok(CompletionItemKind::File),
775 18i64 => Ok(CompletionItemKind::Reference),
776 19i64 => Ok(CompletionItemKind::Folder),
777 20i64 => Ok(CompletionItemKind::EnumMember),
778 21i64 => Ok(CompletionItemKind::Constant),
779 22i64 => Ok(CompletionItemKind::Struct),
780 23i64 => Ok(CompletionItemKind::Event),
781 24i64 => Ok(CompletionItemKind::Operator),
782 25i64 => Ok(CompletionItemKind::TypeParameter),
783 _ => Err(E::custom(format!("unknown variant: {}", value))),
784 }
785 }
786 fn visit_u64<E>(self, value: u64) -> Result<Self::Value, E>
787 where
788 E: serde::de::Error,
789 {
790 self.visit_i64(value as i64)
791 }
792 }
793 deserializer.deserialize_i64(Visitor)
794 }
795}
796#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
801pub enum CompletionItemTag {
802 Deprecated,
804}
805impl serde::Serialize for CompletionItemTag {
806 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
807 where
808 S: serde::Serializer,
809 {
810 match self {
811 Self::Deprecated => serializer.serialize_i64(1i64),
812 }
813 }
814}
815impl<'de> serde::Deserialize<'de> for CompletionItemTag {
816 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
817 where
818 D: serde::Deserializer<'de>,
819 {
820 struct Visitor;
821 impl<'de> serde::de::Visitor<'de> for Visitor {
822 type Value = CompletionItemTag;
823 fn expecting(
824 &self,
825 formatter: &mut std::fmt::Formatter,
826 ) -> std::fmt::Result {
827 formatter.write_str("a number representing the enum")
828 }
829 fn visit_i64<E>(self, value: i64) -> Result<Self::Value, E>
830 where
831 E: serde::de::Error,
832 {
833 match value {
834 1i64 => Ok(CompletionItemTag::Deprecated),
835 _ => Err(E::custom(format!("unknown variant: {}", value))),
836 }
837 }
838 fn visit_u64<E>(self, value: u64) -> Result<Self::Value, E>
839 where
840 E: serde::de::Error,
841 {
842 self.visit_i64(value as i64)
843 }
844 }
845 deserializer.deserialize_i64(Visitor)
846 }
847}
848#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
851pub enum InsertTextFormat {
852 PlainText,
854 Snippet,
863}
864impl serde::Serialize for InsertTextFormat {
865 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
866 where
867 S: serde::Serializer,
868 {
869 match self {
870 Self::PlainText => serializer.serialize_i64(1i64),
871 Self::Snippet => serializer.serialize_i64(2i64),
872 }
873 }
874}
875impl<'de> serde::Deserialize<'de> for InsertTextFormat {
876 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
877 where
878 D: serde::Deserializer<'de>,
879 {
880 struct Visitor;
881 impl<'de> serde::de::Visitor<'de> for Visitor {
882 type Value = InsertTextFormat;
883 fn expecting(
884 &self,
885 formatter: &mut std::fmt::Formatter,
886 ) -> std::fmt::Result {
887 formatter.write_str("a number representing the enum")
888 }
889 fn visit_i64<E>(self, value: i64) -> Result<Self::Value, E>
890 where
891 E: serde::de::Error,
892 {
893 match value {
894 1i64 => Ok(InsertTextFormat::PlainText),
895 2i64 => Ok(InsertTextFormat::Snippet),
896 _ => Err(E::custom(format!("unknown variant: {}", value))),
897 }
898 }
899 fn visit_u64<E>(self, value: u64) -> Result<Self::Value, E>
900 where
901 E: serde::de::Error,
902 {
903 self.visit_i64(value as i64)
904 }
905 }
906 deserializer.deserialize_i64(Visitor)
907 }
908}
909#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
914pub enum InsertTextMode {
915 AsIs,
921 AdjustIndentation,
929}
930impl serde::Serialize for InsertTextMode {
931 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
932 where
933 S: serde::Serializer,
934 {
935 match self {
936 Self::AsIs => serializer.serialize_i64(1i64),
937 Self::AdjustIndentation => serializer.serialize_i64(2i64),
938 }
939 }
940}
941impl<'de> serde::Deserialize<'de> for InsertTextMode {
942 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
943 where
944 D: serde::Deserializer<'de>,
945 {
946 struct Visitor;
947 impl<'de> serde::de::Visitor<'de> for Visitor {
948 type Value = InsertTextMode;
949 fn expecting(
950 &self,
951 formatter: &mut std::fmt::Formatter,
952 ) -> std::fmt::Result {
953 formatter.write_str("a number representing the enum")
954 }
955 fn visit_i64<E>(self, value: i64) -> Result<Self::Value, E>
956 where
957 E: serde::de::Error,
958 {
959 match value {
960 1i64 => Ok(InsertTextMode::AsIs),
961 2i64 => Ok(InsertTextMode::AdjustIndentation),
962 _ => Err(E::custom(format!("unknown variant: {}", value))),
963 }
964 }
965 fn visit_u64<E>(self, value: u64) -> Result<Self::Value, E>
966 where
967 E: serde::de::Error,
968 {
969 self.visit_i64(value as i64)
970 }
971 }
972 deserializer.deserialize_i64(Visitor)
973 }
974}
975#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
977pub enum DocumentHighlightKind {
978 Text,
980 Read,
982 Write,
984}
985impl serde::Serialize for DocumentHighlightKind {
986 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
987 where
988 S: serde::Serializer,
989 {
990 match self {
991 Self::Text => serializer.serialize_i64(1i64),
992 Self::Read => serializer.serialize_i64(2i64),
993 Self::Write => serializer.serialize_i64(3i64),
994 }
995 }
996}
997impl<'de> serde::Deserialize<'de> for DocumentHighlightKind {
998 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
999 where
1000 D: serde::Deserializer<'de>,
1001 {
1002 struct Visitor;
1003 impl<'de> serde::de::Visitor<'de> for Visitor {
1004 type Value = DocumentHighlightKind;
1005 fn expecting(
1006 &self,
1007 formatter: &mut std::fmt::Formatter,
1008 ) -> std::fmt::Result {
1009 formatter.write_str("a number representing the enum")
1010 }
1011 fn visit_i64<E>(self, value: i64) -> Result<Self::Value, E>
1012 where
1013 E: serde::de::Error,
1014 {
1015 match value {
1016 1i64 => Ok(DocumentHighlightKind::Text),
1017 2i64 => Ok(DocumentHighlightKind::Read),
1018 3i64 => Ok(DocumentHighlightKind::Write),
1019 _ => Err(E::custom(format!("unknown variant: {}", value))),
1020 }
1021 }
1022 fn visit_u64<E>(self, value: u64) -> Result<Self::Value, E>
1023 where
1024 E: serde::de::Error,
1025 {
1026 self.visit_i64(value as i64)
1027 }
1028 }
1029 deserializer.deserialize_i64(Visitor)
1030 }
1031}
1032#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
1034#[serde(transparent)]
1035pub struct CodeActionKind(pub String);
1036impl CodeActionKind {
1037 pub const EMPTY: &'static str = "";
1038 pub const QUICK_FIX: &'static str = "quickfix";
1039 pub const REFACTOR: &'static str = "refactor";
1040 pub const REFACTOR_EXTRACT: &'static str = "refactor.extract";
1041 pub const REFACTOR_INLINE: &'static str = "refactor.inline";
1042 pub const REFACTOR_MOVE: &'static str = "refactor.move";
1043 pub const REFACTOR_REWRITE: &'static str = "refactor.rewrite";
1044 pub const SOURCE: &'static str = "source";
1045 pub const SOURCE_ORGANIZE_IMPORTS: &'static str = "source.organizeImports";
1046 pub const SOURCE_FIX_ALL: &'static str = "source.fixAll";
1047 pub const NOTEBOOK: &'static str = "notebook";
1048}
1049#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1053pub enum CodeActionTag {
1054 LlmGenerated,
1056}
1057impl serde::Serialize for CodeActionTag {
1058 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1059 where
1060 S: serde::Serializer,
1061 {
1062 match self {
1063 Self::LlmGenerated => serializer.serialize_i64(1i64),
1064 }
1065 }
1066}
1067impl<'de> serde::Deserialize<'de> for CodeActionTag {
1068 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
1069 where
1070 D: serde::Deserializer<'de>,
1071 {
1072 struct Visitor;
1073 impl<'de> serde::de::Visitor<'de> for Visitor {
1074 type Value = CodeActionTag;
1075 fn expecting(
1076 &self,
1077 formatter: &mut std::fmt::Formatter,
1078 ) -> std::fmt::Result {
1079 formatter.write_str("a number representing the enum")
1080 }
1081 fn visit_i64<E>(self, value: i64) -> Result<Self::Value, E>
1082 where
1083 E: serde::de::Error,
1084 {
1085 match value {
1086 1i64 => Ok(CodeActionTag::LlmGenerated),
1087 _ => Err(E::custom(format!("unknown variant: {}", value))),
1088 }
1089 }
1090 fn visit_u64<E>(self, value: u64) -> Result<Self::Value, E>
1091 where
1092 E: serde::de::Error,
1093 {
1094 self.visit_i64(value as i64)
1095 }
1096 }
1097 deserializer.deserialize_i64(Visitor)
1098 }
1099}
1100#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
1101pub enum TraceValue {
1102 #[serde(rename = "off")]
1104 Off,
1105 #[serde(rename = "messages")]
1107 Messages,
1108 #[serde(rename = "verbose")]
1110 Verbose,
1111}
1112#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
1118pub enum MarkupKind {
1119 #[serde(rename = "plaintext")]
1121 PlainText,
1122 #[serde(rename = "markdown")]
1124 Markdown,
1125}
1126#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
1129#[serde(transparent)]
1130pub struct LanguageKind(pub String);
1131impl LanguageKind {
1132 pub const ABAP: &'static str = "abap";
1133 pub const WINDOWS_BAT: &'static str = "bat";
1134 pub const BIB_TE_X: &'static str = "bibtex";
1135 pub const CLOJURE: &'static str = "clojure";
1136 pub const COFFEESCRIPT: &'static str = "coffeescript";
1137 pub const C: &'static str = "c";
1138 pub const CPP: &'static str = "cpp";
1139 pub const C_SHARP: &'static str = "csharp";
1140 pub const CSS: &'static str = "css";
1141 pub const D: &'static str = "d";
1142 pub const DELPHI: &'static str = "pascal";
1143 pub const DIFF: &'static str = "diff";
1144 pub const DART: &'static str = "dart";
1145 pub const DOCKERFILE: &'static str = "dockerfile";
1146 pub const ELIXIR: &'static str = "elixir";
1147 pub const ERLANG: &'static str = "erlang";
1148 pub const F_SHARP: &'static str = "fsharp";
1149 pub const GIT_COMMIT: &'static str = "git-commit";
1150 pub const GIT_REBASE: &'static str = "git-rebase";
1151 pub const GO: &'static str = "go";
1152 pub const GROOVY: &'static str = "groovy";
1153 pub const HANDLEBARS: &'static str = "handlebars";
1154 pub const HASKELL: &'static str = "haskell";
1155 pub const HTML: &'static str = "html";
1156 pub const INI: &'static str = "ini";
1157 pub const JAVA: &'static str = "java";
1158 pub const JAVA_SCRIPT: &'static str = "javascript";
1159 pub const JAVA_SCRIPT_REACT: &'static str = "javascriptreact";
1160 pub const JSON: &'static str = "json";
1161 pub const LA_TE_X: &'static str = "latex";
1162 pub const LESS: &'static str = "less";
1163 pub const LUA: &'static str = "lua";
1164 pub const MAKEFILE: &'static str = "makefile";
1165 pub const MARKDOWN: &'static str = "markdown";
1166 pub const OBJECTIVE_C: &'static str = "objective-c";
1167 pub const OBJECTIVE_CPP: &'static str = "objective-cpp";
1168 pub const PASCAL: &'static str = "pascal";
1169 pub const PERL: &'static str = "perl";
1170 pub const PERL6: &'static str = "perl6";
1171 pub const PHP: &'static str = "php";
1172 pub const PLAINTEXT: &'static str = "plaintext";
1173 pub const POWERSHELL: &'static str = "powershell";
1174 pub const PUG: &'static str = "jade";
1175 pub const PYTHON: &'static str = "python";
1176 pub const R: &'static str = "r";
1177 pub const RAZOR: &'static str = "razor";
1178 pub const RUBY: &'static str = "ruby";
1179 pub const RUST: &'static str = "rust";
1180 pub const SCSS: &'static str = "scss";
1181 pub const SASS: &'static str = "sass";
1182 pub const SCALA: &'static str = "scala";
1183 pub const SHADER_LAB: &'static str = "shaderlab";
1184 pub const SHELL_SCRIPT: &'static str = "shellscript";
1185 pub const SQL: &'static str = "sql";
1186 pub const SWIFT: &'static str = "swift";
1187 pub const TYPE_SCRIPT: &'static str = "typescript";
1188 pub const TYPE_SCRIPT_REACT: &'static str = "typescriptreact";
1189 pub const TE_X: &'static str = "tex";
1190 pub const VISUAL_BASIC: &'static str = "vb";
1191 pub const XML: &'static str = "xml";
1192 pub const XSL: &'static str = "xsl";
1193 pub const YAML: &'static str = "yaml";
1194}
1195#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1199pub enum InlineCompletionTriggerKind {
1200 Invoked,
1202 Automatic,
1204}
1205impl serde::Serialize for InlineCompletionTriggerKind {
1206 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1207 where
1208 S: serde::Serializer,
1209 {
1210 match self {
1211 Self::Invoked => serializer.serialize_i64(1i64),
1212 Self::Automatic => serializer.serialize_i64(2i64),
1213 }
1214 }
1215}
1216impl<'de> serde::Deserialize<'de> for InlineCompletionTriggerKind {
1217 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
1218 where
1219 D: serde::Deserializer<'de>,
1220 {
1221 struct Visitor;
1222 impl<'de> serde::de::Visitor<'de> for Visitor {
1223 type Value = InlineCompletionTriggerKind;
1224 fn expecting(
1225 &self,
1226 formatter: &mut std::fmt::Formatter,
1227 ) -> std::fmt::Result {
1228 formatter.write_str("a number representing the enum")
1229 }
1230 fn visit_i64<E>(self, value: i64) -> Result<Self::Value, E>
1231 where
1232 E: serde::de::Error,
1233 {
1234 match value {
1235 1i64 => Ok(InlineCompletionTriggerKind::Invoked),
1236 2i64 => Ok(InlineCompletionTriggerKind::Automatic),
1237 _ => Err(E::custom(format!("unknown variant: {}", value))),
1238 }
1239 }
1240 fn visit_u64<E>(self, value: u64) -> Result<Self::Value, E>
1241 where
1242 E: serde::de::Error,
1243 {
1244 self.visit_i64(value as i64)
1245 }
1246 }
1247 deserializer.deserialize_i64(Visitor)
1248 }
1249}
1250#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
1254#[serde(transparent)]
1255pub struct PositionEncodingKind(pub String);
1256impl PositionEncodingKind {
1257 pub const UTF8: &'static str = "utf-8";
1258 pub const UTF16: &'static str = "utf-16";
1259 pub const UTF32: &'static str = "utf-32";
1260}
1261#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1263pub enum FileChangeType {
1264 Created,
1266 Changed,
1268 Deleted,
1270}
1271impl serde::Serialize for FileChangeType {
1272 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1273 where
1274 S: serde::Serializer,
1275 {
1276 match self {
1277 Self::Created => serializer.serialize_i64(1i64),
1278 Self::Changed => serializer.serialize_i64(2i64),
1279 Self::Deleted => serializer.serialize_i64(3i64),
1280 }
1281 }
1282}
1283impl<'de> serde::Deserialize<'de> for FileChangeType {
1284 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
1285 where
1286 D: serde::Deserializer<'de>,
1287 {
1288 struct Visitor;
1289 impl<'de> serde::de::Visitor<'de> for Visitor {
1290 type Value = FileChangeType;
1291 fn expecting(
1292 &self,
1293 formatter: &mut std::fmt::Formatter,
1294 ) -> std::fmt::Result {
1295 formatter.write_str("a number representing the enum")
1296 }
1297 fn visit_i64<E>(self, value: i64) -> Result<Self::Value, E>
1298 where
1299 E: serde::de::Error,
1300 {
1301 match value {
1302 1i64 => Ok(FileChangeType::Created),
1303 2i64 => Ok(FileChangeType::Changed),
1304 3i64 => Ok(FileChangeType::Deleted),
1305 _ => Err(E::custom(format!("unknown variant: {}", value))),
1306 }
1307 }
1308 fn visit_u64<E>(self, value: u64) -> Result<Self::Value, E>
1309 where
1310 E: serde::de::Error,
1311 {
1312 self.visit_i64(value as i64)
1313 }
1314 }
1315 deserializer.deserialize_i64(Visitor)
1316 }
1317}
1318#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
1319#[serde(transparent)]
1320pub struct WatchKind(pub u32);
1321impl WatchKind {
1322 pub const CREATE: u32 = 1;
1323 pub const CHANGE: u32 = 2;
1324 pub const DELETE: u32 = 4;
1325}
1326#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1328pub enum DiagnosticSeverity {
1329 Error,
1331 Warning,
1333 Information,
1335 Hint,
1337}
1338impl serde::Serialize for DiagnosticSeverity {
1339 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1340 where
1341 S: serde::Serializer,
1342 {
1343 match self {
1344 Self::Error => serializer.serialize_i64(1i64),
1345 Self::Warning => serializer.serialize_i64(2i64),
1346 Self::Information => serializer.serialize_i64(3i64),
1347 Self::Hint => serializer.serialize_i64(4i64),
1348 }
1349 }
1350}
1351impl<'de> serde::Deserialize<'de> for DiagnosticSeverity {
1352 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
1353 where
1354 D: serde::Deserializer<'de>,
1355 {
1356 struct Visitor;
1357 impl<'de> serde::de::Visitor<'de> for Visitor {
1358 type Value = DiagnosticSeverity;
1359 fn expecting(
1360 &self,
1361 formatter: &mut std::fmt::Formatter,
1362 ) -> std::fmt::Result {
1363 formatter.write_str("a number representing the enum")
1364 }
1365 fn visit_i64<E>(self, value: i64) -> Result<Self::Value, E>
1366 where
1367 E: serde::de::Error,
1368 {
1369 match value {
1370 1i64 => Ok(DiagnosticSeverity::Error),
1371 2i64 => Ok(DiagnosticSeverity::Warning),
1372 3i64 => Ok(DiagnosticSeverity::Information),
1373 4i64 => Ok(DiagnosticSeverity::Hint),
1374 _ => Err(E::custom(format!("unknown variant: {}", value))),
1375 }
1376 }
1377 fn visit_u64<E>(self, value: u64) -> Result<Self::Value, E>
1378 where
1379 E: serde::de::Error,
1380 {
1381 self.visit_i64(value as i64)
1382 }
1383 }
1384 deserializer.deserialize_i64(Visitor)
1385 }
1386}
1387#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1391pub enum DiagnosticTag {
1392 Unnecessary,
1397 Deprecated,
1401}
1402impl serde::Serialize for DiagnosticTag {
1403 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1404 where
1405 S: serde::Serializer,
1406 {
1407 match self {
1408 Self::Unnecessary => serializer.serialize_i64(1i64),
1409 Self::Deprecated => serializer.serialize_i64(2i64),
1410 }
1411 }
1412}
1413impl<'de> serde::Deserialize<'de> for DiagnosticTag {
1414 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
1415 where
1416 D: serde::Deserializer<'de>,
1417 {
1418 struct Visitor;
1419 impl<'de> serde::de::Visitor<'de> for Visitor {
1420 type Value = DiagnosticTag;
1421 fn expecting(
1422 &self,
1423 formatter: &mut std::fmt::Formatter,
1424 ) -> std::fmt::Result {
1425 formatter.write_str("a number representing the enum")
1426 }
1427 fn visit_i64<E>(self, value: i64) -> Result<Self::Value, E>
1428 where
1429 E: serde::de::Error,
1430 {
1431 match value {
1432 1i64 => Ok(DiagnosticTag::Unnecessary),
1433 2i64 => Ok(DiagnosticTag::Deprecated),
1434 _ => Err(E::custom(format!("unknown variant: {}", value))),
1435 }
1436 }
1437 fn visit_u64<E>(self, value: u64) -> Result<Self::Value, E>
1438 where
1439 E: serde::de::Error,
1440 {
1441 self.visit_i64(value as i64)
1442 }
1443 }
1444 deserializer.deserialize_i64(Visitor)
1445 }
1446}
1447#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1449pub enum CompletionTriggerKind {
1450 Invoked,
1453 TriggerCharacter,
1456 TriggerForIncompleteCompletions,
1458}
1459impl serde::Serialize for CompletionTriggerKind {
1460 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1461 where
1462 S: serde::Serializer,
1463 {
1464 match self {
1465 Self::Invoked => serializer.serialize_i64(1i64),
1466 Self::TriggerCharacter => serializer.serialize_i64(2i64),
1467 Self::TriggerForIncompleteCompletions => serializer.serialize_i64(3i64),
1468 }
1469 }
1470}
1471impl<'de> serde::Deserialize<'de> for CompletionTriggerKind {
1472 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
1473 where
1474 D: serde::Deserializer<'de>,
1475 {
1476 struct Visitor;
1477 impl<'de> serde::de::Visitor<'de> for Visitor {
1478 type Value = CompletionTriggerKind;
1479 fn expecting(
1480 &self,
1481 formatter: &mut std::fmt::Formatter,
1482 ) -> std::fmt::Result {
1483 formatter.write_str("a number representing the enum")
1484 }
1485 fn visit_i64<E>(self, value: i64) -> Result<Self::Value, E>
1486 where
1487 E: serde::de::Error,
1488 {
1489 match value {
1490 1i64 => Ok(CompletionTriggerKind::Invoked),
1491 2i64 => Ok(CompletionTriggerKind::TriggerCharacter),
1492 3i64 => Ok(CompletionTriggerKind::TriggerForIncompleteCompletions),
1493 _ => Err(E::custom(format!("unknown variant: {}", value))),
1494 }
1495 }
1496 fn visit_u64<E>(self, value: u64) -> Result<Self::Value, E>
1497 where
1498 E: serde::de::Error,
1499 {
1500 self.visit_i64(value as i64)
1501 }
1502 }
1503 deserializer.deserialize_i64(Visitor)
1504 }
1505}
1506#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1511pub enum ApplyKind {
1512 Replace,
1515 Merge,
1520}
1521impl serde::Serialize for ApplyKind {
1522 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1523 where
1524 S: serde::Serializer,
1525 {
1526 match self {
1527 Self::Replace => serializer.serialize_i64(1i64),
1528 Self::Merge => serializer.serialize_i64(2i64),
1529 }
1530 }
1531}
1532impl<'de> serde::Deserialize<'de> for ApplyKind {
1533 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
1534 where
1535 D: serde::Deserializer<'de>,
1536 {
1537 struct Visitor;
1538 impl<'de> serde::de::Visitor<'de> for Visitor {
1539 type Value = ApplyKind;
1540 fn expecting(
1541 &self,
1542 formatter: &mut std::fmt::Formatter,
1543 ) -> std::fmt::Result {
1544 formatter.write_str("a number representing the enum")
1545 }
1546 fn visit_i64<E>(self, value: i64) -> Result<Self::Value, E>
1547 where
1548 E: serde::de::Error,
1549 {
1550 match value {
1551 1i64 => Ok(ApplyKind::Replace),
1552 2i64 => Ok(ApplyKind::Merge),
1553 _ => Err(E::custom(format!("unknown variant: {}", value))),
1554 }
1555 }
1556 fn visit_u64<E>(self, value: u64) -> Result<Self::Value, E>
1557 where
1558 E: serde::de::Error,
1559 {
1560 self.visit_i64(value as i64)
1561 }
1562 }
1563 deserializer.deserialize_i64(Visitor)
1564 }
1565}
1566#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1570pub enum SignatureHelpTriggerKind {
1571 Invoked,
1573 TriggerCharacter,
1575 ContentChange,
1577}
1578impl serde::Serialize for SignatureHelpTriggerKind {
1579 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1580 where
1581 S: serde::Serializer,
1582 {
1583 match self {
1584 Self::Invoked => serializer.serialize_i64(1i64),
1585 Self::TriggerCharacter => serializer.serialize_i64(2i64),
1586 Self::ContentChange => serializer.serialize_i64(3i64),
1587 }
1588 }
1589}
1590impl<'de> serde::Deserialize<'de> for SignatureHelpTriggerKind {
1591 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
1592 where
1593 D: serde::Deserializer<'de>,
1594 {
1595 struct Visitor;
1596 impl<'de> serde::de::Visitor<'de> for Visitor {
1597 type Value = SignatureHelpTriggerKind;
1598 fn expecting(
1599 &self,
1600 formatter: &mut std::fmt::Formatter,
1601 ) -> std::fmt::Result {
1602 formatter.write_str("a number representing the enum")
1603 }
1604 fn visit_i64<E>(self, value: i64) -> Result<Self::Value, E>
1605 where
1606 E: serde::de::Error,
1607 {
1608 match value {
1609 1i64 => Ok(SignatureHelpTriggerKind::Invoked),
1610 2i64 => Ok(SignatureHelpTriggerKind::TriggerCharacter),
1611 3i64 => Ok(SignatureHelpTriggerKind::ContentChange),
1612 _ => Err(E::custom(format!("unknown variant: {}", value))),
1613 }
1614 }
1615 fn visit_u64<E>(self, value: u64) -> Result<Self::Value, E>
1616 where
1617 E: serde::de::Error,
1618 {
1619 self.visit_i64(value as i64)
1620 }
1621 }
1622 deserializer.deserialize_i64(Visitor)
1623 }
1624}
1625#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1629pub enum CodeActionTriggerKind {
1630 Invoked,
1632 Automatic,
1637}
1638impl serde::Serialize for CodeActionTriggerKind {
1639 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1640 where
1641 S: serde::Serializer,
1642 {
1643 match self {
1644 Self::Invoked => serializer.serialize_i64(1i64),
1645 Self::Automatic => serializer.serialize_i64(2i64),
1646 }
1647 }
1648}
1649impl<'de> serde::Deserialize<'de> for CodeActionTriggerKind {
1650 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
1651 where
1652 D: serde::Deserializer<'de>,
1653 {
1654 struct Visitor;
1655 impl<'de> serde::de::Visitor<'de> for Visitor {
1656 type Value = CodeActionTriggerKind;
1657 fn expecting(
1658 &self,
1659 formatter: &mut std::fmt::Formatter,
1660 ) -> std::fmt::Result {
1661 formatter.write_str("a number representing the enum")
1662 }
1663 fn visit_i64<E>(self, value: i64) -> Result<Self::Value, E>
1664 where
1665 E: serde::de::Error,
1666 {
1667 match value {
1668 1i64 => Ok(CodeActionTriggerKind::Invoked),
1669 2i64 => Ok(CodeActionTriggerKind::Automatic),
1670 _ => Err(E::custom(format!("unknown variant: {}", value))),
1671 }
1672 }
1673 fn visit_u64<E>(self, value: u64) -> Result<Self::Value, E>
1674 where
1675 E: serde::de::Error,
1676 {
1677 self.visit_i64(value as i64)
1678 }
1679 }
1680 deserializer.deserialize_i64(Visitor)
1681 }
1682}
1683#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
1688pub enum FileOperationPatternKind {
1689 #[serde(rename = "file")]
1691 File,
1692 #[serde(rename = "folder")]
1694 Folder,
1695}
1696#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1700pub enum NotebookCellKind {
1701 Markup,
1703 Code,
1705}
1706impl serde::Serialize for NotebookCellKind {
1707 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1708 where
1709 S: serde::Serializer,
1710 {
1711 match self {
1712 Self::Markup => serializer.serialize_i64(1i64),
1713 Self::Code => serializer.serialize_i64(2i64),
1714 }
1715 }
1716}
1717impl<'de> serde::Deserialize<'de> for NotebookCellKind {
1718 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
1719 where
1720 D: serde::Deserializer<'de>,
1721 {
1722 struct Visitor;
1723 impl<'de> serde::de::Visitor<'de> for Visitor {
1724 type Value = NotebookCellKind;
1725 fn expecting(
1726 &self,
1727 formatter: &mut std::fmt::Formatter,
1728 ) -> std::fmt::Result {
1729 formatter.write_str("a number representing the enum")
1730 }
1731 fn visit_i64<E>(self, value: i64) -> Result<Self::Value, E>
1732 where
1733 E: serde::de::Error,
1734 {
1735 match value {
1736 1i64 => Ok(NotebookCellKind::Markup),
1737 2i64 => Ok(NotebookCellKind::Code),
1738 _ => Err(E::custom(format!("unknown variant: {}", value))),
1739 }
1740 }
1741 fn visit_u64<E>(self, value: u64) -> Result<Self::Value, E>
1742 where
1743 E: serde::de::Error,
1744 {
1745 self.visit_i64(value as i64)
1746 }
1747 }
1748 deserializer.deserialize_i64(Visitor)
1749 }
1750}
1751#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
1752pub enum ResourceOperationKind {
1753 #[serde(rename = "create")]
1755 Create,
1756 #[serde(rename = "rename")]
1758 Rename,
1759 #[serde(rename = "delete")]
1761 Delete,
1762}
1763#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
1764pub enum FailureHandlingKind {
1765 #[serde(rename = "abort")]
1768 Abort,
1769 #[serde(rename = "transactional")]
1772 Transactional,
1773 #[serde(rename = "textOnlyTransactional")]
1777 TextOnlyTransactional,
1778 #[serde(rename = "undo")]
1781 Undo,
1782}
1783#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1784pub enum PrepareSupportDefaultBehavior {
1785 Identifier,
1788}
1789impl serde::Serialize for PrepareSupportDefaultBehavior {
1790 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1791 where
1792 S: serde::Serializer,
1793 {
1794 match self {
1795 Self::Identifier => serializer.serialize_i64(1i64),
1796 }
1797 }
1798}
1799impl<'de> serde::Deserialize<'de> for PrepareSupportDefaultBehavior {
1800 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
1801 where
1802 D: serde::Deserializer<'de>,
1803 {
1804 struct Visitor;
1805 impl<'de> serde::de::Visitor<'de> for Visitor {
1806 type Value = PrepareSupportDefaultBehavior;
1807 fn expecting(
1808 &self,
1809 formatter: &mut std::fmt::Formatter,
1810 ) -> std::fmt::Result {
1811 formatter.write_str("a number representing the enum")
1812 }
1813 fn visit_i64<E>(self, value: i64) -> Result<Self::Value, E>
1814 where
1815 E: serde::de::Error,
1816 {
1817 match value {
1818 1i64 => Ok(PrepareSupportDefaultBehavior::Identifier),
1819 _ => Err(E::custom(format!("unknown variant: {}", value))),
1820 }
1821 }
1822 fn visit_u64<E>(self, value: u64) -> Result<Self::Value, E>
1823 where
1824 E: serde::de::Error,
1825 {
1826 self.visit_i64(value as i64)
1827 }
1828 }
1829 deserializer.deserialize_i64(Visitor)
1830 }
1831}
1832#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
1833pub enum TokenFormat {
1834 #[serde(rename = "relative")]
1835 Relative,
1836}
1837#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1838#[serde(rename_all = "camelCase")]
1839pub struct ImplementationParams {
1840 #[serde(flatten)]
1841 pub text_document_position_params_base: TextDocumentPositionParams,
1842 #[serde(flatten)]
1843 pub work_done_progress_params_mixin: WorkDoneProgressParams,
1844 #[serde(flatten)]
1845 pub partial_result_params_mixin: PartialResultParams,
1846}
1847#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1850#[serde(rename_all = "camelCase")]
1851pub struct Location {
1852 pub uri: DocumentUri,
1853 pub range: Range,
1854}
1855#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1856#[serde(rename_all = "camelCase")]
1857pub struct ImplementationRegistrationOptions {
1858 #[serde(flatten)]
1859 pub text_document_registration_options_base: TextDocumentRegistrationOptions,
1860 #[serde(flatten)]
1861 pub implementation_options_base: ImplementationOptions,
1862 #[serde(flatten)]
1863 pub static_registration_options_mixin: StaticRegistrationOptions,
1864}
1865#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1866#[serde(rename_all = "camelCase")]
1867pub struct TypeDefinitionParams {
1868 #[serde(flatten)]
1869 pub text_document_position_params_base: TextDocumentPositionParams,
1870 #[serde(flatten)]
1871 pub work_done_progress_params_mixin: WorkDoneProgressParams,
1872 #[serde(flatten)]
1873 pub partial_result_params_mixin: PartialResultParams,
1874}
1875#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1876#[serde(rename_all = "camelCase")]
1877pub struct TypeDefinitionRegistrationOptions {
1878 #[serde(flatten)]
1879 pub text_document_registration_options_base: TextDocumentRegistrationOptions,
1880 #[serde(flatten)]
1881 pub type_definition_options_base: TypeDefinitionOptions,
1882 #[serde(flatten)]
1883 pub static_registration_options_mixin: StaticRegistrationOptions,
1884}
1885#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1887#[serde(rename_all = "camelCase")]
1888pub struct WorkspaceFolder {
1889 pub uri: URI,
1891 pub name: String,
1894}
1895#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1897#[serde(rename_all = "camelCase")]
1898pub struct DidChangeWorkspaceFoldersParams {
1899 pub event: WorkspaceFoldersChangeEvent,
1901}
1902#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1904#[serde(rename_all = "camelCase")]
1905pub struct ConfigurationParams {
1906 pub items: Vec<ConfigurationItem>,
1907}
1908#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1910#[serde(rename_all = "camelCase")]
1911pub struct DocumentColorParams {
1912 #[serde(flatten)]
1913 pub work_done_progress_params_mixin: WorkDoneProgressParams,
1914 #[serde(flatten)]
1915 pub partial_result_params_mixin: PartialResultParams,
1916 #[serde(rename = "textDocument")]
1918 pub text_document: TextDocumentIdentifier,
1919}
1920#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1922#[serde(rename_all = "camelCase")]
1923pub struct ColorInformation {
1924 pub range: Range,
1926 pub color: Color,
1928}
1929#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1930#[serde(rename_all = "camelCase")]
1931pub struct DocumentColorRegistrationOptions {
1932 #[serde(flatten)]
1933 pub text_document_registration_options_base: TextDocumentRegistrationOptions,
1934 #[serde(flatten)]
1935 pub document_color_options_base: DocumentColorOptions,
1936 #[serde(flatten)]
1937 pub static_registration_options_mixin: StaticRegistrationOptions,
1938}
1939#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1941#[serde(rename_all = "camelCase")]
1942pub struct ColorPresentationParams {
1943 #[serde(flatten)]
1944 pub work_done_progress_params_mixin: WorkDoneProgressParams,
1945 #[serde(flatten)]
1946 pub partial_result_params_mixin: PartialResultParams,
1947 #[serde(rename = "textDocument")]
1949 pub text_document: TextDocumentIdentifier,
1950 pub color: Color,
1952 pub range: Range,
1954}
1955#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1956#[serde(rename_all = "camelCase")]
1957pub struct ColorPresentation {
1958 pub label: String,
1962 #[serde(rename = "textEdit")]
1966 #[serde(default)]
1967 pub text_edit: Option<TextEdit>,
1968 #[serde(rename = "additionalTextEdits")]
1971 #[serde(default)]
1972 pub additional_text_edits: Option<Vec<TextEdit>>,
1973}
1974#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1975#[serde(rename_all = "camelCase")]
1976pub struct WorkDoneProgressOptions {
1977 #[serde(rename = "workDoneProgress")]
1978 #[serde(default)]
1979 pub work_done_progress: Option<bool>,
1980}
1981#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1983#[serde(rename_all = "camelCase")]
1984pub struct TextDocumentRegistrationOptions {
1985 #[serde(rename = "documentSelector")]
1988 pub document_selector: Option<DocumentSelector>,
1989}
1990#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1992#[serde(rename_all = "camelCase")]
1993pub struct FoldingRangeParams {
1994 #[serde(flatten)]
1995 pub work_done_progress_params_mixin: WorkDoneProgressParams,
1996 #[serde(flatten)]
1997 pub partial_result_params_mixin: PartialResultParams,
1998 #[serde(rename = "textDocument")]
2000 pub text_document: TextDocumentIdentifier,
2001}
2002#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2005#[serde(rename_all = "camelCase")]
2006pub struct FoldingRange {
2007 #[serde(rename = "startLine")]
2010 pub start_line: Uinteger,
2011 #[serde(rename = "startCharacter")]
2013 #[serde(default)]
2014 pub start_character: Option<Uinteger>,
2015 #[serde(rename = "endLine")]
2018 pub end_line: Uinteger,
2019 #[serde(rename = "endCharacter")]
2021 #[serde(default)]
2022 pub end_character: Option<Uinteger>,
2023 #[serde(default)]
2027 pub kind: Option<FoldingRangeKind>,
2028 #[serde(rename = "collapsedText")]
2034 #[serde(default)]
2035 pub collapsed_text: Option<String>,
2036}
2037#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2038#[serde(rename_all = "camelCase")]
2039pub struct FoldingRangeRegistrationOptions {
2040 #[serde(flatten)]
2041 pub text_document_registration_options_base: TextDocumentRegistrationOptions,
2042 #[serde(flatten)]
2043 pub folding_range_options_base: FoldingRangeOptions,
2044 #[serde(flatten)]
2045 pub static_registration_options_mixin: StaticRegistrationOptions,
2046}
2047#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2048#[serde(rename_all = "camelCase")]
2049pub struct DeclarationParams {
2050 #[serde(flatten)]
2051 pub text_document_position_params_base: TextDocumentPositionParams,
2052 #[serde(flatten)]
2053 pub work_done_progress_params_mixin: WorkDoneProgressParams,
2054 #[serde(flatten)]
2055 pub partial_result_params_mixin: PartialResultParams,
2056}
2057#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2058#[serde(rename_all = "camelCase")]
2059pub struct DeclarationRegistrationOptions {
2060 #[serde(flatten)]
2061 pub declaration_options_base: DeclarationOptions,
2062 #[serde(flatten)]
2063 pub text_document_registration_options_base: TextDocumentRegistrationOptions,
2064 #[serde(flatten)]
2065 pub static_registration_options_mixin: StaticRegistrationOptions,
2066}
2067#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2069#[serde(rename_all = "camelCase")]
2070pub struct SelectionRangeParams {
2071 #[serde(flatten)]
2072 pub work_done_progress_params_mixin: WorkDoneProgressParams,
2073 #[serde(flatten)]
2074 pub partial_result_params_mixin: PartialResultParams,
2075 #[serde(rename = "textDocument")]
2077 pub text_document: TextDocumentIdentifier,
2078 pub positions: Vec<Position>,
2080}
2081#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2084#[serde(rename_all = "camelCase")]
2085pub struct SelectionRange {
2086 pub range: Range,
2088 #[serde(default)]
2090 pub parent: Option<Box<SelectionRange>>,
2091}
2092#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2093#[serde(rename_all = "camelCase")]
2094pub struct SelectionRangeRegistrationOptions {
2095 #[serde(flatten)]
2096 pub selection_range_options_base: SelectionRangeOptions,
2097 #[serde(flatten)]
2098 pub text_document_registration_options_base: TextDocumentRegistrationOptions,
2099 #[serde(flatten)]
2100 pub static_registration_options_mixin: StaticRegistrationOptions,
2101}
2102#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2103#[serde(rename_all = "camelCase")]
2104pub struct WorkDoneProgressCreateParams {
2105 pub token: ProgressToken,
2107}
2108#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2109#[serde(rename_all = "camelCase")]
2110pub struct WorkDoneProgressCancelParams {
2111 pub token: ProgressToken,
2113}
2114#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2118#[serde(rename_all = "camelCase")]
2119pub struct CallHierarchyPrepareParams {
2120 #[serde(flatten)]
2121 pub text_document_position_params_base: TextDocumentPositionParams,
2122 #[serde(flatten)]
2123 pub work_done_progress_params_mixin: WorkDoneProgressParams,
2124}
2125#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2130#[serde(rename_all = "camelCase")]
2131pub struct CallHierarchyItem {
2132 pub name: String,
2134 pub kind: SymbolKind,
2136 #[serde(default)]
2138 pub tags: Option<Vec<SymbolTag>>,
2139 #[serde(default)]
2141 pub detail: Option<String>,
2142 pub uri: DocumentUri,
2144 pub range: Range,
2146 #[serde(rename = "selectionRange")]
2149 pub selection_range: Range,
2150 #[serde(default)]
2153 pub data: Option<LSPAny>,
2154}
2155#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2159#[serde(rename_all = "camelCase")]
2160pub struct CallHierarchyRegistrationOptions {
2161 #[serde(flatten)]
2162 pub text_document_registration_options_base: TextDocumentRegistrationOptions,
2163 #[serde(flatten)]
2164 pub call_hierarchy_options_base: CallHierarchyOptions,
2165 #[serde(flatten)]
2166 pub static_registration_options_mixin: StaticRegistrationOptions,
2167}
2168#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2172#[serde(rename_all = "camelCase")]
2173pub struct CallHierarchyIncomingCallsParams {
2174 #[serde(flatten)]
2175 pub work_done_progress_params_mixin: WorkDoneProgressParams,
2176 #[serde(flatten)]
2177 pub partial_result_params_mixin: PartialResultParams,
2178 pub item: CallHierarchyItem,
2179}
2180#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2184#[serde(rename_all = "camelCase")]
2185pub struct CallHierarchyIncomingCall {
2186 pub from: CallHierarchyItem,
2188 #[serde(rename = "fromRanges")]
2191 pub from_ranges: Vec<Range>,
2192}
2193#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2197#[serde(rename_all = "camelCase")]
2198pub struct CallHierarchyOutgoingCallsParams {
2199 #[serde(flatten)]
2200 pub work_done_progress_params_mixin: WorkDoneProgressParams,
2201 #[serde(flatten)]
2202 pub partial_result_params_mixin: PartialResultParams,
2203 pub item: CallHierarchyItem,
2204}
2205#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2209#[serde(rename_all = "camelCase")]
2210pub struct CallHierarchyOutgoingCall {
2211 pub to: CallHierarchyItem,
2213 #[serde(rename = "fromRanges")]
2217 pub from_ranges: Vec<Range>,
2218}
2219#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2221#[serde(rename_all = "camelCase")]
2222pub struct SemanticTokensParams {
2223 #[serde(flatten)]
2224 pub work_done_progress_params_mixin: WorkDoneProgressParams,
2225 #[serde(flatten)]
2226 pub partial_result_params_mixin: PartialResultParams,
2227 #[serde(rename = "textDocument")]
2229 pub text_document: TextDocumentIdentifier,
2230}
2231#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2233#[serde(rename_all = "camelCase")]
2234pub struct SemanticTokens {
2235 #[serde(rename = "resultId")]
2240 #[serde(default)]
2241 pub result_id: Option<String>,
2242 pub data: Vec<Uinteger>,
2244}
2245#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2247#[serde(rename_all = "camelCase")]
2248pub struct SemanticTokensPartialResult {
2249 pub data: Vec<Uinteger>,
2250}
2251#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2253#[serde(rename_all = "camelCase")]
2254pub struct SemanticTokensRegistrationOptions {
2255 #[serde(flatten)]
2256 pub text_document_registration_options_base: TextDocumentRegistrationOptions,
2257 #[serde(flatten)]
2258 pub semantic_tokens_options_base: SemanticTokensOptions,
2259 #[serde(flatten)]
2260 pub static_registration_options_mixin: StaticRegistrationOptions,
2261}
2262#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2264#[serde(rename_all = "camelCase")]
2265pub struct SemanticTokensDeltaParams {
2266 #[serde(flatten)]
2267 pub work_done_progress_params_mixin: WorkDoneProgressParams,
2268 #[serde(flatten)]
2269 pub partial_result_params_mixin: PartialResultParams,
2270 #[serde(rename = "textDocument")]
2272 pub text_document: TextDocumentIdentifier,
2273 #[serde(rename = "previousResultId")]
2276 pub previous_result_id: String,
2277}
2278#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2280#[serde(rename_all = "camelCase")]
2281pub struct SemanticTokensDelta {
2282 #[serde(rename = "resultId")]
2283 #[serde(default)]
2284 pub result_id: Option<String>,
2285 pub edits: Vec<SemanticTokensEdit>,
2287}
2288#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2290#[serde(rename_all = "camelCase")]
2291pub struct SemanticTokensDeltaPartialResult {
2292 pub edits: Vec<SemanticTokensEdit>,
2293}
2294#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2296#[serde(rename_all = "camelCase")]
2297pub struct SemanticTokensRangeParams {
2298 #[serde(flatten)]
2299 pub work_done_progress_params_mixin: WorkDoneProgressParams,
2300 #[serde(flatten)]
2301 pub partial_result_params_mixin: PartialResultParams,
2302 #[serde(rename = "textDocument")]
2304 pub text_document: TextDocumentIdentifier,
2305 pub range: Range,
2307}
2308#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2312#[serde(rename_all = "camelCase")]
2313pub struct ShowDocumentParams {
2314 pub uri: URI,
2316 #[serde(default)]
2320 pub external: Option<bool>,
2321 #[serde(rename = "takeFocus")]
2326 #[serde(default)]
2327 pub take_focus: Option<bool>,
2328 #[serde(default)]
2333 pub selection: Option<Range>,
2334}
2335#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2339#[serde(rename_all = "camelCase")]
2340pub struct ShowDocumentResult {
2341 pub success: bool,
2343}
2344#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2345#[serde(rename_all = "camelCase")]
2346pub struct LinkedEditingRangeParams {
2347 #[serde(flatten)]
2348 pub text_document_position_params_base: TextDocumentPositionParams,
2349 #[serde(flatten)]
2350 pub work_done_progress_params_mixin: WorkDoneProgressParams,
2351}
2352#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2356#[serde(rename_all = "camelCase")]
2357pub struct LinkedEditingRanges {
2358 pub ranges: Vec<Range>,
2361 #[serde(rename = "wordPattern")]
2365 #[serde(default)]
2366 pub word_pattern: Option<String>,
2367}
2368#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2369#[serde(rename_all = "camelCase")]
2370pub struct LinkedEditingRangeRegistrationOptions {
2371 #[serde(flatten)]
2372 pub text_document_registration_options_base: TextDocumentRegistrationOptions,
2373 #[serde(flatten)]
2374 pub linked_editing_range_options_base: LinkedEditingRangeOptions,
2375 #[serde(flatten)]
2376 pub static_registration_options_mixin: StaticRegistrationOptions,
2377}
2378#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2383#[serde(rename_all = "camelCase")]
2384pub struct CreateFilesParams {
2385 pub files: Vec<FileCreate>,
2387}
2388#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2401#[serde(rename_all = "camelCase")]
2402pub struct WorkspaceEdit {
2403 #[serde(default)]
2405 pub changes: Option<std::collections::BTreeMap<DocumentUri, Vec<TextEdit>>>,
2406 #[serde(rename = "documentChanges")]
2417 #[serde(default)]
2418 pub document_changes: Option<
2419 Vec<CreateFileOrDeleteFileOrRenameFileOrTextDocumentEdit>,
2420 >,
2421 #[serde(rename = "changeAnnotations")]
2428 #[serde(default)]
2429 pub change_annotations: Option<
2430 std::collections::BTreeMap<ChangeAnnotationIdentifier, ChangeAnnotation>,
2431 >,
2432}
2433#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2437#[serde(rename_all = "camelCase")]
2438pub struct FileOperationRegistrationOptions {
2439 pub filters: Vec<FileOperationFilter>,
2441}
2442#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2447#[serde(rename_all = "camelCase")]
2448pub struct RenameFilesParams {
2449 pub files: Vec<FileRename>,
2452}
2453#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2458#[serde(rename_all = "camelCase")]
2459pub struct DeleteFilesParams {
2460 pub files: Vec<FileDelete>,
2462}
2463#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2464#[serde(rename_all = "camelCase")]
2465pub struct MonikerParams {
2466 #[serde(flatten)]
2467 pub text_document_position_params_base: TextDocumentPositionParams,
2468 #[serde(flatten)]
2469 pub work_done_progress_params_mixin: WorkDoneProgressParams,
2470 #[serde(flatten)]
2471 pub partial_result_params_mixin: PartialResultParams,
2472}
2473#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2477#[serde(rename_all = "camelCase")]
2478pub struct Moniker {
2479 pub scheme: String,
2481 pub identifier: String,
2484 pub unique: UniquenessLevel,
2486 #[serde(default)]
2488 pub kind: Option<MonikerKind>,
2489}
2490#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2491#[serde(rename_all = "camelCase")]
2492pub struct MonikerRegistrationOptions {
2493 #[serde(flatten)]
2494 pub text_document_registration_options_base: TextDocumentRegistrationOptions,
2495 #[serde(flatten)]
2496 pub moniker_options_base: MonikerOptions,
2497}
2498#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2502#[serde(rename_all = "camelCase")]
2503pub struct TypeHierarchyPrepareParams {
2504 #[serde(flatten)]
2505 pub text_document_position_params_base: TextDocumentPositionParams,
2506 #[serde(flatten)]
2507 pub work_done_progress_params_mixin: WorkDoneProgressParams,
2508}
2509#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2511#[serde(rename_all = "camelCase")]
2512pub struct TypeHierarchyItem {
2513 pub name: String,
2515 pub kind: SymbolKind,
2517 #[serde(default)]
2519 pub tags: Option<Vec<SymbolTag>>,
2520 #[serde(default)]
2522 pub detail: Option<String>,
2523 pub uri: DocumentUri,
2525 pub range: Range,
2528 #[serde(rename = "selectionRange")]
2532 pub selection_range: Range,
2533 #[serde(default)]
2538 pub data: Option<LSPAny>,
2539}
2540#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2544#[serde(rename_all = "camelCase")]
2545pub struct TypeHierarchyRegistrationOptions {
2546 #[serde(flatten)]
2547 pub text_document_registration_options_base: TextDocumentRegistrationOptions,
2548 #[serde(flatten)]
2549 pub type_hierarchy_options_base: TypeHierarchyOptions,
2550 #[serde(flatten)]
2551 pub static_registration_options_mixin: StaticRegistrationOptions,
2552}
2553#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2557#[serde(rename_all = "camelCase")]
2558pub struct TypeHierarchySupertypesParams {
2559 #[serde(flatten)]
2560 pub work_done_progress_params_mixin: WorkDoneProgressParams,
2561 #[serde(flatten)]
2562 pub partial_result_params_mixin: PartialResultParams,
2563 pub item: TypeHierarchyItem,
2564}
2565#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2569#[serde(rename_all = "camelCase")]
2570pub struct TypeHierarchySubtypesParams {
2571 #[serde(flatten)]
2572 pub work_done_progress_params_mixin: WorkDoneProgressParams,
2573 #[serde(flatten)]
2574 pub partial_result_params_mixin: PartialResultParams,
2575 pub item: TypeHierarchyItem,
2576}
2577#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2581#[serde(rename_all = "camelCase")]
2582pub struct InlineValueParams {
2583 #[serde(flatten)]
2584 pub work_done_progress_params_mixin: WorkDoneProgressParams,
2585 #[serde(rename = "textDocument")]
2587 pub text_document: TextDocumentIdentifier,
2588 pub range: Range,
2590 #[doc = "Additional information about the context in which inline values information was\nrequested.\t */"]
2591 pub context: InlineValueContext,
2592}
2593#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2597#[serde(rename_all = "camelCase")]
2598pub struct InlineValueRegistrationOptions {
2599 #[serde(flatten)]
2600 pub inline_value_options_base: InlineValueOptions,
2601 #[serde(flatten)]
2602 pub text_document_registration_options_base: TextDocumentRegistrationOptions,
2603 #[serde(flatten)]
2604 pub static_registration_options_mixin: StaticRegistrationOptions,
2605}
2606#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2610#[serde(rename_all = "camelCase")]
2611pub struct InlayHintParams {
2612 #[serde(flatten)]
2613 pub work_done_progress_params_mixin: WorkDoneProgressParams,
2614 #[serde(rename = "textDocument")]
2616 pub text_document: TextDocumentIdentifier,
2617 pub range: Range,
2619}
2620#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2624#[serde(rename_all = "camelCase")]
2625pub struct InlayHint {
2626 pub position: Position,
2631 pub label: InlayHintLabelPartArrayOrString,
2636 #[serde(default)]
2639 pub kind: Option<InlayHintKind>,
2640 #[serde(rename = "textEdits")]
2646 #[serde(default)]
2647 pub text_edits: Option<Vec<TextEdit>>,
2648 #[serde(default)]
2650 pub tooltip: Option<MarkupContentOrString>,
2651 #[serde(rename = "paddingLeft")]
2657 #[serde(default)]
2658 pub padding_left: Option<bool>,
2659 #[serde(rename = "paddingRight")]
2665 #[serde(default)]
2666 pub padding_right: Option<bool>,
2667 #[serde(default)]
2670 pub data: Option<LSPAny>,
2671}
2672#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2676#[serde(rename_all = "camelCase")]
2677pub struct InlayHintRegistrationOptions {
2678 #[serde(flatten)]
2679 pub inlay_hint_options_base: InlayHintOptions,
2680 #[serde(flatten)]
2681 pub text_document_registration_options_base: TextDocumentRegistrationOptions,
2682 #[serde(flatten)]
2683 pub static_registration_options_mixin: StaticRegistrationOptions,
2684}
2685#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2689#[serde(rename_all = "camelCase")]
2690pub struct DocumentDiagnosticParams {
2691 #[serde(flatten)]
2692 pub work_done_progress_params_mixin: WorkDoneProgressParams,
2693 #[serde(flatten)]
2694 pub partial_result_params_mixin: PartialResultParams,
2695 #[serde(rename = "textDocument")]
2697 pub text_document: TextDocumentIdentifier,
2698 #[serde(default)]
2700 pub identifier: Option<String>,
2701 #[serde(rename = "previousResultId")]
2703 #[serde(default)]
2704 pub previous_result_id: Option<String>,
2705}
2706#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2710#[serde(rename_all = "camelCase")]
2711pub struct DocumentDiagnosticReportPartialResult {
2712 #[serde(rename = "relatedDocuments")]
2713 pub related_documents: std::collections::BTreeMap<
2714 DocumentUri,
2715 FullDocumentDiagnosticReportOrUnchangedDocumentDiagnosticReport,
2716 >,
2717}
2718#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2722#[serde(rename_all = "camelCase")]
2723pub struct DiagnosticServerCancellationData {
2724 #[serde(rename = "retriggerRequest")]
2725 pub retrigger_request: bool,
2726}
2727#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2731#[serde(rename_all = "camelCase")]
2732pub struct DiagnosticRegistrationOptions {
2733 #[serde(flatten)]
2734 pub text_document_registration_options_base: TextDocumentRegistrationOptions,
2735 #[serde(flatten)]
2736 pub diagnostic_options_base: DiagnosticOptions,
2737 #[serde(flatten)]
2738 pub static_registration_options_mixin: StaticRegistrationOptions,
2739}
2740#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2744#[serde(rename_all = "camelCase")]
2745pub struct WorkspaceDiagnosticParams {
2746 #[serde(flatten)]
2747 pub work_done_progress_params_mixin: WorkDoneProgressParams,
2748 #[serde(flatten)]
2749 pub partial_result_params_mixin: PartialResultParams,
2750 #[serde(default)]
2752 pub identifier: Option<String>,
2753 #[serde(rename = "previousResultIds")]
2756 pub previous_result_ids: Vec<PreviousResultId>,
2757}
2758#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2762#[serde(rename_all = "camelCase")]
2763pub struct WorkspaceDiagnosticReport {
2764 pub items: Vec<WorkspaceDocumentDiagnosticReport>,
2765}
2766#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2770#[serde(rename_all = "camelCase")]
2771pub struct WorkspaceDiagnosticReportPartialResult {
2772 pub items: Vec<WorkspaceDocumentDiagnosticReport>,
2773}
2774#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2778#[serde(rename_all = "camelCase")]
2779pub struct DidOpenNotebookDocumentParams {
2780 #[serde(rename = "notebookDocument")]
2782 pub notebook_document: NotebookDocument,
2783 #[serde(rename = "cellTextDocuments")]
2786 pub cell_text_documents: Vec<TextDocumentItem>,
2787}
2788#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2792#[serde(rename_all = "camelCase")]
2793pub struct NotebookDocumentSyncRegistrationOptions {
2794 #[serde(flatten)]
2795 pub notebook_document_sync_options_base: NotebookDocumentSyncOptions,
2796 #[serde(flatten)]
2797 pub static_registration_options_mixin: StaticRegistrationOptions,
2798}
2799#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2803#[serde(rename_all = "camelCase")]
2804pub struct DidChangeNotebookDocumentParams {
2805 #[serde(rename = "notebookDocument")]
2810 pub notebook_document: VersionedNotebookDocumentIdentifier,
2811 pub change: NotebookDocumentChangeEvent,
2825}
2826#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2830#[serde(rename_all = "camelCase")]
2831pub struct DidSaveNotebookDocumentParams {
2832 #[serde(rename = "notebookDocument")]
2834 pub notebook_document: NotebookDocumentIdentifier,
2835}
2836#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2840#[serde(rename_all = "camelCase")]
2841pub struct DidCloseNotebookDocumentParams {
2842 #[serde(rename = "notebookDocument")]
2844 pub notebook_document: NotebookDocumentIdentifier,
2845 #[serde(rename = "cellTextDocuments")]
2848 pub cell_text_documents: Vec<TextDocumentIdentifier>,
2849}
2850#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2854#[serde(rename_all = "camelCase")]
2855pub struct InlineCompletionParams {
2856 #[serde(flatten)]
2857 pub text_document_position_params_base: TextDocumentPositionParams,
2858 #[serde(flatten)]
2859 pub work_done_progress_params_mixin: WorkDoneProgressParams,
2860 pub context: InlineCompletionContext,
2863}
2864#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2868#[serde(rename_all = "camelCase")]
2869pub struct InlineCompletionList {
2870 pub items: Vec<InlineCompletionItem>,
2872}
2873#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2877#[serde(rename_all = "camelCase")]
2878pub struct InlineCompletionItem {
2879 #[serde(rename = "insertText")]
2881 pub insert_text: StringOrStringValue,
2882 #[serde(rename = "filterText")]
2884 #[serde(default)]
2885 pub filter_text: Option<String>,
2886 #[serde(default)]
2888 pub range: Option<Range>,
2889 #[serde(default)]
2891 pub command: Option<Command>,
2892}
2893#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2897#[serde(rename_all = "camelCase")]
2898pub struct InlineCompletionRegistrationOptions {
2899 #[serde(flatten)]
2900 pub inline_completion_options_base: InlineCompletionOptions,
2901 #[serde(flatten)]
2902 pub text_document_registration_options_base: TextDocumentRegistrationOptions,
2903 #[serde(flatten)]
2904 pub static_registration_options_mixin: StaticRegistrationOptions,
2905}
2906#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2910#[serde(rename_all = "camelCase")]
2911pub struct TextDocumentContentParams {
2912 #[serde(rename = "textDocument")]
2914 pub text_document: TextDocumentIdentifier,
2915}
2916#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2920#[serde(rename_all = "camelCase")]
2921pub struct TextDocumentContentResult {
2922 pub text: String,
2927}
2928#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2932#[serde(rename_all = "camelCase")]
2933pub struct TextDocumentContentRegistrationOptions {
2934 #[serde(flatten)]
2935 pub text_document_content_options_base: TextDocumentContentOptions,
2936 #[serde(flatten)]
2937 pub static_registration_options_mixin: StaticRegistrationOptions,
2938}
2939#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2943#[serde(rename_all = "camelCase")]
2944pub struct TextDocumentContentRefreshParams {
2945 pub uri: DocumentUri,
2947}
2948#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2949#[serde(rename_all = "camelCase")]
2950pub struct RegistrationParams {
2951 pub registrations: Vec<Registration>,
2952}
2953#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2954#[serde(rename_all = "camelCase")]
2955pub struct UnregistrationParams {
2956 pub unregisterations: Vec<Unregistration>,
2957}
2958#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2959#[serde(rename_all = "camelCase")]
2960pub struct InitializeParams {
2961 #[serde(flatten)]
2962 pub initialize_params_base: _InitializeParams,
2963 #[serde(flatten)]
2964 pub workspace_folders_initialize_params_base: WorkspaceFoldersInitializeParams,
2965}
2966#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2968#[serde(rename_all = "camelCase")]
2969pub struct InitializeResult {
2970 pub capabilities: ServerCapabilities,
2972 #[serde(rename = "serverInfo")]
2976 #[serde(default)]
2977 pub server_info: Option<ServerInfo>,
2978}
2979#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2982#[serde(rename_all = "camelCase")]
2983pub struct InitializeError {
2984 pub retry: bool,
2989}
2990#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2991#[serde(rename_all = "camelCase")]
2992pub struct InitializedParams {}
2993#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2995#[serde(rename_all = "camelCase")]
2996pub struct DidChangeConfigurationParams {
2997 pub settings: LSPAny,
2999}
3000#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3001#[serde(rename_all = "camelCase")]
3002pub struct DidChangeConfigurationRegistrationOptions {
3003 #[serde(default)]
3004 pub section: Option<StringOrStringArray>,
3005}
3006#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3008#[serde(rename_all = "camelCase")]
3009pub struct ShowMessageParams {
3010 pub type_: MessageType,
3012 pub message: String,
3014}
3015#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3016#[serde(rename_all = "camelCase")]
3017pub struct ShowMessageRequestParams {
3018 pub type_: MessageType,
3020 pub message: String,
3022 #[serde(default)]
3024 pub actions: Option<Vec<MessageActionItem>>,
3025}
3026#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3027#[serde(rename_all = "camelCase")]
3028pub struct MessageActionItem {
3029 pub title: String,
3031}
3032#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3034#[serde(rename_all = "camelCase")]
3035pub struct LogMessageParams {
3036 pub type_: MessageType,
3038 pub message: String,
3040}
3041#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3043#[serde(rename_all = "camelCase")]
3044pub struct DidOpenTextDocumentParams {
3045 #[serde(rename = "textDocument")]
3047 pub text_document: TextDocumentItem,
3048}
3049#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3051#[serde(rename_all = "camelCase")]
3052pub struct DidChangeTextDocumentParams {
3053 #[serde(rename = "textDocument")]
3057 pub text_document: VersionedTextDocumentIdentifier,
3058 #[serde(rename = "contentChanges")]
3070 pub content_changes: Vec<TextDocumentContentChangeEvent>,
3071}
3072#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3074#[serde(rename_all = "camelCase")]
3075pub struct TextDocumentChangeRegistrationOptions {
3076 #[serde(flatten)]
3077 pub text_document_registration_options_base: TextDocumentRegistrationOptions,
3078 #[serde(rename = "syncKind")]
3080 pub sync_kind: TextDocumentSyncKind,
3081}
3082#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3084#[serde(rename_all = "camelCase")]
3085pub struct DidCloseTextDocumentParams {
3086 #[serde(rename = "textDocument")]
3088 pub text_document: TextDocumentIdentifier,
3089}
3090#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3092#[serde(rename_all = "camelCase")]
3093pub struct DidSaveTextDocumentParams {
3094 #[serde(rename = "textDocument")]
3096 pub text_document: TextDocumentIdentifier,
3097 #[serde(default)]
3100 pub text: Option<String>,
3101}
3102#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3104#[serde(rename_all = "camelCase")]
3105pub struct TextDocumentSaveRegistrationOptions {
3106 #[serde(flatten)]
3107 pub text_document_registration_options_base: TextDocumentRegistrationOptions,
3108 #[serde(flatten)]
3109 pub save_options_base: SaveOptions,
3110}
3111#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3113#[serde(rename_all = "camelCase")]
3114pub struct WillSaveTextDocumentParams {
3115 #[serde(rename = "textDocument")]
3117 pub text_document: TextDocumentIdentifier,
3118 pub reason: TextDocumentSaveReason,
3120}
3121#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3123#[serde(rename_all = "camelCase")]
3124pub struct TextEdit {
3125 pub range: Range,
3128 #[serde(rename = "newText")]
3131 pub new_text: String,
3132}
3133#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3135#[serde(rename_all = "camelCase")]
3136pub struct DidChangeWatchedFilesParams {
3137 pub changes: Vec<FileEvent>,
3139}
3140#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3142#[serde(rename_all = "camelCase")]
3143pub struct DidChangeWatchedFilesRegistrationOptions {
3144 pub watchers: Vec<FileSystemWatcher>,
3146}
3147#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3149#[serde(rename_all = "camelCase")]
3150pub struct PublishDiagnosticsParams {
3151 pub uri: DocumentUri,
3153 #[serde(default)]
3157 pub version: Option<Integer>,
3158 pub diagnostics: Vec<Diagnostic>,
3160}
3161#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3163#[serde(rename_all = "camelCase")]
3164pub struct CompletionParams {
3165 #[serde(flatten)]
3166 pub text_document_position_params_base: TextDocumentPositionParams,
3167 #[serde(flatten)]
3168 pub work_done_progress_params_mixin: WorkDoneProgressParams,
3169 #[serde(flatten)]
3170 pub partial_result_params_mixin: PartialResultParams,
3171 #[serde(default)]
3174 pub context: Option<CompletionContext>,
3175}
3176#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3179#[serde(rename_all = "camelCase")]
3180pub struct CompletionItem {
3181 pub label: String,
3189 #[serde(rename = "labelDetails")]
3193 #[serde(default)]
3194 pub label_details: Option<CompletionItemLabelDetails>,
3195 #[serde(default)]
3198 pub kind: Option<CompletionItemKind>,
3199 #[serde(default)]
3203 pub tags: Option<Vec<CompletionItemTag>>,
3204 #[serde(default)]
3207 pub detail: Option<String>,
3208 #[serde(default)]
3210 pub documentation: Option<MarkupContentOrString>,
3211 #[serde(default)]
3214 pub deprecated: Option<bool>,
3215 #[serde(default)]
3221 pub preselect: Option<bool>,
3222 #[serde(rename = "sortText")]
3226 #[serde(default)]
3227 pub sort_text: Option<String>,
3228 #[serde(rename = "filterText")]
3232 #[serde(default)]
3233 pub filter_text: Option<String>,
3234 #[serde(rename = "insertText")]
3246 #[serde(default)]
3247 pub insert_text: Option<String>,
3248 #[serde(rename = "insertTextFormat")]
3255 #[serde(default)]
3256 pub insert_text_format: Option<InsertTextFormat>,
3257 #[serde(rename = "insertTextMode")]
3263 #[serde(default)]
3264 pub insert_text_mode: Option<InsertTextMode>,
3265 #[serde(rename = "textEdit")]
3286 #[serde(default)]
3287 pub text_edit: Option<InsertReplaceEditOrTextEdit>,
3288 #[serde(rename = "textEditText")]
3299 #[serde(default)]
3300 pub text_edit_text: Option<String>,
3301 #[serde(rename = "additionalTextEdits")]
3309 #[serde(default)]
3310 pub additional_text_edits: Option<Vec<TextEdit>>,
3311 #[serde(rename = "commitCharacters")]
3315 #[serde(default)]
3316 pub commit_characters: Option<Vec<String>>,
3317 #[serde(default)]
3321 pub command: Option<Command>,
3322 #[serde(default)]
3325 pub data: Option<LSPAny>,
3326}
3327#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3330#[serde(rename_all = "camelCase")]
3331pub struct CompletionList {
3332 #[serde(rename = "isIncomplete")]
3337 pub is_incomplete: bool,
3338 #[serde(rename = "itemDefaults")]
3354 #[serde(default)]
3355 pub item_defaults: Option<CompletionItemDefaults>,
3356 #[serde(rename = "applyKind")]
3374 #[serde(default)]
3375 pub apply_kind: Option<CompletionItemApplyKinds>,
3376 pub items: Vec<CompletionItem>,
3378}
3379#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3381#[serde(rename_all = "camelCase")]
3382pub struct CompletionRegistrationOptions {
3383 #[serde(flatten)]
3384 pub text_document_registration_options_base: TextDocumentRegistrationOptions,
3385 #[serde(flatten)]
3386 pub completion_options_base: CompletionOptions,
3387}
3388#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3390#[serde(rename_all = "camelCase")]
3391pub struct HoverParams {
3392 #[serde(flatten)]
3393 pub text_document_position_params_base: TextDocumentPositionParams,
3394 #[serde(flatten)]
3395 pub work_done_progress_params_mixin: WorkDoneProgressParams,
3396}
3397#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3399#[serde(rename_all = "camelCase")]
3400pub struct Hover {
3401 pub contents: MarkedStringOrMarkedStringArrayOrMarkupContent,
3403 #[serde(default)]
3406 pub range: Option<Range>,
3407}
3408#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3410#[serde(rename_all = "camelCase")]
3411pub struct HoverRegistrationOptions {
3412 #[serde(flatten)]
3413 pub text_document_registration_options_base: TextDocumentRegistrationOptions,
3414 #[serde(flatten)]
3415 pub hover_options_base: HoverOptions,
3416}
3417#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3419#[serde(rename_all = "camelCase")]
3420pub struct SignatureHelpParams {
3421 #[serde(flatten)]
3422 pub text_document_position_params_base: TextDocumentPositionParams,
3423 #[serde(flatten)]
3424 pub work_done_progress_params_mixin: WorkDoneProgressParams,
3425 #[serde(default)]
3430 pub context: Option<SignatureHelpContext>,
3431}
3432#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3436#[serde(rename_all = "camelCase")]
3437pub struct SignatureHelp {
3438 pub signatures: Vec<SignatureInformation>,
3440 #[serde(rename = "activeSignature")]
3450 #[serde(default)]
3451 pub active_signature: Option<Uinteger>,
3452 #[serde(rename = "activeParameter")]
3472 #[serde(default)]
3473 pub active_parameter: Option<Option<Uinteger>>,
3474}
3475#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3477#[serde(rename_all = "camelCase")]
3478pub struct SignatureHelpRegistrationOptions {
3479 #[serde(flatten)]
3480 pub text_document_registration_options_base: TextDocumentRegistrationOptions,
3481 #[serde(flatten)]
3482 pub signature_help_options_base: SignatureHelpOptions,
3483}
3484#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3486#[serde(rename_all = "camelCase")]
3487pub struct DefinitionParams {
3488 #[serde(flatten)]
3489 pub text_document_position_params_base: TextDocumentPositionParams,
3490 #[serde(flatten)]
3491 pub work_done_progress_params_mixin: WorkDoneProgressParams,
3492 #[serde(flatten)]
3493 pub partial_result_params_mixin: PartialResultParams,
3494}
3495#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3497#[serde(rename_all = "camelCase")]
3498pub struct DefinitionRegistrationOptions {
3499 #[serde(flatten)]
3500 pub text_document_registration_options_base: TextDocumentRegistrationOptions,
3501 #[serde(flatten)]
3502 pub definition_options_base: DefinitionOptions,
3503}
3504#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3506#[serde(rename_all = "camelCase")]
3507pub struct ReferenceParams {
3508 #[serde(flatten)]
3509 pub text_document_position_params_base: TextDocumentPositionParams,
3510 #[serde(flatten)]
3511 pub work_done_progress_params_mixin: WorkDoneProgressParams,
3512 #[serde(flatten)]
3513 pub partial_result_params_mixin: PartialResultParams,
3514 pub context: ReferenceContext,
3515}
3516#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3518#[serde(rename_all = "camelCase")]
3519pub struct ReferenceRegistrationOptions {
3520 #[serde(flatten)]
3521 pub text_document_registration_options_base: TextDocumentRegistrationOptions,
3522 #[serde(flatten)]
3523 pub reference_options_base: ReferenceOptions,
3524}
3525#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3527#[serde(rename_all = "camelCase")]
3528pub struct DocumentHighlightParams {
3529 #[serde(flatten)]
3530 pub text_document_position_params_base: TextDocumentPositionParams,
3531 #[serde(flatten)]
3532 pub work_done_progress_params_mixin: WorkDoneProgressParams,
3533 #[serde(flatten)]
3534 pub partial_result_params_mixin: PartialResultParams,
3535}
3536#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3540#[serde(rename_all = "camelCase")]
3541pub struct DocumentHighlight {
3542 pub range: Range,
3544 #[serde(default)]
3546 pub kind: Option<DocumentHighlightKind>,
3547}
3548#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3550#[serde(rename_all = "camelCase")]
3551pub struct DocumentHighlightRegistrationOptions {
3552 #[serde(flatten)]
3553 pub text_document_registration_options_base: TextDocumentRegistrationOptions,
3554 #[serde(flatten)]
3555 pub document_highlight_options_base: DocumentHighlightOptions,
3556}
3557#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3559#[serde(rename_all = "camelCase")]
3560pub struct DocumentSymbolParams {
3561 #[serde(flatten)]
3562 pub work_done_progress_params_mixin: WorkDoneProgressParams,
3563 #[serde(flatten)]
3564 pub partial_result_params_mixin: PartialResultParams,
3565 #[serde(rename = "textDocument")]
3567 pub text_document: TextDocumentIdentifier,
3568}
3569#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3572#[serde(rename_all = "camelCase")]
3573pub struct SymbolInformation {
3574 #[serde(flatten)]
3575 pub base_symbol_information_base: BaseSymbolInformation,
3576 #[serde(default)]
3580 pub deprecated: Option<bool>,
3581 pub location: Location,
3591}
3592#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3597#[serde(rename_all = "camelCase")]
3598pub struct DocumentSymbol {
3599 pub name: String,
3602 #[serde(default)]
3604 pub detail: Option<String>,
3605 pub kind: SymbolKind,
3607 #[serde(default)]
3611 pub tags: Option<Vec<SymbolTag>>,
3612 #[serde(default)]
3616 pub deprecated: Option<bool>,
3617 pub range: Range,
3621 #[serde(rename = "selectionRange")]
3624 pub selection_range: Range,
3625 #[serde(default)]
3627 pub children: Option<Vec<DocumentSymbol>>,
3628}
3629#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3631#[serde(rename_all = "camelCase")]
3632pub struct DocumentSymbolRegistrationOptions {
3633 #[serde(flatten)]
3634 pub text_document_registration_options_base: TextDocumentRegistrationOptions,
3635 #[serde(flatten)]
3636 pub document_symbol_options_base: DocumentSymbolOptions,
3637}
3638#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3640#[serde(rename_all = "camelCase")]
3641pub struct CodeActionParams {
3642 #[serde(flatten)]
3643 pub work_done_progress_params_mixin: WorkDoneProgressParams,
3644 #[serde(flatten)]
3645 pub partial_result_params_mixin: PartialResultParams,
3646 #[serde(rename = "textDocument")]
3648 pub text_document: TextDocumentIdentifier,
3649 pub range: Range,
3651 pub context: CodeActionContext,
3653}
3654#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3659#[serde(rename_all = "camelCase")]
3660pub struct Command {
3661 pub title: String,
3663 #[serde(default)]
3667 pub tooltip: Option<String>,
3668 pub command: String,
3670 #[serde(default)]
3673 pub arguments: Option<Vec<LSPAny>>,
3674}
3675#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3680#[serde(rename_all = "camelCase")]
3681pub struct CodeAction {
3682 pub title: String,
3684 #[serde(default)]
3688 pub kind: Option<CodeActionKind>,
3689 #[serde(default)]
3691 pub diagnostics: Option<Vec<Diagnostic>>,
3692 #[serde(rename = "isPreferred")]
3700 #[serde(default)]
3701 pub is_preferred: Option<bool>,
3702 #[serde(default)]
3718 pub disabled: Option<CodeActionDisabled>,
3719 #[serde(default)]
3721 pub edit: Option<WorkspaceEdit>,
3722 #[serde(default)]
3726 pub command: Option<Command>,
3727 #[serde(default)]
3732 pub data: Option<LSPAny>,
3733 #[serde(default)]
3737 pub tags: Option<Vec<CodeActionTag>>,
3738}
3739#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3741#[serde(rename_all = "camelCase")]
3742pub struct CodeActionRegistrationOptions {
3743 #[serde(flatten)]
3744 pub text_document_registration_options_base: TextDocumentRegistrationOptions,
3745 #[serde(flatten)]
3746 pub code_action_options_base: CodeActionOptions,
3747}
3748#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3750#[serde(rename_all = "camelCase")]
3751pub struct WorkspaceSymbolParams {
3752 #[serde(flatten)]
3753 pub work_done_progress_params_mixin: WorkDoneProgressParams,
3754 #[serde(flatten)]
3755 pub partial_result_params_mixin: PartialResultParams,
3756 pub query: String,
3765}
3766#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3772#[serde(rename_all = "camelCase")]
3773pub struct WorkspaceSymbol {
3774 #[serde(flatten)]
3775 pub base_symbol_information_base: BaseSymbolInformation,
3776 pub location: LocationOrLocationUriOnly,
3782 #[serde(default)]
3785 pub data: Option<LSPAny>,
3786}
3787#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3789#[serde(rename_all = "camelCase")]
3790pub struct WorkspaceSymbolRegistrationOptions {
3791 #[serde(flatten)]
3792 pub workspace_symbol_options_base: WorkspaceSymbolOptions,
3793}
3794#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3796#[serde(rename_all = "camelCase")]
3797pub struct CodeLensParams {
3798 #[serde(flatten)]
3799 pub work_done_progress_params_mixin: WorkDoneProgressParams,
3800 #[serde(flatten)]
3801 pub partial_result_params_mixin: PartialResultParams,
3802 #[serde(rename = "textDocument")]
3804 pub text_document: TextDocumentIdentifier,
3805}
3806#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3812#[serde(rename_all = "camelCase")]
3813pub struct CodeLens {
3814 pub range: Range,
3816 #[serde(default)]
3818 pub command: Option<Command>,
3819 #[serde(default)]
3822 pub data: Option<LSPAny>,
3823}
3824#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3826#[serde(rename_all = "camelCase")]
3827pub struct CodeLensRegistrationOptions {
3828 #[serde(flatten)]
3829 pub text_document_registration_options_base: TextDocumentRegistrationOptions,
3830 #[serde(flatten)]
3831 pub code_lens_options_base: CodeLensOptions,
3832}
3833#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3835#[serde(rename_all = "camelCase")]
3836pub struct DocumentLinkParams {
3837 #[serde(flatten)]
3838 pub work_done_progress_params_mixin: WorkDoneProgressParams,
3839 #[serde(flatten)]
3840 pub partial_result_params_mixin: PartialResultParams,
3841 #[serde(rename = "textDocument")]
3843 pub text_document: TextDocumentIdentifier,
3844}
3845#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3848#[serde(rename_all = "camelCase")]
3849pub struct DocumentLink {
3850 pub range: Range,
3852 #[serde(default)]
3854 pub target: Option<URI>,
3855 #[serde(default)]
3863 pub tooltip: Option<String>,
3864 #[serde(default)]
3867 pub data: Option<LSPAny>,
3868}
3869#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3871#[serde(rename_all = "camelCase")]
3872pub struct DocumentLinkRegistrationOptions {
3873 #[serde(flatten)]
3874 pub text_document_registration_options_base: TextDocumentRegistrationOptions,
3875 #[serde(flatten)]
3876 pub document_link_options_base: DocumentLinkOptions,
3877}
3878#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3880#[serde(rename_all = "camelCase")]
3881pub struct DocumentFormattingParams {
3882 #[serde(flatten)]
3883 pub work_done_progress_params_mixin: WorkDoneProgressParams,
3884 #[serde(rename = "textDocument")]
3886 pub text_document: TextDocumentIdentifier,
3887 pub options: FormattingOptions,
3889}
3890#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3892#[serde(rename_all = "camelCase")]
3893pub struct DocumentFormattingRegistrationOptions {
3894 #[serde(flatten)]
3895 pub text_document_registration_options_base: TextDocumentRegistrationOptions,
3896 #[serde(flatten)]
3897 pub document_formatting_options_base: DocumentFormattingOptions,
3898}
3899#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3901#[serde(rename_all = "camelCase")]
3902pub struct DocumentRangeFormattingParams {
3903 #[serde(flatten)]
3904 pub work_done_progress_params_mixin: WorkDoneProgressParams,
3905 #[serde(rename = "textDocument")]
3907 pub text_document: TextDocumentIdentifier,
3908 pub range: Range,
3910 pub options: FormattingOptions,
3912}
3913#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3915#[serde(rename_all = "camelCase")]
3916pub struct DocumentRangeFormattingRegistrationOptions {
3917 #[serde(flatten)]
3918 pub text_document_registration_options_base: TextDocumentRegistrationOptions,
3919 #[serde(flatten)]
3920 pub document_range_formatting_options_base: DocumentRangeFormattingOptions,
3921}
3922#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3926#[serde(rename_all = "camelCase")]
3927pub struct DocumentRangesFormattingParams {
3928 #[serde(flatten)]
3929 pub work_done_progress_params_mixin: WorkDoneProgressParams,
3930 #[serde(rename = "textDocument")]
3932 pub text_document: TextDocumentIdentifier,
3933 pub ranges: Vec<Range>,
3935 pub options: FormattingOptions,
3937}
3938#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3940#[serde(rename_all = "camelCase")]
3941pub struct DocumentOnTypeFormattingParams {
3942 #[serde(rename = "textDocument")]
3944 pub text_document: TextDocumentIdentifier,
3945 pub position: Position,
3949 pub ch: String,
3954 pub options: FormattingOptions,
3956}
3957#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3959#[serde(rename_all = "camelCase")]
3960pub struct DocumentOnTypeFormattingRegistrationOptions {
3961 #[serde(flatten)]
3962 pub text_document_registration_options_base: TextDocumentRegistrationOptions,
3963 #[serde(flatten)]
3964 pub document_on_type_formatting_options_base: DocumentOnTypeFormattingOptions,
3965}
3966#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3968#[serde(rename_all = "camelCase")]
3969pub struct RenameParams {
3970 #[serde(flatten)]
3971 pub text_document_position_params_base: TextDocumentPositionParams,
3972 #[serde(flatten)]
3973 pub work_done_progress_params_mixin: WorkDoneProgressParams,
3974 #[serde(rename = "newName")]
3978 pub new_name: String,
3979}
3980#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3982#[serde(rename_all = "camelCase")]
3983pub struct RenameRegistrationOptions {
3984 #[serde(flatten)]
3985 pub text_document_registration_options_base: TextDocumentRegistrationOptions,
3986 #[serde(flatten)]
3987 pub rename_options_base: RenameOptions,
3988}
3989#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3990#[serde(rename_all = "camelCase")]
3991pub struct PrepareRenameParams {
3992 #[serde(flatten)]
3993 pub text_document_position_params_base: TextDocumentPositionParams,
3994 #[serde(flatten)]
3995 pub work_done_progress_params_mixin: WorkDoneProgressParams,
3996}
3997#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3999#[serde(rename_all = "camelCase")]
4000pub struct ExecuteCommandParams {
4001 #[serde(flatten)]
4002 pub work_done_progress_params_mixin: WorkDoneProgressParams,
4003 pub command: String,
4005 #[serde(default)]
4007 pub arguments: Option<Vec<LSPAny>>,
4008}
4009#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4011#[serde(rename_all = "camelCase")]
4012pub struct ExecuteCommandRegistrationOptions {
4013 #[serde(flatten)]
4014 pub execute_command_options_base: ExecuteCommandOptions,
4015}
4016#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4018#[serde(rename_all = "camelCase")]
4019pub struct ApplyWorkspaceEditParams {
4020 #[serde(default)]
4024 pub label: Option<String>,
4025 pub edit: WorkspaceEdit,
4027 #[serde(default)]
4031 pub metadata: Option<WorkspaceEditMetadata>,
4032}
4033#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4037#[serde(rename_all = "camelCase")]
4038pub struct ApplyWorkspaceEditResult {
4039 pub applied: bool,
4041 #[serde(rename = "failureReason")]
4045 #[serde(default)]
4046 pub failure_reason: Option<String>,
4047 #[serde(rename = "failedChange")]
4051 #[serde(default)]
4052 pub failed_change: Option<Uinteger>,
4053}
4054#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4055#[serde(rename_all = "camelCase")]
4056pub struct WorkDoneProgressBegin {
4057 pub kind: String,
4058 pub title: String,
4063 #[serde(default)]
4067 pub cancellable: Option<bool>,
4068 #[serde(default)]
4074 pub message: Option<String>,
4075 #[serde(default)]
4082 pub percentage: Option<Uinteger>,
4083}
4084#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4085#[serde(rename_all = "camelCase")]
4086pub struct WorkDoneProgressReport {
4087 pub kind: String,
4088 #[serde(default)]
4093 pub cancellable: Option<bool>,
4094 #[serde(default)]
4100 pub message: Option<String>,
4101 #[serde(default)]
4108 pub percentage: Option<Uinteger>,
4109}
4110#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4111#[serde(rename_all = "camelCase")]
4112pub struct WorkDoneProgressEnd {
4113 pub kind: String,
4114 #[serde(default)]
4117 pub message: Option<String>,
4118}
4119#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4120#[serde(rename_all = "camelCase")]
4121pub struct SetTraceParams {
4122 pub value: TraceValue,
4123}
4124#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4125#[serde(rename_all = "camelCase")]
4126pub struct LogTraceParams {
4127 pub message: String,
4128 #[serde(default)]
4129 pub verbose: Option<String>,
4130}
4131#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4132#[serde(rename_all = "camelCase")]
4133pub struct CancelParams {
4134 pub id: IntegerOrString,
4136}
4137#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4138#[serde(rename_all = "camelCase")]
4139pub struct ProgressParams {
4140 pub token: ProgressToken,
4142 pub value: LSPAny,
4144}
4145#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4148#[serde(rename_all = "camelCase")]
4149pub struct TextDocumentPositionParams {
4150 #[serde(rename = "textDocument")]
4152 pub text_document: TextDocumentIdentifier,
4153 pub position: Position,
4155}
4156#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4157#[serde(rename_all = "camelCase")]
4158pub struct WorkDoneProgressParams {
4159 #[serde(rename = "workDoneToken")]
4161 #[serde(default)]
4162 pub work_done_token: Option<ProgressToken>,
4163}
4164#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4165#[serde(rename_all = "camelCase")]
4166pub struct PartialResultParams {
4167 #[serde(rename = "partialResultToken")]
4170 #[serde(default)]
4171 pub partial_result_token: Option<ProgressToken>,
4172}
4173#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4176#[serde(rename_all = "camelCase")]
4177pub struct LocationLink {
4178 #[serde(rename = "originSelectionRange")]
4183 #[serde(default)]
4184 pub origin_selection_range: Option<Range>,
4185 #[serde(rename = "targetUri")]
4187 pub target_uri: DocumentUri,
4188 #[serde(rename = "targetRange")]
4192 pub target_range: Range,
4193 #[serde(rename = "targetSelectionRange")]
4196 pub target_selection_range: Range,
4197}
4198#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4210#[serde(rename_all = "camelCase")]
4211pub struct Range {
4212 pub start: Position,
4214 pub end: Position,
4216}
4217#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4218#[serde(rename_all = "camelCase")]
4219pub struct ImplementationOptions {
4220 #[serde(flatten)]
4221 pub work_done_progress_options_mixin: WorkDoneProgressOptions,
4222}
4223#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4226#[serde(rename_all = "camelCase")]
4227pub struct StaticRegistrationOptions {
4228 #[serde(default)]
4231 pub id: Option<String>,
4232}
4233#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4234#[serde(rename_all = "camelCase")]
4235pub struct TypeDefinitionOptions {
4236 #[serde(flatten)]
4237 pub work_done_progress_options_mixin: WorkDoneProgressOptions,
4238}
4239#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4241#[serde(rename_all = "camelCase")]
4242pub struct WorkspaceFoldersChangeEvent {
4243 pub added: Vec<WorkspaceFolder>,
4245 pub removed: Vec<WorkspaceFolder>,
4247}
4248#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4249#[serde(rename_all = "camelCase")]
4250pub struct ConfigurationItem {
4251 #[serde(rename = "scopeUri")]
4253 #[serde(default)]
4254 pub scope_uri: Option<URI>,
4255 #[serde(default)]
4257 pub section: Option<String>,
4258}
4259#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4261#[serde(rename_all = "camelCase")]
4262pub struct TextDocumentIdentifier {
4263 pub uri: DocumentUri,
4265}
4266#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4268#[serde(rename_all = "camelCase")]
4269pub struct Color {
4270 pub red: Decimal,
4272 pub green: Decimal,
4274 pub blue: Decimal,
4276 pub alpha: Decimal,
4278}
4279#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4280#[serde(rename_all = "camelCase")]
4281pub struct DocumentColorOptions {
4282 #[serde(flatten)]
4283 pub work_done_progress_options_mixin: WorkDoneProgressOptions,
4284}
4285#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4286#[serde(rename_all = "camelCase")]
4287pub struct FoldingRangeOptions {
4288 #[serde(flatten)]
4289 pub work_done_progress_options_mixin: WorkDoneProgressOptions,
4290}
4291#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4292#[serde(rename_all = "camelCase")]
4293pub struct DeclarationOptions {
4294 #[serde(flatten)]
4295 pub work_done_progress_options_mixin: WorkDoneProgressOptions,
4296}
4297#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4325#[serde(rename_all = "camelCase")]
4326pub struct Position {
4327 pub line: Uinteger,
4329 pub character: Uinteger,
4334}
4335#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4336#[serde(rename_all = "camelCase")]
4337pub struct SelectionRangeOptions {
4338 #[serde(flatten)]
4339 pub work_done_progress_options_mixin: WorkDoneProgressOptions,
4340}
4341#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4345#[serde(rename_all = "camelCase")]
4346pub struct CallHierarchyOptions {
4347 #[serde(flatten)]
4348 pub work_done_progress_options_mixin: WorkDoneProgressOptions,
4349}
4350#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4352#[serde(rename_all = "camelCase")]
4353pub struct SemanticTokensOptions {
4354 #[serde(flatten)]
4355 pub work_done_progress_options_mixin: WorkDoneProgressOptions,
4356 pub legend: SemanticTokensLegend,
4358 #[serde(default)]
4361 pub range: Option<BooleanOrLiteral57f9bf6390bb37d9>,
4362 #[serde(default)]
4364 pub full: Option<BooleanOrSemanticTokensFullDelta>,
4365}
4366#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4368#[serde(rename_all = "camelCase")]
4369pub struct SemanticTokensEdit {
4370 pub start: Uinteger,
4372 #[serde(rename = "deleteCount")]
4374 pub delete_count: Uinteger,
4375 #[serde(default)]
4377 pub data: Option<Vec<Uinteger>>,
4378}
4379#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4380#[serde(rename_all = "camelCase")]
4381pub struct LinkedEditingRangeOptions {
4382 #[serde(flatten)]
4383 pub work_done_progress_options_mixin: WorkDoneProgressOptions,
4384}
4385#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4389#[serde(rename_all = "camelCase")]
4390pub struct FileCreate {
4391 pub uri: String,
4393}
4394#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4399#[serde(rename_all = "camelCase")]
4400pub struct TextDocumentEdit {
4401 #[serde(rename = "textDocument")]
4403 pub text_document: OptionalVersionedTextDocumentIdentifier,
4404 pub edits: Vec<AnnotatedTextEditOrSnippetTextEditOrTextEdit>,
4412}
4413#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4415#[serde(rename_all = "camelCase")]
4416pub struct CreateFile {
4417 #[serde(flatten)]
4418 pub resource_operation_base: ResourceOperation,
4419 pub kind: String,
4421 pub uri: DocumentUri,
4423 #[serde(default)]
4425 pub options: Option<CreateFileOptions>,
4426}
4427#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4429#[serde(rename_all = "camelCase")]
4430pub struct RenameFile {
4431 #[serde(flatten)]
4432 pub resource_operation_base: ResourceOperation,
4433 pub kind: String,
4435 #[serde(rename = "oldUri")]
4437 pub old_uri: DocumentUri,
4438 #[serde(rename = "newUri")]
4440 pub new_uri: DocumentUri,
4441 #[serde(default)]
4443 pub options: Option<RenameFileOptions>,
4444}
4445#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4447#[serde(rename_all = "camelCase")]
4448pub struct DeleteFile {
4449 #[serde(flatten)]
4450 pub resource_operation_base: ResourceOperation,
4451 pub kind: String,
4453 pub uri: DocumentUri,
4455 #[serde(default)]
4457 pub options: Option<DeleteFileOptions>,
4458}
4459#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4463#[serde(rename_all = "camelCase")]
4464pub struct ChangeAnnotation {
4465 pub label: String,
4468 #[serde(rename = "needsConfirmation")]
4471 #[serde(default)]
4472 pub needs_confirmation: Option<bool>,
4473 #[serde(default)]
4476 pub description: Option<String>,
4477}
4478#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4483#[serde(rename_all = "camelCase")]
4484pub struct FileOperationFilter {
4485 #[serde(default)]
4487 pub scheme: Option<String>,
4488 pub pattern: FileOperationPattern,
4490}
4491#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4495#[serde(rename_all = "camelCase")]
4496pub struct FileRename {
4497 #[serde(rename = "oldUri")]
4499 pub old_uri: String,
4500 #[serde(rename = "newUri")]
4502 pub new_uri: String,
4503}
4504#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4508#[serde(rename_all = "camelCase")]
4509pub struct FileDelete {
4510 pub uri: String,
4512}
4513#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4514#[serde(rename_all = "camelCase")]
4515pub struct MonikerOptions {
4516 #[serde(flatten)]
4517 pub work_done_progress_options_mixin: WorkDoneProgressOptions,
4518}
4519#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4523#[serde(rename_all = "camelCase")]
4524pub struct TypeHierarchyOptions {
4525 #[serde(flatten)]
4526 pub work_done_progress_options_mixin: WorkDoneProgressOptions,
4527}
4528#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4530#[serde(rename_all = "camelCase")]
4531pub struct InlineValueContext {
4532 #[serde(rename = "frameId")]
4534 pub frame_id: Integer,
4535 #[serde(rename = "stoppedLocation")]
4538 pub stopped_location: Range,
4539}
4540#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4544#[serde(rename_all = "camelCase")]
4545pub struct InlineValueText {
4546 pub range: Range,
4548 pub text: String,
4550}
4551#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4561#[serde(rename_all = "camelCase")]
4562pub struct InlineValueVariableLookup {
4563 pub range: Range,
4568 #[serde(rename = "variableName")]
4570 #[serde(default)]
4571 pub variable_name: Option<String>,
4572 #[serde(rename = "caseSensitiveLookup")]
4574 pub case_sensitive_lookup: bool,
4575}
4576#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4586#[serde(rename_all = "camelCase")]
4587pub struct InlineValueEvaluatableExpression {
4588 pub range: Range,
4593 #[serde(default)]
4595 pub expression: Option<String>,
4596}
4597#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4601#[serde(rename_all = "camelCase")]
4602pub struct InlineValueOptions {
4603 #[serde(flatten)]
4604 pub work_done_progress_options_mixin: WorkDoneProgressOptions,
4605}
4606#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4611#[serde(rename_all = "camelCase")]
4612pub struct InlayHintLabelPart {
4613 pub value: String,
4615 #[serde(default)]
4619 pub tooltip: Option<MarkupContentOrString>,
4620 #[serde(default)]
4632 pub location: Option<Location>,
4633 #[serde(default)]
4638 pub command: Option<Command>,
4639}
4640#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4663#[serde(rename_all = "camelCase")]
4664pub struct MarkupContent {
4665 pub kind: MarkupKind,
4667 pub value: String,
4669}
4670#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4674#[serde(rename_all = "camelCase")]
4675pub struct InlayHintOptions {
4676 #[serde(flatten)]
4677 pub work_done_progress_options_mixin: WorkDoneProgressOptions,
4678 #[serde(rename = "resolveProvider")]
4681 #[serde(default)]
4682 pub resolve_provider: Option<bool>,
4683}
4684#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4688#[serde(rename_all = "camelCase")]
4689pub struct RelatedFullDocumentDiagnosticReport {
4690 #[serde(flatten)]
4691 pub full_document_diagnostic_report_base: FullDocumentDiagnosticReport,
4692 #[serde(rename = "relatedDocuments")]
4700 #[serde(default)]
4701 pub related_documents: Option<
4702 std::collections::BTreeMap<
4703 DocumentUri,
4704 FullDocumentDiagnosticReportOrUnchangedDocumentDiagnosticReport,
4705 >,
4706 >,
4707}
4708#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4712#[serde(rename_all = "camelCase")]
4713pub struct RelatedUnchangedDocumentDiagnosticReport {
4714 #[serde(flatten)]
4715 pub unchanged_document_diagnostic_report_base: UnchangedDocumentDiagnosticReport,
4716 #[serde(rename = "relatedDocuments")]
4724 #[serde(default)]
4725 pub related_documents: Option<
4726 std::collections::BTreeMap<
4727 DocumentUri,
4728 FullDocumentDiagnosticReportOrUnchangedDocumentDiagnosticReport,
4729 >,
4730 >,
4731}
4732#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4736#[serde(rename_all = "camelCase")]
4737pub struct FullDocumentDiagnosticReport {
4738 pub kind: String,
4740 #[serde(rename = "resultId")]
4744 #[serde(default)]
4745 pub result_id: Option<String>,
4746 pub items: Vec<Diagnostic>,
4748}
4749#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4754#[serde(rename_all = "camelCase")]
4755pub struct UnchangedDocumentDiagnosticReport {
4756 pub kind: String,
4761 #[serde(rename = "resultId")]
4764 pub result_id: String,
4765}
4766#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4770#[serde(rename_all = "camelCase")]
4771pub struct DiagnosticOptions {
4772 #[serde(flatten)]
4773 pub work_done_progress_options_mixin: WorkDoneProgressOptions,
4774 #[serde(default)]
4777 pub identifier: Option<String>,
4778 #[serde(rename = "interFileDependencies")]
4783 pub inter_file_dependencies: bool,
4784 #[serde(rename = "workspaceDiagnostics")]
4786 pub workspace_diagnostics: bool,
4787}
4788#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4792#[serde(rename_all = "camelCase")]
4793pub struct PreviousResultId {
4794 pub uri: DocumentUri,
4797 pub value: String,
4799}
4800#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4804#[serde(rename_all = "camelCase")]
4805pub struct NotebookDocument {
4806 pub uri: URI,
4808 #[serde(rename = "notebookType")]
4810 pub notebook_type: String,
4811 pub version: Integer,
4814 #[serde(default)]
4819 pub metadata: Option<LSPObject>,
4820 pub cells: Vec<NotebookCell>,
4822}
4823#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4826#[serde(rename_all = "camelCase")]
4827pub struct TextDocumentItem {
4828 pub uri: DocumentUri,
4830 #[serde(rename = "languageId")]
4832 pub language_id: LanguageKind,
4833 pub version: Integer,
4836 pub text: String,
4838}
4839#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4853#[serde(rename_all = "camelCase")]
4854pub struct NotebookDocumentSyncOptions {
4855 #[serde(rename = "notebookSelector")]
4857 pub notebook_selector: Vec<
4858 NotebookDocumentFilterWithCellsOrNotebookDocumentFilterWithNotebook,
4859 >,
4860 #[serde(default)]
4863 pub save: Option<bool>,
4864}
4865#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4869#[serde(rename_all = "camelCase")]
4870pub struct VersionedNotebookDocumentIdentifier {
4871 pub version: Integer,
4873 pub uri: URI,
4875}
4876#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4880#[serde(rename_all = "camelCase")]
4881pub struct NotebookDocumentChangeEvent {
4882 #[serde(default)]
4886 pub metadata: Option<LSPObject>,
4887 #[serde(default)]
4889 pub cells: Option<NotebookDocumentCellChanges>,
4890}
4891#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4895#[serde(rename_all = "camelCase")]
4896pub struct NotebookDocumentIdentifier {
4897 pub uri: URI,
4899}
4900#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4904#[serde(rename_all = "camelCase")]
4905pub struct InlineCompletionContext {
4906 #[serde(rename = "triggerKind")]
4908 pub trigger_kind: InlineCompletionTriggerKind,
4909 #[serde(rename = "selectedCompletionInfo")]
4911 #[serde(default)]
4912 pub selected_completion_info: Option<SelectedCompletionInfo>,
4913}
4914#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4924#[serde(rename_all = "camelCase")]
4925pub struct StringValue {
4926 pub kind: String,
4928 pub value: String,
4930}
4931#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4935#[serde(rename_all = "camelCase")]
4936pub struct InlineCompletionOptions {
4937 #[serde(flatten)]
4938 pub work_done_progress_options_mixin: WorkDoneProgressOptions,
4939}
4940#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4944#[serde(rename_all = "camelCase")]
4945pub struct TextDocumentContentOptions {
4946 pub schemes: Vec<String>,
4948}
4949#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4951#[serde(rename_all = "camelCase")]
4952pub struct Registration {
4953 pub id: String,
4956 pub method: String,
4958 #[serde(rename = "registerOptions")]
4960 #[serde(default)]
4961 pub register_options: Option<LSPAny>,
4962}
4963#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4965#[serde(rename_all = "camelCase")]
4966pub struct Unregistration {
4967 pub id: String,
4970 pub method: String,
4972}
4973#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4975#[serde(rename_all = "camelCase")]
4976pub struct _InitializeParams {
4977 #[serde(flatten)]
4978 pub work_done_progress_params_mixin: WorkDoneProgressParams,
4979 #[serde(rename = "processId")]
4985 pub process_id: Option<Integer>,
4986 #[serde(rename = "clientInfo")]
4990 #[serde(default)]
4991 pub client_info: Option<ClientInfo>,
4992 #[serde(default)]
5001 pub locale: Option<String>,
5002 #[serde(rename = "rootPath")]
5007 #[serde(default)]
5008 pub root_path: Option<Option<String>>,
5009 #[serde(rename = "rootUri")]
5015 pub root_uri: Option<DocumentUri>,
5016 pub capabilities: ClientCapabilities,
5018 #[serde(rename = "initializationOptions")]
5020 #[serde(default)]
5021 pub initialization_options: Option<LSPAny>,
5022 #[serde(default)]
5024 pub trace: Option<TraceValue>,
5025}
5026#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5027#[serde(rename_all = "camelCase")]
5028pub struct WorkspaceFoldersInitializeParams {
5029 #[serde(rename = "workspaceFolders")]
5037 #[serde(default)]
5038 pub workspace_folders: Option<Option<Vec<WorkspaceFolder>>>,
5039}
5040#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5043#[serde(rename_all = "camelCase")]
5044pub struct ServerCapabilities {
5045 #[serde(rename = "positionEncoding")]
5055 #[serde(default)]
5056 pub position_encoding: Option<PositionEncodingKind>,
5057 #[serde(rename = "textDocumentSync")]
5061 #[serde(default)]
5062 pub text_document_sync: Option<TextDocumentSyncKindOrTextDocumentSyncOptions>,
5063 #[serde(rename = "notebookDocumentSync")]
5067 #[serde(default)]
5068 pub notebook_document_sync: Option<
5069 NotebookDocumentSyncOptionsOrNotebookDocumentSyncRegistrationOptions,
5070 >,
5071 #[serde(rename = "completionProvider")]
5073 #[serde(default)]
5074 pub completion_provider: Option<CompletionOptions>,
5075 #[serde(rename = "hoverProvider")]
5077 #[serde(default)]
5078 pub hover_provider: Option<BooleanOrHoverOptions>,
5079 #[serde(rename = "signatureHelpProvider")]
5081 #[serde(default)]
5082 pub signature_help_provider: Option<SignatureHelpOptions>,
5083 #[serde(rename = "declarationProvider")]
5085 #[serde(default)]
5086 pub declaration_provider: Option<
5087 BooleanOrDeclarationOptionsOrDeclarationRegistrationOptions,
5088 >,
5089 #[serde(rename = "definitionProvider")]
5091 #[serde(default)]
5092 pub definition_provider: Option<BooleanOrDefinitionOptions>,
5093 #[serde(rename = "typeDefinitionProvider")]
5095 #[serde(default)]
5096 pub type_definition_provider: Option<
5097 BooleanOrTypeDefinitionOptionsOrTypeDefinitionRegistrationOptions,
5098 >,
5099 #[serde(rename = "implementationProvider")]
5101 #[serde(default)]
5102 pub implementation_provider: Option<
5103 BooleanOrImplementationOptionsOrImplementationRegistrationOptions,
5104 >,
5105 #[serde(rename = "referencesProvider")]
5107 #[serde(default)]
5108 pub references_provider: Option<BooleanOrReferenceOptions>,
5109 #[serde(rename = "documentHighlightProvider")]
5111 #[serde(default)]
5112 pub document_highlight_provider: Option<BooleanOrDocumentHighlightOptions>,
5113 #[serde(rename = "documentSymbolProvider")]
5115 #[serde(default)]
5116 pub document_symbol_provider: Option<BooleanOrDocumentSymbolOptions>,
5117 #[serde(rename = "codeActionProvider")]
5121 #[serde(default)]
5122 pub code_action_provider: Option<BooleanOrCodeActionOptions>,
5123 #[serde(rename = "codeLensProvider")]
5125 #[serde(default)]
5126 pub code_lens_provider: Option<CodeLensOptions>,
5127 #[serde(rename = "documentLinkProvider")]
5129 #[serde(default)]
5130 pub document_link_provider: Option<DocumentLinkOptions>,
5131 #[serde(rename = "colorProvider")]
5133 #[serde(default)]
5134 pub color_provider: Option<
5135 BooleanOrDocumentColorOptionsOrDocumentColorRegistrationOptions,
5136 >,
5137 #[serde(rename = "workspaceSymbolProvider")]
5139 #[serde(default)]
5140 pub workspace_symbol_provider: Option<BooleanOrWorkspaceSymbolOptions>,
5141 #[serde(rename = "documentFormattingProvider")]
5143 #[serde(default)]
5144 pub document_formatting_provider: Option<BooleanOrDocumentFormattingOptions>,
5145 #[serde(rename = "documentRangeFormattingProvider")]
5147 #[serde(default)]
5148 pub document_range_formatting_provider: Option<
5149 BooleanOrDocumentRangeFormattingOptions,
5150 >,
5151 #[serde(rename = "documentOnTypeFormattingProvider")]
5153 #[serde(default)]
5154 pub document_on_type_formatting_provider: Option<DocumentOnTypeFormattingOptions>,
5155 #[serde(rename = "renameProvider")]
5159 #[serde(default)]
5160 pub rename_provider: Option<BooleanOrRenameOptions>,
5161 #[serde(rename = "foldingRangeProvider")]
5163 #[serde(default)]
5164 pub folding_range_provider: Option<
5165 BooleanOrFoldingRangeOptionsOrFoldingRangeRegistrationOptions,
5166 >,
5167 #[serde(rename = "selectionRangeProvider")]
5169 #[serde(default)]
5170 pub selection_range_provider: Option<
5171 BooleanOrSelectionRangeOptionsOrSelectionRangeRegistrationOptions,
5172 >,
5173 #[serde(rename = "executeCommandProvider")]
5175 #[serde(default)]
5176 pub execute_command_provider: Option<ExecuteCommandOptions>,
5177 #[serde(rename = "callHierarchyProvider")]
5181 #[serde(default)]
5182 pub call_hierarchy_provider: Option<
5183 BooleanOrCallHierarchyOptionsOrCallHierarchyRegistrationOptions,
5184 >,
5185 #[serde(rename = "linkedEditingRangeProvider")]
5189 #[serde(default)]
5190 pub linked_editing_range_provider: Option<
5191 BooleanOrLinkedEditingRangeOptionsOrLinkedEditingRangeRegistrationOptions,
5192 >,
5193 #[serde(rename = "semanticTokensProvider")]
5197 #[serde(default)]
5198 pub semantic_tokens_provider: Option<
5199 SemanticTokensOptionsOrSemanticTokensRegistrationOptions,
5200 >,
5201 #[serde(rename = "monikerProvider")]
5205 #[serde(default)]
5206 pub moniker_provider: Option<BooleanOrMonikerOptionsOrMonikerRegistrationOptions>,
5207 #[serde(rename = "typeHierarchyProvider")]
5211 #[serde(default)]
5212 pub type_hierarchy_provider: Option<
5213 BooleanOrTypeHierarchyOptionsOrTypeHierarchyRegistrationOptions,
5214 >,
5215 #[serde(rename = "inlineValueProvider")]
5219 #[serde(default)]
5220 pub inline_value_provider: Option<
5221 BooleanOrInlineValueOptionsOrInlineValueRegistrationOptions,
5222 >,
5223 #[serde(rename = "inlayHintProvider")]
5227 #[serde(default)]
5228 pub inlay_hint_provider: Option<
5229 BooleanOrInlayHintOptionsOrInlayHintRegistrationOptions,
5230 >,
5231 #[serde(rename = "diagnosticProvider")]
5235 #[serde(default)]
5236 pub diagnostic_provider: Option<DiagnosticOptionsOrDiagnosticRegistrationOptions>,
5237 #[serde(rename = "inlineCompletionProvider")]
5241 #[serde(default)]
5242 pub inline_completion_provider: Option<BooleanOrInlineCompletionOptions>,
5243 #[serde(default)]
5245 pub workspace: Option<WorkspaceOptions>,
5246 #[serde(default)]
5248 pub experimental: Option<LSPAny>,
5249}
5250#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5255#[serde(rename_all = "camelCase")]
5256pub struct ServerInfo {
5257 pub name: String,
5259 #[serde(default)]
5261 pub version: Option<String>,
5262}
5263#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5265#[serde(rename_all = "camelCase")]
5266pub struct VersionedTextDocumentIdentifier {
5267 #[serde(flatten)]
5268 pub text_document_identifier_base: TextDocumentIdentifier,
5269 pub version: Integer,
5271}
5272#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5274#[serde(rename_all = "camelCase")]
5275pub struct SaveOptions {
5276 #[serde(rename = "includeText")]
5278 #[serde(default)]
5279 pub include_text: Option<bool>,
5280}
5281#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5283#[serde(rename_all = "camelCase")]
5284pub struct FileEvent {
5285 pub uri: DocumentUri,
5287 pub type_: FileChangeType,
5289}
5290#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5291#[serde(rename_all = "camelCase")]
5292pub struct FileSystemWatcher {
5293 #[serde(rename = "globPattern")]
5297 pub glob_pattern: GlobPattern,
5298 #[serde(default)]
5302 pub kind: Option<WatchKind>,
5303}
5304#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5307#[serde(rename_all = "camelCase")]
5308pub struct Diagnostic {
5309 pub range: Range,
5311 #[serde(default)]
5315 pub severity: Option<DiagnosticSeverity>,
5316 #[serde(default)]
5318 pub code: Option<IntegerOrString>,
5319 #[serde(rename = "codeDescription")]
5324 #[serde(default)]
5325 pub code_description: Option<CodeDescription>,
5326 #[serde(default)]
5330 pub source: Option<String>,
5331 pub message: MarkupContentOrString,
5336 #[serde(default)]
5340 pub tags: Option<Vec<DiagnosticTag>>,
5341 #[serde(rename = "relatedInformation")]
5344 #[serde(default)]
5345 pub related_information: Option<Vec<DiagnosticRelatedInformation>>,
5346 #[serde(default)]
5351 pub data: Option<LSPAny>,
5352}
5353#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5355#[serde(rename_all = "camelCase")]
5356pub struct CompletionContext {
5357 #[serde(rename = "triggerKind")]
5359 pub trigger_kind: CompletionTriggerKind,
5360 #[serde(rename = "triggerCharacter")]
5363 #[serde(default)]
5364 pub trigger_character: Option<String>,
5365}
5366#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5370#[serde(rename_all = "camelCase")]
5371pub struct CompletionItemLabelDetails {
5372 #[serde(default)]
5375 pub detail: Option<String>,
5376 #[serde(default)]
5379 pub description: Option<String>,
5380}
5381#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5385#[serde(rename_all = "camelCase")]
5386pub struct InsertReplaceEdit {
5387 #[serde(rename = "newText")]
5389 pub new_text: String,
5390 pub insert: Range,
5392 pub replace: Range,
5394}
5395#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5411#[serde(rename_all = "camelCase")]
5412pub struct CompletionItemDefaults {
5413 #[serde(rename = "commitCharacters")]
5417 #[serde(default)]
5418 pub commit_characters: Option<Vec<String>>,
5419 #[serde(rename = "editRange")]
5423 #[serde(default)]
5424 pub edit_range: Option<EditRangeWithInsertReplaceOrRange>,
5425 #[serde(rename = "insertTextFormat")]
5429 #[serde(default)]
5430 pub insert_text_format: Option<InsertTextFormat>,
5431 #[serde(rename = "insertTextMode")]
5435 #[serde(default)]
5436 pub insert_text_mode: Option<InsertTextMode>,
5437 #[serde(default)]
5441 pub data: Option<LSPAny>,
5442}
5443#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5461#[serde(rename_all = "camelCase")]
5462pub struct CompletionItemApplyKinds {
5463 #[serde(rename = "commitCharacters")]
5479 #[serde(default)]
5480 pub commit_characters: Option<ApplyKind>,
5481 #[serde(default)]
5504 pub data: Option<ApplyKind>,
5505}
5506#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5508#[serde(rename_all = "camelCase")]
5509pub struct CompletionOptions {
5510 #[serde(flatten)]
5511 pub work_done_progress_options_mixin: WorkDoneProgressOptions,
5512 #[serde(rename = "triggerCharacters")]
5521 #[serde(default)]
5522 pub trigger_characters: Option<Vec<String>>,
5523 #[serde(rename = "allCommitCharacters")]
5532 #[serde(default)]
5533 pub all_commit_characters: Option<Vec<String>>,
5534 #[serde(rename = "resolveProvider")]
5537 #[serde(default)]
5538 pub resolve_provider: Option<bool>,
5539 #[serde(rename = "completionItem")]
5544 #[serde(default)]
5545 pub completion_item: Option<ServerCompletionItemOptions>,
5546}
5547#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5549#[serde(rename_all = "camelCase")]
5550pub struct HoverOptions {
5551 #[serde(flatten)]
5552 pub work_done_progress_options_mixin: WorkDoneProgressOptions,
5553}
5554#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5558#[serde(rename_all = "camelCase")]
5559pub struct SignatureHelpContext {
5560 #[serde(rename = "triggerKind")]
5562 pub trigger_kind: SignatureHelpTriggerKind,
5563 #[serde(rename = "triggerCharacter")]
5567 #[serde(default)]
5568 pub trigger_character: Option<String>,
5569 #[serde(rename = "isRetrigger")]
5574 pub is_retrigger: bool,
5575 #[serde(rename = "activeSignatureHelp")]
5580 #[serde(default)]
5581 pub active_signature_help: Option<SignatureHelp>,
5582}
5583#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5587#[serde(rename_all = "camelCase")]
5588pub struct SignatureInformation {
5589 pub label: String,
5592 #[serde(default)]
5595 pub documentation: Option<MarkupContentOrString>,
5596 #[serde(default)]
5598 pub parameters: Option<Vec<ParameterInformation>>,
5599 #[serde(rename = "activeParameter")]
5611 #[serde(default)]
5612 pub active_parameter: Option<Option<Uinteger>>,
5613}
5614#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5616#[serde(rename_all = "camelCase")]
5617pub struct SignatureHelpOptions {
5618 #[serde(flatten)]
5619 pub work_done_progress_options_mixin: WorkDoneProgressOptions,
5620 #[serde(rename = "triggerCharacters")]
5622 #[serde(default)]
5623 pub trigger_characters: Option<Vec<String>>,
5624 #[serde(rename = "retriggerCharacters")]
5631 #[serde(default)]
5632 pub retrigger_characters: Option<Vec<String>>,
5633}
5634#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5636#[serde(rename_all = "camelCase")]
5637pub struct DefinitionOptions {
5638 #[serde(flatten)]
5639 pub work_done_progress_options_mixin: WorkDoneProgressOptions,
5640}
5641#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5644#[serde(rename_all = "camelCase")]
5645pub struct ReferenceContext {
5646 #[serde(rename = "includeDeclaration")]
5648 pub include_declaration: bool,
5649}
5650#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5652#[serde(rename_all = "camelCase")]
5653pub struct ReferenceOptions {
5654 #[serde(flatten)]
5655 pub work_done_progress_options_mixin: WorkDoneProgressOptions,
5656}
5657#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5659#[serde(rename_all = "camelCase")]
5660pub struct DocumentHighlightOptions {
5661 #[serde(flatten)]
5662 pub work_done_progress_options_mixin: WorkDoneProgressOptions,
5663}
5664#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5666#[serde(rename_all = "camelCase")]
5667pub struct BaseSymbolInformation {
5668 pub name: String,
5670 pub kind: SymbolKind,
5672 #[serde(default)]
5676 pub tags: Option<Vec<SymbolTag>>,
5677 #[serde(rename = "containerName")]
5682 #[serde(default)]
5683 pub container_name: Option<String>,
5684}
5685#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5687#[serde(rename_all = "camelCase")]
5688pub struct DocumentSymbolOptions {
5689 #[serde(flatten)]
5690 pub work_done_progress_options_mixin: WorkDoneProgressOptions,
5691 #[serde(default)]
5696 pub label: Option<String>,
5697}
5698#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5701#[serde(rename_all = "camelCase")]
5702pub struct CodeActionContext {
5703 pub diagnostics: Vec<Diagnostic>,
5709 #[serde(default)]
5714 pub only: Option<Vec<CodeActionKind>>,
5715 #[serde(rename = "triggerKind")]
5719 #[serde(default)]
5720 pub trigger_kind: Option<CodeActionTriggerKind>,
5721}
5722#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5726#[serde(rename_all = "camelCase")]
5727pub struct CodeActionDisabled {
5728 pub reason: String,
5732}
5733#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5735#[serde(rename_all = "camelCase")]
5736pub struct CodeActionOptions {
5737 #[serde(flatten)]
5738 pub work_done_progress_options_mixin: WorkDoneProgressOptions,
5739 #[serde(rename = "codeActionKinds")]
5744 #[serde(default)]
5745 pub code_action_kinds: Option<Vec<CodeActionKind>>,
5746 #[serde(default)]
5761 pub documentation: Option<Vec<CodeActionKindDocumentation>>,
5762 #[serde(rename = "resolveProvider")]
5767 #[serde(default)]
5768 pub resolve_provider: Option<bool>,
5769}
5770#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5774#[serde(rename_all = "camelCase")]
5775pub struct LocationUriOnly {
5776 pub uri: DocumentUri,
5777}
5778#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5780#[serde(rename_all = "camelCase")]
5781pub struct WorkspaceSymbolOptions {
5782 #[serde(flatten)]
5783 pub work_done_progress_options_mixin: WorkDoneProgressOptions,
5784 #[serde(rename = "resolveProvider")]
5789 #[serde(default)]
5790 pub resolve_provider: Option<bool>,
5791}
5792#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5794#[serde(rename_all = "camelCase")]
5795pub struct CodeLensOptions {
5796 #[serde(flatten)]
5797 pub work_done_progress_options_mixin: WorkDoneProgressOptions,
5798 #[serde(rename = "resolveProvider")]
5800 #[serde(default)]
5801 pub resolve_provider: Option<bool>,
5802}
5803#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5805#[serde(rename_all = "camelCase")]
5806pub struct DocumentLinkOptions {
5807 #[serde(flatten)]
5808 pub work_done_progress_options_mixin: WorkDoneProgressOptions,
5809 #[serde(rename = "resolveProvider")]
5811 #[serde(default)]
5812 pub resolve_provider: Option<bool>,
5813}
5814#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5816#[serde(rename_all = "camelCase")]
5817pub struct FormattingOptions {
5818 #[serde(rename = "tabSize")]
5820 pub tab_size: Uinteger,
5821 #[serde(rename = "insertSpaces")]
5823 pub insert_spaces: bool,
5824 #[serde(rename = "trimTrailingWhitespace")]
5828 #[serde(default)]
5829 pub trim_trailing_whitespace: Option<bool>,
5830 #[serde(rename = "insertFinalNewline")]
5834 #[serde(default)]
5835 pub insert_final_newline: Option<bool>,
5836 #[serde(rename = "trimFinalNewlines")]
5840 #[serde(default)]
5841 pub trim_final_newlines: Option<bool>,
5842}
5843#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5845#[serde(rename_all = "camelCase")]
5846pub struct DocumentFormattingOptions {
5847 #[serde(flatten)]
5848 pub work_done_progress_options_mixin: WorkDoneProgressOptions,
5849}
5850#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5852#[serde(rename_all = "camelCase")]
5853pub struct DocumentRangeFormattingOptions {
5854 #[serde(flatten)]
5855 pub work_done_progress_options_mixin: WorkDoneProgressOptions,
5856 #[serde(rename = "rangesSupport")]
5860 #[serde(default)]
5861 pub ranges_support: Option<bool>,
5862}
5863#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5865#[serde(rename_all = "camelCase")]
5866pub struct DocumentOnTypeFormattingOptions {
5867 #[serde(rename = "firstTriggerCharacter")]
5869 pub first_trigger_character: String,
5870 #[serde(rename = "moreTriggerCharacter")]
5872 #[serde(default)]
5873 pub more_trigger_character: Option<Vec<String>>,
5874}
5875#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5877#[serde(rename_all = "camelCase")]
5878pub struct RenameOptions {
5879 #[serde(flatten)]
5880 pub work_done_progress_options_mixin: WorkDoneProgressOptions,
5881 #[serde(rename = "prepareProvider")]
5885 #[serde(default)]
5886 pub prepare_provider: Option<bool>,
5887}
5888#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5890#[serde(rename_all = "camelCase")]
5891pub struct PrepareRenamePlaceholder {
5892 pub range: Range,
5893 pub placeholder: String,
5894}
5895#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5897#[serde(rename_all = "camelCase")]
5898pub struct PrepareRenameDefaultBehavior {
5899 #[serde(rename = "defaultBehavior")]
5900 pub default_behavior: bool,
5901}
5902#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5904#[serde(rename_all = "camelCase")]
5905pub struct ExecuteCommandOptions {
5906 #[serde(flatten)]
5907 pub work_done_progress_options_mixin: WorkDoneProgressOptions,
5908 pub commands: Vec<String>,
5910}
5911#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5915#[serde(rename_all = "camelCase")]
5916pub struct WorkspaceEditMetadata {
5917 #[serde(rename = "isRefactoring")]
5919 #[serde(default)]
5920 pub is_refactoring: Option<bool>,
5921}
5922#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5924#[serde(rename_all = "camelCase")]
5925pub struct SemanticTokensLegend {
5926 #[serde(rename = "tokenTypes")]
5928 pub token_types: Vec<String>,
5929 #[serde(rename = "tokenModifiers")]
5931 pub token_modifiers: Vec<String>,
5932}
5933#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5937#[serde(rename_all = "camelCase")]
5938pub struct SemanticTokensFullDelta {
5939 #[serde(default)]
5941 pub delta: Option<bool>,
5942}
5943#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5945#[serde(rename_all = "camelCase")]
5946pub struct OptionalVersionedTextDocumentIdentifier {
5947 #[serde(flatten)]
5948 pub text_document_identifier_base: TextDocumentIdentifier,
5949 pub version: Option<Integer>,
5955}
5956#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5960#[serde(rename_all = "camelCase")]
5961pub struct AnnotatedTextEdit {
5962 #[serde(flatten)]
5963 pub text_edit_base: TextEdit,
5964 #[serde(rename = "annotationId")]
5966 pub annotation_id: ChangeAnnotationIdentifier,
5967}
5968#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5972#[serde(rename_all = "camelCase")]
5973pub struct SnippetTextEdit {
5974 pub range: Range,
5976 pub snippet: StringValue,
5978 #[serde(rename = "annotationId")]
5980 #[serde(default)]
5981 pub annotation_id: Option<ChangeAnnotationIdentifier>,
5982}
5983#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5985#[serde(rename_all = "camelCase")]
5986pub struct ResourceOperation {
5987 pub kind: String,
5989 #[serde(rename = "annotationId")]
5993 #[serde(default)]
5994 pub annotation_id: Option<ChangeAnnotationIdentifier>,
5995}
5996#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5998#[serde(rename_all = "camelCase")]
5999pub struct CreateFileOptions {
6000 #[serde(default)]
6002 pub overwrite: Option<bool>,
6003 #[serde(rename = "ignoreIfExists")]
6005 #[serde(default)]
6006 pub ignore_if_exists: Option<bool>,
6007}
6008#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6010#[serde(rename_all = "camelCase")]
6011pub struct RenameFileOptions {
6012 #[serde(default)]
6014 pub overwrite: Option<bool>,
6015 #[serde(rename = "ignoreIfExists")]
6017 #[serde(default)]
6018 pub ignore_if_exists: Option<bool>,
6019}
6020#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6022#[serde(rename_all = "camelCase")]
6023pub struct DeleteFileOptions {
6024 #[serde(default)]
6026 pub recursive: Option<bool>,
6027 #[serde(rename = "ignoreIfNotExists")]
6029 #[serde(default)]
6030 pub ignore_if_not_exists: Option<bool>,
6031}
6032#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6037#[serde(rename_all = "camelCase")]
6038pub struct FileOperationPattern {
6039 #[doc = "The glob pattern to match. Glob patterns can have the following syntax:\n- `*` to match zero or more characters in a path segment\n- `?` to match on one character in a path segment\n- `**` to match any number of path segments, including none\n- `{}` to group sub patterns into an OR expression. (e.g. `**\u{200b}/*.{ts,js}` matches all TypeScript and JavaScript files)\n- `[]` to declare a range of characters to match in a path segment (e.g., `example.[0-9]` to match on `example.0`, `example.1`, …)\n- `[!...]` to negate a range of characters to match in a path segment (e.g., `example.[!0-9]` to match on `example.a`, `example.b`, but not `example.0`)"]
6040 pub glob: String,
6041 #[serde(default)]
6045 pub matches: Option<FileOperationPatternKind>,
6046 #[serde(default)]
6048 pub options: Option<FileOperationPatternOptions>,
6049}
6050#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6054#[serde(rename_all = "camelCase")]
6055pub struct WorkspaceFullDocumentDiagnosticReport {
6056 #[serde(flatten)]
6057 pub full_document_diagnostic_report_base: FullDocumentDiagnosticReport,
6058 pub uri: DocumentUri,
6060 pub version: Option<Integer>,
6063}
6064#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6068#[serde(rename_all = "camelCase")]
6069pub struct WorkspaceUnchangedDocumentDiagnosticReport {
6070 #[serde(flatten)]
6071 pub unchanged_document_diagnostic_report_base: UnchangedDocumentDiagnosticReport,
6072 pub uri: DocumentUri,
6074 pub version: Option<Integer>,
6077}
6078#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6086#[serde(rename_all = "camelCase")]
6087pub struct NotebookCell {
6088 pub kind: NotebookCellKind,
6090 pub document: DocumentUri,
6093 #[serde(default)]
6097 pub metadata: Option<LSPObject>,
6098 #[serde(rename = "executionSummary")]
6101 #[serde(default)]
6102 pub execution_summary: Option<ExecutionSummary>,
6103}
6104#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6106#[serde(rename_all = "camelCase")]
6107pub struct NotebookDocumentFilterWithNotebook {
6108 pub notebook: NotebookDocumentFilterOrString,
6112 #[serde(default)]
6114 pub cells: Option<Vec<NotebookCellLanguage>>,
6115}
6116#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6118#[serde(rename_all = "camelCase")]
6119pub struct NotebookDocumentFilterWithCells {
6120 #[serde(default)]
6124 pub notebook: Option<NotebookDocumentFilterOrString>,
6125 pub cells: Vec<NotebookCellLanguage>,
6127}
6128#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6132#[serde(rename_all = "camelCase")]
6133pub struct NotebookDocumentCellChanges {
6134 #[serde(default)]
6137 pub structure: Option<NotebookDocumentCellChangeStructure>,
6138 #[serde(default)]
6141 pub data: Option<Vec<NotebookCell>>,
6142 #[serde(rename = "textContent")]
6144 #[serde(default)]
6145 pub text_content: Option<Vec<NotebookDocumentCellContentChanges>>,
6146}
6147#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6151#[serde(rename_all = "camelCase")]
6152pub struct SelectedCompletionInfo {
6153 pub range: Range,
6155 pub text: String,
6157}
6158#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6163#[serde(rename_all = "camelCase")]
6164pub struct ClientInfo {
6165 pub name: String,
6167 #[serde(default)]
6169 pub version: Option<String>,
6170}
6171#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6173#[serde(rename_all = "camelCase")]
6174pub struct ClientCapabilities {
6175 #[serde(default)]
6177 pub workspace: Option<WorkspaceClientCapabilities>,
6178 #[serde(rename = "textDocument")]
6180 #[serde(default)]
6181 pub text_document: Option<TextDocumentClientCapabilities>,
6182 #[serde(rename = "notebookDocument")]
6186 #[serde(default)]
6187 pub notebook_document: Option<NotebookDocumentClientCapabilities>,
6188 #[serde(default)]
6190 pub window: Option<WindowClientCapabilities>,
6191 #[serde(default)]
6195 pub general: Option<GeneralClientCapabilities>,
6196 #[serde(default)]
6198 pub experimental: Option<LSPAny>,
6199}
6200#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6201#[serde(rename_all = "camelCase")]
6202pub struct TextDocumentSyncOptions {
6203 #[serde(rename = "openClose")]
6206 #[serde(default)]
6207 pub open_close: Option<bool>,
6208 #[serde(default)]
6211 pub change: Option<TextDocumentSyncKind>,
6212 #[serde(rename = "willSave")]
6215 #[serde(default)]
6216 pub will_save: Option<bool>,
6217 #[serde(rename = "willSaveWaitUntil")]
6220 #[serde(default)]
6221 pub will_save_wait_until: Option<bool>,
6222 #[serde(default)]
6225 pub save: Option<BooleanOrSaveOptions>,
6226}
6227#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6231#[serde(rename_all = "camelCase")]
6232pub struct WorkspaceOptions {
6233 #[serde(rename = "workspaceFolders")]
6237 #[serde(default)]
6238 pub workspace_folders: Option<WorkspaceFoldersServerCapabilities>,
6239 #[serde(rename = "fileOperations")]
6243 #[serde(default)]
6244 pub file_operations: Option<FileOperationOptions>,
6245 #[serde(rename = "textDocumentContent")]
6249 #[serde(default)]
6250 pub text_document_content: Option<
6251 TextDocumentContentOptionsOrTextDocumentContentRegistrationOptions,
6252 >,
6253}
6254#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6256#[serde(rename_all = "camelCase")]
6257pub struct TextDocumentContentChangePartial {
6258 pub range: Range,
6260 #[serde(rename = "rangeLength")]
6264 #[serde(default)]
6265 pub range_length: Option<Uinteger>,
6266 pub text: String,
6268}
6269#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6271#[serde(rename_all = "camelCase")]
6272pub struct TextDocumentContentChangeWholeDocument {
6273 pub text: String,
6275}
6276#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6280#[serde(rename_all = "camelCase")]
6281pub struct CodeDescription {
6282 pub href: URI,
6284}
6285#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6289#[serde(rename_all = "camelCase")]
6290pub struct DiagnosticRelatedInformation {
6291 pub location: Location,
6293 pub message: String,
6295}
6296#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6300#[serde(rename_all = "camelCase")]
6301pub struct EditRangeWithInsertReplace {
6302 pub insert: Range,
6303 pub replace: Range,
6304}
6305#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6307#[serde(rename_all = "camelCase")]
6308pub struct ServerCompletionItemOptions {
6309 #[serde(rename = "labelDetailsSupport")]
6315 #[serde(default)]
6316 pub label_details_support: Option<bool>,
6317}
6318#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6321#[serde(rename_all = "camelCase")]
6322pub struct MarkedStringWithLanguage {
6323 pub language: String,
6324 pub value: String,
6325}
6326#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6329#[serde(rename_all = "camelCase")]
6330pub struct ParameterInformation {
6331 pub label: StringOrTupleOfUintegerAndUinteger,
6344 #[serde(default)]
6347 pub documentation: Option<MarkupContentOrString>,
6348}
6349#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6353#[serde(rename_all = "camelCase")]
6354pub struct CodeActionKindDocumentation {
6355 pub kind: CodeActionKind,
6361 pub command: Command,
6365}
6366#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6371#[serde(rename_all = "camelCase")]
6372pub struct NotebookCellTextDocumentFilter {
6373 pub notebook: NotebookDocumentFilterOrString,
6378 #[serde(default)]
6383 pub language: Option<String>,
6384}
6385#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6389#[serde(rename_all = "camelCase")]
6390pub struct FileOperationPatternOptions {
6391 #[serde(rename = "ignoreCase")]
6393 #[serde(default)]
6394 pub ignore_case: Option<bool>,
6395}
6396#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6397#[serde(rename_all = "camelCase")]
6398pub struct ExecutionSummary {
6399 #[serde(rename = "executionOrder")]
6403 pub execution_order: Uinteger,
6404 #[serde(default)]
6407 pub success: Option<bool>,
6408}
6409#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6411#[serde(rename_all = "camelCase")]
6412pub struct NotebookCellLanguage {
6413 pub language: String,
6414}
6415#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6419#[serde(rename_all = "camelCase")]
6420pub struct NotebookDocumentCellChangeStructure {
6421 pub array: NotebookCellArrayChange,
6423 #[serde(rename = "didOpen")]
6425 #[serde(default)]
6426 pub did_open: Option<Vec<TextDocumentItem>>,
6427 #[serde(rename = "didClose")]
6429 #[serde(default)]
6430 pub did_close: Option<Vec<TextDocumentIdentifier>>,
6431}
6432#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6436#[serde(rename_all = "camelCase")]
6437pub struct NotebookDocumentCellContentChanges {
6438 pub document: VersionedTextDocumentIdentifier,
6439 pub changes: Vec<TextDocumentContentChangeEvent>,
6440}
6441#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6443#[serde(rename_all = "camelCase")]
6444pub struct WorkspaceClientCapabilities {
6445 #[serde(rename = "applyEdit")]
6449 #[serde(default)]
6450 pub apply_edit: Option<bool>,
6451 #[serde(rename = "workspaceEdit")]
6453 #[serde(default)]
6454 pub workspace_edit: Option<WorkspaceEditClientCapabilities>,
6455 #[serde(rename = "didChangeConfiguration")]
6457 #[serde(default)]
6458 pub did_change_configuration: Option<DidChangeConfigurationClientCapabilities>,
6459 #[serde(rename = "didChangeWatchedFiles")]
6461 #[serde(default)]
6462 pub did_change_watched_files: Option<DidChangeWatchedFilesClientCapabilities>,
6463 #[serde(default)]
6465 pub symbol: Option<WorkspaceSymbolClientCapabilities>,
6466 #[serde(rename = "executeCommand")]
6468 #[serde(default)]
6469 pub execute_command: Option<ExecuteCommandClientCapabilities>,
6470 #[serde(rename = "workspaceFolders")]
6474 #[serde(default)]
6475 pub workspace_folders: Option<bool>,
6476 #[serde(default)]
6480 pub configuration: Option<bool>,
6481 #[serde(rename = "semanticTokens")]
6486 #[serde(default)]
6487 pub semantic_tokens: Option<SemanticTokensWorkspaceClientCapabilities>,
6488 #[serde(rename = "codeLens")]
6493 #[serde(default)]
6494 pub code_lens: Option<CodeLensWorkspaceClientCapabilities>,
6495 #[serde(rename = "fileOperations")]
6499 #[serde(default)]
6500 pub file_operations: Option<FileOperationClientCapabilities>,
6501 #[serde(rename = "inlineValue")]
6506 #[serde(default)]
6507 pub inline_value: Option<InlineValueWorkspaceClientCapabilities>,
6508 #[serde(rename = "inlayHint")]
6513 #[serde(default)]
6514 pub inlay_hint: Option<InlayHintWorkspaceClientCapabilities>,
6515 #[serde(default)]
6520 pub diagnostics: Option<DiagnosticWorkspaceClientCapabilities>,
6521 #[serde(rename = "foldingRange")]
6525 #[serde(default)]
6526 pub folding_range: Option<FoldingRangeWorkspaceClientCapabilities>,
6527 #[serde(rename = "textDocumentContent")]
6531 #[serde(default)]
6532 pub text_document_content: Option<TextDocumentContentClientCapabilities>,
6533}
6534#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6536#[serde(rename_all = "camelCase")]
6537pub struct TextDocumentClientCapabilities {
6538 #[serde(default)]
6540 pub synchronization: Option<TextDocumentSyncClientCapabilities>,
6541 #[serde(default)]
6545 pub filters: Option<TextDocumentFilterClientCapabilities>,
6546 #[serde(default)]
6548 pub completion: Option<CompletionClientCapabilities>,
6549 #[serde(default)]
6551 pub hover: Option<HoverClientCapabilities>,
6552 #[serde(rename = "signatureHelp")]
6554 #[serde(default)]
6555 pub signature_help: Option<SignatureHelpClientCapabilities>,
6556 #[serde(default)]
6560 pub declaration: Option<DeclarationClientCapabilities>,
6561 #[serde(default)]
6563 pub definition: Option<DefinitionClientCapabilities>,
6564 #[serde(rename = "typeDefinition")]
6568 #[serde(default)]
6569 pub type_definition: Option<TypeDefinitionClientCapabilities>,
6570 #[serde(default)]
6574 pub implementation: Option<ImplementationClientCapabilities>,
6575 #[serde(default)]
6577 pub references: Option<ReferenceClientCapabilities>,
6578 #[serde(rename = "documentHighlight")]
6580 #[serde(default)]
6581 pub document_highlight: Option<DocumentHighlightClientCapabilities>,
6582 #[serde(rename = "documentSymbol")]
6584 #[serde(default)]
6585 pub document_symbol: Option<DocumentSymbolClientCapabilities>,
6586 #[serde(rename = "codeAction")]
6588 #[serde(default)]
6589 pub code_action: Option<CodeActionClientCapabilities>,
6590 #[serde(rename = "codeLens")]
6592 #[serde(default)]
6593 pub code_lens: Option<CodeLensClientCapabilities>,
6594 #[serde(rename = "documentLink")]
6596 #[serde(default)]
6597 pub document_link: Option<DocumentLinkClientCapabilities>,
6598 #[serde(rename = "colorProvider")]
6603 #[serde(default)]
6604 pub color_provider: Option<DocumentColorClientCapabilities>,
6605 #[serde(default)]
6607 pub formatting: Option<DocumentFormattingClientCapabilities>,
6608 #[serde(rename = "rangeFormatting")]
6610 #[serde(default)]
6611 pub range_formatting: Option<DocumentRangeFormattingClientCapabilities>,
6612 #[serde(rename = "onTypeFormatting")]
6614 #[serde(default)]
6615 pub on_type_formatting: Option<DocumentOnTypeFormattingClientCapabilities>,
6616 #[serde(default)]
6618 pub rename: Option<RenameClientCapabilities>,
6619 #[serde(rename = "foldingRange")]
6623 #[serde(default)]
6624 pub folding_range: Option<FoldingRangeClientCapabilities>,
6625 #[serde(rename = "selectionRange")]
6629 #[serde(default)]
6630 pub selection_range: Option<SelectionRangeClientCapabilities>,
6631 #[serde(rename = "publishDiagnostics")]
6633 #[serde(default)]
6634 pub publish_diagnostics: Option<PublishDiagnosticsClientCapabilities>,
6635 #[serde(rename = "callHierarchy")]
6639 #[serde(default)]
6640 pub call_hierarchy: Option<CallHierarchyClientCapabilities>,
6641 #[serde(rename = "semanticTokens")]
6645 #[serde(default)]
6646 pub semantic_tokens: Option<SemanticTokensClientCapabilities>,
6647 #[serde(rename = "linkedEditingRange")]
6651 #[serde(default)]
6652 pub linked_editing_range: Option<LinkedEditingRangeClientCapabilities>,
6653 #[serde(default)]
6657 pub moniker: Option<MonikerClientCapabilities>,
6658 #[serde(rename = "typeHierarchy")]
6662 #[serde(default)]
6663 pub type_hierarchy: Option<TypeHierarchyClientCapabilities>,
6664 #[serde(rename = "inlineValue")]
6668 #[serde(default)]
6669 pub inline_value: Option<InlineValueClientCapabilities>,
6670 #[serde(rename = "inlayHint")]
6674 #[serde(default)]
6675 pub inlay_hint: Option<InlayHintClientCapabilities>,
6676 #[serde(default)]
6680 pub diagnostic: Option<DiagnosticClientCapabilities>,
6681 #[serde(rename = "inlineCompletion")]
6685 #[serde(default)]
6686 pub inline_completion: Option<InlineCompletionClientCapabilities>,
6687}
6688#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6692#[serde(rename_all = "camelCase")]
6693pub struct NotebookDocumentClientCapabilities {
6694 pub synchronization: NotebookDocumentSyncClientCapabilities,
6698}
6699#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6700#[serde(rename_all = "camelCase")]
6701pub struct WindowClientCapabilities {
6702 #[serde(rename = "workDoneProgress")]
6712 #[serde(default)]
6713 pub work_done_progress: Option<bool>,
6714 #[serde(rename = "showMessage")]
6718 #[serde(default)]
6719 pub show_message: Option<ShowMessageRequestClientCapabilities>,
6720 #[serde(rename = "showDocument")]
6724 #[serde(default)]
6725 pub show_document: Option<ShowDocumentClientCapabilities>,
6726}
6727#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6731#[serde(rename_all = "camelCase")]
6732pub struct GeneralClientCapabilities {
6733 #[serde(rename = "staleRequestSupport")]
6740 #[serde(default)]
6741 pub stale_request_support: Option<StaleRequestSupportOptions>,
6742 #[serde(rename = "regularExpressions")]
6746 #[serde(default)]
6747 pub regular_expressions: Option<RegularExpressionsClientCapabilities>,
6748 #[serde(default)]
6752 pub markdown: Option<MarkdownClientCapabilities>,
6753 #[serde(rename = "positionEncodings")]
6772 #[serde(default)]
6773 pub position_encodings: Option<Vec<PositionEncodingKind>>,
6774}
6775#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6776#[serde(rename_all = "camelCase")]
6777pub struct WorkspaceFoldersServerCapabilities {
6778 #[serde(default)]
6780 pub supported: Option<bool>,
6781 #[serde(rename = "changeNotifications")]
6789 #[serde(default)]
6790 pub change_notifications: Option<BooleanOrString>,
6791}
6792#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6796#[serde(rename_all = "camelCase")]
6797pub struct FileOperationOptions {
6798 #[serde(rename = "didCreate")]
6800 #[serde(default)]
6801 pub did_create: Option<FileOperationRegistrationOptions>,
6802 #[serde(rename = "willCreate")]
6804 #[serde(default)]
6805 pub will_create: Option<FileOperationRegistrationOptions>,
6806 #[serde(rename = "didRename")]
6808 #[serde(default)]
6809 pub did_rename: Option<FileOperationRegistrationOptions>,
6810 #[serde(rename = "willRename")]
6812 #[serde(default)]
6813 pub will_rename: Option<FileOperationRegistrationOptions>,
6814 #[serde(rename = "didDelete")]
6816 #[serde(default)]
6817 pub did_delete: Option<FileOperationRegistrationOptions>,
6818 #[serde(rename = "willDelete")]
6820 #[serde(default)]
6821 pub will_delete: Option<FileOperationRegistrationOptions>,
6822}
6823#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6829#[serde(rename_all = "camelCase")]
6830pub struct RelativePattern {
6831 #[serde(rename = "baseUri")]
6834 pub base_uri: UriOrWorkspaceFolder,
6835 pub pattern: Pattern,
6837}
6838#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6842#[serde(rename_all = "camelCase")]
6843pub struct TextDocumentFilterLanguage {
6844 pub language: String,
6846 #[serde(default)]
6848 pub scheme: Option<String>,
6849 #[doc = "A glob pattern, like **\u{200b}/*.{ts,js}. See TextDocumentFilter for examples.\n\n@since 3.18.0 - support for relative patterns. Whether clients support\nrelative patterns depends on the client capability\n`textDocuments.filters.relativePatternSupport`."]
6850 #[serde(default)]
6851 pub pattern: Option<GlobPattern>,
6852}
6853#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6857#[serde(rename_all = "camelCase")]
6858pub struct TextDocumentFilterScheme {
6859 #[serde(default)]
6861 pub language: Option<String>,
6862 pub scheme: String,
6864 #[doc = "A glob pattern, like **\u{200b}/*.{ts,js}. See TextDocumentFilter for examples.\n\n@since 3.18.0 - support for relative patterns. Whether clients support\nrelative patterns depends on the client capability\n`textDocuments.filters.relativePatternSupport`."]
6865 #[serde(default)]
6866 pub pattern: Option<GlobPattern>,
6867}
6868#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6872#[serde(rename_all = "camelCase")]
6873pub struct TextDocumentFilterPattern {
6874 #[serde(default)]
6876 pub language: Option<String>,
6877 #[serde(default)]
6879 pub scheme: Option<String>,
6880 #[doc = "A glob pattern, like **\u{200b}/*.{ts,js}. See TextDocumentFilter for examples.\n\n@since 3.18.0 - support for relative patterns. Whether clients support\nrelative patterns depends on the client capability\n`textDocuments.filters.relativePatternSupport`."]
6881 pub pattern: GlobPattern,
6882}
6883#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6887#[serde(rename_all = "camelCase")]
6888pub struct NotebookDocumentFilterNotebookType {
6889 #[serde(rename = "notebookType")]
6891 pub notebook_type: String,
6892 #[serde(default)]
6894 pub scheme: Option<String>,
6895 #[serde(default)]
6897 pub pattern: Option<GlobPattern>,
6898}
6899#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6903#[serde(rename_all = "camelCase")]
6904pub struct NotebookDocumentFilterScheme {
6905 #[serde(rename = "notebookType")]
6907 #[serde(default)]
6908 pub notebook_type: Option<String>,
6909 pub scheme: String,
6911 #[serde(default)]
6913 pub pattern: Option<GlobPattern>,
6914}
6915#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6919#[serde(rename_all = "camelCase")]
6920pub struct NotebookDocumentFilterPattern {
6921 #[serde(rename = "notebookType")]
6923 #[serde(default)]
6924 pub notebook_type: Option<String>,
6925 #[serde(default)]
6927 pub scheme: Option<String>,
6928 pub pattern: GlobPattern,
6930}
6931#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6936#[serde(rename_all = "camelCase")]
6937pub struct NotebookCellArrayChange {
6938 pub start: Uinteger,
6940 #[serde(rename = "deleteCount")]
6942 pub delete_count: Uinteger,
6943 #[serde(default)]
6945 pub cells: Option<Vec<NotebookCell>>,
6946}
6947#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6948#[serde(rename_all = "camelCase")]
6949pub struct WorkspaceEditClientCapabilities {
6950 #[serde(rename = "documentChanges")]
6952 #[serde(default)]
6953 pub document_changes: Option<bool>,
6954 #[serde(rename = "resourceOperations")]
6959 #[serde(default)]
6960 pub resource_operations: Option<Vec<ResourceOperationKind>>,
6961 #[serde(rename = "failureHandling")]
6966 #[serde(default)]
6967 pub failure_handling: Option<FailureHandlingKind>,
6968 #[serde(rename = "normalizesLineEndings")]
6976 #[serde(default)]
6977 pub normalizes_line_endings: Option<bool>,
6978 #[serde(rename = "changeAnnotationSupport")]
6983 #[serde(default)]
6984 pub change_annotation_support: Option<ChangeAnnotationsSupportOptions>,
6985 #[serde(rename = "metadataSupport")]
6989 #[serde(default)]
6990 pub metadata_support: Option<bool>,
6991 #[serde(rename = "snippetEditSupport")]
6995 #[serde(default)]
6996 pub snippet_edit_support: Option<bool>,
6997}
6998#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6999#[serde(rename_all = "camelCase")]
7000pub struct DidChangeConfigurationClientCapabilities {
7001 #[serde(rename = "dynamicRegistration")]
7003 #[serde(default)]
7004 pub dynamic_registration: Option<bool>,
7005}
7006#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7007#[serde(rename_all = "camelCase")]
7008pub struct DidChangeWatchedFilesClientCapabilities {
7009 #[serde(rename = "dynamicRegistration")]
7013 #[serde(default)]
7014 pub dynamic_registration: Option<bool>,
7015 #[serde(rename = "relativePatternSupport")]
7020 #[serde(default)]
7021 pub relative_pattern_support: Option<bool>,
7022}
7023#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7025#[serde(rename_all = "camelCase")]
7026pub struct WorkspaceSymbolClientCapabilities {
7027 #[serde(rename = "dynamicRegistration")]
7029 #[serde(default)]
7030 pub dynamic_registration: Option<bool>,
7031 #[serde(rename = "symbolKind")]
7033 #[serde(default)]
7034 pub symbol_kind: Option<ClientSymbolKindOptions>,
7035 #[serde(rename = "tagSupport")]
7040 #[serde(default)]
7041 pub tag_support: Option<ClientSymbolTagOptions>,
7042 #[serde(rename = "resolveSupport")]
7048 #[serde(default)]
7049 pub resolve_support: Option<ClientSymbolResolveOptions>,
7050}
7051#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7053#[serde(rename_all = "camelCase")]
7054pub struct ExecuteCommandClientCapabilities {
7055 #[serde(rename = "dynamicRegistration")]
7057 #[serde(default)]
7058 pub dynamic_registration: Option<bool>,
7059}
7060#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7062#[serde(rename_all = "camelCase")]
7063pub struct SemanticTokensWorkspaceClientCapabilities {
7064 #[serde(rename = "refreshSupport")]
7072 #[serde(default)]
7073 pub refresh_support: Option<bool>,
7074}
7075#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7077#[serde(rename_all = "camelCase")]
7078pub struct CodeLensWorkspaceClientCapabilities {
7079 #[serde(rename = "refreshSupport")]
7087 #[serde(default)]
7088 pub refresh_support: Option<bool>,
7089}
7090#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7097#[serde(rename_all = "camelCase")]
7098pub struct FileOperationClientCapabilities {
7099 #[serde(rename = "dynamicRegistration")]
7101 #[serde(default)]
7102 pub dynamic_registration: Option<bool>,
7103 #[serde(rename = "didCreate")]
7105 #[serde(default)]
7106 pub did_create: Option<bool>,
7107 #[serde(rename = "willCreate")]
7109 #[serde(default)]
7110 pub will_create: Option<bool>,
7111 #[serde(rename = "didRename")]
7113 #[serde(default)]
7114 pub did_rename: Option<bool>,
7115 #[serde(rename = "willRename")]
7117 #[serde(default)]
7118 pub will_rename: Option<bool>,
7119 #[serde(rename = "didDelete")]
7121 #[serde(default)]
7122 pub did_delete: Option<bool>,
7123 #[serde(rename = "willDelete")]
7125 #[serde(default)]
7126 pub will_delete: Option<bool>,
7127}
7128#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7132#[serde(rename_all = "camelCase")]
7133pub struct InlineValueWorkspaceClientCapabilities {
7134 #[serde(rename = "refreshSupport")]
7142 #[serde(default)]
7143 pub refresh_support: Option<bool>,
7144}
7145#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7149#[serde(rename_all = "camelCase")]
7150pub struct InlayHintWorkspaceClientCapabilities {
7151 #[serde(rename = "refreshSupport")]
7159 #[serde(default)]
7160 pub refresh_support: Option<bool>,
7161}
7162#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7166#[serde(rename_all = "camelCase")]
7167pub struct DiagnosticWorkspaceClientCapabilities {
7168 #[serde(rename = "refreshSupport")]
7176 #[serde(default)]
7177 pub refresh_support: Option<bool>,
7178}
7179#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7183#[serde(rename_all = "camelCase")]
7184pub struct FoldingRangeWorkspaceClientCapabilities {
7185 #[serde(rename = "refreshSupport")]
7195 #[serde(default)]
7196 pub refresh_support: Option<bool>,
7197}
7198#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7202#[serde(rename_all = "camelCase")]
7203pub struct TextDocumentContentClientCapabilities {
7204 #[serde(rename = "dynamicRegistration")]
7206 #[serde(default)]
7207 pub dynamic_registration: Option<bool>,
7208}
7209#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7210#[serde(rename_all = "camelCase")]
7211pub struct TextDocumentSyncClientCapabilities {
7212 #[serde(rename = "dynamicRegistration")]
7214 #[serde(default)]
7215 pub dynamic_registration: Option<bool>,
7216 #[serde(rename = "willSave")]
7218 #[serde(default)]
7219 pub will_save: Option<bool>,
7220 #[serde(rename = "willSaveWaitUntil")]
7224 #[serde(default)]
7225 pub will_save_wait_until: Option<bool>,
7226 #[serde(rename = "didSave")]
7228 #[serde(default)]
7229 pub did_save: Option<bool>,
7230}
7231#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7232#[serde(rename_all = "camelCase")]
7233pub struct TextDocumentFilterClientCapabilities {
7234 #[serde(rename = "relativePatternSupport")]
7238 #[serde(default)]
7239 pub relative_pattern_support: Option<bool>,
7240}
7241#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7243#[serde(rename_all = "camelCase")]
7244pub struct CompletionClientCapabilities {
7245 #[serde(rename = "dynamicRegistration")]
7247 #[serde(default)]
7248 pub dynamic_registration: Option<bool>,
7249 #[serde(rename = "completionItem")]
7252 #[serde(default)]
7253 pub completion_item: Option<ClientCompletionItemOptions>,
7254 #[serde(rename = "completionItemKind")]
7256 #[serde(default)]
7257 pub completion_item_kind: Option<ClientCompletionItemOptionsKind>,
7258 #[serde(rename = "insertTextMode")]
7264 #[serde(default)]
7265 pub insert_text_mode: Option<InsertTextMode>,
7266 #[serde(rename = "contextSupport")]
7269 #[serde(default)]
7270 pub context_support: Option<bool>,
7271 #[serde(rename = "completionList")]
7276 #[serde(default)]
7277 pub completion_list: Option<CompletionListCapabilities>,
7278}
7279#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7280#[serde(rename_all = "camelCase")]
7281pub struct HoverClientCapabilities {
7282 #[serde(rename = "dynamicRegistration")]
7284 #[serde(default)]
7285 pub dynamic_registration: Option<bool>,
7286 #[serde(rename = "contentFormat")]
7289 #[serde(default)]
7290 pub content_format: Option<Vec<MarkupKind>>,
7291}
7292#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7294#[serde(rename_all = "camelCase")]
7295pub struct SignatureHelpClientCapabilities {
7296 #[serde(rename = "dynamicRegistration")]
7298 #[serde(default)]
7299 pub dynamic_registration: Option<bool>,
7300 #[serde(rename = "signatureInformation")]
7303 #[serde(default)]
7304 pub signature_information: Option<ClientSignatureInformationOptions>,
7305 #[serde(rename = "contextSupport")]
7312 #[serde(default)]
7313 pub context_support: Option<bool>,
7314}
7315#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7317#[serde(rename_all = "camelCase")]
7318pub struct DeclarationClientCapabilities {
7319 #[serde(rename = "dynamicRegistration")]
7323 #[serde(default)]
7324 pub dynamic_registration: Option<bool>,
7325 #[serde(rename = "linkSupport")]
7327 #[serde(default)]
7328 pub link_support: Option<bool>,
7329}
7330#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7332#[serde(rename_all = "camelCase")]
7333pub struct DefinitionClientCapabilities {
7334 #[serde(rename = "dynamicRegistration")]
7336 #[serde(default)]
7337 pub dynamic_registration: Option<bool>,
7338 #[serde(rename = "linkSupport")]
7342 #[serde(default)]
7343 pub link_support: Option<bool>,
7344}
7345#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7347#[serde(rename_all = "camelCase")]
7348pub struct TypeDefinitionClientCapabilities {
7349 #[serde(rename = "dynamicRegistration")]
7353 #[serde(default)]
7354 pub dynamic_registration: Option<bool>,
7355 #[serde(rename = "linkSupport")]
7359 #[serde(default)]
7360 pub link_support: Option<bool>,
7361}
7362#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7364#[serde(rename_all = "camelCase")]
7365pub struct ImplementationClientCapabilities {
7366 #[serde(rename = "dynamicRegistration")]
7370 #[serde(default)]
7371 pub dynamic_registration: Option<bool>,
7372 #[serde(rename = "linkSupport")]
7376 #[serde(default)]
7377 pub link_support: Option<bool>,
7378}
7379#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7381#[serde(rename_all = "camelCase")]
7382pub struct ReferenceClientCapabilities {
7383 #[serde(rename = "dynamicRegistration")]
7385 #[serde(default)]
7386 pub dynamic_registration: Option<bool>,
7387}
7388#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7390#[serde(rename_all = "camelCase")]
7391pub struct DocumentHighlightClientCapabilities {
7392 #[serde(rename = "dynamicRegistration")]
7394 #[serde(default)]
7395 pub dynamic_registration: Option<bool>,
7396}
7397#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7399#[serde(rename_all = "camelCase")]
7400pub struct DocumentSymbolClientCapabilities {
7401 #[serde(rename = "dynamicRegistration")]
7403 #[serde(default)]
7404 pub dynamic_registration: Option<bool>,
7405 #[serde(rename = "symbolKind")]
7408 #[serde(default)]
7409 pub symbol_kind: Option<ClientSymbolKindOptions>,
7410 #[serde(rename = "hierarchicalDocumentSymbolSupport")]
7412 #[serde(default)]
7413 pub hierarchical_document_symbol_support: Option<bool>,
7414 #[serde(rename = "tagSupport")]
7420 #[serde(default)]
7421 pub tag_support: Option<ClientSymbolTagOptions>,
7422 #[serde(rename = "labelSupport")]
7427 #[serde(default)]
7428 pub label_support: Option<bool>,
7429}
7430#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7432#[serde(rename_all = "camelCase")]
7433pub struct CodeActionClientCapabilities {
7434 #[serde(rename = "dynamicRegistration")]
7436 #[serde(default)]
7437 pub dynamic_registration: Option<bool>,
7438 #[serde(rename = "codeActionLiteralSupport")]
7444 #[serde(default)]
7445 pub code_action_literal_support: Option<ClientCodeActionLiteralOptions>,
7446 #[serde(rename = "isPreferredSupport")]
7450 #[serde(default)]
7451 pub is_preferred_support: Option<bool>,
7452 #[serde(rename = "disabledSupport")]
7456 #[serde(default)]
7457 pub disabled_support: Option<bool>,
7458 #[serde(rename = "dataSupport")]
7464 #[serde(default)]
7465 pub data_support: Option<bool>,
7466 #[serde(rename = "resolveSupport")]
7471 #[serde(default)]
7472 pub resolve_support: Option<ClientCodeActionResolveOptions>,
7473 #[serde(rename = "honorsChangeAnnotations")]
7481 #[serde(default)]
7482 pub honors_change_annotations: Option<bool>,
7483 #[serde(rename = "documentationSupport")]
7488 #[serde(default)]
7489 pub documentation_support: Option<bool>,
7490 #[serde(rename = "tagSupport")]
7495 #[serde(default)]
7496 pub tag_support: Option<CodeActionTagOptions>,
7497}
7498#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7500#[serde(rename_all = "camelCase")]
7501pub struct CodeLensClientCapabilities {
7502 #[serde(rename = "dynamicRegistration")]
7504 #[serde(default)]
7505 pub dynamic_registration: Option<bool>,
7506 #[serde(rename = "resolveSupport")]
7511 #[serde(default)]
7512 pub resolve_support: Option<ClientCodeLensResolveOptions>,
7513}
7514#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7516#[serde(rename_all = "camelCase")]
7517pub struct DocumentLinkClientCapabilities {
7518 #[serde(rename = "dynamicRegistration")]
7520 #[serde(default)]
7521 pub dynamic_registration: Option<bool>,
7522 #[serde(rename = "tooltipSupport")]
7526 #[serde(default)]
7527 pub tooltip_support: Option<bool>,
7528}
7529#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7530#[serde(rename_all = "camelCase")]
7531pub struct DocumentColorClientCapabilities {
7532 #[serde(rename = "dynamicRegistration")]
7536 #[serde(default)]
7537 pub dynamic_registration: Option<bool>,
7538}
7539#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7541#[serde(rename_all = "camelCase")]
7542pub struct DocumentFormattingClientCapabilities {
7543 #[serde(rename = "dynamicRegistration")]
7545 #[serde(default)]
7546 pub dynamic_registration: Option<bool>,
7547}
7548#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7550#[serde(rename_all = "camelCase")]
7551pub struct DocumentRangeFormattingClientCapabilities {
7552 #[serde(rename = "dynamicRegistration")]
7554 #[serde(default)]
7555 pub dynamic_registration: Option<bool>,
7556 #[serde(rename = "rangesSupport")]
7560 #[serde(default)]
7561 pub ranges_support: Option<bool>,
7562}
7563#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7565#[serde(rename_all = "camelCase")]
7566pub struct DocumentOnTypeFormattingClientCapabilities {
7567 #[serde(rename = "dynamicRegistration")]
7569 #[serde(default)]
7570 pub dynamic_registration: Option<bool>,
7571}
7572#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7573#[serde(rename_all = "camelCase")]
7574pub struct RenameClientCapabilities {
7575 #[serde(rename = "dynamicRegistration")]
7577 #[serde(default)]
7578 pub dynamic_registration: Option<bool>,
7579 #[serde(rename = "prepareSupport")]
7584 #[serde(default)]
7585 pub prepare_support: Option<bool>,
7586 #[serde(rename = "prepareSupportDefaultBehavior")]
7593 #[serde(default)]
7594 pub prepare_support_default_behavior: Option<PrepareSupportDefaultBehavior>,
7595 #[serde(rename = "honorsChangeAnnotations")]
7603 #[serde(default)]
7604 pub honors_change_annotations: Option<bool>,
7605}
7606#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7607#[serde(rename_all = "camelCase")]
7608pub struct FoldingRangeClientCapabilities {
7609 #[serde(rename = "dynamicRegistration")]
7614 #[serde(default)]
7615 pub dynamic_registration: Option<bool>,
7616 #[serde(rename = "rangeLimit")]
7620 #[serde(default)]
7621 pub range_limit: Option<Uinteger>,
7622 #[serde(rename = "lineFoldingOnly")]
7626 #[serde(default)]
7627 pub line_folding_only: Option<bool>,
7628 #[serde(rename = "foldingRangeKind")]
7632 #[serde(default)]
7633 pub folding_range_kind: Option<ClientFoldingRangeKindOptions>,
7634 #[serde(rename = "foldingRange")]
7638 #[serde(default)]
7639 pub folding_range: Option<ClientFoldingRangeOptions>,
7640}
7641#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7642#[serde(rename_all = "camelCase")]
7643pub struct SelectionRangeClientCapabilities {
7644 #[serde(rename = "dynamicRegistration")]
7648 #[serde(default)]
7649 pub dynamic_registration: Option<bool>,
7650}
7651#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7653#[serde(rename_all = "camelCase")]
7654pub struct PublishDiagnosticsClientCapabilities {
7655 #[serde(flatten)]
7656 pub diagnostics_capabilities_base: DiagnosticsCapabilities,
7657 #[serde(rename = "versionSupport")]
7662 #[serde(default)]
7663 pub version_support: Option<bool>,
7664}
7665#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7667#[serde(rename_all = "camelCase")]
7668pub struct CallHierarchyClientCapabilities {
7669 #[serde(rename = "dynamicRegistration")]
7673 #[serde(default)]
7674 pub dynamic_registration: Option<bool>,
7675}
7676#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7678#[serde(rename_all = "camelCase")]
7679pub struct SemanticTokensClientCapabilities {
7680 #[serde(rename = "dynamicRegistration")]
7684 #[serde(default)]
7685 pub dynamic_registration: Option<bool>,
7686 pub requests: ClientSemanticTokensRequestOptions,
7695 #[serde(rename = "tokenTypes")]
7697 pub token_types: Vec<String>,
7698 #[serde(rename = "tokenModifiers")]
7700 pub token_modifiers: Vec<String>,
7701 pub formats: Vec<TokenFormat>,
7703 #[serde(rename = "overlappingTokenSupport")]
7705 #[serde(default)]
7706 pub overlapping_token_support: Option<bool>,
7707 #[serde(rename = "multilineTokenSupport")]
7709 #[serde(default)]
7710 pub multiline_token_support: Option<bool>,
7711 #[serde(rename = "serverCancelSupport")]
7718 #[serde(default)]
7719 pub server_cancel_support: Option<bool>,
7720 #[serde(rename = "augmentsSyntaxTokens")]
7731 #[serde(default)]
7732 pub augments_syntax_tokens: Option<bool>,
7733}
7734#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7738#[serde(rename_all = "camelCase")]
7739pub struct LinkedEditingRangeClientCapabilities {
7740 #[serde(rename = "dynamicRegistration")]
7744 #[serde(default)]
7745 pub dynamic_registration: Option<bool>,
7746}
7747#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7751#[serde(rename_all = "camelCase")]
7752pub struct MonikerClientCapabilities {
7753 #[serde(rename = "dynamicRegistration")]
7757 #[serde(default)]
7758 pub dynamic_registration: Option<bool>,
7759}
7760#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7762#[serde(rename_all = "camelCase")]
7763pub struct TypeHierarchyClientCapabilities {
7764 #[serde(rename = "dynamicRegistration")]
7768 #[serde(default)]
7769 pub dynamic_registration: Option<bool>,
7770}
7771#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7775#[serde(rename_all = "camelCase")]
7776pub struct InlineValueClientCapabilities {
7777 #[serde(rename = "dynamicRegistration")]
7779 #[serde(default)]
7780 pub dynamic_registration: Option<bool>,
7781}
7782#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7786#[serde(rename_all = "camelCase")]
7787pub struct InlayHintClientCapabilities {
7788 #[serde(rename = "dynamicRegistration")]
7790 #[serde(default)]
7791 pub dynamic_registration: Option<bool>,
7792 #[serde(rename = "resolveSupport")]
7795 #[serde(default)]
7796 pub resolve_support: Option<ClientInlayHintResolveOptions>,
7797}
7798#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7802#[serde(rename_all = "camelCase")]
7803pub struct DiagnosticClientCapabilities {
7804 #[serde(flatten)]
7805 pub diagnostics_capabilities_base: DiagnosticsCapabilities,
7806 #[serde(rename = "dynamicRegistration")]
7810 #[serde(default)]
7811 pub dynamic_registration: Option<bool>,
7812 #[serde(rename = "relatedDocumentSupport")]
7814 #[serde(default)]
7815 pub related_document_support: Option<bool>,
7816 #[serde(rename = "markupMessageSupport")]
7820 #[serde(default)]
7821 pub markup_message_support: Option<bool>,
7822}
7823#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7827#[serde(rename_all = "camelCase")]
7828pub struct InlineCompletionClientCapabilities {
7829 #[serde(rename = "dynamicRegistration")]
7831 #[serde(default)]
7832 pub dynamic_registration: Option<bool>,
7833}
7834#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7838#[serde(rename_all = "camelCase")]
7839pub struct NotebookDocumentSyncClientCapabilities {
7840 #[serde(rename = "dynamicRegistration")]
7845 #[serde(default)]
7846 pub dynamic_registration: Option<bool>,
7847 #[serde(rename = "executionSummarySupport")]
7849 #[serde(default)]
7850 pub execution_summary_support: Option<bool>,
7851}
7852#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7854#[serde(rename_all = "camelCase")]
7855pub struct ShowMessageRequestClientCapabilities {
7856 #[serde(rename = "messageActionItem")]
7858 #[serde(default)]
7859 pub message_action_item: Option<ClientShowMessageActionItemOptions>,
7860}
7861#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7865#[serde(rename_all = "camelCase")]
7866pub struct ShowDocumentClientCapabilities {
7867 pub support: bool,
7870}
7871#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7873#[serde(rename_all = "camelCase")]
7874pub struct StaleRequestSupportOptions {
7875 pub cancel: bool,
7877 #[serde(rename = "retryOnContentModified")]
7881 pub retry_on_content_modified: Vec<String>,
7882}
7883#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7887#[serde(rename_all = "camelCase")]
7888pub struct RegularExpressionsClientCapabilities {
7889 pub engine: RegularExpressionEngineKind,
7891 #[serde(default)]
7893 pub version: Option<String>,
7894}
7895#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7899#[serde(rename_all = "camelCase")]
7900pub struct MarkdownClientCapabilities {
7901 pub parser: String,
7903 #[serde(default)]
7905 pub version: Option<String>,
7906 #[serde(rename = "allowedTags")]
7911 #[serde(default)]
7912 pub allowed_tags: Option<Vec<String>>,
7913}
7914#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7916#[serde(rename_all = "camelCase")]
7917pub struct ChangeAnnotationsSupportOptions {
7918 #[serde(rename = "groupsOnLabel")]
7922 #[serde(default)]
7923 pub groups_on_label: Option<bool>,
7924}
7925#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7927#[serde(rename_all = "camelCase")]
7928pub struct ClientSymbolKindOptions {
7929 #[serde(rename = "valueSet")]
7938 #[serde(default)]
7939 pub value_set: Option<Vec<SymbolKind>>,
7940}
7941#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7943#[serde(rename_all = "camelCase")]
7944pub struct ClientSymbolTagOptions {
7945 #[serde(rename = "valueSet")]
7947 pub value_set: Vec<SymbolTag>,
7948}
7949#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7951#[serde(rename_all = "camelCase")]
7952pub struct ClientSymbolResolveOptions {
7953 pub properties: Vec<String>,
7956}
7957#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7959#[serde(rename_all = "camelCase")]
7960pub struct ClientCompletionItemOptions {
7961 #[serde(rename = "snippetSupport")]
7968 #[serde(default)]
7969 pub snippet_support: Option<bool>,
7970 #[serde(rename = "commitCharactersSupport")]
7972 #[serde(default)]
7973 pub commit_characters_support: Option<bool>,
7974 #[serde(rename = "documentationFormat")]
7977 #[serde(default)]
7978 pub documentation_format: Option<Vec<MarkupKind>>,
7979 #[serde(rename = "deprecatedSupport")]
7981 #[serde(default)]
7982 pub deprecated_support: Option<bool>,
7983 #[serde(rename = "preselectSupport")]
7985 #[serde(default)]
7986 pub preselect_support: Option<bool>,
7987 #[serde(rename = "tagSupport")]
7994 #[serde(default)]
7995 pub tag_support: Option<CompletionItemTagOptions>,
7996 #[serde(rename = "insertReplaceSupport")]
8001 #[serde(default)]
8002 pub insert_replace_support: Option<bool>,
8003 #[serde(rename = "resolveSupport")]
8009 #[serde(default)]
8010 pub resolve_support: Option<ClientCompletionItemResolveOptions>,
8011 #[serde(rename = "insertTextModeSupport")]
8017 #[serde(default)]
8018 pub insert_text_mode_support: Option<ClientCompletionItemInsertTextModeOptions>,
8019 #[serde(rename = "labelDetailsSupport")]
8024 #[serde(default)]
8025 pub label_details_support: Option<bool>,
8026}
8027#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8029#[serde(rename_all = "camelCase")]
8030pub struct ClientCompletionItemOptionsKind {
8031 #[serde(rename = "valueSet")]
8040 #[serde(default)]
8041 pub value_set: Option<Vec<CompletionItemKind>>,
8042}
8043#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8048#[serde(rename_all = "camelCase")]
8049pub struct CompletionListCapabilities {
8050 #[serde(rename = "itemDefaults")]
8059 #[serde(default)]
8060 pub item_defaults: Option<Vec<String>>,
8061 #[serde(rename = "applyKindSupport")]
8073 #[serde(default)]
8074 pub apply_kind_support: Option<bool>,
8075}
8076#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8078#[serde(rename_all = "camelCase")]
8079pub struct ClientSignatureInformationOptions {
8080 #[serde(rename = "documentationFormat")]
8083 #[serde(default)]
8084 pub documentation_format: Option<Vec<MarkupKind>>,
8085 #[serde(rename = "parameterInformation")]
8087 #[serde(default)]
8088 pub parameter_information: Option<ClientSignatureParameterInformationOptions>,
8089 #[serde(rename = "activeParameterSupport")]
8094 #[serde(default)]
8095 pub active_parameter_support: Option<bool>,
8096 #[serde(rename = "noActiveParameterSupport")]
8102 #[serde(default)]
8103 pub no_active_parameter_support: Option<bool>,
8104}
8105#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8107#[serde(rename_all = "camelCase")]
8108pub struct ClientCodeActionLiteralOptions {
8109 #[serde(rename = "codeActionKind")]
8112 pub code_action_kind: ClientCodeActionKindOptions,
8113}
8114#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8116#[serde(rename_all = "camelCase")]
8117pub struct ClientCodeActionResolveOptions {
8118 pub properties: Vec<String>,
8120}
8121#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8123#[serde(rename_all = "camelCase")]
8124pub struct CodeActionTagOptions {
8125 #[serde(rename = "valueSet")]
8127 pub value_set: Vec<CodeActionTag>,
8128}
8129#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8131#[serde(rename_all = "camelCase")]
8132pub struct ClientCodeLensResolveOptions {
8133 pub properties: Vec<String>,
8135}
8136#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8138#[serde(rename_all = "camelCase")]
8139pub struct ClientFoldingRangeKindOptions {
8140 #[serde(rename = "valueSet")]
8145 #[serde(default)]
8146 pub value_set: Option<Vec<FoldingRangeKind>>,
8147}
8148#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8150#[serde(rename_all = "camelCase")]
8151pub struct ClientFoldingRangeOptions {
8152 #[serde(rename = "collapsedText")]
8157 #[serde(default)]
8158 pub collapsed_text: Option<bool>,
8159}
8160#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8162#[serde(rename_all = "camelCase")]
8163pub struct DiagnosticsCapabilities {
8164 #[serde(rename = "relatedInformation")]
8166 #[serde(default)]
8167 pub related_information: Option<bool>,
8168 #[serde(rename = "tagSupport")]
8173 #[serde(default)]
8174 pub tag_support: Option<ClientDiagnosticsTagOptions>,
8175 #[serde(rename = "codeDescriptionSupport")]
8179 #[serde(default)]
8180 pub code_description_support: Option<bool>,
8181 #[serde(rename = "dataSupport")]
8187 #[serde(default)]
8188 pub data_support: Option<bool>,
8189}
8190#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8192#[serde(rename_all = "camelCase")]
8193pub struct ClientSemanticTokensRequestOptions {
8194 #[serde(default)]
8197 pub range: Option<BooleanOrLiteral57f9bf6390bb37d9>,
8198 #[serde(default)]
8201 pub full: Option<BooleanOrClientSemanticTokensRequestFullDelta>,
8202}
8203#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8205#[serde(rename_all = "camelCase")]
8206pub struct ClientInlayHintResolveOptions {
8207 pub properties: Vec<String>,
8209}
8210#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8212#[serde(rename_all = "camelCase")]
8213pub struct ClientShowMessageActionItemOptions {
8214 #[serde(rename = "additionalPropertiesSupport")]
8218 #[serde(default)]
8219 pub additional_properties_support: Option<bool>,
8220}
8221#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8223#[serde(rename_all = "camelCase")]
8224pub struct CompletionItemTagOptions {
8225 #[serde(rename = "valueSet")]
8227 pub value_set: Vec<CompletionItemTag>,
8228}
8229#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8231#[serde(rename_all = "camelCase")]
8232pub struct ClientCompletionItemResolveOptions {
8233 pub properties: Vec<String>,
8235}
8236#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8238#[serde(rename_all = "camelCase")]
8239pub struct ClientCompletionItemInsertTextModeOptions {
8240 #[serde(rename = "valueSet")]
8241 pub value_set: Vec<InsertTextMode>,
8242}
8243#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8245#[serde(rename_all = "camelCase")]
8246pub struct ClientSignatureParameterInformationOptions {
8247 #[serde(rename = "labelOffsetSupport")]
8252 #[serde(default)]
8253 pub label_offset_support: Option<bool>,
8254}
8255#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8257#[serde(rename_all = "camelCase")]
8258pub struct ClientCodeActionKindOptions {
8259 #[serde(rename = "valueSet")]
8264 pub value_set: Vec<CodeActionKind>,
8265}
8266#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8268#[serde(rename_all = "camelCase")]
8269pub struct ClientDiagnosticsTagOptions {
8270 #[serde(rename = "valueSet")]
8272 pub value_set: Vec<DiagnosticTag>,
8273}
8274#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8276#[serde(rename_all = "camelCase")]
8277pub struct ClientSemanticTokensRequestFullDelta {
8278 #[serde(default)]
8281 pub delta: Option<bool>,
8282}
8283#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8284#[serde(untagged)]
8285pub enum AnnotatedTextEditOrSnippetTextEditOrTextEdit {
8286 AnnotatedTextEdit(AnnotatedTextEdit),
8287 SnippetTextEdit(SnippetTextEdit),
8288 TextEdit(TextEdit),
8289}
8290#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8291#[serde(untagged)]
8292pub enum BooleanOrCallHierarchyOptionsOrCallHierarchyRegistrationOptions {
8293 CallHierarchyRegistrationOptions(CallHierarchyRegistrationOptions),
8294 CallHierarchyOptions(CallHierarchyOptions),
8295 Boolean(bool),
8296}
8297#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8298#[serde(untagged)]
8299pub enum BooleanOrClientSemanticTokensRequestFullDelta {
8300 ClientSemanticTokensRequestFullDelta(ClientSemanticTokensRequestFullDelta),
8301 Boolean(bool),
8302}
8303#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8304#[serde(untagged)]
8305pub enum BooleanOrCodeActionOptions {
8306 CodeActionOptions(CodeActionOptions),
8307 Boolean(bool),
8308}
8309#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8310#[serde(untagged)]
8311pub enum BooleanOrDecimalOrIntegerOrLSPArrayOrLSPObjectOrStringOrUinteger {
8312 LSPArray(LSPArray),
8313 LSPObject(LSPObject),
8314 Boolean(bool),
8315 Decimal(Decimal),
8316 Integer(Integer),
8317 String(String),
8318 Uinteger(Uinteger),
8319}
8320#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8321#[serde(untagged)]
8322pub enum BooleanOrDeclarationOptionsOrDeclarationRegistrationOptions {
8323 DeclarationRegistrationOptions(DeclarationRegistrationOptions),
8324 DeclarationOptions(DeclarationOptions),
8325 Boolean(bool),
8326}
8327#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8328#[serde(untagged)]
8329pub enum BooleanOrDefinitionOptions {
8330 DefinitionOptions(DefinitionOptions),
8331 Boolean(bool),
8332}
8333#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8334#[serde(untagged)]
8335pub enum BooleanOrDocumentColorOptionsOrDocumentColorRegistrationOptions {
8336 DocumentColorRegistrationOptions(DocumentColorRegistrationOptions),
8337 DocumentColorOptions(DocumentColorOptions),
8338 Boolean(bool),
8339}
8340#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8341#[serde(untagged)]
8342pub enum BooleanOrDocumentFormattingOptions {
8343 DocumentFormattingOptions(DocumentFormattingOptions),
8344 Boolean(bool),
8345}
8346#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8347#[serde(untagged)]
8348pub enum BooleanOrDocumentHighlightOptions {
8349 DocumentHighlightOptions(DocumentHighlightOptions),
8350 Boolean(bool),
8351}
8352#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8353#[serde(untagged)]
8354pub enum BooleanOrDocumentRangeFormattingOptions {
8355 DocumentRangeFormattingOptions(DocumentRangeFormattingOptions),
8356 Boolean(bool),
8357}
8358#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8359#[serde(untagged)]
8360pub enum BooleanOrDocumentSymbolOptions {
8361 DocumentSymbolOptions(DocumentSymbolOptions),
8362 Boolean(bool),
8363}
8364#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8365#[serde(untagged)]
8366pub enum BooleanOrFoldingRangeOptionsOrFoldingRangeRegistrationOptions {
8367 FoldingRangeRegistrationOptions(FoldingRangeRegistrationOptions),
8368 FoldingRangeOptions(FoldingRangeOptions),
8369 Boolean(bool),
8370}
8371#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8372#[serde(untagged)]
8373pub enum BooleanOrHoverOptions {
8374 HoverOptions(HoverOptions),
8375 Boolean(bool),
8376}
8377#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8378#[serde(untagged)]
8379pub enum BooleanOrImplementationOptionsOrImplementationRegistrationOptions {
8380 ImplementationRegistrationOptions(ImplementationRegistrationOptions),
8381 ImplementationOptions(ImplementationOptions),
8382 Boolean(bool),
8383}
8384#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8385#[serde(untagged)]
8386pub enum BooleanOrInlayHintOptionsOrInlayHintRegistrationOptions {
8387 InlayHintRegistrationOptions(InlayHintRegistrationOptions),
8388 InlayHintOptions(InlayHintOptions),
8389 Boolean(bool),
8390}
8391#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8392#[serde(untagged)]
8393pub enum BooleanOrInlineCompletionOptions {
8394 InlineCompletionOptions(InlineCompletionOptions),
8395 Boolean(bool),
8396}
8397#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8398#[serde(untagged)]
8399pub enum BooleanOrInlineValueOptionsOrInlineValueRegistrationOptions {
8400 InlineValueRegistrationOptions(InlineValueRegistrationOptions),
8401 InlineValueOptions(InlineValueOptions),
8402 Boolean(bool),
8403}
8404#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8405#[serde(untagged)]
8406pub enum BooleanOrLinkedEditingRangeOptionsOrLinkedEditingRangeRegistrationOptions {
8407 LinkedEditingRangeRegistrationOptions(LinkedEditingRangeRegistrationOptions),
8408 LinkedEditingRangeOptions(LinkedEditingRangeOptions),
8409 Boolean(bool),
8410}
8411#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8412#[serde(untagged)]
8413pub enum BooleanOrLiteral57f9bf6390bb37d9 {
8414 Literal57f9bf6390bb37d9(Literal57f9bf6390bb37d9),
8415 Boolean(bool),
8416}
8417#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8418#[serde(untagged)]
8419pub enum BooleanOrMonikerOptionsOrMonikerRegistrationOptions {
8420 MonikerRegistrationOptions(MonikerRegistrationOptions),
8421 MonikerOptions(MonikerOptions),
8422 Boolean(bool),
8423}
8424#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8425#[serde(untagged)]
8426pub enum BooleanOrReferenceOptions {
8427 ReferenceOptions(ReferenceOptions),
8428 Boolean(bool),
8429}
8430#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8431#[serde(untagged)]
8432pub enum BooleanOrRenameOptions {
8433 RenameOptions(RenameOptions),
8434 Boolean(bool),
8435}
8436#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8437#[serde(untagged)]
8438pub enum BooleanOrSaveOptions {
8439 SaveOptions(SaveOptions),
8440 Boolean(bool),
8441}
8442#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8443#[serde(untagged)]
8444pub enum BooleanOrSelectionRangeOptionsOrSelectionRangeRegistrationOptions {
8445 SelectionRangeRegistrationOptions(SelectionRangeRegistrationOptions),
8446 SelectionRangeOptions(SelectionRangeOptions),
8447 Boolean(bool),
8448}
8449#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8450#[serde(untagged)]
8451pub enum BooleanOrSemanticTokensFullDelta {
8452 SemanticTokensFullDelta(SemanticTokensFullDelta),
8453 Boolean(bool),
8454}
8455#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
8456#[serde(untagged)]
8457pub enum BooleanOrString {
8458 Boolean(bool),
8459 String(String),
8460}
8461#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8462#[serde(untagged)]
8463pub enum BooleanOrTypeDefinitionOptionsOrTypeDefinitionRegistrationOptions {
8464 TypeDefinitionRegistrationOptions(TypeDefinitionRegistrationOptions),
8465 TypeDefinitionOptions(TypeDefinitionOptions),
8466 Boolean(bool),
8467}
8468#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8469#[serde(untagged)]
8470pub enum BooleanOrTypeHierarchyOptionsOrTypeHierarchyRegistrationOptions {
8471 TypeHierarchyRegistrationOptions(TypeHierarchyRegistrationOptions),
8472 TypeHierarchyOptions(TypeHierarchyOptions),
8473 Boolean(bool),
8474}
8475#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8476#[serde(untagged)]
8477pub enum BooleanOrWorkspaceSymbolOptions {
8478 WorkspaceSymbolOptions(WorkspaceSymbolOptions),
8479 Boolean(bool),
8480}
8481#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8482#[serde(untagged)]
8483pub enum CodeActionOrCommand {
8484 CodeAction(CodeAction),
8485 Command(Command),
8486}
8487#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8488#[serde(untagged)]
8489pub enum CompletionItemArrayOrCompletionList {
8490 CompletionItemArray(Vec<CompletionItem>),
8491 CompletionList(CompletionList),
8492}
8493#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8494#[serde(untagged)]
8495pub enum CreateFileOrDeleteFileOrRenameFileOrTextDocumentEdit {
8496 RenameFile(RenameFile),
8497 CreateFile(CreateFile),
8498 DeleteFile(DeleteFile),
8499 TextDocumentEdit(TextDocumentEdit),
8500}
8501#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8502#[serde(untagged)]
8503pub enum DeclarationOrDeclarationLinkArray {
8504 Declaration(Declaration),
8505 DeclarationLinkArray(Vec<DeclarationLink>),
8506}
8507#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8508#[serde(untagged)]
8509pub enum DefinitionOrDefinitionLinkArray {
8510 Definition(Definition),
8511 DefinitionLinkArray(Vec<DefinitionLink>),
8512}
8513#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8514#[serde(untagged)]
8515pub enum DiagnosticOptionsOrDiagnosticRegistrationOptions {
8516 DiagnosticRegistrationOptions(DiagnosticRegistrationOptions),
8517 DiagnosticOptions(DiagnosticOptions),
8518}
8519#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8520#[serde(untagged)]
8521pub enum DocumentSymbolArrayOrSymbolInformationArray {
8522 DocumentSymbolArray(Vec<DocumentSymbol>),
8523 SymbolInformationArray(Vec<SymbolInformation>),
8524}
8525#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8526#[serde(untagged)]
8527pub enum EditRangeWithInsertReplaceOrRange {
8528 EditRangeWithInsertReplace(EditRangeWithInsertReplace),
8529 Range(Range),
8530}
8531#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8532#[serde(untagged)]
8533pub enum FullDocumentDiagnosticReportOrUnchangedDocumentDiagnosticReport {
8534 FullDocumentDiagnosticReport(FullDocumentDiagnosticReport),
8535 UnchangedDocumentDiagnosticReport(UnchangedDocumentDiagnosticReport),
8536}
8537#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8538#[serde(untagged)]
8539pub enum InlayHintLabelPartArrayOrString {
8540 InlayHintLabelPartArray(Vec<InlayHintLabelPart>),
8541 String(String),
8542}
8543#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8544#[serde(untagged)]
8545pub enum InlineCompletionItemArrayOrInlineCompletionList {
8546 InlineCompletionItemArray(Vec<InlineCompletionItem>),
8547 InlineCompletionList(InlineCompletionList),
8548}
8549#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8550#[serde(untagged)]
8551pub enum InlineValueEvaluatableExpressionOrInlineValueTextOrInlineValueVariableLookup {
8552 InlineValueVariableLookup(InlineValueVariableLookup),
8553 InlineValueEvaluatableExpression(InlineValueEvaluatableExpression),
8554 InlineValueText(InlineValueText),
8555}
8556#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8557#[serde(untagged)]
8558pub enum InsertReplaceEditOrTextEdit {
8559 InsertReplaceEdit(InsertReplaceEdit),
8560 TextEdit(TextEdit),
8561}
8562#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
8563#[serde(untagged)]
8564pub enum IntegerOrString {
8565 Integer(Integer),
8566 String(String),
8567}
8568#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8569#[serde(rename_all = "camelCase")]
8570pub struct Literal57f9bf6390bb37d9 {}
8571#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8572#[serde(untagged)]
8573pub enum LocationOrLocationArray {
8574 LocationArray(Vec<Location>),
8575 Location(Location),
8576}
8577#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8578#[serde(untagged)]
8579pub enum LocationOrLocationUriOnly {
8580 Location(Location),
8581 LocationUriOnly(LocationUriOnly),
8582}
8583#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8584#[serde(untagged)]
8585pub enum MarkedStringOrMarkedStringArrayOrMarkupContent {
8586 MarkedStringArray(Vec<MarkedString>),
8587 MarkedString(MarkedString),
8588 MarkupContent(MarkupContent),
8589}
8590#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8591#[serde(untagged)]
8592pub enum MarkedStringWithLanguageOrString {
8593 MarkedStringWithLanguage(MarkedStringWithLanguage),
8594 String(String),
8595}
8596#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8597#[serde(untagged)]
8598pub enum MarkupContentOrString {
8599 MarkupContent(MarkupContent),
8600 String(String),
8601}
8602#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8603#[serde(untagged)]
8604pub enum NotebookCellTextDocumentFilterOrTextDocumentFilter {
8605 TextDocumentFilter(TextDocumentFilter),
8606 NotebookCellTextDocumentFilter(NotebookCellTextDocumentFilter),
8607}
8608#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8609#[serde(untagged)]
8610pub enum NotebookDocumentFilterNotebookTypeOrNotebookDocumentFilterPatternOrNotebookDocumentFilterScheme {
8611 NotebookDocumentFilterNotebookType(NotebookDocumentFilterNotebookType),
8612 NotebookDocumentFilterPattern(NotebookDocumentFilterPattern),
8613 NotebookDocumentFilterScheme(NotebookDocumentFilterScheme),
8614}
8615#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8616#[serde(untagged)]
8617pub enum NotebookDocumentFilterOrString {
8618 NotebookDocumentFilter(NotebookDocumentFilter),
8619 String(String),
8620}
8621#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8622#[serde(untagged)]
8623pub enum NotebookDocumentFilterWithCellsOrNotebookDocumentFilterWithNotebook {
8624 NotebookDocumentFilterWithCells(NotebookDocumentFilterWithCells),
8625 NotebookDocumentFilterWithNotebook(NotebookDocumentFilterWithNotebook),
8626}
8627#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8628#[serde(untagged)]
8629pub enum NotebookDocumentSyncOptionsOrNotebookDocumentSyncRegistrationOptions {
8630 NotebookDocumentSyncRegistrationOptions(NotebookDocumentSyncRegistrationOptions),
8631 NotebookDocumentSyncOptions(NotebookDocumentSyncOptions),
8632}
8633#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8634#[serde(untagged)]
8635pub enum PatternOrRelativePattern {
8636 RelativePattern(RelativePattern),
8637 Pattern(Pattern),
8638}
8639#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8640#[serde(untagged)]
8641pub enum PrepareRenameDefaultBehaviorOrPrepareRenamePlaceholderOrRange {
8642 PrepareRenamePlaceholder(PrepareRenamePlaceholder),
8643 Range(Range),
8644 PrepareRenameDefaultBehavior(PrepareRenameDefaultBehavior),
8645}
8646#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8647#[serde(untagged)]
8648pub enum RelatedFullDocumentDiagnosticReportOrRelatedUnchangedDocumentDiagnosticReport {
8649 RelatedFullDocumentDiagnosticReport(RelatedFullDocumentDiagnosticReport),
8650 RelatedUnchangedDocumentDiagnosticReport(RelatedUnchangedDocumentDiagnosticReport),
8651}
8652#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8653#[serde(untagged)]
8654pub enum SemanticTokensOptionsOrSemanticTokensRegistrationOptions {
8655 SemanticTokensRegistrationOptions(SemanticTokensRegistrationOptions),
8656 SemanticTokensOptions(SemanticTokensOptions),
8657}
8658#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8659#[serde(untagged)]
8660pub enum SemanticTokensOrSemanticTokensDelta {
8661 SemanticTokens(SemanticTokens),
8662 SemanticTokensDelta(SemanticTokensDelta),
8663}
8664#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
8665#[serde(untagged)]
8666pub enum StringOrStringArray {
8667 StringArray(Vec<String>),
8668 String(String),
8669}
8670#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8671#[serde(untagged)]
8672pub enum StringOrStringValue {
8673 StringValue(StringValue),
8674 String(String),
8675}
8676#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
8677#[serde(untagged)]
8678pub enum StringOrTupleOfUintegerAndUinteger {
8679 TupleOfUintegerAndUinteger((Uinteger, Uinteger)),
8680 String(String),
8681}
8682#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8683#[serde(untagged)]
8684pub enum SymbolInformationArrayOrWorkspaceSymbolArray {
8685 SymbolInformationArray(Vec<SymbolInformation>),
8686 WorkspaceSymbolArray(Vec<WorkspaceSymbol>),
8687}
8688#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8689#[serde(untagged)]
8690pub enum TextDocumentContentChangePartialOrTextDocumentContentChangeWholeDocument {
8691 TextDocumentContentChangePartial(TextDocumentContentChangePartial),
8692 TextDocumentContentChangeWholeDocument(TextDocumentContentChangeWholeDocument),
8693}
8694#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8695#[serde(untagged)]
8696pub enum TextDocumentContentOptionsOrTextDocumentContentRegistrationOptions {
8697 TextDocumentContentRegistrationOptions(TextDocumentContentRegistrationOptions),
8698 TextDocumentContentOptions(TextDocumentContentOptions),
8699}
8700#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8701#[serde(untagged)]
8702pub enum TextDocumentFilterLanguageOrTextDocumentFilterPatternOrTextDocumentFilterScheme {
8703 TextDocumentFilterLanguage(TextDocumentFilterLanguage),
8704 TextDocumentFilterPattern(TextDocumentFilterPattern),
8705 TextDocumentFilterScheme(TextDocumentFilterScheme),
8706}
8707#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8708#[serde(untagged)]
8709pub enum TextDocumentSyncKindOrTextDocumentSyncOptions {
8710 TextDocumentSyncOptions(TextDocumentSyncOptions),
8711 TextDocumentSyncKind(TextDocumentSyncKind),
8712}
8713#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8714#[serde(untagged)]
8715pub enum UriOrWorkspaceFolder {
8716 WorkspaceFolder(WorkspaceFolder),
8717 Uri(URI),
8718}
8719#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8720#[serde(untagged)]
8721pub enum WorkspaceFullDocumentDiagnosticReportOrWorkspaceUnchangedDocumentDiagnosticReport {
8722 WorkspaceFullDocumentDiagnosticReport(WorkspaceFullDocumentDiagnosticReport),
8723 WorkspaceUnchangedDocumentDiagnosticReport(
8724 WorkspaceUnchangedDocumentDiagnosticReport,
8725 ),
8726}
8727pub trait LspRequest {
8728 type Params: Serialize + for<'de> Deserialize<'de>;
8729 type Result: Serialize + for<'de> Deserialize<'de>;
8730 const METHOD: &'static str;
8731}
8732pub struct ImplementationRequest;
8733impl LspRequest for ImplementationRequest {
8734 type Params = ImplementationParams;
8735 type Result = Option<DefinitionOrDefinitionLinkArray>;
8736 const METHOD: &'static str = "textDocument/implementation";
8737}
8738pub struct TypeDefinitionRequest;
8739impl LspRequest for TypeDefinitionRequest {
8740 type Params = TypeDefinitionParams;
8741 type Result = Option<DefinitionOrDefinitionLinkArray>;
8742 const METHOD: &'static str = "textDocument/typeDefinition";
8743}
8744pub struct WorkspaceFoldersRequest;
8745impl LspRequest for WorkspaceFoldersRequest {
8746 type Params = ();
8747 type Result = Option<Vec<WorkspaceFolder>>;
8748 const METHOD: &'static str = "workspace/workspaceFolders";
8749}
8750pub struct ConfigurationRequest;
8751impl LspRequest for ConfigurationRequest {
8752 type Params = ConfigurationParams;
8753 type Result = Vec<LSPAny>;
8754 const METHOD: &'static str = "workspace/configuration";
8755}
8756pub struct DocumentColorRequest;
8757impl LspRequest for DocumentColorRequest {
8758 type Params = DocumentColorParams;
8759 type Result = Vec<ColorInformation>;
8760 const METHOD: &'static str = "textDocument/documentColor";
8761}
8762pub struct ColorPresentationRequest;
8763impl LspRequest for ColorPresentationRequest {
8764 type Params = ColorPresentationParams;
8765 type Result = Vec<ColorPresentation>;
8766 const METHOD: &'static str = "textDocument/colorPresentation";
8767}
8768pub struct FoldingRangeRequest;
8769impl LspRequest for FoldingRangeRequest {
8770 type Params = FoldingRangeParams;
8771 type Result = Option<Vec<FoldingRange>>;
8772 const METHOD: &'static str = "textDocument/foldingRange";
8773}
8774pub struct FoldingRangeRefreshRequest;
8775impl LspRequest for FoldingRangeRefreshRequest {
8776 type Params = ();
8777 type Result = ();
8778 const METHOD: &'static str = "workspace/foldingRange/refresh";
8779}
8780pub struct DeclarationRequest;
8781impl LspRequest for DeclarationRequest {
8782 type Params = DeclarationParams;
8783 type Result = Option<DeclarationOrDeclarationLinkArray>;
8784 const METHOD: &'static str = "textDocument/declaration";
8785}
8786pub struct SelectionRangeRequest;
8787impl LspRequest for SelectionRangeRequest {
8788 type Params = SelectionRangeParams;
8789 type Result = Option<Vec<SelectionRange>>;
8790 const METHOD: &'static str = "textDocument/selectionRange";
8791}
8792pub struct WorkDoneProgressCreateRequest;
8793impl LspRequest for WorkDoneProgressCreateRequest {
8794 type Params = WorkDoneProgressCreateParams;
8795 type Result = ();
8796 const METHOD: &'static str = "window/workDoneProgress/create";
8797}
8798pub struct CallHierarchyPrepareRequest;
8799impl LspRequest for CallHierarchyPrepareRequest {
8800 type Params = CallHierarchyPrepareParams;
8801 type Result = Option<Vec<CallHierarchyItem>>;
8802 const METHOD: &'static str = "textDocument/prepareCallHierarchy";
8803}
8804pub struct CallHierarchyIncomingCallsRequest;
8805impl LspRequest for CallHierarchyIncomingCallsRequest {
8806 type Params = CallHierarchyIncomingCallsParams;
8807 type Result = Option<Vec<CallHierarchyIncomingCall>>;
8808 const METHOD: &'static str = "callHierarchy/incomingCalls";
8809}
8810pub struct CallHierarchyOutgoingCallsRequest;
8811impl LspRequest for CallHierarchyOutgoingCallsRequest {
8812 type Params = CallHierarchyOutgoingCallsParams;
8813 type Result = Option<Vec<CallHierarchyOutgoingCall>>;
8814 const METHOD: &'static str = "callHierarchy/outgoingCalls";
8815}
8816pub struct SemanticTokensRequest;
8817impl LspRequest for SemanticTokensRequest {
8818 type Params = SemanticTokensParams;
8819 type Result = Option<SemanticTokens>;
8820 const METHOD: &'static str = "textDocument/semanticTokens/full";
8821}
8822pub struct SemanticTokensDeltaRequest;
8823impl LspRequest for SemanticTokensDeltaRequest {
8824 type Params = SemanticTokensDeltaParams;
8825 type Result = Option<SemanticTokensOrSemanticTokensDelta>;
8826 const METHOD: &'static str = "textDocument/semanticTokens/full/delta";
8827}
8828pub struct SemanticTokensRangeRequest;
8829impl LspRequest for SemanticTokensRangeRequest {
8830 type Params = SemanticTokensRangeParams;
8831 type Result = Option<SemanticTokens>;
8832 const METHOD: &'static str = "textDocument/semanticTokens/range";
8833}
8834pub struct SemanticTokensRefreshRequest;
8835impl LspRequest for SemanticTokensRefreshRequest {
8836 type Params = ();
8837 type Result = ();
8838 const METHOD: &'static str = "workspace/semanticTokens/refresh";
8839}
8840pub struct ShowDocumentRequest;
8841impl LspRequest for ShowDocumentRequest {
8842 type Params = ShowDocumentParams;
8843 type Result = ShowDocumentResult;
8844 const METHOD: &'static str = "window/showDocument";
8845}
8846pub struct LinkedEditingRangeRequest;
8847impl LspRequest for LinkedEditingRangeRequest {
8848 type Params = LinkedEditingRangeParams;
8849 type Result = Option<LinkedEditingRanges>;
8850 const METHOD: &'static str = "textDocument/linkedEditingRange";
8851}
8852pub struct WillCreateFilesRequest;
8853impl LspRequest for WillCreateFilesRequest {
8854 type Params = CreateFilesParams;
8855 type Result = Option<WorkspaceEdit>;
8856 const METHOD: &'static str = "workspace/willCreateFiles";
8857}
8858pub struct WillRenameFilesRequest;
8859impl LspRequest for WillRenameFilesRequest {
8860 type Params = RenameFilesParams;
8861 type Result = Option<WorkspaceEdit>;
8862 const METHOD: &'static str = "workspace/willRenameFiles";
8863}
8864pub struct WillDeleteFilesRequest;
8865impl LspRequest for WillDeleteFilesRequest {
8866 type Params = DeleteFilesParams;
8867 type Result = Option<WorkspaceEdit>;
8868 const METHOD: &'static str = "workspace/willDeleteFiles";
8869}
8870pub struct MonikerRequest;
8871impl LspRequest for MonikerRequest {
8872 type Params = MonikerParams;
8873 type Result = Option<Vec<Moniker>>;
8874 const METHOD: &'static str = "textDocument/moniker";
8875}
8876pub struct TypeHierarchyPrepareRequest;
8877impl LspRequest for TypeHierarchyPrepareRequest {
8878 type Params = TypeHierarchyPrepareParams;
8879 type Result = Option<Vec<TypeHierarchyItem>>;
8880 const METHOD: &'static str = "textDocument/prepareTypeHierarchy";
8881}
8882pub struct TypeHierarchySupertypesRequest;
8883impl LspRequest for TypeHierarchySupertypesRequest {
8884 type Params = TypeHierarchySupertypesParams;
8885 type Result = Option<Vec<TypeHierarchyItem>>;
8886 const METHOD: &'static str = "typeHierarchy/supertypes";
8887}
8888pub struct TypeHierarchySubtypesRequest;
8889impl LspRequest for TypeHierarchySubtypesRequest {
8890 type Params = TypeHierarchySubtypesParams;
8891 type Result = Option<Vec<TypeHierarchyItem>>;
8892 const METHOD: &'static str = "typeHierarchy/subtypes";
8893}
8894pub struct InlineValueRequest;
8895impl LspRequest for InlineValueRequest {
8896 type Params = InlineValueParams;
8897 type Result = Option<Vec<InlineValue>>;
8898 const METHOD: &'static str = "textDocument/inlineValue";
8899}
8900pub struct InlineValueRefreshRequest;
8901impl LspRequest for InlineValueRefreshRequest {
8902 type Params = ();
8903 type Result = ();
8904 const METHOD: &'static str = "workspace/inlineValue/refresh";
8905}
8906pub struct InlayHintRequest;
8907impl LspRequest for InlayHintRequest {
8908 type Params = InlayHintParams;
8909 type Result = Option<Vec<InlayHint>>;
8910 const METHOD: &'static str = "textDocument/inlayHint";
8911}
8912pub struct InlayHintResolveRequest;
8913impl LspRequest for InlayHintResolveRequest {
8914 type Params = InlayHint;
8915 type Result = InlayHint;
8916 const METHOD: &'static str = "inlayHint/resolve";
8917}
8918pub struct InlayHintRefreshRequest;
8919impl LspRequest for InlayHintRefreshRequest {
8920 type Params = ();
8921 type Result = ();
8922 const METHOD: &'static str = "workspace/inlayHint/refresh";
8923}
8924pub struct DocumentDiagnosticRequest;
8925impl LspRequest for DocumentDiagnosticRequest {
8926 type Params = DocumentDiagnosticParams;
8927 type Result = DocumentDiagnosticReport;
8928 const METHOD: &'static str = "textDocument/diagnostic";
8929}
8930pub struct WorkspaceDiagnosticRequest;
8931impl LspRequest for WorkspaceDiagnosticRequest {
8932 type Params = WorkspaceDiagnosticParams;
8933 type Result = WorkspaceDiagnosticReport;
8934 const METHOD: &'static str = "workspace/diagnostic";
8935}
8936pub struct DiagnosticRefreshRequest;
8937impl LspRequest for DiagnosticRefreshRequest {
8938 type Params = ();
8939 type Result = ();
8940 const METHOD: &'static str = "workspace/diagnostic/refresh";
8941}
8942pub struct InlineCompletionRequest;
8943impl LspRequest for InlineCompletionRequest {
8944 type Params = InlineCompletionParams;
8945 type Result = Option<InlineCompletionItemArrayOrInlineCompletionList>;
8946 const METHOD: &'static str = "textDocument/inlineCompletion";
8947}
8948pub struct TextDocumentContentRequest;
8949impl LspRequest for TextDocumentContentRequest {
8950 type Params = TextDocumentContentParams;
8951 type Result = TextDocumentContentResult;
8952 const METHOD: &'static str = "workspace/textDocumentContent";
8953}
8954pub struct TextDocumentContentRefreshRequest;
8955impl LspRequest for TextDocumentContentRefreshRequest {
8956 type Params = TextDocumentContentRefreshParams;
8957 type Result = ();
8958 const METHOD: &'static str = "workspace/textDocumentContent/refresh";
8959}
8960impl lsp_types_max::request::Request for TextDocumentContentRefreshRequest {
8966 type Params = TextDocumentContentRefreshParams;
8967 type Result = ();
8968 const METHOD: &'static str = "workspace/textDocumentContent/refresh";
8969}
8970pub struct RegistrationRequest;
8971impl LspRequest for RegistrationRequest {
8972 type Params = RegistrationParams;
8973 type Result = ();
8974 const METHOD: &'static str = "client/registerCapability";
8975}
8976pub struct UnregistrationRequest;
8977impl LspRequest for UnregistrationRequest {
8978 type Params = UnregistrationParams;
8979 type Result = ();
8980 const METHOD: &'static str = "client/unregisterCapability";
8981}
8982pub struct InitializeRequest;
8983impl LspRequest for InitializeRequest {
8984 type Params = InitializeParams;
8985 type Result = InitializeResult;
8986 const METHOD: &'static str = "initialize";
8987}
8988pub struct ShutdownRequest;
8989impl LspRequest for ShutdownRequest {
8990 type Params = ();
8991 type Result = ();
8992 const METHOD: &'static str = "shutdown";
8993}
8994pub struct ShowMessageRequest;
8995impl LspRequest for ShowMessageRequest {
8996 type Params = ShowMessageRequestParams;
8997 type Result = Option<MessageActionItem>;
8998 const METHOD: &'static str = "window/showMessageRequest";
8999}
9000pub struct WillSaveTextDocumentWaitUntilRequest;
9001impl LspRequest for WillSaveTextDocumentWaitUntilRequest {
9002 type Params = WillSaveTextDocumentParams;
9003 type Result = Option<Vec<TextEdit>>;
9004 const METHOD: &'static str = "textDocument/willSaveWaitUntil";
9005}
9006pub struct CompletionRequest;
9007impl LspRequest for CompletionRequest {
9008 type Params = CompletionParams;
9009 type Result = Option<CompletionItemArrayOrCompletionList>;
9010 const METHOD: &'static str = "textDocument/completion";
9011}
9012pub struct CompletionResolveRequest;
9013impl LspRequest for CompletionResolveRequest {
9014 type Params = CompletionItem;
9015 type Result = CompletionItem;
9016 const METHOD: &'static str = "completionItem/resolve";
9017}
9018pub struct HoverRequest;
9019impl LspRequest for HoverRequest {
9020 type Params = HoverParams;
9021 type Result = Option<Hover>;
9022 const METHOD: &'static str = "textDocument/hover";
9023}
9024pub struct SignatureHelpRequest;
9025impl LspRequest for SignatureHelpRequest {
9026 type Params = SignatureHelpParams;
9027 type Result = Option<SignatureHelp>;
9028 const METHOD: &'static str = "textDocument/signatureHelp";
9029}
9030pub struct DefinitionRequest;
9031impl LspRequest for DefinitionRequest {
9032 type Params = DefinitionParams;
9033 type Result = Option<DefinitionOrDefinitionLinkArray>;
9034 const METHOD: &'static str = "textDocument/definition";
9035}
9036pub struct ReferencesRequest;
9037impl LspRequest for ReferencesRequest {
9038 type Params = ReferenceParams;
9039 type Result = Option<Vec<Location>>;
9040 const METHOD: &'static str = "textDocument/references";
9041}
9042pub struct DocumentHighlightRequest;
9043impl LspRequest for DocumentHighlightRequest {
9044 type Params = DocumentHighlightParams;
9045 type Result = Option<Vec<DocumentHighlight>>;
9046 const METHOD: &'static str = "textDocument/documentHighlight";
9047}
9048pub struct DocumentSymbolRequest;
9049impl LspRequest for DocumentSymbolRequest {
9050 type Params = DocumentSymbolParams;
9051 type Result = Option<DocumentSymbolArrayOrSymbolInformationArray>;
9052 const METHOD: &'static str = "textDocument/documentSymbol";
9053}
9054pub struct CodeActionRequest;
9055impl LspRequest for CodeActionRequest {
9056 type Params = CodeActionParams;
9057 type Result = Option<Vec<CodeActionOrCommand>>;
9058 const METHOD: &'static str = "textDocument/codeAction";
9059}
9060pub struct CodeActionResolveRequest;
9061impl LspRequest for CodeActionResolveRequest {
9062 type Params = CodeAction;
9063 type Result = CodeAction;
9064 const METHOD: &'static str = "codeAction/resolve";
9065}
9066pub struct WorkspaceSymbolRequest;
9067impl LspRequest for WorkspaceSymbolRequest {
9068 type Params = WorkspaceSymbolParams;
9069 type Result = Option<SymbolInformationArrayOrWorkspaceSymbolArray>;
9070 const METHOD: &'static str = "workspace/symbol";
9071}
9072pub struct WorkspaceSymbolResolveRequest;
9073impl LspRequest for WorkspaceSymbolResolveRequest {
9074 type Params = WorkspaceSymbol;
9075 type Result = WorkspaceSymbol;
9076 const METHOD: &'static str = "workspaceSymbol/resolve";
9077}
9078pub struct CodeLensRequest;
9079impl LspRequest for CodeLensRequest {
9080 type Params = CodeLensParams;
9081 type Result = Option<Vec<CodeLens>>;
9082 const METHOD: &'static str = "textDocument/codeLens";
9083}
9084pub struct CodeLensResolveRequest;
9085impl LspRequest for CodeLensResolveRequest {
9086 type Params = CodeLens;
9087 type Result = CodeLens;
9088 const METHOD: &'static str = "codeLens/resolve";
9089}
9090pub struct CodeLensRefreshRequest;
9091impl LspRequest for CodeLensRefreshRequest {
9092 type Params = ();
9093 type Result = ();
9094 const METHOD: &'static str = "workspace/codeLens/refresh";
9095}
9096pub struct DocumentLinkRequest;
9097impl LspRequest for DocumentLinkRequest {
9098 type Params = DocumentLinkParams;
9099 type Result = Option<Vec<DocumentLink>>;
9100 const METHOD: &'static str = "textDocument/documentLink";
9101}
9102pub struct DocumentLinkResolveRequest;
9103impl LspRequest for DocumentLinkResolveRequest {
9104 type Params = DocumentLink;
9105 type Result = DocumentLink;
9106 const METHOD: &'static str = "documentLink/resolve";
9107}
9108pub struct DocumentFormattingRequest;
9109impl LspRequest for DocumentFormattingRequest {
9110 type Params = DocumentFormattingParams;
9111 type Result = Option<Vec<TextEdit>>;
9112 const METHOD: &'static str = "textDocument/formatting";
9113}
9114pub struct DocumentRangeFormattingRequest;
9115impl LspRequest for DocumentRangeFormattingRequest {
9116 type Params = DocumentRangeFormattingParams;
9117 type Result = Option<Vec<TextEdit>>;
9118 const METHOD: &'static str = "textDocument/rangeFormatting";
9119}
9120pub struct DocumentRangesFormattingRequest;
9121impl LspRequest for DocumentRangesFormattingRequest {
9122 type Params = DocumentRangesFormattingParams;
9123 type Result = Option<Vec<TextEdit>>;
9124 const METHOD: &'static str = "textDocument/rangesFormatting";
9125}
9126pub struct DocumentOnTypeFormattingRequest;
9127impl LspRequest for DocumentOnTypeFormattingRequest {
9128 type Params = DocumentOnTypeFormattingParams;
9129 type Result = Option<Vec<TextEdit>>;
9130 const METHOD: &'static str = "textDocument/onTypeFormatting";
9131}
9132pub struct RenameRequest;
9133impl LspRequest for RenameRequest {
9134 type Params = RenameParams;
9135 type Result = Option<WorkspaceEdit>;
9136 const METHOD: &'static str = "textDocument/rename";
9137}
9138pub struct PrepareRenameRequest;
9139impl LspRequest for PrepareRenameRequest {
9140 type Params = PrepareRenameParams;
9141 type Result = Option<PrepareRenameResult>;
9142 const METHOD: &'static str = "textDocument/prepareRename";
9143}
9144pub struct ExecuteCommandRequest;
9145impl LspRequest for ExecuteCommandRequest {
9146 type Params = ExecuteCommandParams;
9147 type Result = Option<LSPAny>;
9148 const METHOD: &'static str = "workspace/executeCommand";
9149}
9150pub struct ApplyWorkspaceEditRequest;
9151impl LspRequest for ApplyWorkspaceEditRequest {
9152 type Params = ApplyWorkspaceEditParams;
9153 type Result = ApplyWorkspaceEditResult;
9154 const METHOD: &'static str = "workspace/applyEdit";
9155}
9156#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
9157pub enum KnownRequest {
9158 ImplementationRequest,
9159 TypeDefinitionRequest,
9160 WorkspaceFoldersRequest,
9161 ConfigurationRequest,
9162 DocumentColorRequest,
9163 ColorPresentationRequest,
9164 FoldingRangeRequest,
9165 FoldingRangeRefreshRequest,
9166 DeclarationRequest,
9167 SelectionRangeRequest,
9168 WorkDoneProgressCreateRequest,
9169 CallHierarchyPrepareRequest,
9170 CallHierarchyIncomingCallsRequest,
9171 CallHierarchyOutgoingCallsRequest,
9172 SemanticTokensRequest,
9173 SemanticTokensDeltaRequest,
9174 SemanticTokensRangeRequest,
9175 SemanticTokensRefreshRequest,
9176 ShowDocumentRequest,
9177 LinkedEditingRangeRequest,
9178 WillCreateFilesRequest,
9179 WillRenameFilesRequest,
9180 WillDeleteFilesRequest,
9181 MonikerRequest,
9182 TypeHierarchyPrepareRequest,
9183 TypeHierarchySupertypesRequest,
9184 TypeHierarchySubtypesRequest,
9185 InlineValueRequest,
9186 InlineValueRefreshRequest,
9187 InlayHintRequest,
9188 InlayHintResolveRequest,
9189 InlayHintRefreshRequest,
9190 DocumentDiagnosticRequest,
9191 WorkspaceDiagnosticRequest,
9192 DiagnosticRefreshRequest,
9193 InlineCompletionRequest,
9194 TextDocumentContentRequest,
9195 TextDocumentContentRefreshRequest,
9196 RegistrationRequest,
9197 UnregistrationRequest,
9198 InitializeRequest,
9199 ShutdownRequest,
9200 ShowMessageRequest,
9201 WillSaveTextDocumentWaitUntilRequest,
9202 CompletionRequest,
9203 CompletionResolveRequest,
9204 HoverRequest,
9205 SignatureHelpRequest,
9206 DefinitionRequest,
9207 ReferencesRequest,
9208 DocumentHighlightRequest,
9209 DocumentSymbolRequest,
9210 CodeActionRequest,
9211 CodeActionResolveRequest,
9212 WorkspaceSymbolRequest,
9213 WorkspaceSymbolResolveRequest,
9214 CodeLensRequest,
9215 CodeLensResolveRequest,
9216 CodeLensRefreshRequest,
9217 DocumentLinkRequest,
9218 DocumentLinkResolveRequest,
9219 DocumentFormattingRequest,
9220 DocumentRangeFormattingRequest,
9221 DocumentRangesFormattingRequest,
9222 DocumentOnTypeFormattingRequest,
9223 RenameRequest,
9224 PrepareRenameRequest,
9225 ExecuteCommandRequest,
9226 ApplyWorkspaceEditRequest,
9227}
9228pub trait LspNotification {
9229 type Params: Serialize + for<'de> Deserialize<'de>;
9230 const METHOD: &'static str;
9231}
9232pub struct DidChangeWorkspaceFoldersNotification;
9233impl LspNotification for DidChangeWorkspaceFoldersNotification {
9234 type Params = DidChangeWorkspaceFoldersParams;
9235 const METHOD: &'static str = "workspace/didChangeWorkspaceFolders";
9236}
9237pub struct WorkDoneProgressCancelNotification;
9238impl LspNotification for WorkDoneProgressCancelNotification {
9239 type Params = WorkDoneProgressCancelParams;
9240 const METHOD: &'static str = "window/workDoneProgress/cancel";
9241}
9242pub struct DidCreateFilesNotification;
9243impl LspNotification for DidCreateFilesNotification {
9244 type Params = CreateFilesParams;
9245 const METHOD: &'static str = "workspace/didCreateFiles";
9246}
9247pub struct DidRenameFilesNotification;
9248impl LspNotification for DidRenameFilesNotification {
9249 type Params = RenameFilesParams;
9250 const METHOD: &'static str = "workspace/didRenameFiles";
9251}
9252pub struct DidDeleteFilesNotification;
9253impl LspNotification for DidDeleteFilesNotification {
9254 type Params = DeleteFilesParams;
9255 const METHOD: &'static str = "workspace/didDeleteFiles";
9256}
9257pub struct DidOpenNotebookDocumentNotification;
9258impl LspNotification for DidOpenNotebookDocumentNotification {
9259 type Params = DidOpenNotebookDocumentParams;
9260 const METHOD: &'static str = "notebookDocument/didOpen";
9261}
9262pub struct DidChangeNotebookDocumentNotification;
9263impl LspNotification for DidChangeNotebookDocumentNotification {
9264 type Params = DidChangeNotebookDocumentParams;
9265 const METHOD: &'static str = "notebookDocument/didChange";
9266}
9267pub struct DidSaveNotebookDocumentNotification;
9268impl LspNotification for DidSaveNotebookDocumentNotification {
9269 type Params = DidSaveNotebookDocumentParams;
9270 const METHOD: &'static str = "notebookDocument/didSave";
9271}
9272pub struct DidCloseNotebookDocumentNotification;
9273impl LspNotification for DidCloseNotebookDocumentNotification {
9274 type Params = DidCloseNotebookDocumentParams;
9275 const METHOD: &'static str = "notebookDocument/didClose";
9276}
9277pub struct InitializedNotification;
9278impl LspNotification for InitializedNotification {
9279 type Params = InitializedParams;
9280 const METHOD: &'static str = "initialized";
9281}
9282pub struct ExitNotification;
9283impl LspNotification for ExitNotification {
9284 type Params = ();
9285 const METHOD: &'static str = "exit";
9286}
9287pub struct DidChangeConfigurationNotification;
9288impl LspNotification for DidChangeConfigurationNotification {
9289 type Params = DidChangeConfigurationParams;
9290 const METHOD: &'static str = "workspace/didChangeConfiguration";
9291}
9292pub struct ShowMessageNotification;
9293impl LspNotification for ShowMessageNotification {
9294 type Params = ShowMessageParams;
9295 const METHOD: &'static str = "window/showMessage";
9296}
9297pub struct LogMessageNotification;
9298impl LspNotification for LogMessageNotification {
9299 type Params = LogMessageParams;
9300 const METHOD: &'static str = "window/logMessage";
9301}
9302pub struct TelemetryEventNotification;
9303impl LspNotification for TelemetryEventNotification {
9304 type Params = LSPAny;
9305 const METHOD: &'static str = "telemetry/event";
9306}
9307pub struct DidOpenTextDocumentNotification;
9308impl LspNotification for DidOpenTextDocumentNotification {
9309 type Params = DidOpenTextDocumentParams;
9310 const METHOD: &'static str = "textDocument/didOpen";
9311}
9312pub struct DidChangeTextDocumentNotification;
9313impl LspNotification for DidChangeTextDocumentNotification {
9314 type Params = DidChangeTextDocumentParams;
9315 const METHOD: &'static str = "textDocument/didChange";
9316}
9317pub struct DidCloseTextDocumentNotification;
9318impl LspNotification for DidCloseTextDocumentNotification {
9319 type Params = DidCloseTextDocumentParams;
9320 const METHOD: &'static str = "textDocument/didClose";
9321}
9322pub struct DidSaveTextDocumentNotification;
9323impl LspNotification for DidSaveTextDocumentNotification {
9324 type Params = DidSaveTextDocumentParams;
9325 const METHOD: &'static str = "textDocument/didSave";
9326}
9327pub struct WillSaveTextDocumentNotification;
9328impl LspNotification for WillSaveTextDocumentNotification {
9329 type Params = WillSaveTextDocumentParams;
9330 const METHOD: &'static str = "textDocument/willSave";
9331}
9332pub struct DidChangeWatchedFilesNotification;
9333impl LspNotification for DidChangeWatchedFilesNotification {
9334 type Params = DidChangeWatchedFilesParams;
9335 const METHOD: &'static str = "workspace/didChangeWatchedFiles";
9336}
9337pub struct PublishDiagnosticsNotification;
9338impl LspNotification for PublishDiagnosticsNotification {
9339 type Params = PublishDiagnosticsParams;
9340 const METHOD: &'static str = "textDocument/publishDiagnostics";
9341}
9342pub struct SetTraceNotification;
9343impl LspNotification for SetTraceNotification {
9344 type Params = SetTraceParams;
9345 const METHOD: &'static str = "$/setTrace";
9346}
9347pub struct LogTraceNotification;
9348impl LspNotification for LogTraceNotification {
9349 type Params = LogTraceParams;
9350 const METHOD: &'static str = "$/logTrace";
9351}
9352pub struct CancelNotification;
9353impl LspNotification for CancelNotification {
9354 type Params = CancelParams;
9355 const METHOD: &'static str = "$/cancelRequest";
9356}
9357pub struct ProgressNotification;
9358impl LspNotification for ProgressNotification {
9359 type Params = ProgressParams;
9360 const METHOD: &'static str = "$/progress";
9361}