diagnostics method

Future<Map<String, Object?>> diagnostics(
  1. String language,
  2. String source, {
  3. String? uri,
})

Diagnostics (errors/warnings) for source, with precise LSP ranges.

Implementation

Future<Map<String, Object?>> diagnostics(
  String language,
  String source, {
  String? uri,
}) => _withDoc(language, source, uri: uri, (lsp, docUri) async {
  final diags = await lsp.analyze(docUri, source);
  return <String, Object?>{
    'diagnostics': diags.map((d) => d.toJson()).toList(),
    'ok': diags.every((d) => d.severity != DiagnosticSeverity.error),
    'isError': false,
  };
});