match_brackets: add heuristic when matching starts with $
char
#4259
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.
When editing a variety of different types of files (eg. YAML) there's usually support for variable interpolation, this usually comes in the form of
${var}
. For the case of YAML, this is not specially recognized since it's not part of the spec. Imagine the following YAML:According to the YAML spec this is simply a string scalar node, which TreeSitter correctly recognizes. Users that try going to the matching bracket may find the behaviour confusing, because nothing happens.
This patch runs a small check, in which if the syntax node starts with
$
then it skips to the next character, worst-case scenario it's not a recognized bracket, and best case scenario a supported bracket.