Skip to content

Commit 06b28fc

Browse files
DanTupcommit-bot@chromium.org
authored andcommitted
Filter TODOs out of LSP diagnostics
Change-Id: I4a089be3919e0a2ed6c1e54e712ba7f1c9d835aa Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105762 Reviewed-by: Brian Wilkerson <brianwilkerson@google.com> Reviewed-by: Nate Bosch <nbosch@google.com> Commit-Queue: Danny Tuppeny <dantup@google.com>
1 parent 68dadda commit 06b28fc

2 files changed

Lines changed: 19 additions & 1 deletion

File tree

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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ import 'package:analysis_server/src/services/refactoring/refactoring.dart';
3232
import 'package:analysis_server/src/services/search/search_engine.dart';
3333
import 'package:analysis_server/src/services/search/search_engine_internal.dart';
3434
import 'package:analysis_server/src/utilities/null_string_sink.dart';
35+
import 'package:analyzer/error/error.dart';
3536
import 'package:analyzer/exception/exception.dart';
3637
import 'package:analyzer/file_system/file_system.dart';
3738
import 'package:analyzer/instrumentation/instrumentation.dart';
@@ -601,7 +602,9 @@ class LspServerContextManagerCallbacks extends ContextManagerCallbacks {
601602
final serverErrors = protocol.mapEngineErrors(
602603
result.session.analysisContext.analysisOptions,
603604
result.lineInfo,
604-
result.errors,
605+
result.errors
606+
.where((e) => e.errorCode.type != ErrorType.TODO)
607+
.toList(),
605608
toDiagnostic);
606609

607610
analysisServer.publishDiagnostics(result.path, serverErrors);

pkg/analysis_server/test/lsp/diagnostic_test.dart

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,4 +81,19 @@ class DiagnosticTest extends AbstractLspAnalysisServerTest {
8181
// transmitted.
8282
expect(diagnostics, isNull);
8383
}
84+
85+
test_todos() async {
86+
// TODOs only show up if there's also some code in the file.
87+
const initialContents = '''
88+
// TODO: This
89+
String a = "";
90+
''';
91+
newFile(mainFilePath, content: initialContents);
92+
93+
final firstDiagnosticsUpdate = waitForDiagnostics(mainFileUri);
94+
await initialize();
95+
final initialDiagnostics = await firstDiagnosticsUpdate;
96+
// TODOs should not be sent by LSP.
97+
expect(initialDiagnostics, hasLength(0));
98+
}
8499
}

0 commit comments

Comments
 (0)