1# Copyright (c) 2021-2024 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 14extensions: 15 - name: 'js' 16 description: JavaScript keyword 17 - name: 'ts' 18 description: TypeScript keyword 19 - name: 'as' 20 description: AssemblyScript keyword 21 - name: 'ets' 22 description: ETS keyword 23 24keywords: 25 - name: 'abstract' 26 token: KEYW_ABSTRACT 27 keyword: [ets] 28 keyword_like: [ts] 29 30 - name: 'any' 31 token: KEYW_ANY 32 keyword_like: [ts] 33 34 - name: 'anyref' 35 token: KEYW_ANYREF 36 keyword_like: [as] 37 38 - name: 'arguments' 39 token: KEYW_ARGUMENTS 40 keyword_like: [js, ts] 41 42 - name: 'as' 43 token: KEYW_AS 44 keyword: [ets] 45 custom_handler: [js, ts, as] 46 47 - name: 'assert' 48 token: KEYW_ASSERT 49 keyword: [ets] 50 51 - name: 'asserts' 52 token: KEYW_ASSERTS 53 keyword_like: [ts] 54 55 - name: 'async' 56 token: KEYW_ASYNC 57 keyword: [as, ets] 58 keyword_like: [js, ts] 59 60 - name: 'await' 61 token: KEYW_AWAIT 62 keyword: [ets] 63 custom_handler: [js, ts] 64 65 - name: 'bigint' 66 token: KEYW_BIGINT 67 keyword_like: [ts] 68 69 - name: 'boolean' 70 token: KEYW_BOOLEAN 71 keyword_like: [ets, js, ts] 72 73 - name: 'break' 74 token: KEYW_BREAK 75 keyword: [js, ts, as, ets] 76 77 - name: 'byte' 78 token: KEYW_BYTE 79 keyword_like: [ets] 80 81 - name: 'case' 82 token: KEYW_CASE 83 keyword: [js, ts, as, ets] 84 85 - name: 'catch' 86 token: KEYW_CATCH 87 keyword: [js, ts, as] 88 keyword_like: [ets] 89 90 - name: 'char' 91 token: KEYW_CHAR 92 keyword_like: [ets] 93 94 - name: 'class' 95 token: KEYW_CLASS 96 keyword: [js, ts, as, ets] 97 98 - name: 'const' 99 token: KEYW_CONST 100 keyword: [js, ts, as, ets] 101 102 - name: 'constructor' 103 token: KEYW_CONSTRUCTOR 104 keyword: [ets] 105 106 - name: 'continue' 107 token: KEYW_CONTINUE 108 keyword: [js, ts, as, ets] 109 110 - name: 'dataref' 111 token: KEYW_DATAREF 112 keyword_like: [as] 113 114 - name: 'debugger' 115 token: KEYW_DEBUGGER 116 keyword: [js, ets, ts] 117 118 - name: 'declare' 119 token: KEYW_DECLARE 120 keyword_like: [js, ts, as, ets] 121 122 - name: 'default' 123 token: KEYW_DEFAULT 124 keyword: [js, ts, as] 125 keyword_like: [ets] 126 127 - name: 'delete' 128 token: KEYW_DELETE 129 keyword: [js, as, ts] 130 131 - name: 'do' 132 token: KEYW_DO 133 keyword: [js, ts, as, ets] 134 135 - name: 'double' 136 token: KEYW_DOUBLE 137 keyword_like: [ets] 138 139 - name: 'else' 140 token: KEYW_ELSE 141 keyword: [js, ts, as, ets] 142 143 - name: 'enum' 144 token: KEYW_ENUM 145 keyword: [js, as, ets, ts] 146 147 - name: 'eqref' 148 token: KEYW_EQREF 149 keyword_like: [as] 150 151 - name: 'eval' 152 token: KEYW_EVAL 153 keyword_like: [js, ts] 154 155 - name: 'export' 156 token: KEYW_EXPORT 157 keyword: [as, js, ets, ts] 158 159 - name: 'extends' 160 token: KEYW_EXTENDS 161 keyword: [as, js, ets, ts] 162 163 - name: 'externref' 164 token: KEYW_EXTERNREF 165 keyword_like: [as] 166 167 - name: 'f32' 168 token: KEYW_F32 169 keyword_like: [as] 170 171 - name: 'f64' 172 token: KEYW_F64 173 keyword_like: [as] 174 175 - name: 'false' 176 token: LITERAL_FALSE 177 keyword: [as, js, ets, ts] 178 179 - name: 'finally' 180 token: KEYW_FINALLY 181 keyword: [js, ts] 182 keyword_like: [ets] 183 184 - name: 'float' 185 token: KEYW_FLOAT 186 keyword_like: [ets] 187 188 - name: 'for' 189 token: KEYW_FOR 190 keyword: [as, js, ets, ts] 191 192 - name: 'from' 193 token: KEYW_FROM 194 keyword_like: [as, js, ts, ets] 195 196 - name: 'funcref' 197 token: KEYW_FUNCREF 198 keyword_like: [as] 199 200 - name: 'function' 201 token: KEYW_FUNCTION 202 keyword: [as, js, ets, ts] 203 204 - name: 'get' 205 token: KEYW_GET 206 keyword_like: [as, js, ts, ets] 207 208 - name: 'global' 209 token: KEYW_GLOBAL 210 keyword_like: [as, ts] 211 212 - name: 'i8' 213 token: KEYW_I8 214 keyword_like: [as] 215 216 - name: 'i16' 217 token: KEYW_I16 218 keyword_like: [as] 219 220 - name: 'i31ref' 221 token: KEYW_I31REF 222 keyword_like: [as] 223 224 - name: 'i32' 225 token: KEYW_I32 226 keyword_like: [as] 227 228 - name: 'i64' 229 token: KEYW_I64 230 keyword_like: [as] 231 232 - name: 'if' 233 token: KEYW_IF 234 keyword: [as, js, ets, ts] 235 236 - name: 'implements' 237 token: KEYW_IMPLEMENTS 238 keyword: [as, js, ets, ts] 239 240 - name: 'import' 241 token: KEYW_IMPORT 242 keyword: [as, js, ets, ts] 243 244 - name: 'in' 245 token: KEYW_IN 246 keyword: [as, js, ts] 247 keyword_like: [ets] 248 249 - name: 'infer' 250 token: KEYW_INFER 251 keyword_like: [ts] 252 253 - name: 'instanceof' 254 token: KEYW_INSTANCEOF 255 keyword: [as, js, ets, ts] 256 257 - name: 'int' 258 token: KEYW_INT 259 keyword_like: [ets] 260 261 - name: 'interface' 262 token: KEYW_INTERFACE 263 keyword: [js, as, ets, ts] 264 265 - name: 'is' 266 token: KEYW_IS 267 keyword_like: [ets, ts] 268 269 - name: 'isize' 270 token: KEYW_ISIZE 271 keyword_like: [as] 272 273 - name: 'keyof' 274 token: KEYW_KEYOF 275 keyword_like: [ts] 276 277 - name: 'let' 278 token: KEYW_LET 279 keyword: [as, js, ets, ts] 280 281 - name: 'launch' 282 token: KEYW_LAUNCH 283 keyword: [ets] 284 285 - name: 'long' 286 token: KEYW_LONG 287 keyword_like: [ets] 288 289 - name: 'meta' 290 token: KEYW_META 291 keyword_like: [js, ts] 292 293 - name: 'module' 294 token: KEYW_MODULE 295 keyword_like: [as, js, ts] 296 297 - name: 'namespace' 298 token: KEYW_NAMESPACE 299 keyword: [ets] 300 keyword_like: [as, ts] 301 302 - name: 'native' 303 token: KEYW_NATIVE 304 keyword: [ets] 305 306 - name: 'never' 307 token: KEYW_NEVER 308 keyword_like: [ts] 309 310 - name: 'new' 311 token: KEYW_NEW 312 keyword: [as, js, ets, ts] 313 314 - name: 'null' 315 token: LITERAL_NULL 316 keyword: [as, js, ets, ts] 317 318 - name: 'number' 319 token: KEYW_NUMBER 320 keyword_like: [ts] 321 322 - name: 'object' 323 token: KEYW_OBJECT 324 keyword_like: [ets, ts] 325 326 - name: 'of' 327 token: KEYW_OF 328 keyword_like: [ets, js, ts, as] 329 330 - name: 'final' 331 token: KEYW_FINAL 332 keyword: [ets] 333 334 - name: 'out' 335 token: KEYW_OUT 336 keyword_like: [ets] 337 338 - name: 'override' 339 token: KEYW_OVERRIDE 340 keyword: [ets] 341 keyword_like: [ts] 342 343 - name: 'package' 344 token: KEYW_PACKAGE 345 keyword: [js, ts, as, ets] 346 347 - name: 'internal' 348 token: KEYW_INTERNAL 349 keyword: [ets] 350 351 - name: 'private' 352 token: KEYW_PRIVATE 353 keyword: [js, as, ets, ts] 354 355 - name: 'protected' 356 token: KEYW_PROTECTED 357 keyword: [js, as, ets, ts] 358 359 - name: 'public' 360 token: KEYW_PUBLIC 361 keyword: [js, as, ets, ts] 362 363 - name: 'readonly' 364 token: KEYW_READONLY 365 keyword_like: [as, ts, ets] 366 367 - name: 'rethrows' 368 token: KEYW_RETHROWS 369 keyword_like: [ets] 370 371 - name: 'return' 372 token: KEYW_RETURN 373 keyword: [as, js, ets, ts] 374 375 - name: 'require' 376 token: KEYW_REQUIRE 377 keyword_like: [ts] 378 379 - name: 'set' 380 token: KEYW_SET 381 keyword_like: [as, js, ts, ets] 382 383 - name: 'short' 384 token: KEYW_SHORT 385 keyword_like: [ets] 386 387 - name: 'static' 388 token: KEYW_STATIC 389 keyword: [js, as, ets, ts] 390 391 - name: 'string' 392 token: KEYW_STRING 393 keyword_like: [ts] 394 395 - name: 'struct' 396 token: KEYW_STRUCT 397 keyword_like: [ets] 398 399 - name: 'super' 400 token: KEYW_SUPER 401 keyword: [js, ts, ets] 402 403 - name: 'switch' 404 token: KEYW_SWITCH 405 keyword: [js, as, ets, ts] 406 407 - name: 'target' 408 token: KEYW_TARGET 409 keyword_like: [js, ts] 410 411 - name: 'this' 412 token: KEYW_THIS 413 keyword: [as, js, ets, ts] 414 415 - name: 'throw' 416 token: KEYW_THROW 417 keyword: [js, ets, ts, as] 418 419 - name: 'throws' 420 token: KEYW_THROWS 421 keyword_like: [ets] 422 423 - name: 'true' 424 token: LITERAL_TRUE 425 keyword: [as, js, ets, ts] 426 427 - name: 'try' 428 token: KEYW_TRY 429 keyword: [as, js, ets, ts] 430 431 - name: 'type' 432 token: KEYW_TYPE 433 keyword: [ets] 434 keyword_like: [js, ts] 435 436 - name: 'typeof' 437 token: KEYW_TYPEOF 438 keyword: [js, ets, ts] 439 440 - name: 'u8' 441 token: KEYW_U8 442 keyword_like: [as] 443 444 - name: 'u16' 445 token: KEYW_U16 446 keyword_like: [as] 447 448 - name: 'u32' 449 token: KEYW_U32 450 keyword_like: [as] 451 452 - name: 'u64' 453 token: KEYW_U64 454 keyword_like: [as] 455 456 - name: 'undefined' 457 token: KEYW_UNDEFINED 458 keyword: [ets] 459 keyword_like: [js, ts] 460 461 - name: 'unknown' 462 token: KEYW_UNKNOWN 463 keyword_like: [ts] 464 465 - name: 'usize' 466 token: KEYW_USIZE 467 keyword_like: [as] 468 469 - name: 'v128' 470 token: KEYW_V128 471 keyword_like: [as] 472 473 - name: 'var' 474 token: KEYW_VAR 475 keyword: [as, js, ets, ts] 476 477 - name: 'void' 478 token: KEYW_VOID 479 keyword: [as, js, ts] 480 481 - name: 'while' 482 token: KEYW_WHILE 483 keyword: [as, js, ets, ts] 484 485 - name: 'with' 486 token: KEYW_WITH 487 keyword: [js, ts] 488 489 - name: 'yield' 490 token: KEYW_YIELD 491 keyword: [ets] 492 custom_handler: [js, ts] 493