Skip to content

Commit 6db0396

Browse files
DanTupcommit-bot@chromium.org
authored andcommitted
Regenerate code from v3.15 LSP spec
Commit v3.15 of LSP spec + regen generated code Change-Id: Ic0823063791900f347e1ff1f2242a6e4e6ed8ca6 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/153778 Reviewed-by: Brian Wilkerson <[email protected]>
1 parent d86fa96 commit 6db0396

23 files changed

+19870
-11109
lines changed

pkg/analysis_server/lib/lsp_protocol/protocol_generated.dart

Lines changed: 17169 additions & 9819 deletions
Large diffs are not rendered by default.

pkg/analysis_server/lib/src/lsp/handlers/handler_code_actions.dart

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ class CodeActionHandler extends MessageHandler<CodeActionParams,
8989
) {
9090
return clientSupportsLiteralCodeActions
9191
? Either2<Command, CodeAction>.t2(
92-
CodeAction(command.title, kind, null, null, command),
92+
CodeAction(command.title, kind, null, false, null, command),
9393
)
9494
: Either2<Command, CodeAction>.t1(command);
9595
}
@@ -103,6 +103,7 @@ class CodeActionHandler extends MessageHandler<CodeActionParams,
103103
assist.change.message,
104104
toCodeActionKind(assist.change.id, CodeActionKind.Refactor),
105105
const [],
106+
false,
106107
createWorkspaceEdit(server, assist.change.edits),
107108
null,
108109
);
@@ -117,6 +118,7 @@ class CodeActionHandler extends MessageHandler<CodeActionParams,
117118
fix.change.message,
118119
toCodeActionKind(fix.change.id, CodeActionKind.QuickFix),
119120
[diagnostic],
121+
false,
120122
createWorkspaceEdit(server, fix.change.edits),
121123
null,
122124
);
@@ -141,6 +143,7 @@ class CodeActionHandler extends MessageHandler<CodeActionParams,
141143
first.kind,
142144
// Merge diagnostics from all of the CodeActions.
143145
groups[edit].expand((r) => r.diagnostics).toList(),
146+
false,
144147
first.edit,
145148
first.command);
146149
}).toList();

pkg/analysis_server/lib/src/lsp/handlers/handler_completion.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ class CompletionHandler
154154
'$name/$declaringUri';
155155

156156
Future<ErrorOr<List<CompletionItem>>> _getPluginResults(
157-
TextDocumentClientCapabilitiesCompletion completionCapabilities,
157+
CompletionClientCapabilities completionCapabilities,
158158
HashSet<CompletionItemKind> clientSupportedCompletionKinds,
159159
LineInfo lineInfo,
160160
String path,
@@ -177,7 +177,7 @@ class CompletionHandler
177177
}
178178

179179
Future<ErrorOr<List<CompletionItem>>> _getServerItems(
180-
TextDocumentClientCapabilitiesCompletion completionCapabilities,
180+
CompletionClientCapabilities completionCapabilities,
181181
HashSet<CompletionItemKind> clientSupportedCompletionKinds,
182182
bool includeSuggestionSets,
183183
ResolvedUnitResult unit,
@@ -340,7 +340,7 @@ class CompletionHandler
340340
}
341341

