|
@@ -202,10 +202,31 @@ export class DiagnosticsAdapter extends Adapter {
|
|
|
endColumn,
|
|
|
message: flattenDiagnosticMessageText(diag.messageText, '\n'),
|
|
|
code: diag.code.toString(),
|
|
|
- tags: diag.reportsUnnecessary ? [monaco.MarkerTag.Unnecessary] : []
|
|
|
+ tags: diag.reportsUnnecessary ? [monaco.MarkerTag.Unnecessary] : [],
|
|
|
+ relatedInformation: this._convertRelatedInformation(resource, diag.relatedInformation),
|
|
|
};
|
|
|
}
|
|
|
|
|
|
+ private _convertRelatedInformation(resource: Uri, relatedInformation?: ts.DiagnosticRelatedInformation[]): monaco.editor.IRelatedInformation[] {
|
|
|
+ if (relatedInformation === undefined)
|
|
|
+ return undefined;
|
|
|
+
|
|
|
+ return relatedInformation.map(info => {
|
|
|
+ const relatedResource = info.file === undefined ? resource : monaco.Uri.parse(info.file.fileName);
|
|
|
+ const { lineNumber: startLineNumber, column: startColumn } = this._offsetToPosition(relatedResource, info.start);
|
|
|
+ const { lineNumber: endLineNumber, column: endColumn } = this._offsetToPosition(relatedResource, info.start + info.length);
|
|
|
+
|
|
|
+ return {
|
|
|
+ resource: relatedResource,
|
|
|
+ startLineNumber,
|
|
|
+ startColumn,
|
|
|
+ endLineNumber,
|
|
|
+ endColumn,
|
|
|
+ message: flattenDiagnosticMessageText(info.messageText, '\n')
|
|
|
+ };
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
private _tsDiagnosticCategoryToMarkerSeverity(category: ts.DiagnosticCategory): monaco.MarkerSeverity {
|
|
|
switch (category) {
|
|
|
case ts.DiagnosticCategory.Error: return monaco.MarkerSeverity.Error
|