/// <nodoc /> public static Range GetRange(this TypeScript.Net.Diagnostics.Diagnostic diagnostic) { Contract.Requires(diagnostic.File != null, "GetRange is valid only for file-based diagnostics."); var sourceFile = diagnostic.File; var lineAndColumn = diagnostic.GetLineAndColumn(sourceFile); return(ToRange(lineAndColumn, sourceFile.LineMap, diagnostic.Length)); }
/// <nodoc /> public static Diagnostic ToProtocolDiagnostic(this TypeScript.Net.Diagnostics.Diagnostic semanticDiagnostic, string source = IdeProviderBase.DScriptLanguage) { return(new Microsoft.VisualStudio.LanguageServer.Protocol.Diagnostic { // diag.code = 0; This can be omitted according to protocol spec Source = source, Message = semanticDiagnostic.MessageText.ToString(), Severity = WorkspaceSeverityToDiagnostic(semanticDiagnostic.Category), Range = semanticDiagnostic.GetRange(), }); }