• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2025 Huawei Device Co., Ltd.
2# Licensed under the Apache License, Version 2.0 (the "License");
3# you may not use this file except in compliance with the License.
4# You may obtain a copy of the License at
5#
6# http://www.apache.org/licenses/LICENSE-2.0
7#
8# Unless required by applicable law or agreed to in writing, software
9# distributed under the License is distributed on an "AS IS" BASIS,
10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11# See the License for the specific language governing permissions and
12# limitations under the License.
13
14punctuators:
15- name: PUNCTUATOR_BITWISE_AND
16  string: "&"
17  flags: [binary]
18
19- name: PUNCTUATOR_BITWISE_OR
20  string: "|"
21  flags: [binary]
22
23- name: PUNCTUATOR_MULTIPLY
24  string: "*"
25  flags: [binary]
26
27- name: PUNCTUATOR_DIVIDE
28  string: "/"
29  flags: [binary]
30
31- name: PUNCTUATOR_MINUS
32  string: "-"
33  flags: [unary, binary]
34
35- name: PUNCTUATOR_EXCLAMATION_MARK
36  string: "!"
37  flags: [unary]
38
39- name: PUNCTUATOR_TILDE
40  string: "~"
41  flags: [unary]
42
43- name: PUNCTUATOR_MINUS_MINUS
44  string: "--"
45  flags: [unary]
46
47- name: PUNCTUATOR_LEFT_SHIFT
48  string: "<<"
49  flags: [binary]
50
51- name: PUNCTUATOR_RIGHT_SHIFT
52  string: ">>"
53  flags: [binary]
54
55- name: PUNCTUATOR_LESS_THAN_EQUAL
56  string: "<="
57  flags: [binary]
58
59- name: PUNCTUATOR_GREATER_THAN_EQUAL
60  string: ">="
61  flags: [binary]
62
63- name: PUNCTUATOR_MOD
64  string: "%"
65  flags: [binary]
66
67- name: PUNCTUATOR_BITWISE_XOR
68  string: "^"
69  flags: [binary]
70
71- name: PUNCTUATOR_EXPONENTIATION
72  string: "**"
73  flags: [binary]
74
75- name: PUNCTUATOR_MULTIPLY_EQUAL
76  string: "*="
77  flags: [binary_lvalue]
78
79- name: PUNCTUATOR_EXPONENTIATION_EQUAL
80  string: "**="
81  flags: [binary_lvalue]
82
83- name: PUNCTUATOR_ARROW
84  string: "=>"
85
86- name: PUNCTUATOR_BACK_TICK
87  string: "`"
88
89- name: PUNCTUATOR_HASH_MARK
90  string: "#"
91
92- name: PUNCTUATOR_DIVIDE_EQUAL
93  string: "/="
94  flags: [binary_lvalue]
95
96- name: PUNCTUATOR_MOD_EQUAL
97  string: "%="
98  flags: [binary_lvalue]
99
100- name: PUNCTUATOR_MINUS_EQUAL
101  string: "-="
102  flags: [binary_lvalue]
103
104- name: PUNCTUATOR_LEFT_SHIFT_EQUAL
105  string: "<<="
106  flags: [binary_lvalue]
107
108- name: PUNCTUATOR_RIGHT_SHIFT_EQUAL
109  string: ">>="
110  flags: [binary_lvalue]
111
112- name: PUNCTUATOR_UNSIGNED_RIGHT_SHIFT
113  string: ">>>"
114  flags: [binary]
115
116- name: PUNCTUATOR_UNSIGNED_RIGHT_SHIFT_EQUAL
117  string: ">>>="
118  flags: [binary_lvalue]
119
120- name: PUNCTUATOR_BITWISE_AND_EQUAL
121  string: "&="
122  flags: [binary_lvalue]
123
124- name: PUNCTUATOR_BITWISE_OR_EQUAL
125  string: "|="
126  flags: [binary_lvalue]
127
128- name: PUNCTUATOR_LOGICAL_AND_EQUAL
129  string: "&&="
130  flags: [binary_lvalue]
131
132- name: PUNCTUATOR_NULLISH_COALESCING
133  string: "??"
134  flags: [binary]
135
136- name: PUNCTUATOR_LOGICAL_OR_EQUAL
137  string: "||="
138  flags: [binary_lvalue]
139
140- name: PUNCTUATOR_LOGICAL_NULLISH_EQUAL
141  string: "\\?\\?="
142  flags: [binary_lvalue]
143
144- name: PUNCTUATOR_BITWISE_XOR_EQUAL
145  string: "^="
146  flags: [binary_lvalue]
147
148- name: PUNCTUATOR_PLUS
149  string: "+"
150  flags: [unary, binary]
151
152- name: PUNCTUATOR_PLUS_PLUS
153  string: "++"
154  flags: [unary]
155
156- name: PUNCTUATOR_PLUS_EQUAL
157  string: "+="
158  flags: [binary_lvalue]
159
160- name: PUNCTUATOR_LESS_THAN
161  string: "<"
162  flags: [binary]
163
164- name: PUNCTUATOR_GREATER_THAN
165  string: ">"
166  flags: [binary]
167
168- name: PUNCTUATOR_EQUAL
169  string: "=="
170  flags: [binary]
171
172- name: PUNCTUATOR_NOT_EQUAL
173  string: "!="
174  flags: [binary]
175
176- name: PUNCTUATOR_STRICT_EQUAL
177  string: "==="
178  flags: [binary]
179
180- name: PUNCTUATOR_NOT_STRICT_EQUAL
181  string: "!=="
182  flags: [binary]
183
184- name: PUNCTUATOR_LOGICAL_AND
185  string: "&&"
186  flags: [binary]
187
188- name: PUNCTUATOR_LOGICAL_OR
189  string: "||"
190  flags: [binary]
191
192- name: PUNCTUATOR_SUBSTITUTION
193  string: "="
194  flags: [binary_lvalue]
195
196- name: PUNCTUATOR_QUESTION_MARK
197  string: "?"
198
199- name: PUNCTUATOR_QUESTION_DOT
200  string: "?."
201
202- name: PUNCTUATOR_AT
203  string: "@"
204
205- name: PUNCTUATOR_FORMAT
206  string: "@@"
207
208- name: PUNCTUATOR_RIGHT_PARENTHESIS
209  string: ")"
210
211- name: PUNCTUATOR_LEFT_PARENTHESIS
212  string: "("
213
214- name: PUNCTUATOR_RIGHT_SQUARE_BRACKET
215  string: "]"
216
217- name: PUNCTUATOR_LEFT_SQUARE_BRACKET
218  string: "["
219
220- name: PUNCTUATOR_RIGHT_BRACE
221  string: "}"
222
223- name: PUNCTUATOR_PERIOD
224  string: "."
225
226- name: PUNCTUATOR_PERIOD_PERIOD_PERIOD
227  string: "..."
228
229- name: PUNCTUATOR_PERIOD_QUESTION
230  string: ".?"
231
232- name: PUNCTUATOR_LEFT_BRACE
233  string: "{"
234
235- name: PUNCTUATOR_SEMI_COLON
236  string: ";"
237
238- name: PUNCTUATOR_COLON
239  string: ":"
240
241- name: PUNCTUATOR_COMMA
242  string: ","
243
244flags:
245  binary: Binary operation which doesn't modify operands
246  binary_lvalue: Binary operation which updates left hand side operand
247  unary: Unary operation
248  reserved_type_name: TypeScript reserved type name
249  definable_type_name: Words which cannot be used as user-defined type names but are not otherwise restricted
250  predefined_type: Predefined types which are hard keywords, and cannot be used as identifiers
251