diff --git a/src/Features/Core/Portable/SolutionCrawler/WorkCoordinator.cs b/src/Features/Core/Portable/SolutionCrawler/WorkCoordinator.cs index 5843bfd9f4de118b2d7b120cc389cc1b1e2cc916..26c5c7d7d3e5563d42c3364c4609390d4c90250f 100644 --- a/src/Features/Core/Portable/SolutionCrawler/WorkCoordinator.cs +++ b/src/Features/Core/Portable/SolutionCrawler/WorkCoordinator.cs @@ -543,7 +543,14 @@ private async Task EnqueueProjectConfigurationChangeWorkItemAsync(ProjectChanges private async Task EnqueueWorkItemAsync(Document oldDocument, Document newDocument) { var differenceService = newDocument.GetLanguageService(); - if (differenceService != null) + + if (differenceService == null) + { + /// For languages that don't use a Roslyn syntax tree, they don't export a + /// So we should consider the whole document changed. + await EnqueueWorkItemAsync(newDocument, InvocationReasons.DocumentChanged).ConfigureAwait(false); + } + else { var differenceResult = await differenceService.GetDifferenceAsync(oldDocument, newDocument, _shutdownToken).ConfigureAwait(false);