From cd8cf2093bbb83f8dd20dc651a9368d906e7e51e Mon Sep 17 00:00:00 2001 From: Jan Jones Date: Mon, 11 Dec 2023 13:34:26 +0100 Subject: [PATCH] Fix spell check endpoint --- .../SpellCheck/DocumentSpellCheckEndpoint.cs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/Razor/src/Microsoft.AspNetCore.Razor.LanguageServer/SpellCheck/DocumentSpellCheckEndpoint.cs b/src/Razor/src/Microsoft.AspNetCore.Razor.LanguageServer/SpellCheck/DocumentSpellCheckEndpoint.cs index 2f188d25cb5..bbc9fa046a5 100644 --- a/src/Razor/src/Microsoft.AspNetCore.Razor.LanguageServer/SpellCheck/DocumentSpellCheckEndpoint.cs +++ b/src/Razor/src/Microsoft.AspNetCore.Razor.LanguageServer/SpellCheck/DocumentSpellCheckEndpoint.cs @@ -159,10 +159,14 @@ private async Task AddCSharpSpellCheckRangesAsync(List ranges, // We need to map the start index to produce results, and we validate that we can map the end index so we don't have // squiggles that go from C# into Razor/Html. - if (_documentMappingService.TryMapToHostDocumentPosition(csharpDocument, absoluteCSharpStartIndex, out var _1, out var hostDocumentIndex) && - _documentMappingService.TryMapToHostDocumentPosition(csharpDocument, absoluteCSharpStartIndex + length, out var _2, out var _3)) + if (_documentMappingService.TryMapToHostDocumentPosition(csharpDocument, absoluteCSharpStartIndex, out var _1, out var hostDocumentStartIndex) && + _documentMappingService.TryMapToHostDocumentPosition(csharpDocument, absoluteCSharpStartIndex + length, out var _2, out var hostDocumentEndIndex)) { - ranges.Add(new(kind, hostDocumentIndex, length)); + var mappedLength = hostDocumentEndIndex - hostDocumentStartIndex; + if (mappedLength > 0) + { + ranges.Add(new(kind, hostDocumentStartIndex, mappedLength)); + } } absoluteCSharpStartIndex += length;