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: [ets, 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, ets] 125 126 - name: 'delete' 127 token: KEYW_DELETE 128 keyword: [js, as, ts] 129 130 - name: 'do' 131 token: KEYW_DO 132 keyword: [js, ts, as, ets] 133 134 - name: 'double' 135 token: KEYW_DOUBLE 136 keyword_like: [ets] 137 138 - name: 'else' 139 token: KEYW_ELSE 140 keyword: [js, ts, as, ets] 141 142 - name: 'enum' 143 token: KEYW_ENUM 144 keyword: [js, as, ets, ts] 145 146 - name: 'eqref' 147 token: KEYW_EQREF 148 keyword_like: [as] 149 150 - name: 'eval' 151 token: KEYW_EVAL 152 keyword_like: [js, ts] 153 154 - name: 'export' 155 token: KEYW_EXPORT 156 keyword: [as, js, ets, ts] 157 158 - name: 'extends' 159 token: KEYW_EXTENDS 160 keyword: [as, js, ets, ts] 161 162 - name: 'externref' 163 token: KEYW_EXTERNREF 164 keyword_like: [as] 165 166 - name: 'f32' 167 token: KEYW_F32 168 keyword_like: [as] 169 170 - name: 'f64' 171 token: KEYW_F64 172 keyword_like: [as] 173 174 - name: 'false' 175 token: LITERAL_FALSE 176 keyword: [as, js, ets, ts] 177 178 - name: 'finally' 179 token: KEYW_FINALLY 180 keyword: [js, ts] 181 keyword_like: [ets] 182 183 - name: 'float' 184 token: KEYW_FLOAT 185 keyword_like: [ets] 186 187 - name: 'for' 188 token: KEYW_FOR 189 keyword: [as, js, ets, ts] 190 191 - name: 'from' 192 token: KEYW_FROM 193 keyword_like: [as, js, ts, ets] 194 195 - name: 'funcref' 196 token: KEYW_FUNCREF 197 keyword_like: [as] 198 199 - name: 'function' 200 token: KEYW_FUNCTION 201 keyword: [as, js, ets, ts] 202 203 - name: 'get' 204 token: KEYW_GET 205 keyword_like: [as, js, ts, ets] 206 207 - name: 'global' 208 token: KEYW_GLOBAL 209 keyword_like: [as, ts] 210 211 - name: 'i8' 212 token: KEYW_I8 213 keyword_like: [as] 214 215 - name: 'i16' 216 token: KEYW_I16 217 keyword_like: [as] 218 219 - name: 'i31ref' 220 token: KEYW_I31REF 221 keyword_like: [as] 222 223 - name: 'i32' 224 token: KEYW_I32 225 keyword_like: [as] 226 227 - name: 'i64' 228 token: KEYW_I64 229 keyword_like: [as] 230 231 - name: 'if' 232 token: KEYW_IF 233 keyword: [as, js, ets, ts] 234 235 - name: 'implements' 236 token: KEYW_IMPLEMENTS 237 keyword: [as, js, ets, ts] 238 239 - name: 'import' 240 token: KEYW_IMPORT 241 keyword: [as, js, ets, ts] 242 243 - name: 'in' 244 token: KEYW_IN 245 keyword: [as, js, ts] 246 keyword_like: [ets] 247 248 - name: 'infer' 249 token: KEYW_INFER 250 keyword_like: [ts] 251 252 - name: 'instanceof' 253 token: KEYW_INSTANCEOF 254 keyword: [as, js, ets, ts] 255 256 - name: 'int' 257 token: KEYW_INT 258 keyword_like: [ets] 259 260 - name: 'interface' 261 token: KEYW_INTERFACE 262 keyword: [js, as, ets, ts] 263 264 - name: 'is' 265 token: KEYW_IS 266 keyword_like: [ets, ts] 267 268 - name: 'isize' 269 token: KEYW_ISIZE 270 keyword_like: [as] 271 272 - name: 'keyof' 273 token: KEYW_KEYOF 274 keyword_like: [ts] 275 276 - name: 'let' 277 token: KEYW_LET 278 keyword: [as, js, ets, ts] 279 280 - name: 'launch' 281 token: KEYW_LAUNCH 282 keyword: [ets] 283 284 - name: 'long' 285 token: KEYW_LONG 286 keyword_like: [ets] 287 288 - name: 'meta' 289 token: KEYW_META 290 keyword_like: [js, ts] 291 292 - name: 'module' 293 token: KEYW_MODULE 294 keyword_like: [as, js, ts] 295 296 - name: 'namespace' 297 token: KEYW_NAMESPACE 298 keyword: [ets] 299 keyword_like: [as, ts] 300 301 - name: 'native' 302 token: KEYW_NATIVE 303 keyword: [ets] 304 305 - name: 'never' 306 token: KEYW_NEVER 307 keyword_like: [ts] 308 309 - name: 'new' 310 token: KEYW_NEW 311 keyword: [as, js, ets, ts] 312 313 - name: 'null' 314 token: LITERAL_NULL 315 keyword: [as, js, ets, ts] 316 317 - name: 'number' 318 token: KEYW_NUMBER 319 keyword_like: [ets, ts] 320 321 - name: 'object' 322 token: KEYW_OBJECT 323 keyword_like: [ts] 324 325 - name: 'of' 326 token: KEYW_OF 327 keyword_like: [ets, js, ts, as] 328 329 - name: 'final' 330 token: KEYW_FINAL 331 keyword: [ets] 332 333 - name: 'out' 334 token: KEYW_OUT 335 keyword_like: [ets] 336 337 - name: 'override' 338 token: KEYW_OVERRIDE 339 keyword: [ets] 340 keyword_like: [ts] 341 342 - name: 'package' 343 token: KEYW_PACKAGE 344 keyword: [js, ts, as, ets] 345 346 - name: 'internal' 347 token: KEYW_INTERNAL 348 keyword: [ets] 349 350 - name: 'private' 351 token: KEYW_PRIVATE 352 keyword: [js, as, ets, ts] 353 354 - name: 'protected' 355 token: KEYW_PROTECTED 356 keyword: [js, as, ets, ts] 357 358 - name: 'public' 359 token: KEYW_PUBLIC 360 keyword: [js, as, ets, ts] 361 362 - name: 'readonly' 363 token: KEYW_READONLY 364 keyword_like: [as, ts, ets] 365 366 - name: 'rethrows' 367 token: KEYW_RETHROWS 368 keyword_like: [ets] 369 370 - name: 'return' 371 token: KEYW_RETURN 372 keyword: [as, js, ets, ts] 373 374 - name: 'require' 375 token: KEYW_REQUIRE 376 keyword_like: [ts] 377 378 - name: 'set' 379 token: KEYW_SET 380 keyword_like: [as, js, ts, ets] 381 382 - name: 'short' 383 token: KEYW_SHORT 384 keyword_like: [ets] 385 386 - name: 'static' 387 token: KEYW_STATIC 388 keyword: [js, as, ets, ts] 389 390 - name: 'string' 391 token: KEYW_STRING 392 keyword_like: [ets, ts] 393 394 - name: 'struct' 395 token: KEYW_STRUCT 396 keyword_like: [ets] 397 398 - name: 'super' 399 token: KEYW_SUPER 400 keyword: [js, ts, ets] 401 402 - name: 'switch' 403 token: KEYW_SWITCH 404 keyword: [js, as, ets, ts] 405 406 - name: 'target' 407 token: KEYW_TARGET 408 keyword_like: [js, ts] 409 410 - name: 'this' 411 token: KEYW_THIS 412 keyword: [as, js, ets, ts] 413 414 - name: 'throw' 415 token: KEYW_THROW 416 keyword: [js, ets, ts, as] 417 418 - name: 'throws' 419 token: KEYW_THROWS 420 keyword_like: [ets] 421 422 - name: 'true' 423 token: LITERAL_TRUE 424 keyword: [as, js, ets, ts] 425 426 - name: 'try' 427 token: KEYW_TRY 428 keyword: [as, js, ets, ts] 429 430 - name: 'type' 431 token: KEYW_TYPE 432 keyword_like: [ets, js, ts] 433 434 - name: 'typeof' 435 token: KEYW_TYPEOF 436 keyword: [js, ets, ts] 437 438 - name: 'u8' 439 token: KEYW_U8 440 keyword_like: [as] 441 442 - name: 'u16' 443 token: KEYW_U16 444 keyword_like: [as] 445 446 - name: 'u32' 447 token: KEYW_U32 448 keyword_like: [as] 449 450 - name: 'u64' 451 token: KEYW_U64 452 keyword_like: [as] 453 454 - name: 'undefined' 455 token: KEYW_UNDEFINED 456 keyword: [ets] 457 keyword_like: [js, ts] 458 459 - name: 'unknown' 460 token: KEYW_UNKNOWN 461 keyword_like: [ts] 462 463 - name: 'usize' 464 token: KEYW_USIZE 465 keyword_like: [as] 466 467 - name: 'v128' 468 token: KEYW_V128 469 keyword_like: [as] 470 471 - name: 'var' 472 token: KEYW_VAR 473 keyword: [as, js, ets, ts] 474 475 - name: 'void' 476 token: KEYW_VOID 477 keyword: [as, js, ts] 478 keyword_like: [ets] 479 480 - name: 'while' 481 token: KEYW_WHILE 482 keyword: [as, js, ets, ts] 483 484 - name: 'with' 485 token: KEYW_WITH 486 keyword: [js, ts] 487 488 - name: 'yield' 489 token: KEYW_YIELD 490 keyword: [ets] 491 custom_handler: [js, ts] 492