Regenerate LSP classes from spec + update README
The README was missing some methods (recent additions?) and also not quite in the same order - this fixes that. Also re-generates the classes based on current spec (mostly comments updates, but also non-nullability for `targetSelectionRange`.
Change-Id: I0dd4e24daf51b659783058362339550ec46fa1c8
Reviewed-on: https://dart-review.googlesource.com/c/89641
Commit-Queue: Danny Tuppeny <dantup@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Auto-Submit: Danny Tuppeny <dantup@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
diff --git a/pkg/analysis_server/lib/lsp_protocol/protocol_generated.dart b/pkg/analysis_server/lib/lsp_protocol/protocol_generated.dart
index 8e0f2a2..af2a5e1 100644
--- a/pkg/analysis_server/lib/lsp_protocol/protocol_generated.dart
+++ b/pkg/analysis_server/lib/lsp_protocol/protocol_generated.dart
@@ -4980,10 +4980,15 @@
/// range at the mouse position.
final Range originSelectionRange;
- /// The full target range of this link.
+ /// The full target range of this link. If the target for example is a symbol
+ /// then target range is the range enclosing this symbol not including
+ /// leading/trailing whitespace but everything else like comments. This
+ /// information is typically used to highlight the range in the editor.
final Range targetRange;
- /// The span of this link.
+ /// The range that should be selected and revealed when this link is being
+ /// followed, e.g the name of a function. Must be contained by the the
+ /// `targetRange`. See also `DocumentSymbol#range`
final Range targetSelectionRange;
/// The target resource identifier of this link.
@@ -4998,9 +5003,8 @@
targetUri ?? (throw 'targetUri is required but was not set');
__result['targetRange'] =
targetRange ?? (throw 'targetRange is required but was not set');
- if (targetSelectionRange != null) {
- __result['targetSelectionRange'] = targetSelectionRange;
- }
+ __result['targetSelectionRange'] = targetSelectionRange ??
+ (throw 'targetSelectionRange is required but was not set');
return __result;
}
@@ -5009,7 +5013,9 @@
obj.containsKey('targetUri') &&
obj['targetUri'] is String &&
obj.containsKey('targetRange') &&
- Range.canParse(obj['targetRange']);
+ Range.canParse(obj['targetRange']) &&
+ obj.containsKey('targetSelectionRange') &&
+ Range.canParse(obj['targetSelectionRange']);
}
@override
diff --git a/pkg/analysis_server/tool/lsp_spec/README.md b/pkg/analysis_server/tool/lsp_spec/README.md
index 2ef56cb..7eb9e39 100644
--- a/pkg/analysis_server/tool/lsp_spec/README.md
+++ b/pkg/analysis_server/tool/lsp_spec/README.md
@@ -37,8 +37,10 @@
| telemetry/event | | | | |
| client/registerCapability | | | | | unused, but should be used for DocumentSelector at least
| client/unregisterCapability | | | | |
-| workspace/didChangeWatchedFiles | | | | | unused, server does own watching |
+| workspace/workspaceFolders | | | | |
| workspace/didChangeWorkspaceFolders | ✅ | ✅ | ✅ | ✅ |
+| workspace/configuration | | | | |
+| workspace/didChangeWatchedFiles | | | | | unused, server does own watching |
| workspace/symbol | | | | |
| workspace/executeCommand | ✅ | ✅ | ✅ | ✅ |
| workspace/applyEdit | ✅ | ✅ | ✅ | ✅ |
@@ -52,6 +54,7 @@
| completionItem/resolve | | | | | not required |
| textDocument/hover | ✅ | ✅ | ✅ | ✅ |
| textDocument/signatureHelp | ✅ | ✅ | ✅ | ✅ | trigger character handling outstanding
+| textDocument/declaration | | | | |
| textDocument/definition | ✅ | ✅ | ✅ | ✅ |
| textDocument/typeDefinition | | | | |
| textDocument/implementation | | | | |
@@ -67,6 +70,8 @@
| codeLens/resolve | | | | |
| textDocument/documentLink | | | | |
| documentLink/resolve | | | | |
+| textDocument/documentColor | | | | |
+| textDocument/colorPresentation | | | | |
| textDocument/formatting | ✅ | ✅ | ✅ | ✅ |
| textDocument/rangeFormatting | | | | | requires support from dart_style?
| textDocument/onTypeFormatting | ✅ | ✅ | ✅ | ✅ |
@@ -74,3 +79,4 @@
| textDocument/prepareRename | | | | |
| textDocument/foldingRange | | | | |
+