Fix range handling for code completion in interpolated strings #1133
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
WHAT
🤖 Generated by Copilot at a165188
This pull request fixes a bug in the completion logic for interpolated strings and adds tests to verify the fix. It modifies the
UntypedAstUtils.fs
file to handle overlapping ranges of interpolated string parts, and theCompletionTests.fs
andScript.fsx
files to add two test cases using theList
module.🤖 Generated by Copilot at a165188
🐛🧪📝
WHY
The range for the
DiscardAfterMissingQualificationAfterDot
overlaps with the rest of the string in$"{List.}"
, but doesn't in$"{ List. }"
. Potentially the real fix should be a change to that range instead, but I don't know enough about the AST to know whether that is the right call.HOW
🤖 Generated by Copilot at a165188
testCaseAsync
andScript.fsx
(link, link)Related to #962, but doesn't completely fix it.