342342
Iterable<CompletionItem> _pluginResultsToItems(
343-
TextDocumentClientCapabilitiesCompletion completionCapabilities,
343+
CompletionClientCapabilities completionCapabilities,
344344
HashSet<CompletionItemKind> clientSupportedCompletionKinds,
345345
LineInfo lineInfo,
346346
List<plugin.CompletionGetSuggestionsResult> pluginResults,

pkg/analysis_server/lib/src/lsp/handlers/handler_completion_resolve.dart

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,11 +148,15 @@ class CompletionResolveHandler
148148
return success(CompletionItem(
149149
item.label,
150150
item.kind,
151+
null, // TODO(dantup): CompletionItemTags (eg. deprecated)
151152
data.displayUri != null && thisFilesChanges.isNotEmpty
152153
? "Auto import from '${data.displayUri}'\n\n${item.detail ?? ''}"
153154
.trim()
154155
: item.detail,
155156
documentation,
157+
// The deprecated field is deprecated, but we should still supply it
158+
// for clients that have not adopted CompletionItemTags.
159+
// ignore: deprecated_member_use_from_same_package
156160
item.deprecated,
157161
item.preselect,
158162
item.sortText,

pkg/analysis_server/lib/src/lsp/handlers/handler_initialize.dart

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
// for details. All rights reserved. Use of this source code is governed by a
33
// BSD-style license that can be found in the LICENSE file.
44

5+
import 'dart:io';
6+
57
import 'package:analysis_server/lsp_protocol/protocol_generated.dart';
68
import 'package:analysis_server/lsp_protocol/protocol_special.dart';
79
import 'package:analysis_server/src/lsp/handlers/handler_states.dart';
@@ -55,6 +57,18 @@ class InitializeMessageHandler
5557

5658
server.capabilities = server.capabilitiesComputer
5759
.computeServerCapabilities(params.capabilities);
58-
return success(InitializeResult(server.capabilities));
60+
61+
var sdkVersion = Platform.version;
62+
if (sdkVersion.contains(' ')) {
63+
sdkVersion = sdkVersion.substring(0, sdkVersion.indexOf(' '));
64+
}
65+
66+
return success(InitializeResult(
67+
server.capabilities,
68+
InitializeResultServerInfo(
69+
'Dart SDK LSP Analysis Server',
70+
sdkVersion,
71+
),
72+
));
5973
}
6074
}

pkg/analysis_server/lib/src/lsp/lsp_analysis_server.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -377,7 +377,8 @@ class LspAnalysisServer extends AbstractAnalysisServer {
377377
}
378378

379379
void publishDiagnostics(String path, List<Diagnostic> errors) {
380-
final params = PublishDiagnosticsParams(Uri.file(path).toString(), errors);
380+
final params =
381+
PublishDiagnosticsParams(Uri.file(path).toString(), null, errors);
381382
final message = NotificationMessage(
382383
Method.textDocument_publishDiagnostics,
383384
params,

pkg/analysis_server/lib/src/lsp/lsp_socket_server.dart

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,11 @@ class LspSocketServer implements AbstractSocketServer {
4545
/// given serverChannel.
4646
void createAnalysisServer(LspServerCommunicationChannel serverChannel) {
4747
if (analysisServer != null) {
48-
ResponseError error = ResponseError<void>(
49-
ServerErrorCodes.ServerAlreadyStarted,
50-
'Server already started',
51-
null);
48+
final error = ResponseError(
49+
ServerErrorCodes.ServerAlreadyStarted,
50+
'Server already started',
51+
null,
52+
);
5253
serverChannel.sendNotification(NotificationMessage(
5354
Method.window_showMessage,
5455
ShowMessageParams(MessageType.Error, error.message),

pkg/analysis_server/lib/src/lsp/mapping.dart

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ lsp.SymbolKind declarationKindToSymbolKind(
175175
}
176176

177177
lsp.CompletionItem declarationToCompletionItem(
178-
lsp.TextDocumentClientCapabilitiesCompletion completionCapabilities,
178+
lsp.CompletionClientCapabilities completionCapabilities,
179179
HashSet<lsp.CompletionItemKind> supportedCompletionItemKinds,
180180
String file,
181181
int offset,
@@ -243,6 +243,7 @@ lsp.CompletionItem declarationToCompletionItem(
243243
return lsp.CompletionItem(
244244
label,
245245
completionKind,
246+
null, // TODO(dantup): CompletionItemTags
246247
getDeclarationCompletionDetail(declaration, completionKind, useDeprecated),
247248
null, // documentation - will be added during resolve.
248249
useDeprecated && declaration.isDeprecated ? true : null,
@@ -573,6 +574,7 @@ lsp.Diagnostic pluginToDiagnostic(
573574
error.code,
574575
languageSourceName,
575576
message,
577+
null, // TODO(dantup): DiagnosticTags
576578
relatedInformation,
577579
);
578580
}
@@ -692,7 +694,7 @@ CodeActionKind toCodeActionKind(String id, lsp.CodeActionKind fallback) {
692694
}
693695

694696
lsp.CompletionItem toCompletionItem(
695-
lsp.TextDocumentClientCapabilitiesCompletion completionCapabilities,
697+
lsp.CompletionClientCapabilities completionCapabilities,
696698
HashSet<lsp.CompletionItemKind> supportedCompletionItemKinds,
697699
server.LineInfo lineInfo,
698700
server.CompletionSuggestion suggestion,
@@ -749,6 +751,7 @@ lsp.CompletionItem toCompletionItem(
749751
return lsp.CompletionItem(
750752
label,
751753
completionKind,
754+
null, // TODO(dantup): CompletionItemTags
752755
getCompletionDetail(suggestion, completionKind, useDeprecated),
753756
asStringOrMarkupContent(formats, cleanDartdoc(suggestion.docComplete)),
754757
useDeprecated && suggestion.isDeprecated ? true : null,
@@ -801,6 +804,7 @@ lsp.Diagnostic toDiagnostic(
801804
errorCode.name.toLowerCase(),
802805
languageSourceName,
803806
message,
807+
null, // TODO(dantup): DiagnosticTags
804808
relatedInformation,
805809
);
806810
}
@@ -1060,7 +1064,7 @@ lsp.TextEdit toTextEdit(server.LineInfo lineInfo, server.SourceEdit edit) {
10601064
}
10611065

10621066
lsp.WorkspaceEdit toWorkspaceEdit(
1063-
lsp.WorkspaceClientCapabilities capabilities,
1067+
lsp.ClientCapabilitiesWorkspace capabilities,
10641068
List<FileEditInformation> edits,
10651069
) {
10661070
final clientSupportsTextDocumentEdits =

pkg/analysis_server/lib/src/lsp/notification_manager.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ class LspNotificationManager extends AbstractNotificationManager {
3232
.map((error) => pluginToDiagnostic(server.getLineInfo, error))
3333
.toList();
3434

35-
final params =
36-
PublishDiagnosticsParams(Uri.file(filePath).toString(), diagnostics);
35+
final params = PublishDiagnosticsParams(
36+
Uri.file(filePath).toString(), null, diagnostics);
3737
final message = NotificationMessage(
3838
Method.textDocument_publishDiagnostics,
3939
params,

pkg/analysis_server/lib/src/lsp/server_capabilities_computer.dart

Lines changed: 64 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -128,45 +128,65 @@ class ServerCapabilitiesComputer {
128128
false,
129129
null,
130130
)),
131-
dynamicRegistrations.hover ? null : true, // hoverProvider
132131
dynamicRegistrations.completion
133132
? null
134133
: CompletionOptions(
135-
true, // resolveProvider
136134
dartCompletionTriggerCharacters,
137-
),
135+
null, // allCommitCharacters
136+
true, // resolveProvider
137+
null, // workDoneProgress
138+
), // completionProvider
139+
dynamicRegistrations.hover
140+
? null
141+
: Either2<bool, HoverOptions>.t1(true), // hoverProvider
138142
dynamicRegistrations.signatureHelp
139143
? null
140144
: SignatureHelpOptions(
141145
dartSignatureHelpTriggerCharacters,
146+
null, // retriggerCharacters
147+
null, // workDoneProgress
142148
),
143-
dynamicRegistrations.definition ? null : true, // definitionProvider
149+
null, // declarationProvider
150+
dynamicRegistrations.definition
151+
? null
152+
: Either2<bool, DefinitionOptions>.t1(true), // definitionProvider
144153
null,
145154
dynamicRegistrations.implementation
146155
? null
147-
: true, // implementationProvider
148-
dynamicRegistrations.references ? null : true, // referencesProvider
156+
: Either3<bool, ImplementationOptions,
157+
ImplementationRegistrationOptions>.t1(
158+
true,
159+
), // implementationProvider
160+
dynamicRegistrations.references
161+
? null
162+
: Either2<bool, ReferenceOptions>.t1(true), // referencesProvider
149163
dynamicRegistrations.documentHighlights
150164
? null
151-
: true, // documentHighlightProvider
165+
: Either2<bool, DocumentHighlightOptions>.t1(
166+
true), // documentHighlightProvider
152167
dynamicRegistrations.documentSymbol
153168
? null
154-
: true, // documentSymbolProvider
155-
true, // workspaceSymbolProvider
169+
: Either2<bool, DocumentSymbolOptions>.t1(
170+
true), // documentSymbolProvider
156171
// "The `CodeActionOptions` return type is only valid if the client
157172
// signals code action literal support via the property
158173
// `textDocument.codeAction.codeActionLiteralSupport`."
159174
dynamicRegistrations.codeActions
160175
? null
161176
: codeActionLiteralSupport != null
162-
? Either2<bool, CodeActionOptions>.t2(
163-
CodeActionOptions(DartCodeActionKind.serverSupportedKinds))
177+
? Either2<bool, CodeActionOptions>.t2(CodeActionOptions(
178+
DartCodeActionKind.serverSupportedKinds,
179+
null, // workDoneProgress
180+
))
164181
: Either2<bool, CodeActionOptions>.t1(true),
165-
null,
182+
null, // codeLensProvider
183+
null, // documentLinkProvider
184+
null, // colorProvider
166185
dynamicRegistrations.formatting
167186
? null
168-
: enableFormatter, // documentFormattingProvider
169-
false, // documentRangeFormattingProvider
187+
: Either2<bool, DocumentFormattingOptions>.t1(
188+
enableFormatter), // documentFormattingProvider
189+
null, // documentRangeFormattingProvider
170190
dynamicRegistrations.typeFormatting
171191
? null
172192
: enableFormatter
@@ -177,15 +197,24 @@ class ServerCapabilitiesComputer {
177197
dynamicRegistrations.rename
178198
? null
179199
: renameOptionsSupport
180-
? Either2<bool, RenameOptions>.t2(RenameOptions(true))
200+
? Either2<bool, RenameOptions>.t2(RenameOptions(true, null))
181201
: Either2<bool, RenameOptions>.t1(true),
182-
null,
183-
null,
184-
dynamicRegistrations.folding ? null : true, // foldingRangeProvider
185-
null, // declarationProvider
186-
ExecuteCommandOptions(Commands.serverSupportedCommands),
187-
ServerCapabilitiesWorkspace(
188-
ServerCapabilitiesWorkspaceFolders(true, true)),
202+
dynamicRegistrations.folding
203+
? null
204+
: Either3<bool, FoldingRangeOptions,
205+
FoldingRangeRegistrationOptions>.t1(
206+
true,
207+
),
208+
ExecuteCommandOptions(
209+
Commands.serverSupportedCommands,
210+
null, // workDoneProgress
211+
),
212+
null, // selectionRangeProvider
213+
true, // workspaceSymbolProvider
214+
ServerCapabilitiesWorkspace(WorkspaceFoldersServerCapabilities(
215+
true,
216+
Either2<String, bool>.t2(true),
217+
)),
189218
null);
190219
}
191220

@@ -257,10 +286,11 @@ class ServerCapabilitiesComputer {
257286
dynamicRegistrations.completion,
258287
Method.textDocument_completion,
259288
CompletionRegistrationOptions(
289+
allTypes,
260290
dartCompletionTriggerCharacters,
261291
null,
262292
true,
263-
allTypes,
293+
null,
264294
),
265295
);
266296
register(
@@ -272,7 +302,11 @@ class ServerCapabilitiesComputer {
272302
dynamicRegistrations.signatureHelp,
273303
Method.textDocument_signatureHelp,
274304
SignatureHelpRegistrationOptions(
275-
dartSignatureHelpTriggerCharacters, allTypes),
305+
allTypes,
306+
dartSignatureHelpTriggerCharacters,
307+
null,
308+
null,
309+
),
276310
);
277311
register(
278312
dynamicRegistrations.references,
@@ -298,9 +332,9 @@ class ServerCapabilitiesComputer {
298332
enableFormatter && dynamicRegistrations.typeFormatting,
299333
Method.textDocument_onTypeFormatting,
300334
DocumentOnTypeFormattingRegistrationOptions(
335+
[dartFiles], // This one is currently Dart-specific
301336
dartTypeFormattingCharacters.first,
302337
dartTypeFormattingCharacters.skip(1).toList(),
303-
[dartFiles], // This one is currently Dart-specific
304338
),
305339
);
306340
register(
@@ -317,12 +351,15 @@ class ServerCapabilitiesComputer {
317351
dynamicRegistrations.codeActions,
318352
Method.textDocument_codeAction,
319353
CodeActionRegistrationOptions(
320-
allTypes, DartCodeActionKind.serverSupportedKinds),
354+
allTypes,
355+
DartCodeActionKind.serverSupportedKinds,
356+
null,
357+
),
321358
);
322359
register(
323360
dynamicRegistrations.rename,
324361
Method.textDocument_rename,
325-
RenameRegistrationOptions(true, allTypes),
362+
RenameRegistrationOptions(allTypes, true, null),
326363
);
327364
register(
328365
dynamicRegistrations.folding,

0 commit comments

Comments
 (0)