Skip to content

Commit d760230

Browse files
authored
feat(grammar): add field name for operators in expressions (tree-sitter-grammars#59)
1 parent e5e4069 commit d760230

File tree

5 files changed

+367
-179
lines changed

5 files changed

+367
-179
lines changed

grammar.js

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -531,7 +531,7 @@ module.exports = grammar({
531531
precedence,
532532
seq(
533533
field('left', $.expression),
534-
operator,
534+
field('operator', operator),
535535
field('right', $.expression)
536536
)
537537
)
@@ -544,7 +544,7 @@ module.exports = grammar({
544544
precedence,
545545
seq(
546546
field('left', $.expression),
547-
operator,
547+
field('operator', operator),
548548
field('right', $.expression)
549549
)
550550
)
@@ -555,7 +555,10 @@ module.exports = grammar({
555555
unary_expression: ($) =>
556556
prec.left(
557557
PREC.UNARY,
558-
seq(choice('not', '#', '-', '~'), field('operand', $.expression))
558+
seq(
559+
field('operator', choice('not', '#', '-', '~')),
560+
field('operand', $.expression),
561+
)
559562
),
560563

561564
// Name

queries/highlights.scm

Lines changed: 4 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -74,36 +74,16 @@
7474

7575
;; Operators
7676

77+
(binary_expression operator: _ @operator)
78+
79+
(unary_expression operator: _ @operator)
80+
7781
[
7882
"and"
7983
"not"
8084
"or"
8185
] @keyword.operator
8286

83-
[
84-
"+"
85-
"-"
86-
"*"
87-
"/"
88-
"%"
89-
"^"
90-
"#"
91-
"=="
92-
"~="
93-
"<="
94-
">="
95-
"<"
96-
">"
97-
"="
98-
"&"
99-
"~"
100-
"|"
101-
"<<"
102-
">>"
103-
"//"
104-
".."
105-
] @operator
106-
10787
;; Punctuations
10888

10989
[

0 commit comments

Comments
 (0)