public async Task<CodeAnalysisResults> RunCodeAnalysisAsync(ISourceFile file, List<UnsavedFile> unsavedFiles, Func<bool> interruptRequested)
{
var result = new CodeAnalysisResults();
var dataAssociation = GetAssociatedData(file);
var response = await dataAssociation.Solution.Server.Highlight(file.FilePath, unsavedFiles.FirstOrDefault()?.Contents);
if (response != null)
{
foreach (var highlight in response.Highlights)
{
result.SyntaxHighlightingData.Add(new LineColumnSyntaxHighlightingData
{
StartLine = highlight.StartLine,
EndLine = highlight.EndLine,
StartColumn = highlight.StartColumn,
EndColumn = highlight.EndColumn,
Type = ToAvalonHighlightType(highlight.Kind)
});
}
dataAssociation.TextColorizer.SetTransformations(result.SyntaxHighlightingData);
}
return result;
}