f0b877e258
Since regex is almost always injected into other languages, `pattern_character`s will inherit the highlight for the structure that injects them (for example `/foo/` in JavaScript or `~r/foo/` in Elixir). This removes the string highlight when used in the prompt. We also add `ERROR` node highlighting so that errors in regex syntax appear in the prompt. This resolves a TODO in the `regex_prompt` function about highlighting errors in the regex.
53 lines
748 B
Scheme
53 lines
748 B
Scheme
; upstream: https://github.com/tree-sitter/tree-sitter-regex/blob/e1cfca3c79896ff79842f057ea13e529b66af636/queries/highlights.scm
|
|
|
|
[
|
|
"("
|
|
")"
|
|
"(?"
|
|
"(?:"
|
|
"(?<"
|
|
">"
|
|
"["
|
|
"]"
|
|
"{"
|
|
"}"
|
|
] @punctuation.bracket
|
|
|
|
[
|
|
"*"
|
|
"+"
|
|
"|"
|
|
"="
|
|
"<="
|
|
"!"
|
|
"<!"
|
|
"?"
|
|
] @operator
|
|
|
|
[
|
|
(identity_escape)
|
|
(control_letter_escape)
|
|
(character_class_escape)
|
|
(control_escape)
|
|
(start_assertion)
|
|
(end_assertion)
|
|
(boundary_assertion)
|
|
(non_boundary_assertion)
|
|
] @constant.character.escape
|
|
|
|
(group_name) @label
|
|
|
|
(count_quantifier
|
|
[
|
|
(decimal_digits) @constant.numeric
|
|
"," @punctuation.delimiter
|
|
])
|
|
|
|
(character_class
|
|
[
|
|
"^" @operator
|
|
(class_range "-" @operator)
|
|
])
|
|
|
|
(class_character) @constant.character
|
|
(ERROR) @error
|