fix(lint): don't crash on malformed JSX #4939
Merged
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.
Summary
Fixes #4623 and resolves a TODO in
cursor/node.rs
.The real fix is in
no_comment_text.rs
, where I replacedctx.query().range().start()
withctx.query().value_token().ok()?.text_range().start()
. The reason this works is thatctx.query().range()
can return a range with a higher starting offset thanctx.query().value_token().ok()?.text_range()
, due to trimming in the former. I am not really happy with this fix, since it seems like a very easy mistake to make and there's no type safety to protect against this. It's also not really intuitive, so I'm open to better suggestions.Test Plan
Test case added.