diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e08565d..83d34e9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,16 +1,26 @@ name: Run Tests on: [push, pull_request] jobs: - test: - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - node-version: ['^16'] - steps: - - uses: actions/checkout@v1 - - uses: actions/setup-node@v1 - with: - node-version: ${{ matrix.node-version }} - - run: yarn install --frozen-lockfile - - run: yarn test + test: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + config: + ## use version for current vscode until the last supported version (^1.66.0) + # see here: https://github.com/ewanharris/vscode-versions + - name: Node 18 - VSCode >= 1.82.0 + node-version: 18 + vscode-version: "1.82.0" + - name: Node 16 - VSCode >= 1.66.0 && < 1.82.0 + node-version: 16 + vscode-version: "1.66.0" + name: ${{ join(matrix.config.name, ' - ') }} + steps: + - uses: actions/checkout@v1 + - uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.config.node-version }} + - run: yarn install --frozen-lockfile + - run: yarn add -D "@types/vscode@${{ matrix.config.vscode-version }}" + - run: yarn test diff --git a/package.json b/package.json index a35eabe..687e802 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "backseat-debug", "displayName": "Backseat Debug", - "version": "0.5.0", + "version": "0.5.1", "publisher": "thejp", "description": "Backseat (bslang, .bs) and Bssembler (.bsm) – debugger for Bssembler and syntax highlighting for both.", "author": { @@ -55,22 +55,25 @@ "publish": "vsce publish", "publish-pre-release": "vsce publish --pre-release", "vscode:prepublish": "rimraf dist && npm run -S esbuild-base -- --minify", - "test": "npm run typecheck" + "syntax-test": "npx vscode-tmgrammar-test './tests/*.bs' -g ./syntaxes/bslang.tmLanguage.json", + "generate-syntax-test-snapshot": "npx vscode-tmgrammar-snap --updateSnapshot './tests/*.bs' -g ./syntaxes/bslang.tmLanguage.json", + "test": "npm run typecheck && npm run syntax-test" }, "devDependencies": { - "@types/node": "^14.14.37", + "@types/node": "^16.18.54", "@types/vscode": "^1.66.0", - "@typescript-eslint/eslint-plugin": "^5.17.0", - "@typescript-eslint/parser": "^5.17.0", - "@vscode/debugadapter": "^1.56.0", - "@vscode/debugadapter-testsupport": "^1.56.0", + "@typescript-eslint/eslint-plugin": "^6.7.3", + "@typescript-eslint/parser": "^6.7.3", + "@vscode/debugadapter": "^1.63.0", + "@vscode/debugadapter-testsupport": "^1.63.0", "await-notify": "^1.0.1", - "esbuild": "^0.14.29", - "eslint": "^8.12.0", - "typescript": "^4.6.3", - "rimraf": "^3.0.2", + "esbuild": "^0.19.4", + "eslint": "^8.50.0", + "rimraf": "^5.0.5", "tmp-promise": "^3.0.3", - "vsce": "^2.7.0" + "typescript": "^5.2.2", + "vsce": "^2.15.0", + "vscode-tmgrammar-test": "^0.1.2" }, "main": "./dist/extension.js", "activationEvents": [ @@ -91,6 +94,10 @@ }, { "id": "bslang", + "aliases": [ + "Bslang", + "Backseat Language" + ], "extensions": [ ".bs" ], diff --git a/sampleWorkspace/test.bs b/sampleWorkspace/test.bs index e4183f4..cb4abe2 100644 --- a/sampleWorkspace/test.bs +++ b/sampleWorkspace/test.bs @@ -1,3 +1,6 @@ +//TODO: update this file, some syntax chnaged, see https://github.com/mgerhold/kiddo/blob/main/test.bs + + import std.console; // a comment here :) @@ -380,4 +383,4 @@ namespace std { std::assert(a >= 42 != false); } -} \ No newline at end of file +} diff --git a/tests/test.bs b/tests/test.bs new file mode 100644 index 0000000..3aba4d0 --- /dev/null +++ b/tests/test.bs @@ -0,0 +1,2663 @@ +// SYNTAX TEST "source.bslang" "Main test BS file" + + //TODO: update this file, some syntax chnaged, see https://github.com/mgerhold/kiddo/blob/main/test.bs +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.bslang comment.line.double-slash.bslang + + + import std.console; +// ^^^^^^ source.bslang entity.import.bslang keyword.control.import.bslang +// ^ source.bslang entity.import.bslang +// ^^^ source.bslang entity.import.bslang entity.import.bslang string.quoted.other.import.bslang +// ^ source.bslang entity.import.bslang entity.import.bslang keyword.operator.inport.seperator.bslang +// ^^^^^^^ source.bslang entity.import.bslang entity.import.bslang string.quoted.other.import.bslang +// ^ source.bslang entity.import.bslang punctuation.terminator.import.bslang + // a comment here :) +// ^^^^^^^^^^^^^^^^^^^^^ source.bslang comment.line.double-slash.bslang + + /* +// ^^ source.bslang comment.block.bslang + a block comment +// ^^^^^^^^^^^^^^^^^ source.bslang comment.block.bslang + */ +// ^^ source.bslang comment.block.bslang + + // empty block, this should work too!! +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.bslang comment.line.double-slash.bslang + /**/ +// ^^^^ source.bslang comment.block.block.empty.bslang + type THIS_SHOULD_BE_HIGHLIGHTED { +// ^^^^ source.bslang entity.struct.bslang keyword.control.type.bslang +// ^ source.bslang entity.struct.bslang +// ^^^^^^^^^^^^^^^^^^^^^^^^^^ source.bslang entity.struct.bslang entity.name.type.bslang +// ^ source.bslang entity.struct.bslang +// ^ source.bslang entity.struct.bslang punctuation.definition.type.begin.bslang + //TODO are the trailing this "," optional or not? +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.bslang entity.struct.bslang comment.line.double-slash.bslang + K {a: Char }, +// ^^^^ source.bslang entity.struct.bslang +// ^ source.bslang entity.struct.bslang entity.name.type.bslang +// ^ source.bslang entity.struct.bslang +// ^ source.bslang entity.struct.bslang punctuation.definition.struct.member.begin.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang variable.name.struct_field.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang punctuation.separator.colon.struct.field.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang +// ^^^^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.struct.bslang +// ^ source.bslang entity.struct.bslang punctuation.definition.struct.member.end.bslang +// ^ source.bslang entity.struct.bslang punctuation.separator.comma.struct.member.bslang + J { +// ^^^^ source.bslang entity.struct.bslang +// ^ source.bslang entity.struct.bslang entity.name.type.bslang +// ^ source.bslang entity.struct.bslang +// ^ source.bslang entity.struct.bslang punctuation.definition.struct.member.begin.bslang + a: Bool, +// ^^^^^^^^ source.bslang entity.struct.bslang entity.struct_field.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang variable.name.struct_field.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang punctuation.separator.colon.struct.field.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang +// ^^^^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang punctuation.separator.comma.struct.field.bslang + b: Char +// ^^^^^^^^ source.bslang entity.struct.bslang entity.struct_field.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang variable.name.struct_field.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang punctuation.separator.colon.struct.field.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang +// ^^^^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.builtin.bslang + }, +// ^^^^ source.bslang entity.struct.bslang +// ^ source.bslang entity.struct.bslang punctuation.definition.struct.member.end.bslang +// ^ source.bslang entity.struct.bslang punctuation.separator.comma.struct.member.bslang + } +// ^ source.bslang entity.struct.bslang punctuation.definition.type.end.bslang + + //TODO +// ^^^^^^ source.bslang comment.line.double-slash.bslang + /* +// ^^ source.bslang comment.block.bslang + general TODO list: +// ^^^^^^^^^^^^^^^^^^^ source.bslang comment.block.bslang + * make "struct_member" also end without "," but only in the last struct member! +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.bslang comment.block.bslang + * brackets dont work as intended in nested function return types, since the return type works without them. +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.bslang comment.block.bslang + * implement binary and tertiary operator correctly, not as single highlight token! +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.bslang comment.block.bslang + * fix issues, see down below (mainly operator issues, that will be solved, when rewriting operators correctly) +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.bslang comment.block.bslang + * add proper assignment postfix operators, this has to be solved with the operator rewrite +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.bslang comment.block.bslang + * ... +// ^^^^^^ source.bslang comment.block.bslang + * ----------------------------------------------------------- +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.bslang comment.block.bslang + Questions regarding syntax +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.bslang comment.block.bslang + * can you put export before "type"? +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.bslang comment.block.bslang + * is in "type T {S {}}"" S or T a struct name and which of the ones is the type? +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.bslang comment.block.bslang + * How are nested function return types like "Function() ~> Function() ~> Char" treated, if they're even allowed? +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.bslang comment.block.bslang + * * "Function() ~> (Function() ~> Char)" right associative (haskell like) +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.bslang comment.block.bslang + * * "(Function() ~> Function()) ~> Char" left associative +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.bslang comment.block.bslang + * * to solve these there have to be () allowed, are they? +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.bslang comment.block.bslang + * ... +// ^^^^^^ source.bslang comment.block.bslang + */ +// ^^ source.bslang comment.block.bslang + + /** +// ^^^ source.bslang comment.block.documentation.bslang + * this is a documentation comment +// ^^ source.bslang comment.block.documentation.bslang comment.block.documentation.bslang +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.bslang comment.block.documentation.bslang comment.block.documentation.bslang comment.block.documentation.bslang + * @description A test type +// ^^ source.bslang comment.block.documentation.bslang comment.block.documentation.bs_doc +// ^ source.bslang comment.block.documentation.bslang comment.block.documentation.bs_doc punctuation.decorator.bs_doc +// ^^^^^^^^^^^ source.bslang comment.block.documentation.bslang comment.block.documentation.bs_doc storage.type.class.bs_doc +// ^ source.bslang comment.block.documentation.bslang comment.block.documentation.bs_doc +// ^^^^^^^^^^^ source.bslang comment.block.documentation.bslang comment.block.documentation.bs_doc comment.block.documentation.bs_doc.raw + * @author test +// ^^ source.bslang comment.block.documentation.bslang comment.block.documentation.bs_doc +// ^ source.bslang comment.block.documentation.bslang comment.block.documentation.bs_doc punctuation.decorator.bs_doc +// ^^^^^^ source.bslang comment.block.documentation.bslang comment.block.documentation.bs_doc storage.type.class.bs_doc +// ^ source.bslang comment.block.documentation.bslang comment.block.documentation.bs_doc +// ^^^^ source.bslang comment.block.documentation.bslang comment.block.documentation.bs_doc comment.block.documentation.bs_doc.raw + */ +// ^^ source.bslang comment.block.documentation.bslang + type T { +// ^^^^ source.bslang entity.struct.bslang keyword.control.type.bslang +// ^ source.bslang entity.struct.bslang +// ^ source.bslang entity.struct.bslang entity.name.type.bslang +// ^ source.bslang entity.struct.bslang +// ^ source.bslang entity.struct.bslang punctuation.definition.type.begin.bslang + //TODO is in type T {S {}} S or T a struct name? +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.bslang entity.struct.bslang comment.line.double-slash.bslang + S { +// ^^^^ source.bslang entity.struct.bslang +// ^ source.bslang entity.struct.bslang entity.name.type.bslang +// ^ source.bslang entity.struct.bslang +// ^ source.bslang entity.struct.bslang punctuation.definition.struct.member.begin.bslang + // this comment should be allowed +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.bslang entity.struct.bslang comment.line.double-slash.bslang + n: U32, +// ^^^^^^^^ source.bslang entity.struct.bslang entity.struct_field.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang variable.name.struct_field.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang punctuation.separator.colon.struct.field.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang +// ^^^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang punctuation.separator.comma.struct.field.bslang + /* +// ^^^^^^^^^^ source.bslang entity.struct.bslang comment.block.bslang + This comment too +// ^^^^^^^^^^^^^^^^^^^^^^^^^ source.bslang entity.struct.bslang comment.block.bslang + */ +// ^^^^^^^^ source.bslang entity.struct.bslang comment.block.bslang +// ^^ source.bslang entity.struct.bslang comment.block.bslang + b: Bool +// ^^^^^^^^ source.bslang entity.struct.bslang entity.struct_field.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang variable.name.struct_field.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang punctuation.separator.colon.struct.field.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang +// ^^^^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.builtin.bslang + }, +// ^^^^ source.bslang entity.struct.bslang +// ^ source.bslang entity.struct.bslang punctuation.definition.struct.member.end.bslang +// ^ source.bslang entity.struct.bslang punctuation.separator.comma.struct.member.bslang + U { +// ^^^^ source.bslang entity.struct.bslang +// ^ source.bslang entity.struct.bslang entity.name.type.bslang +// ^ source.bslang entity.struct.bslang +// ^ source.bslang entity.struct.bslang punctuation.definition.struct.member.begin.bslang + /** And specially these too +// ^^^^^^^^^^^ source.bslang entity.struct.bslang comment.block.documentation.bslang +// ^^^^^^^^^^^^^^^^^^^^^^^^^ source.bslang entity.struct.bslang comment.block.documentation.bslang + * @description a struct field description +// ^^^^^^^^^^ source.bslang entity.struct.bslang comment.block.documentation.bslang comment.block.documentation.bs_doc +// ^ source.bslang entity.struct.bslang comment.block.documentation.bslang comment.block.documentation.bs_doc punctuation.decorator.bs_doc +// ^^^^^^^^^^^ source.bslang entity.struct.bslang comment.block.documentation.bslang comment.block.documentation.bs_doc storage.type.class.bs_doc +// ^ source.bslang entity.struct.bslang comment.block.documentation.bslang comment.block.documentation.bs_doc +// ^^^^^^^^^^^^^^^^^^^^^^^^^^ source.bslang entity.struct.bslang comment.block.documentation.bslang comment.block.documentation.bs_doc comment.block.documentation.bs_doc.raw + */ +// ^^^^^^^^ source.bslang entity.struct.bslang comment.block.documentation.bslang +// ^^ source.bslang entity.struct.bslang comment.block.documentation.bslang + s1: S, +// ^^^^^^^^ source.bslang entity.struct.bslang entity.struct_field.bslang +// ^^ source.bslang entity.struct.bslang entity.struct_field.bslang variable.name.struct_field.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang punctuation.separator.colon.struct.field.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.custom.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang punctuation.separator.comma.struct.field.bslang + s2: S +// ^^^^^^^^ source.bslang entity.struct.bslang entity.struct_field.bslang +// ^^ source.bslang entity.struct.bslang entity.struct_field.bslang variable.name.struct_field.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang punctuation.separator.colon.struct.field.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.custom.bslang + }, +// ^^^^ source.bslang entity.struct.bslang +// ^ source.bslang entity.struct.bslang punctuation.definition.struct.member.end.bslang +// ^ source.bslang entity.struct.bslang punctuation.separator.comma.struct.member.bslang + A { +// ^^^^ source.bslang entity.struct.bslang +// ^ source.bslang entity.struct.bslang entity.name.type.bslang +// ^ source.bslang entity.struct.bslang +// ^ source.bslang entity.struct.bslang punctuation.definition.struct.member.begin.bslang + s1: [Bool;5], +// ^^^^^^^^ source.bslang entity.struct.bslang entity.struct_field.bslang +// ^^ source.bslang entity.struct.bslang entity.struct_field.bslang variable.name.struct_field.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang punctuation.separator.colon.struct.field.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.array.bslang punctuation.definition.type.array.begin.bslang +// ^^^^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.array.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.array.bslang entity.name.type.array.with_length.bslang punctuation.separator.type.array.with_length.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.array.bslang entity.name.type.array.with_length.bslang constant.numeric.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.array.bslang punctuation.definition.type.array.end.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang punctuation.separator.comma.struct.field.bslang + s2: [U32], +// ^^^^^^^^ source.bslang entity.struct.bslang entity.struct_field.bslang +// ^^ source.bslang entity.struct.bslang entity.struct_field.bslang variable.name.struct_field.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang punctuation.separator.colon.struct.field.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.array.bslang punctuation.definition.type.array.begin.bslang +// ^^^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.array.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.array.bslang punctuation.definition.type.array.end.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang punctuation.separator.comma.struct.field.bslang + s3: Function(Bool), +// ^^^^^^^^ source.bslang entity.struct.bslang entity.struct_field.bslang +// ^^ source.bslang entity.struct.bslang entity.struct_field.bslang variable.name.struct_field.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang punctuation.separator.colon.struct.field.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang +// ^^^^^^^^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.bslang entity.name.type.function.keyword.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.bslang punctuation.definition.type.function.begin.bslang +// ^^^^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.bslang punctuation.definition.type.function.end.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang punctuation.separator.comma.struct.field.bslang + t3: Function(Bool, Char), +// ^^^^^^^^ source.bslang entity.struct.bslang entity.struct_field.bslang +// ^^ source.bslang entity.struct.bslang entity.struct_field.bslang variable.name.struct_field.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang punctuation.separator.colon.struct.field.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang +// ^^^^^^^^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.bslang entity.name.type.function.keyword.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.bslang punctuation.definition.type.function.begin.bslang +// ^^^^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.bslang punctuation.separator.comma.function.parameters.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.bslang +// ^^^^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.bslang punctuation.definition.type.function.end.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang punctuation.separator.comma.struct.field.bslang + r3: Function(Bool, Function(Char, U32)), +// ^^^^^^^^ source.bslang entity.struct.bslang entity.struct_field.bslang +// ^^ source.bslang entity.struct.bslang entity.struct_field.bslang variable.name.struct_field.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang punctuation.separator.colon.struct.field.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang +// ^^^^^^^^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.bslang entity.name.type.function.keyword.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.bslang punctuation.definition.type.function.begin.bslang +// ^^^^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.bslang punctuation.separator.comma.function.parameters.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.bslang +// ^^^^^^^^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.bslang entity.name.type.function.bslang entity.name.type.function.keyword.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.bslang entity.name.type.function.bslang punctuation.definition.type.function.begin.bslang +// ^^^^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.bslang entity.name.type.function.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.bslang entity.name.type.function.bslang punctuation.separator.comma.function.parameters.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.bslang entity.name.type.function.bslang +// ^^^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.bslang entity.name.type.function.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.bslang entity.name.type.function.bslang punctuation.definition.type.function.end.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.bslang punctuation.definition.type.function.end.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang punctuation.separator.comma.struct.field.bslang + s4: mutable S, +// ^^^^^^^^ source.bslang entity.struct.bslang entity.struct_field.bslang +// ^^ source.bslang entity.struct.bslang entity.struct_field.bslang variable.name.struct_field.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang punctuation.separator.colon.struct.field.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang +// ^^^^^^^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.storage.modifier.mutable.bslang storage.modifier.mutable.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.storage.modifier.mutable.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.custom.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang punctuation.separator.comma.struct.field.bslang + r4: -> S, +// ^^^^^^^^ source.bslang entity.struct.bslang entity.struct_field.bslang +// ^^ source.bslang entity.struct.bslang entity.struct_field.bslang variable.name.struct_field.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang punctuation.separator.colon.struct.field.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang +// ^^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.pointer.bslang keyword.operator.pointer.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.pointer.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.custom.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang punctuation.separator.comma.struct.field.bslang + z4: Function(Char) ~> Char, +// ^^^^^^^^ source.bslang entity.struct.bslang entity.struct_field.bslang +// ^^ source.bslang entity.struct.bslang entity.struct_field.bslang variable.name.struct_field.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang punctuation.separator.colon.struct.field.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang +// ^^^^^^^^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.with_return.bslang entity.name.type.function.keyword.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.with_return.bslang punctuation.definition.type.function.with_return.begin.bslang +// ^^^^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.with_return.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.with_return.bslang entity.name.type.function.return_type.bslang punctuation.definition.type.function.with_return.end.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.with_return.bslang entity.name.type.function.return_type.bslang +// ^^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.with_return.bslang entity.name.type.function.return_type.bslang keyword.operator.return_type.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.with_return.bslang +// ^^^^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.with_return.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang punctuation.separator.comma.struct.field.bslang + w4: Function(Char, U32) ~> (Function(S) ~> (Function([Bool; 8]) ~> Nothing)), +// ^^^^^^^^ source.bslang entity.struct.bslang entity.struct_field.bslang +// ^^ source.bslang entity.struct.bslang entity.struct_field.bslang variable.name.struct_field.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang punctuation.separator.colon.struct.field.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang +// ^^^^^^^^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.with_return.bslang entity.name.type.function.keyword.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.with_return.bslang punctuation.definition.type.function.with_return.begin.bslang +// ^^^^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.with_return.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.with_return.bslang punctuation.separator.comma.function.parameters.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.with_return.bslang +// ^^^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.with_return.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.with_return.bslang entity.name.type.function.return_type.bslang punctuation.definition.type.function.with_return.end.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.with_return.bslang entity.name.type.function.return_type.bslang +// ^^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.with_return.bslang entity.name.type.function.return_type.bslang keyword.operator.return_type.bslang +// ^^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.with_return.bslang +// ^^^^^^^^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.with_return.bslang entity.name.type.function.with_return.bslang entity.name.type.function.keyword.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.with_return.bslang entity.name.type.function.with_return.bslang punctuation.definition.type.function.with_return.begin.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.with_return.bslang entity.name.type.function.with_return.bslang entity.name.type.custom.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.with_return.bslang entity.name.type.function.with_return.bslang entity.name.type.function.return_type.bslang punctuation.definition.type.function.with_return.end.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.with_return.bslang entity.name.type.function.with_return.bslang entity.name.type.function.return_type.bslang +// ^^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.with_return.bslang entity.name.type.function.with_return.bslang entity.name.type.function.return_type.bslang keyword.operator.return_type.bslang +// ^^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.with_return.bslang entity.name.type.function.with_return.bslang +// ^^^^^^^^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.with_return.bslang entity.name.type.function.with_return.bslang entity.name.type.function.with_return.bslang entity.name.type.function.keyword.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.with_return.bslang entity.name.type.function.with_return.bslang entity.name.type.function.with_return.bslang punctuation.definition.type.function.with_return.begin.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.with_return.bslang entity.name.type.function.with_return.bslang entity.name.type.function.with_return.bslang entity.name.type.array.bslang punctuation.definition.type.array.begin.bslang +// ^^^^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.with_return.bslang entity.name.type.function.with_return.bslang entity.name.type.function.with_return.bslang entity.name.type.array.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.with_return.bslang entity.name.type.function.with_return.bslang entity.name.type.function.with_return.bslang entity.name.type.array.bslang entity.name.type.array.with_length.bslang punctuation.separator.type.array.with_length.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.with_return.bslang entity.name.type.function.with_return.bslang entity.name.type.function.with_return.bslang entity.name.type.array.bslang entity.name.type.array.with_length.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.with_return.bslang entity.name.type.function.with_return.bslang entity.name.type.function.with_return.bslang entity.name.type.array.bslang entity.name.type.array.with_length.bslang constant.numeric.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.with_return.bslang entity.name.type.function.with_return.bslang entity.name.type.function.with_return.bslang entity.name.type.array.bslang punctuation.definition.type.array.end.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.with_return.bslang entity.name.type.function.with_return.bslang entity.name.type.function.with_return.bslang entity.name.type.function.return_type.bslang punctuation.definition.type.function.with_return.end.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.with_return.bslang entity.name.type.function.with_return.bslang entity.name.type.function.with_return.bslang entity.name.type.function.return_type.bslang +// ^^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.with_return.bslang entity.name.type.function.with_return.bslang entity.name.type.function.with_return.bslang entity.name.type.function.return_type.bslang keyword.operator.return_type.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.with_return.bslang entity.name.type.function.with_return.bslang entity.name.type.function.with_return.bslang +// ^^^^^^^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.with_return.bslang entity.name.type.function.with_return.bslang entity.name.type.function.with_return.bslang entity.name.type.builtin.bslang +// ^^ source.bslang entity.struct.bslang entity.struct_field.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang punctuation.separator.comma.struct.field.bslang + s5: mutable -> mutable Function([U32; 1]), +// ^^^^^^^^ source.bslang entity.struct.bslang entity.struct_field.bslang +// ^^ source.bslang entity.struct.bslang entity.struct_field.bslang variable.name.struct_field.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang punctuation.separator.colon.struct.field.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang +// ^^^^^^^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.storage.modifier.mutable.bslang storage.modifier.mutable.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.storage.modifier.mutable.bslang +// ^^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.pointer.bslang keyword.operator.pointer.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.pointer.bslang +// ^^^^^^^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.storage.modifier.mutable.bslang storage.modifier.mutable.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.storage.modifier.mutable.bslang +// ^^^^^^^^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.bslang entity.name.type.function.keyword.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.bslang punctuation.definition.type.function.begin.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.bslang entity.name.type.array.bslang punctuation.definition.type.array.begin.bslang +// ^^^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.bslang entity.name.type.array.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.bslang entity.name.type.array.bslang entity.name.type.array.with_length.bslang punctuation.separator.type.array.with_length.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.bslang entity.name.type.array.bslang entity.name.type.array.with_length.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.bslang entity.name.type.array.bslang entity.name.type.array.with_length.bslang constant.numeric.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.bslang entity.name.type.array.bslang punctuation.definition.type.array.end.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.bslang punctuation.definition.type.function.end.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang punctuation.separator.comma.struct.field.bslang + s6: [[[Bool; 9]; 9]] +// ^^^^^^^^ source.bslang entity.struct.bslang entity.struct_field.bslang +// ^^ source.bslang entity.struct.bslang entity.struct_field.bslang variable.name.struct_field.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang punctuation.separator.colon.struct.field.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.array.bslang punctuation.definition.type.array.begin.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.array.bslang entity.name.type.array.bslang punctuation.definition.type.array.begin.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.array.bslang entity.name.type.array.bslang entity.name.type.array.bslang punctuation.definition.type.array.begin.bslang +// ^^^^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.array.bslang entity.name.type.array.bslang entity.name.type.array.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.array.bslang entity.name.type.array.bslang entity.name.type.array.bslang entity.name.type.array.with_length.bslang punctuation.separator.type.array.with_length.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.array.bslang entity.name.type.array.bslang entity.name.type.array.bslang entity.name.type.array.with_length.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.array.bslang entity.name.type.array.bslang entity.name.type.array.bslang entity.name.type.array.with_length.bslang constant.numeric.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.array.bslang entity.name.type.array.bslang entity.name.type.array.bslang punctuation.definition.type.array.end.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.array.bslang entity.name.type.array.bslang entity.name.type.array.with_length.bslang punctuation.separator.type.array.with_length.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.array.bslang entity.name.type.array.bslang entity.name.type.array.with_length.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.array.bslang entity.name.type.array.bslang entity.name.type.array.with_length.bslang constant.numeric.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.array.bslang entity.name.type.array.bslang punctuation.definition.type.array.end.bslang +// ^ source.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.array.bslang punctuation.definition.type.array.end.bslang + }, +// ^^^^ source.bslang entity.struct.bslang +// ^ source.bslang entity.struct.bslang punctuation.definition.struct.member.end.bslang +// ^ source.bslang entity.struct.bslang punctuation.separator.comma.struct.member.bslang + //TODO is this last "," optional or not? +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.bslang entity.struct.bslang comment.line.double-slash.bslang + Empty {}, +// ^^^^ source.bslang entity.struct.bslang +// ^^^^^ source.bslang entity.struct.bslang entity.name.type.bslang +// ^ source.bslang entity.struct.bslang +// ^ source.bslang entity.struct.bslang punctuation.definition.struct.member.begin.bslang +// ^ source.bslang entity.struct.bslang punctuation.definition.struct.member.end.bslang +// ^ source.bslang entity.struct.bslang punctuation.separator.comma.struct.member.bslang + } +// ^ source.bslang entity.struct.bslang punctuation.definition.type.end.bslang + + namespace test { +// ^^^^^^^^^ source.bslang entity.namespace.bslang keyword.control.namespace.bslang +// ^ source.bslang entity.namespace.bslang +// ^^^^ source.bslang entity.namespace.bslang entity.name.namespace.declaration.bslang +// ^ source.bslang entity.namespace.bslang +// ^ source.bslang entity.namespace.bslang punctuation.definition.namespace.begin.bslang + //test namespace +// ^^^^^^^^^^^^^^^^^^^^ source.bslang entity.namespace.bslang comment.line.double-slash.bslang + //TODO: is an export keyword possible here? +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.bslang entity.namespace.bslang comment.line.double-slash.bslang + type T { +// ^^^^ source.bslang entity.namespace.bslang +// ^^^^ source.bslang entity.namespace.bslang entity.struct.bslang keyword.control.type.bslang +// ^ source.bslang entity.namespace.bslang entity.struct.bslang +// ^ source.bslang entity.namespace.bslang entity.struct.bslang entity.name.type.bslang +// ^ source.bslang entity.namespace.bslang entity.struct.bslang +// ^ source.bslang entity.namespace.bslang entity.struct.bslang punctuation.definition.type.begin.bslang + U{ +// ^^^^^^^^ source.bslang entity.namespace.bslang entity.struct.bslang +// ^ source.bslang entity.namespace.bslang entity.struct.bslang entity.name.type.bslang +// ^ source.bslang entity.namespace.bslang entity.struct.bslang punctuation.definition.struct.member.begin.bslang + h:Function(U32) ~> Nothing, +// ^^^^^^^^^^^^ source.bslang entity.namespace.bslang entity.struct.bslang entity.struct_field.bslang +// ^ source.bslang entity.namespace.bslang entity.struct.bslang entity.struct_field.bslang variable.name.struct_field.bslang +// ^ source.bslang entity.namespace.bslang entity.struct.bslang entity.struct_field.bslang punctuation.separator.colon.struct.field.bslang +// ^^^^^^^^ source.bslang entity.namespace.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.with_return.bslang entity.name.type.function.keyword.bslang +// ^ source.bslang entity.namespace.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.with_return.bslang punctuation.definition.type.function.with_return.begin.bslang +// ^^^ source.bslang entity.namespace.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.with_return.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.namespace.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.with_return.bslang entity.name.type.function.return_type.bslang punctuation.definition.type.function.with_return.end.bslang +// ^ source.bslang entity.namespace.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.with_return.bslang entity.name.type.function.return_type.bslang +// ^^ source.bslang entity.namespace.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.with_return.bslang entity.name.type.function.return_type.bslang keyword.operator.return_type.bslang +// ^ source.bslang entity.namespace.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.with_return.bslang +// ^^^^^^^ source.bslang entity.namespace.bslang entity.struct.bslang entity.struct_field.bslang entity.name.type.function.with_return.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.namespace.bslang entity.struct.bslang entity.struct_field.bslang punctuation.separator.comma.struct.field.bslang + }, +// ^^^^^^^^ source.bslang entity.namespace.bslang entity.struct.bslang +// ^ source.bslang entity.namespace.bslang entity.struct.bslang punctuation.definition.struct.member.end.bslang +// ^ source.bslang entity.namespace.bslang entity.struct.bslang punctuation.separator.comma.struct.member.bslang + } +// ^^^^ source.bslang entity.namespace.bslang entity.struct.bslang +// ^ source.bslang entity.namespace.bslang entity.struct.bslang punctuation.definition.type.end.bslang + } +// ^ source.bslang entity.namespace.bslang punctuation.definition.namespace.end.bslang + + //TODO allow unicode identifier +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.bslang comment.line.double-slash.bslang + /* +// ^^ source.bslang comment.block.bslang +// ^^ source.bslang comment.block.bslang + function 🎅(){ +// ^^^^^^^^^^^^^^^ source.bslang comment.block.bslang + return 24; +// ^^^^^^^^^^^^^^^ source.bslang comment.block.bslang + } */ +// ^^ source.bslang comment.block.bslang +// ^^ source.bslang comment.block.bslang + + function simple(a: Char){ +// ^^^^^^^^ source.bslang entity.function.bslang storage.type.function.bslang +// ^ source.bslang entity.function.bslang +// ^^^^^^ source.bslang entity.function.bslang entity.name.function.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang entity.function.argument_list.bslang punctuation.defintion.paramters.begin.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang meta.parameter.name.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang punctuation.separator.colon.paramter.type.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang +// ^^^^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang entity.function.argument_list.bslang punctuation.defintion.paramters.end.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang punctuation.defintion.block.begin.function.bslang + //nothing here +// ^^^^^^^^^^^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang comment.line.double-slash.bslang + return nothing; +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang +// ^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang keyword.control.return.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang +// ^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang constant.language.nothing.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang punctuation.terminator.return.bslang + } +// ^ source.bslang entity.function.bslang punctuation.defintion.block.end.function.bslang + + function nested_return_type(a: Char) ~> Function(S, K) ~> Function(S, U32) ~> T { +// ^^^^^^^^ source.bslang entity.function.bslang storage.type.function.bslang +// ^ source.bslang entity.function.bslang +// ^^^^^^^^^^^^^^^^^^ source.bslang entity.function.bslang entity.name.function.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang punctuation.defintion.paramters.begin.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang meta.parameter.name.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang punctuation.separator.colon.paramter.type.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang +// ^^^^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang punctuation.defintion.paramters.end.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang +// ^^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang keyword.operator.return_type.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang entity.name.type.function.with_return.bslang entity.name.type.function.keyword.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang entity.name.type.function.with_return.bslang punctuation.definition.type.function.with_return.begin.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang entity.name.type.function.with_return.bslang entity.name.type.custom.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang entity.name.type.function.with_return.bslang punctuation.separator.comma.function.parameters.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang entity.name.type.function.with_return.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang entity.name.type.function.with_return.bslang entity.name.type.custom.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang entity.name.type.function.with_return.bslang entity.name.type.function.return_type.bslang punctuation.definition.type.function.with_return.end.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang entity.name.type.function.with_return.bslang entity.name.type.function.return_type.bslang +// ^^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang entity.name.type.function.with_return.bslang entity.name.type.function.return_type.bslang keyword.operator.return_type.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang entity.name.type.function.with_return.bslang +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang entity.name.type.function.with_return.bslang entity.name.type.function.with_return.bslang entity.name.type.function.keyword.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang entity.name.type.function.with_return.bslang entity.name.type.function.with_return.bslang punctuation.definition.type.function.with_return.begin.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang entity.name.type.function.with_return.bslang entity.name.type.function.with_return.bslang entity.name.type.custom.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang entity.name.type.function.with_return.bslang entity.name.type.function.with_return.bslang punctuation.separator.comma.function.parameters.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang entity.name.type.function.with_return.bslang entity.name.type.function.with_return.bslang +// ^^^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang entity.name.type.function.with_return.bslang entity.name.type.function.with_return.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang entity.name.type.function.with_return.bslang entity.name.type.function.with_return.bslang entity.name.type.function.return_type.bslang punctuation.definition.type.function.with_return.end.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang entity.name.type.function.with_return.bslang entity.name.type.function.with_return.bslang entity.name.type.function.return_type.bslang +// ^^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang entity.name.type.function.with_return.bslang entity.name.type.function.with_return.bslang entity.name.type.function.return_type.bslang keyword.operator.return_type.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang entity.name.type.function.with_return.bslang entity.name.type.function.with_return.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang entity.name.type.function.with_return.bslang entity.name.type.function.with_return.bslang entity.name.type.custom.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang punctuation.defintion.block.begin.function.bslang + //nothing here +// ^^^^^^^^^^^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang comment.line.double-slash.bslang + return S{n: 2, b: false}; +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang +// ^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang keyword.control.return.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.struct.literal.bslang entity.name.type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.struct.literal.bslang meta.block.struct_literal.begin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.struct.literal.bslang entity.struct_field.bslang variable.name.struct_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.struct.literal.bslang entity.struct_field.bslang punctuation.separator.colon.struct.literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.struct.literal.bslang entity.struct_field.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.struct.literal.bslang entity.struct_field.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.struct.literal.bslang entity.struct_field.bslang punctuation.separator.comma.struct_literal.member.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.struct.literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.struct.literal.bslang entity.struct_field.bslang variable.name.struct_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.struct.literal.bslang entity.struct_field.bslang punctuation.separator.colon.struct.literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.struct.literal.bslang entity.struct_field.bslang +// ^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.struct.literal.bslang entity.struct_field.bslang constant.language.boolean.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.struct.literal.bslang meta.block.struct_literal.end.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang punctuation.terminator.return.bslang + } +// ^ source.bslang entity.function.bslang punctuation.defintion.block.end.function.bslang + + export function test() ~> U32{ +// ^^^^^^^ source.bslang entity.function.bslang keyword.control.export.bslang +// ^^^^^^^^ source.bslang entity.function.bslang storage.type.function.bslang +// ^ source.bslang entity.function.bslang +// ^^^^ source.bslang entity.function.bslang entity.name.function.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang punctuation.defintion.paramters.begin.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang punctuation.defintion.paramters.end.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang +// ^^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang keyword.operator.return_type.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang +// ^^^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang punctuation.defintion.block.begin.function.bslang + return '\0'; +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang +// ^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang keyword.control.return.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.literal.char.escaped.bslang entity.literal.char.escaped.bslang punctuation.char_literal.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.literal.char.escaped.bslang entity.literal.char.escaped.bslang constant.character.escape.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.literal.char.escaped.bslang entity.literal.char.escaped.bslang punctuation.char_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang punctuation.terminator.return.bslang + //TODO the range of chars is not enough for 'ü'!! +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang comment.line.double-slash.bslang + return 'ü'; +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang +// ^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang keyword.control.return.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.literal.char.bslang entity.literal.char.bslang punctuation.char_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.literal.char.bslang entity.literal.char.bslang string.quotes.single.char_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.literal.char.bslang entity.literal.char.bslang punctuation.char_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang punctuation.terminator.return.bslang + } +// ^ source.bslang entity.function.bslang punctuation.defintion.block.end.function.bslang + + export function test2() ~> U32{ +// ^^^^^^^ source.bslang entity.function.bslang keyword.control.export.bslang +// ^^^^^^^^ source.bslang entity.function.bslang storage.type.function.bslang +// ^ source.bslang entity.function.bslang +// ^^^^^ source.bslang entity.function.bslang entity.name.function.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang punctuation.defintion.paramters.begin.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang punctuation.defintion.paramters.end.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang +// ^^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang keyword.operator.return_type.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang +// ^^^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang punctuation.defintion.block.begin.function.bslang + return 4324_32; +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang +// ^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang keyword.control.return.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang +// ^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang punctuation.terminator.return.bslang + } +// ^ source.bslang entity.function.bslang punctuation.defintion.block.end.function.bslang + + export function test3() ~> U32{ +// ^^^^^^^ source.bslang entity.function.bslang keyword.control.export.bslang +// ^^^^^^^^ source.bslang entity.function.bslang storage.type.function.bslang +// ^ source.bslang entity.function.bslang +// ^^^^^ source.bslang entity.function.bslang entity.name.function.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang punctuation.defintion.paramters.begin.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang punctuation.defintion.paramters.end.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang +// ^^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang keyword.operator.return_type.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang +// ^^^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang punctuation.defintion.block.begin.function.bslang + return get_u32('s', 987_254, test(), var); +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang +// ^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang keyword.control.return.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang +// ^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.function.call.bslang entity.name.function.call.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.function.call.bslang meta.brace.round.function_call.begin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.function.call.bslang entity.literal.char.bslang entity.literal.char.bslang punctuation.char_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.function.call.bslang entity.literal.char.bslang entity.literal.char.bslang string.quotes.single.char_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.function.call.bslang entity.literal.char.bslang entity.literal.char.bslang punctuation.char_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.function.call.bslang punctuation.separator.comma.function.arguments.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.function.call.bslang +// ^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.function.call.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.function.call.bslang punctuation.separator.comma.function.arguments.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.function.call.bslang +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.function.call.bslang entity.function.call.bslang entity.name.function.call.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.function.call.bslang entity.function.call.bslang meta.brace.round.function_call.begin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.function.call.bslang entity.function.call.bslang meta.brace.round.function_call.end.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.function.call.bslang punctuation.separator.comma.function.arguments.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.function.call.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.function.call.bslang variable.name.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.function.call.bslang meta.brace.round.function_call.end.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang punctuation.terminator.return.bslang + } +// ^ source.bslang entity.function.bslang punctuation.defintion.block.end.function.bslang + + + export function get_array() ~> [Bool; 4]{ +// ^^^^^^^ source.bslang entity.function.bslang keyword.control.export.bslang +// ^^^^^^^^ source.bslang entity.function.bslang storage.type.function.bslang +// ^ source.bslang entity.function.bslang +// ^^^^^^^^^ source.bslang entity.function.bslang entity.name.function.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang punctuation.defintion.paramters.begin.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang punctuation.defintion.paramters.end.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang +// ^^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang keyword.operator.return_type.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang entity.name.type.array.bslang punctuation.definition.type.array.begin.bslang +// ^^^^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang entity.name.type.array.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang entity.name.type.array.bslang entity.name.type.array.with_length.bslang punctuation.separator.type.array.with_length.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang entity.name.type.array.bslang entity.name.type.array.with_length.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang entity.name.type.array.bslang entity.name.type.array.with_length.bslang constant.numeric.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang entity.name.type.array.bslang punctuation.definition.type.array.end.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang punctuation.defintion.block.begin.function.bslang + bsm { +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang keyword.control.bsm.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang punctuation.definition.bsm.begin.bslang + checkpoint 3 +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang meta.embedded.bssembler +// ^^^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang meta.embedded.bssembler keyword.control.bssembler +// ^ source.bslang entity.function.bslang entity.function.body.bslang meta.embedded.bssembler +// ^ source.bslang entity.function.bslang entity.function.body.bslang meta.embedded.bssembler constant.numeric + } +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang punctuation.definition.bsm.end.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang + + if n > 1 { return 1; } +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.if.branch.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang entity.if.branch.bslang keyword.control.if.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.if.branch.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang entity.if.branch.bslang entity.if.branch.start.bslang entity.if.branch.condition.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.if.branch.bslang entity.if.branch.start.bslang entity.if.branch.condition.bslang keyword.operator.binary.compare.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.if.branch.bslang entity.if.branch.start.bslang entity.if.branch.condition.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.if.branch.bslang entity.if.branch.start.bslang entity.if.branch.condition.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.if.branch.bslang entity.if.branch.start.bslang entity.if.branch.condition.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.if.branch.bslang entity.if.branch.start.bslang punctuation.definition.if.branch.begin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.if.branch.bslang entity.branch.body.bslang entity.return.value.bslang +// ^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.if.branch.bslang entity.branch.body.bslang entity.return.value.bslang keyword.control.return.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.if.branch.bslang entity.branch.body.bslang entity.return.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.if.branch.bslang entity.branch.body.bslang entity.return.value.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.if.branch.bslang entity.branch.body.bslang entity.return.value.bslang punctuation.terminator.return.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.if.branch.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.if.branch.bslang punctuation.definition.if.branch.end.bslang + return [false, false, true, false]; +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang +// ^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang keyword.control.return.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.array.literal.bslang meta.block.array_literal.begin.bslang meta.brace.square.array_literal.begin.bslang +// ^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.array.literal.bslang constant.language.boolean.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.array.literal.bslang punctuation.separator.comma.array_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.array.literal.bslang +// ^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.array.literal.bslang constant.language.boolean.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.array.literal.bslang punctuation.separator.comma.array_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.array.literal.bslang +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.array.literal.bslang constant.language.boolean.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.array.literal.bslang punctuation.separator.comma.array_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.array.literal.bslang +// ^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.array.literal.bslang constant.language.boolean.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.array.literal.bslang meta.block.array_literal.end.bslang meta.brace.square.array_literal.end.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang punctuation.terminator.return.bslang + } +// ^ source.bslang entity.function.bslang punctuation.defintion.block.end.function.bslang + + //TODO fix the difference between types and return types with ~>! +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.bslang comment.line.double-slash.bslang + /* function complex_fn(fn_input: Function(Char, Bool) ~> [Bool]) ~> (Function(U32) ~> [Bool; 8]){ +// ^^ source.bslang comment.block.bslang +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.bslang comment.block.bslang + return get_array; +// ^^^^^^^^^^^^^^^^^^^^^^ source.bslang comment.block.bslang + } */ +// ^^ source.bslang comment.block.bslang +// ^^ source.bslang comment.block.bslang + + + function defaults(c: Char = '\n', f:U32 = 4_232_321, a : [Bool; 2] = [false, true], h:S = S{n:4,b:false}, n:Nothing = nothing) ~> [Nothing; 3]{ +// ^^^^^^^^ source.bslang entity.function.bslang storage.type.function.bslang +// ^ source.bslang entity.function.bslang +// ^^^^^^^^ source.bslang entity.function.bslang entity.name.function.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang punctuation.defintion.paramters.begin.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang meta.parameter.name.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang punctuation.separator.colon.paramter.type.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang +// ^^^^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang keyword.operator.assignment.default_parameter.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang entity.literal.char.escaped.bslang entity.literal.char.escaped.bslang punctuation.char_literal.bslang +// ^^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang entity.literal.char.escaped.bslang entity.literal.char.escaped.bslang constant.character.escape.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang entity.literal.char.escaped.bslang entity.literal.char.escaped.bslang punctuation.char_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang punctuation.separator.comma.function.paramter.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang meta.parameter.name.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang punctuation.separator.colon.paramter.type.bslang +// ^^^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang keyword.operator.assignment.default_parameter.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang +// ^^^^^^^^^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang punctuation.separator.comma.function.paramter.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang meta.parameter.name.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang punctuation.separator.colon.paramter.type.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang entity.name.type.array.bslang punctuation.definition.type.array.begin.bslang +// ^^^^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang entity.name.type.array.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang entity.name.type.array.bslang entity.name.type.array.with_length.bslang punctuation.separator.type.array.with_length.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang entity.name.type.array.bslang entity.name.type.array.with_length.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang entity.name.type.array.bslang entity.name.type.array.with_length.bslang constant.numeric.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang entity.name.type.array.bslang punctuation.definition.type.array.end.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang keyword.operator.assignment.default_parameter.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang entity.array.literal.bslang meta.block.array_literal.begin.bslang meta.brace.square.array_literal.begin.bslang +// ^^^^^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang entity.array.literal.bslang constant.language.boolean.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang entity.array.literal.bslang punctuation.separator.comma.array_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang entity.array.literal.bslang +// ^^^^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang entity.array.literal.bslang constant.language.boolean.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang entity.array.literal.bslang meta.block.array_literal.end.bslang meta.brace.square.array_literal.end.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang punctuation.separator.comma.function.paramter.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang meta.parameter.name.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang punctuation.separator.colon.paramter.type.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang entity.name.type.custom.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang keyword.operator.assignment.default_parameter.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang entity.struct.literal.bslang entity.name.type.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang entity.struct.literal.bslang meta.block.struct_literal.begin.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang entity.struct.literal.bslang entity.struct_field.bslang variable.name.struct_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang entity.struct.literal.bslang entity.struct_field.bslang punctuation.separator.colon.struct.literal.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang entity.struct.literal.bslang entity.struct_field.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang entity.struct.literal.bslang entity.struct_field.bslang punctuation.separator.comma.struct_literal.member.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang entity.struct.literal.bslang entity.struct_field.bslang variable.name.struct_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang entity.struct.literal.bslang entity.struct_field.bslang punctuation.separator.colon.struct.literal.bslang +// ^^^^^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang entity.struct.literal.bslang entity.struct_field.bslang constant.language.boolean.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang entity.struct.literal.bslang meta.block.struct_literal.end.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang punctuation.separator.comma.function.paramter.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang meta.parameter.name.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang punctuation.separator.colon.paramter.type.bslang +// ^^^^^^^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang keyword.operator.assignment.default_parameter.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang +// ^^^^^^^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang constant.language.nothing.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang punctuation.defintion.paramters.end.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang +// ^^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang keyword.operator.return_type.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang entity.name.type.array.bslang punctuation.definition.type.array.begin.bslang +// ^^^^^^^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang entity.name.type.array.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang entity.name.type.array.bslang entity.name.type.array.with_length.bslang punctuation.separator.type.array.with_length.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang entity.name.type.array.bslang entity.name.type.array.with_length.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang entity.name.type.array.bslang entity.name.type.array.with_length.bslang constant.numeric.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang entity.name.type.array.bslang punctuation.definition.type.array.end.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang punctuation.defintion.block.begin.function.bslang + {return a;} // this is a block with a statement in one line +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.bracket.type.block.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.bracket.type.block.bslang meta.brace.curly.type.block.begin.bslang +// ^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.bracket.type.block.bslang entity.return.value.bslang keyword.control.return.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.bracket.type.block.bslang entity.return.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.bracket.type.block.bslang entity.return.value.bslang variable.name.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.bracket.type.block.bslang entity.return.value.bslang punctuation.terminator.return.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.bracket.type.block.bslang meta.brace.curly.type.block.end.bslang +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang comment.line.double-slash.bslang + return [nothing, nothing, nothing]; +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang +// ^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang keyword.control.return.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.array.literal.bslang meta.block.array_literal.begin.bslang meta.brace.square.array_literal.begin.bslang +// ^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.array.literal.bslang constant.language.nothing.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.array.literal.bslang punctuation.separator.comma.array_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.array.literal.bslang +// ^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.array.literal.bslang constant.language.nothing.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.array.literal.bslang punctuation.separator.comma.array_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.array.literal.bslang +// ^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.array.literal.bslang constant.language.nothing.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang entity.array.literal.bslang meta.block.array_literal.end.bslang meta.brace.square.array_literal.end.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang punctuation.terminator.return.bslang + } +// ^ source.bslang entity.function.bslang punctuation.defintion.block.end.function.bslang + + //TODO string literals are not supported atm! +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.bslang comment.line.double-slash.bslang + /* +// ^^ source.bslang comment.block.bslang + function get_string() ~> String { +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.bslang comment.block.bslang + return "test with \" escape and \t \n \0 \\"; +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.bslang comment.block.bslang + } +// ^^ source.bslang comment.block.bslang + + */ +// ^^ source.bslang comment.block.bslang + + function main() ~> Nothing { +// ^^^^^^^^ source.bslang entity.function.bslang storage.type.function.bslang +// ^ source.bslang entity.function.bslang +// ^^^^ source.bslang entity.function.bslang entity.name.function.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang punctuation.defintion.paramters.begin.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang punctuation.defintion.paramters.end.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang +// ^^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang keyword.operator.return_type.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang +// ^^^^^^^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang punctuation.defintion.block.begin.function.bslang + let p: U32; +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.bslang storage.type.let.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.bslang variable.name.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.bslang punctuation.separator.colon.variable_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.bslang punctuation.separator.comma.variable.declaration.bslang + p = 0xCAFFE; //comment after something +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.bslang invalid.illegal.variable_name.variable.assignment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.bslang keyword.operator.assignment.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.bslang +// ^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.bslang constant.numeric.bslang entity.literal.numeric.hexadecimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.bslang punctuation.separator.comma.variable.assigment.bslang +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang comment.line.double-slash.bslang + p = 0o767313; +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.bslang invalid.illegal.variable_name.variable.assignment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.bslang keyword.operator.assignment.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.bslang +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.bslang constant.numeric.bslang entity.literal.numeric.octal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.bslang punctuation.separator.comma.variable.assigment.bslang + p = 0b10100010; +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.bslang invalid.illegal.variable_name.variable.assignment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.bslang keyword.operator.assignment.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.bslang +// ^^^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.bslang constant.numeric.bslang entity.literal.numeric.binary.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.bslang punctuation.separator.comma.variable.assigment.bslang + let a = 4_200; +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang storage.type.let.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang variable.name.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang keyword.operator.assignment.local_variable.initialization.without_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang +// ^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang punctuation.separator.comma.variable.declaration.bslang + let b: Bool = false; +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang storage.type.let.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang variable.name.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.colon.variable_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang keyword.operator.assignment.local_variable.initialization.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang constant.language.boolean.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.comma.variable.declaration.bslang + let c: Bool = true; +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang storage.type.let.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang variable.name.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.colon.variable_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang keyword.operator.assignment.local_variable.initialization.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang constant.language.boolean.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.comma.variable.declaration.bslang + call(not b); +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.function.call.bslang entity.name.function.call.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.function.call.bslang meta.brace.round.function_call.begin.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.function.call.bslang entity.operator.unary_operator.prefix.not.bslang keyword.operator.unary.prefix.not.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.function.call.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.function.call.bslang variable.name.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.function.call.bslang meta.brace.round.function_call.end.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang punctuation.terminator.function_call.bslang + std::assert(not b); +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.namespace.usage.bslang entity.name.namespace.usage.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang entity.namespace.usage.bslang punctuation.separator.namespace.access.bslang +// ^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.function.call.bslang entity.name.function.call.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.function.call.bslang meta.brace.round.function_call.begin.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.function.call.bslang entity.operator.unary_operator.prefix.not.bslang keyword.operator.unary.prefix.not.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.function.call.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.function.call.bslang variable.name.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.function.call.bslang meta.brace.round.function_call.end.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang punctuation.terminator.function_call.bslang + let d: Char = 'a'; +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang storage.type.let.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang variable.name.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.colon.variable_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang keyword.operator.assignment.local_variable.initialization.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.literal.char.bslang entity.literal.char.bslang punctuation.char_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.literal.char.bslang entity.literal.char.bslang string.quotes.single.char_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.literal.char.bslang entity.literal.char.bslang punctuation.char_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.comma.variable.declaration.bslang + d = 'a'; +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.bslang invalid.illegal.variable_name.variable.assignment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.bslang keyword.operator.assignment.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.bslang entity.literal.char.bslang entity.literal.char.bslang punctuation.char_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.bslang entity.literal.char.bslang entity.literal.char.bslang string.quotes.single.char_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.bslang entity.literal.char.bslang entity.literal.char.bslang punctuation.char_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.bslang punctuation.separator.comma.variable.assigment.bslang + '\n'; +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.literal.char.escaped.bslang entity.literal.char.escaped.bslang punctuation.char_literal.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang entity.literal.char.escaped.bslang entity.literal.char.escaped.bslang constant.character.escape.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.literal.char.escaped.bslang entity.literal.char.escaped.bslang punctuation.char_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang punctuation.terminator.literal.bslang + ' '; +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.literal.char.bslang entity.literal.char.bslang punctuation.char_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.literal.char.bslang entity.literal.char.bslang string.quotes.single.char_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.literal.char.bslang entity.literal.char.bslang punctuation.char_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang punctuation.terminator.literal.bslang + '\\'; +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.literal.char.escaped.bslang entity.literal.char.escaped.bslang punctuation.char_literal.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang entity.literal.char.escaped.bslang entity.literal.char.escaped.bslang constant.character.escape.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.literal.char.escaped.bslang entity.literal.char.escaped.bslang punctuation.char_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang punctuation.terminator.literal.bslang + '\'; +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.literal.char.invalid.bslang entity.literal.char.invalid.bslang punctuation.char_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.literal.char.invalid.bslang entity.literal.char.invalid.bslang invalid.illegal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.literal.char.invalid.bslang entity.literal.char.invalid.bslang punctuation.char_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang punctuation.terminator.literal.bslang + '~'; +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.literal.char.bslang entity.literal.char.bslang punctuation.char_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.literal.char.bslang entity.literal.char.bslang string.quotes.single.char_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.literal.char.bslang entity.literal.char.bslang punctuation.char_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang punctuation.terminator.literal.bslang + '"'; +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.literal.char.bslang entity.literal.char.bslang punctuation.char_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.literal.char.bslang entity.literal.char.bslang string.quotes.single.char_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.literal.char.bslang entity.literal.char.bslang punctuation.char_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang punctuation.terminator.literal.bslang + + let ptr: mutable Function(U32) ~> Bool = f; +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang storage.type.let.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang variable.name.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.colon.variable_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.storage.modifier.mutable.bslang storage.modifier.mutable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.storage.modifier.mutable.bslang +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.function.with_return.bslang entity.name.type.function.keyword.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.function.with_return.bslang punctuation.definition.type.function.with_return.begin.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.function.with_return.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.function.with_return.bslang entity.name.type.function.return_type.bslang punctuation.definition.type.function.with_return.end.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.function.with_return.bslang entity.name.type.function.return_type.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.function.with_return.bslang entity.name.type.function.return_type.bslang keyword.operator.return_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.function.with_return.bslang +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.function.with_return.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang keyword.operator.assignment.local_variable.initialization.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang variable.name.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.comma.variable.declaration.bslang + let ptr2: mutable -> mutable U32 = a@; +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang storage.type.let.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang variable.name.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.colon.variable_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.storage.modifier.mutable.bslang storage.modifier.mutable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.storage.modifier.mutable.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.pointer.bslang keyword.operator.pointer.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.pointer.bslang +// ^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.storage.modifier.mutable.bslang storage.modifier.mutable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.storage.modifier.mutable.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang keyword.operator.assignment.local_variable.initialization.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.operator.unary_operator.postfix.pointer.access.bslang variable.name.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.operator.unary_operator.postfix.pointer.access.bslang keyword.operator.unary.postfix.pointer.access.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.comma.variable.declaration.bslang + //TODO: is there a nullptr or similar keyword? +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang comment.line.double-slash.bslang + let long_ptr: -> -> -> -> U32 = 0; +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang storage.type.let.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang variable.name.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.colon.variable_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.pointer.bslang keyword.operator.pointer.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.pointer.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.pointer.bslang keyword.operator.pointer.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.pointer.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.pointer.bslang keyword.operator.pointer.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.pointer.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.pointer.bslang keyword.operator.pointer.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.pointer.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang keyword.operator.assignment.local_variable.initialization.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.comma.variable.declaration.bslang + let functions = [f, g, f, f, f, g]; +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang storage.type.let.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang +// ^^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang variable.name.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang keyword.operator.assignment.local_variable.initialization.without_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.array.literal.bslang meta.block.array_literal.begin.bslang meta.brace.square.array_literal.begin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.array.literal.bslang variable.name.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.array.literal.bslang punctuation.separator.comma.array_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.array.literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.array.literal.bslang variable.name.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.array.literal.bslang punctuation.separator.comma.array_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.array.literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.array.literal.bslang variable.name.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.array.literal.bslang punctuation.separator.comma.array_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.array.literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.array.literal.bslang variable.name.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.array.literal.bslang punctuation.separator.comma.array_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.array.literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.array.literal.bslang variable.name.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.array.literal.bslang punctuation.separator.comma.array_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.array.literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.array.literal.bslang variable.name.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.array.literal.bslang meta.block.array_literal.end.bslang meta.brace.square.array_literal.end.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang punctuation.separator.comma.variable.declaration.bslang + let num_functions = value_size(functions) / value_size(functions[0]); +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang storage.type.let.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang +// ^^^^^^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang variable.name.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang keyword.operator.assignment.local_variable.initialization.without_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang +// ^^^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.function.call.bslang entity.name.function.call.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.function.call.bslang meta.brace.round.function_call.begin.bslang +// ^^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.function.call.bslang variable.name.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.function.call.bslang meta.brace.round.function_call.end.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang keyword.operator.binary.numeric.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang +// ^^^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.function.call.bslang entity.name.function.call.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.function.call.bslang meta.brace.round.function_call.begin.bslang +// ^^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.function.call.bslang variable.name.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.function.call.bslang entity.operator.unary_operator.postfix.array.index.bslang meta.brace.square.operator.unary.postfix.array.index.begin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.function.call.bslang entity.operator.unary_operator.postfix.array.index.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.function.call.bslang entity.operator.unary_operator.postfix.array.index.bslang meta.brace.square.operator.unary.postfix.array.index.end.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.function.call.bslang meta.brace.round.function_call.end.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang punctuation.separator.comma.variable.declaration.bslang + let func_with_return : Function(U32) ~> Nothing; +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.bslang storage.type.let.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.bslang +// ^^^^^^^^^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.bslang variable.name.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.bslang punctuation.separator.colon.variable_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.bslang +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.bslang entity.name.type.function.with_return.bslang entity.name.type.function.keyword.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.bslang entity.name.type.function.with_return.bslang punctuation.definition.type.function.with_return.begin.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.bslang entity.name.type.function.with_return.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.bslang entity.name.type.function.with_return.bslang entity.name.type.function.return_type.bslang punctuation.definition.type.function.with_return.end.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.bslang entity.name.type.function.with_return.bslang entity.name.type.function.return_type.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.bslang entity.name.type.function.with_return.bslang entity.name.type.function.return_type.bslang keyword.operator.return_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.bslang entity.name.type.function.with_return.bslang +// ^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.bslang entity.name.type.function.with_return.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.bslang punctuation.separator.comma.variable.declaration.bslang + + loop { +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang keyword.control.raw.loop.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang punctuation.definition.raw.loop.begin.bslang + // test comment inside here +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang comment.line.double-slash.bslang + function s(){ +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.function.bslang keyword.control.export.bslang +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.function.bslang storage.type.function.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.function.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.function.bslang entity.name.function.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang entity.function.argument_list.bslang punctuation.defintion.paramters.begin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang entity.function.argument_list.bslang punctuation.defintion.paramters.end.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.function.bslang entity.function.body.bslang punctuation.defintion.block.begin.function.bslang + return nothing; +// ^^^^^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang +// ^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang keyword.control.return.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang +// ^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang constant.language.nothing.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang punctuation.terminator.return.bslang + } +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.function.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.function.bslang punctuation.defintion.block.end.function.bslang + break; +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.loop.break.bslang +// ^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.loop.break.bslang keyword.control.loop.break.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.loop.break.bslang punctuation.terminator.loop.break.bslang + let z = [8]; +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.variable.declaration.initialization.without_type.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.variable.declaration.initialization.without_type.bslang storage.type.let.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.variable.declaration.initialization.without_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.variable.declaration.initialization.without_type.bslang variable.name.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.variable.declaration.initialization.without_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang keyword.operator.assignment.local_variable.initialization.without_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.operator.unary_operator.postfix.array.index.bslang meta.brace.square.operator.unary.postfix.array.index.begin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.operator.unary_operator.postfix.array.index.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.operator.unary_operator.postfix.array.index.bslang meta.brace.square.operator.unary.postfix.array.index.end.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.variable.declaration.initialization.without_type.bslang punctuation.separator.comma.variable.declaration.bslang + continue; +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.loop.continue.bslang +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.loop.continue.bslang keyword.control.loop.continue.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.loop.continue.bslang punctuation.terminator.loop.continue.bslang + } +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang punctuation.definition.raw.loop.end.bslang + + let i = 's' > 2; +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang storage.type.let.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang variable.name.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang keyword.operator.assignment.local_variable.initialization.without_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.literal.char.bslang entity.literal.char.bslang punctuation.char_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.literal.char.bslang entity.literal.char.bslang string.quotes.single.char_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.literal.char.bslang entity.literal.char.bslang punctuation.char_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang keyword.operator.binary.compare.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang punctuation.separator.comma.variable.declaration.bslang + let j = ('s' > 'a') > 2; +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang storage.type.let.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang variable.name.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang keyword.operator.assignment.local_variable.initialization.without_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.bracket.type.expression.bslang meta.brace.round.rvalue.expression.begin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.bracket.type.expression.bslang entity.literal.char.bslang entity.literal.char.bslang punctuation.char_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.bracket.type.expression.bslang entity.literal.char.bslang entity.literal.char.bslang string.quotes.single.char_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.bracket.type.expression.bslang entity.literal.char.bslang entity.literal.char.bslang punctuation.char_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.bracket.type.expression.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.bracket.type.expression.bslang keyword.operator.binary.compare.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.bracket.type.expression.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.bracket.type.expression.bslang entity.literal.char.bslang entity.literal.char.bslang punctuation.char_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.bracket.type.expression.bslang entity.literal.char.bslang entity.literal.char.bslang string.quotes.single.char_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.bracket.type.expression.bslang entity.literal.char.bslang entity.literal.char.bslang punctuation.char_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.bracket.type.expression.bslang meta.brace.round.rvalue.expression.end.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang keyword.operator.binary.compare.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang punctuation.separator.comma.variable.declaration.bslang + let z: U32 = 1 + 1; +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang storage.type.let.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang variable.name.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.colon.variable_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang keyword.operator.assignment.local_variable.initialization.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.operator.unary_operator.prefix.numeric.bslang keyword.operator.unary.prefix.numeric.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.comma.variable.declaration.bslang + let z1: U32 = -1; +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang storage.type.let.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang variable.name.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.colon.variable_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang keyword.operator.assignment.local_variable.initialization.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.operator.unary_operator.prefix.numeric.bslang keyword.operator.unary.prefix.numeric.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.comma.variable.declaration.bslang + let z2: U32 = + (-1); +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang storage.type.let.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang variable.name.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.colon.variable_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang keyword.operator.assignment.local_variable.initialization.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.operator.unary_operator.prefix.numeric.bslang keyword.operator.unary.prefix.numeric.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.bracket.type.expression.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.bracket.type.expression.bslang meta.brace.round.rvalue.expression.begin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.bracket.type.expression.bslang entity.operator.unary_operator.prefix.numeric.bslang keyword.operator.unary.prefix.numeric.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.bracket.type.expression.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.bracket.type.expression.bslang meta.brace.round.rvalue.expression.end.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.comma.variable.declaration.bslang + let z3: Bool = f(1) > g([1,3,4]); +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang storage.type.let.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang variable.name.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.colon.variable_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang keyword.operator.assignment.local_variable.initialization.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.function.call.bslang entity.name.function.call.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.function.call.bslang meta.brace.round.function_call.begin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.function.call.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.function.call.bslang meta.brace.round.function_call.end.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang keyword.operator.binary.compare.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.function.call.bslang entity.name.function.call.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.function.call.bslang meta.brace.round.function_call.begin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.function.call.bslang entity.array.literal.bslang meta.block.array_literal.begin.bslang meta.brace.square.array_literal.begin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.function.call.bslang entity.array.literal.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.function.call.bslang entity.array.literal.bslang punctuation.separator.comma.array_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.function.call.bslang entity.array.literal.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.function.call.bslang entity.array.literal.bslang punctuation.separator.comma.array_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.function.call.bslang entity.array.literal.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.function.call.bslang entity.array.literal.bslang meta.block.array_literal.end.bslang meta.brace.square.array_literal.end.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.function.call.bslang meta.brace.round.function_call.end.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.comma.variable.declaration.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang + let z4: U32 = 0b100100 or 0b10001; +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang storage.type.let.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang variable.name.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.colon.variable_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang keyword.operator.assignment.local_variable.initialization.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang constant.numeric.bslang entity.literal.numeric.binary.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang keyword.operator.binary.bitwise.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang constant.numeric.bslang entity.literal.numeric.binary.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.comma.variable.declaration.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang + let z5: U32 = (o > 1) ? 1 : 0; +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang storage.type.let.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang variable.name.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.colon.variable_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang keyword.operator.assignment.local_variable.initialization.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.bracket.type.expression.bslang meta.brace.round.rvalue.expression.begin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.bracket.type.expression.bslang variable.name.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.bracket.type.expression.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.bracket.type.expression.bslang keyword.operator.binary.compare.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.bracket.type.expression.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.bracket.type.expression.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.bracket.type.expression.bslang meta.brace.round.rvalue.expression.end.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang keyword.operator.tertiary.elvis.start.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang keyword.operator.tertiary.elvis.end.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.comma.variable.declaration.bslang + let z6: U32 = 982 * 0xFF; +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang storage.type.let.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang variable.name.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.colon.variable_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang keyword.operator.assignment.local_variable.initialization.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang keyword.operator.binary.numeric.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang constant.numeric.bslang entity.literal.numeric.hexadecimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.comma.variable.declaration.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang + let z7: U32 = 982 mod 0xFF; +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang storage.type.let.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang variable.name.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.colon.variable_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang keyword.operator.assignment.local_variable.initialization.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang keyword.operator.binary.numeric.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang constant.numeric.bslang entity.literal.numeric.hexadecimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.comma.variable.declaration.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang + let z8: U32 = 982 << 0xFF; +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang storage.type.let.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang variable.name.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.colon.variable_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang keyword.operator.assignment.local_variable.initialization.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang keyword.operator.binary.bitwise.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang constant.numeric.bslang entity.literal.numeric.hexadecimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.comma.variable.declaration.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang + let z9: U32 = 982 / 0xFF; +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang storage.type.let.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang variable.name.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.colon.variable_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang keyword.operator.assignment.local_variable.initialization.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang keyword.operator.binary.numeric.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang constant.numeric.bslang entity.literal.numeric.hexadecimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.comma.variable.declaration.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang + let u = not 0; +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang storage.type.let.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang variable.name.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang keyword.operator.assignment.local_variable.initialization.without_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.operator.unary_operator.prefix.not.bslang keyword.operator.unary.prefix.not.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang punctuation.separator.comma.variable.declaration.bslang + let arr = [not true, not false]; +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang storage.type.let.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang variable.name.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang keyword.operator.assignment.local_variable.initialization.without_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.array.literal.bslang meta.block.array_literal.begin.bslang meta.brace.square.array_literal.begin.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.array.literal.bslang entity.operator.unary_operator.prefix.not.bslang keyword.operator.unary.prefix.not.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.array.literal.bslang +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.array.literal.bslang constant.language.boolean.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.array.literal.bslang punctuation.separator.comma.array_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.array.literal.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.array.literal.bslang entity.operator.unary_operator.prefix.not.bslang keyword.operator.unary.prefix.not.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.array.literal.bslang +// ^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.array.literal.bslang constant.language.boolean.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.array.literal.bslang meta.block.array_literal.end.bslang meta.brace.square.array_literal.end.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang punctuation.separator.comma.variable.declaration.bslang + + let l = call(1)[4]; +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang storage.type.let.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang variable.name.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang keyword.operator.assignment.local_variable.initialization.without_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.function.call.bslang entity.name.function.call.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.function.call.bslang meta.brace.round.function_call.begin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.function.call.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.function.call.bslang meta.brace.round.function_call.end.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.operator.unary_operator.postfix.array.index.bslang meta.brace.square.operator.unary.postfix.array.index.begin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.operator.unary_operator.postfix.array.index.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.operator.unary_operator.postfix.array.index.bslang meta.brace.square.operator.unary.postfix.array.index.end.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang punctuation.separator.comma.variable.declaration.bslang + let begin = functions[1]@; +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang storage.type.let.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang +// ^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang variable.name.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang keyword.operator.assignment.local_variable.initialization.without_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang +// ^^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang variable.name.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.operator.unary_operator.postfix.array.index.bslang meta.brace.square.operator.unary.postfix.array.index.begin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.operator.unary_operator.postfix.array.index.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.operator.unary_operator.postfix.array.index.bslang meta.brace.square.operator.unary.postfix.array.index.end.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.operator.unary_operator.postfix.pointer.access.bslang keyword.operator.unary.postfix.pointer.access.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang punctuation.separator.comma.variable.declaration.bslang + let functions = h; +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang storage.type.let.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang +// ^^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang variable.name.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang keyword.operator.assignment.local_variable.initialization.without_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang variable.name.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang punctuation.separator.comma.variable.declaration.bslang + + for let i: mutable U32 = n; i < 20; i = i + 1 { +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang keyword.control.for.loop.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.declaration.bslang entity.variable.declaration.initialization.bslang storage.type.let.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.declaration.bslang entity.variable.declaration.initialization.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.declaration.bslang entity.variable.declaration.initialization.bslang variable.name.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.declaration.bslang entity.variable.declaration.initialization.bslang punctuation.separator.colon.variable_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.declaration.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.declaration.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.storage.modifier.mutable.bslang storage.modifier.mutable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.declaration.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.storage.modifier.mutable.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.declaration.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.declaration.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.declaration.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang keyword.operator.assignment.local_variable.initialization.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.declaration.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.declaration.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang variable.name.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.declaration.bslang entity.variable.declaration.initialization.bslang punctuation.separator.comma.variable.declaration.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.condition.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.condition.bslang keyword.operator.binary.compare.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.condition.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.condition.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.condition.bslang punctuation.separator.comma.for.loop.condition.end.bslan +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.increment.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.increment.bslang entity.variable.assignment.bslang invalid.illegal.variable_name.variable.assignment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.increment.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.increment.bslang entity.variable.assignment.bslang keyword.operator.assignment.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.increment.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.increment.bslang entity.variable.assignment.bslang variable.name.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.increment.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.increment.bslang entity.variable.assignment.bslang entity.operator.unary_operator.prefix.numeric.bslang keyword.operator.unary.prefix.numeric.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.increment.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.increment.bslang entity.variable.assignment.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.increment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang punctuation.definition.for.loop.begin.bslang + let n_plus_k: U32 = n + k; +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang storage.type.let.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang variable.name.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.colon.variable_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang keyword.operator.assignment.local_variable.initialization.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang variable.name.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.operator.unary_operator.prefix.numeric.bslang keyword.operator.unary.prefix.numeric.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang variable.name.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.comma.variable.declaration.bslang + let z : mutable U32 = [1, 3252, 32_322][2]; +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang storage.type.let.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang variable.name.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.colon.variable_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.storage.modifier.mutable.bslang storage.modifier.mutable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.storage.modifier.mutable.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang keyword.operator.assignment.local_variable.initialization.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.array.literal.bslang meta.block.array_literal.begin.bslang meta.brace.square.array_literal.begin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.array.literal.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.array.literal.bslang punctuation.separator.comma.array_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.array.literal.bslang +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.array.literal.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.array.literal.bslang punctuation.separator.comma.array_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.array.literal.bslang +// ^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.array.literal.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.array.literal.bslang meta.block.array_literal.end.bslang meta.brace.square.array_literal.end.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.operator.unary_operator.postfix.array.index.bslang meta.brace.square.operator.unary.postfix.array.index.begin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.operator.unary_operator.postfix.array.index.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.operator.unary_operator.postfix.array.index.bslang meta.brace.square.operator.unary.postfix.array.index.end.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.comma.variable.declaration.bslang + n = k; +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang invalid.illegal.variable_name.variable.assignment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang keyword.operator.assignment.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang variable.name.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang punctuation.separator.comma.variable.assigment.bslang + k = n_plus_k; +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang invalid.illegal.variable_name.variable.assignment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang keyword.operator.assignment.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang variable.name.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang punctuation.separator.comma.variable.assigment.bslang + } +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang punctuation.definition.for.loop.end.bslang + + while true { +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang +// ^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang keyword.control.while.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.while.loop.start.bslang entity.while.loop.condition.bslang constant.language.boolean.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.while.loop.start.bslang entity.while.loop.condition.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.while.loop.start.bslang punctuation.definition.while.loop.begin.bslang + break; +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.loop.body.bslang entity.loop.break.bslang +// ^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.loop.body.bslang entity.loop.break.bslang keyword.control.loop.break.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.loop.body.bslang entity.loop.break.bslang punctuation.terminator.loop.break.bslang + continue; +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.loop.body.bslang entity.loop.continue.bslang +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.loop.body.bslang entity.loop.continue.bslang keyword.control.loop.continue.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.loop.body.bslang entity.loop.continue.bslang punctuation.terminator.loop.continue.bslang + } +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang punctuation.definition.while.loop.end.bslang + + let n: mutable U32 = 1; +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang storage.type.let.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang variable.name.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.colon.variable_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.storage.modifier.mutable.bslang storage.modifier.mutable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.storage.modifier.mutable.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang keyword.operator.assignment.local_variable.initialization.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.comma.variable.declaration.bslang + let k: mutable U32 = 0; +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang storage.type.let.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang variable.name.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.colon.variable_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.storage.modifier.mutable.bslang storage.modifier.mutable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.storage.modifier.mutable.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang keyword.operator.assignment.local_variable.initialization.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.comma.variable.declaration.bslang + while n < 100 { +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang +// ^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang keyword.control.while.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.while.loop.start.bslang entity.while.loop.condition.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.while.loop.start.bslang entity.while.loop.condition.bslang keyword.operator.binary.compare.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.while.loop.start.bslang entity.while.loop.condition.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.while.loop.start.bslang entity.while.loop.condition.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.while.loop.start.bslang entity.while.loop.condition.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.while.loop.start.bslang punctuation.definition.while.loop.begin.bslang + let n_plus_k: U32 = n + k; +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang storage.type.let.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang variable.name.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.colon.variable_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang keyword.operator.assignment.local_variable.initialization.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang variable.name.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.operator.unary_operator.prefix.numeric.bslang keyword.operator.unary.prefix.numeric.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang variable.name.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.comma.variable.declaration.bslang + k = n; +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang invalid.illegal.variable_name.variable.assignment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang keyword.operator.assignment.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang variable.name.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang punctuation.separator.comma.variable.assigment.bslang + n = n_plus_k; +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang invalid.illegal.variable_name.variable.assignment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang keyword.operator.assignment.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang variable.name.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang punctuation.separator.comma.variable.assigment.bslang + continue; +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.loop.body.bslang entity.loop.continue.bslang +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.loop.body.bslang entity.loop.continue.bslang keyword.control.loop.continue.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.loop.body.bslang entity.loop.continue.bslang punctuation.terminator.loop.continue.bslang + n = 10000; +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang invalid.illegal.variable_name.variable.assignment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang keyword.operator.assignment.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang +// ^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang punctuation.separator.comma.variable.assigment.bslang + } +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.while.loop.bslang punctuation.definition.while.loop.end.bslang + + for ;; { +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang keyword.control.for.loop.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.declaration.bslang punctuation.separator.comma.for.loop.declaration.end.bslan +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.condition.bslang punctuation.separator.comma.for.loop.condition.end.bslan +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.increment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang punctuation.definition.for.loop.begin.bslang + break; +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.loop.break.bslang +// ^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.loop.break.bslang keyword.control.loop.break.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.loop.break.bslang punctuation.terminator.loop.break.bslang + continue; +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.loop.continue.bslang +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.loop.continue.bslang keyword.control.loop.continue.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.loop.continue.bslang punctuation.terminator.loop.continue.bslang + let i: U32 = 0; +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang storage.type.let.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang variable.name.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.colon.variable_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang keyword.operator.assignment.local_variable.initialization.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.comma.variable.declaration.bslang + } +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang punctuation.definition.for.loop.end.bslang + + + + for (let i: U32 = variable; cond; cond = false) { +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang keyword.control.for.loop.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.declaration.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.declaration.bslang entity.variable.declaration.initialization.bslang storage.type.let.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.declaration.bslang entity.variable.declaration.initialization.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.declaration.bslang entity.variable.declaration.initialization.bslang variable.name.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.declaration.bslang entity.variable.declaration.initialization.bslang punctuation.separator.colon.variable_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.declaration.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.declaration.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.declaration.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.declaration.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang keyword.operator.assignment.local_variable.initialization.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.declaration.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.declaration.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang variable.name.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.declaration.bslang entity.variable.declaration.initialization.bslang punctuation.separator.comma.variable.declaration.bslang +// ^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.condition.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.condition.bslang punctuation.separator.comma.for.loop.condition.end.bslan +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.increment.bslang entity.variable.assignment.bslang +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.increment.bslang entity.variable.assignment.bslang invalid.illegal.variable_name.variable.assignment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.increment.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.increment.bslang entity.variable.assignment.bslang keyword.operator.assignment.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.increment.bslang entity.variable.assignment.bslang +// ^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.increment.bslang entity.variable.assignment.bslang constant.language.boolean.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.increment.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang entity.for.loop.increment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.for.loop.start.bslang punctuation.definition.for.loop.begin.bslang + variable; +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang punctuation.terminator.literal.bslang + std::assert_equals(variable, 42); +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.namespace.usage.bslang entity.name.namespace.usage.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.namespace.usage.bslang punctuation.separator.namespace.access.bslang +// ^^^^^^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.function.call.bslang entity.name.function.call.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.function.call.bslang meta.brace.round.function_call.begin.bslang +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.function.call.bslang variable.name.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.function.call.bslang punctuation.separator.comma.function.arguments.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.function.call.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.function.call.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.function.call.bslang meta.brace.round.function_call.end.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang punctuation.terminator.function_call.bslang + i; +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang punctuation.terminator.literal.bslang + std::assert_equals(i, 42); +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.namespace.usage.bslang entity.name.namespace.usage.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.namespace.usage.bslang punctuation.separator.namespace.access.bslang +// ^^^^^^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.function.call.bslang entity.name.function.call.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.function.call.bslang meta.brace.round.function_call.begin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.function.call.bslang variable.name.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.function.call.bslang punctuation.separator.comma.function.arguments.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.function.call.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.function.call.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.function.call.bslang meta.brace.round.function_call.end.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang punctuation.terminator.function_call.bslang + let variable: U32 = 0; +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang storage.type.let.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang variable.name.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.colon.variable_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang keyword.operator.assignment.local_variable.initialization.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.comma.variable.declaration.bslang + std::assert_equals(variable, 0); +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.namespace.usage.bslang entity.name.namespace.usage.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.namespace.usage.bslang punctuation.separator.namespace.access.bslang +// ^^^^^^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.function.call.bslang entity.name.function.call.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.function.call.bslang meta.brace.round.function_call.begin.bslang +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.function.call.bslang variable.name.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.function.call.bslang punctuation.separator.comma.function.arguments.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.function.call.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.function.call.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.function.call.bslang meta.brace.round.function_call.end.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang punctuation.terminator.function_call.bslang + std::assert_equals(i, 42); +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.namespace.usage.bslang entity.name.namespace.usage.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.namespace.usage.bslang punctuation.separator.namespace.access.bslang +// ^^^^^^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.function.call.bslang entity.name.function.call.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.function.call.bslang meta.brace.round.function_call.begin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.function.call.bslang variable.name.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.function.call.bslang punctuation.separator.comma.function.arguments.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.function.call.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.function.call.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.function.call.bslang meta.brace.round.function_call.end.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang punctuation.terminator.function_call.bslang + + if 7 > n { +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.if.branch.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.if.branch.bslang keyword.control.if.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.if.branch.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.if.branch.bslang entity.if.branch.start.bslang entity.if.branch.condition.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.if.branch.bslang entity.if.branch.start.bslang entity.if.branch.condition.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.if.branch.bslang entity.if.branch.start.bslang entity.if.branch.condition.bslang keyword.operator.binary.compare.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.if.branch.bslang entity.if.branch.start.bslang entity.if.branch.condition.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.if.branch.bslang entity.if.branch.start.bslang punctuation.definition.if.branch.begin.bslang + // break should be allowed here +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.if.branch.bslang entity.branch.body.bslang comment.line.double-slash.bslang + break; +// ^^^^^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.if.branch.bslang entity.branch.body.bslang entity.loop.break.bslang +// ^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.if.branch.bslang entity.branch.body.bslang entity.loop.break.bslang keyword.control.loop.break.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.if.branch.bslang entity.branch.body.bslang entity.loop.break.bslang punctuation.terminator.loop.break.bslang + } +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.if.branch.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang entity.loop.body.bslang entity.if.branch.bslang punctuation.definition.if.branch.end.bslang + } +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.for.loop.bslang punctuation.definition.for.loop.end.bslang + + function s(){ +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.function.bslang keyword.control.export.bslang +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.function.bslang storage.type.function.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.function.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.function.bslang entity.name.function.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang entity.function.argument_list.bslang punctuation.defintion.paramters.begin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang entity.function.argument_list.bslang punctuation.defintion.paramters.end.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.function.bslang entity.function.body.bslang punctuation.defintion.block.begin.function.bslang + return true; +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang +// ^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang keyword.control.return.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang constant.language.boolean.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang punctuation.terminator.return.bslang + } +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.function.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.function.bslang punctuation.defintion.block.end.function.bslang + + + if n > 4 { +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.if.branch.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang entity.if.branch.bslang keyword.control.if.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.if.branch.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang entity.if.branch.bslang entity.if.branch.start.bslang entity.if.branch.condition.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.if.branch.bslang entity.if.branch.start.bslang entity.if.branch.condition.bslang keyword.operator.binary.compare.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.if.branch.bslang entity.if.branch.start.bslang entity.if.branch.condition.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.if.branch.bslang entity.if.branch.start.bslang entity.if.branch.condition.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.if.branch.bslang entity.if.branch.start.bslang entity.if.branch.condition.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.if.branch.bslang entity.if.branch.start.bslang punctuation.definition.if.branch.begin.bslang + bsm { +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.if.branch.bslang entity.branch.body.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.if.branch.bslang entity.branch.body.bslang keyword.control.bsm.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.if.branch.bslang entity.branch.body.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.if.branch.bslang entity.branch.body.bslang punctuation.definition.bsm.begin.bslang + checkpoint 1 +// ^^^^^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.if.branch.bslang entity.branch.body.bslang meta.embedded.bssembler +// ^^^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.if.branch.bslang entity.branch.body.bslang meta.embedded.bssembler keyword.control.bssembler +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.if.branch.bslang entity.branch.body.bslang meta.embedded.bssembler +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.if.branch.bslang entity.branch.body.bslang meta.embedded.bssembler constant.numeric + } +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.if.branch.bslang entity.branch.body.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.if.branch.bslang entity.branch.body.bslang punctuation.definition.bsm.end.bslang + } +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.if.branch.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.if.branch.bslang punctuation.definition.if.branch.end.bslang + else { +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.else.branch.bslang +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.else.branch.bslang keyword.control.else.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.else.branch.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.else.branch.bslang punctuation.definition.else.branch.begin.bslang + bsm { +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.else.branch.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.else.branch.bslang keyword.control.bsm.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.else.branch.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.else.branch.bslang punctuation.definition.bsm.begin.bslang + checkpoint 3 +// ^^^^^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.else.branch.bslang meta.embedded.bssembler +// ^^^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.else.branch.bslang meta.embedded.bssembler keyword.control.bssembler +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.else.branch.bslang meta.embedded.bssembler +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.else.branch.bslang meta.embedded.bssembler constant.numeric + } +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.else.branch.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.else.branch.bslang punctuation.definition.bsm.end.bslang + } +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.else.branch.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.else.branch.bslang punctuation.definition.else.branch.end.bslang + + if a >= b { +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.if.branch.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang entity.if.branch.bslang keyword.control.if.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.if.branch.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang entity.if.branch.bslang entity.if.branch.start.bslang entity.if.branch.condition.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang entity.if.branch.bslang entity.if.branch.start.bslang entity.if.branch.condition.bslang keyword.operator.binary.compare.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.if.branch.bslang entity.if.branch.start.bslang entity.if.branch.condition.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.if.branch.bslang entity.if.branch.start.bslang punctuation.definition.if.branch.begin.bslang + } +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.if.branch.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.if.branch.bslang punctuation.definition.if.branch.end.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang + else if a < b { +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.else.if.branch.bslang +// ^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.else.if.branch.bslang keyword.control.else.if.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.else.if.branch.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang entity.else.if.branch.bslang entity.if.branch.start.bslang entity.if.branch.condition.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.else.if.branch.bslang entity.if.branch.start.bslang entity.if.branch.condition.bslang keyword.operator.binary.compare.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.else.if.branch.bslang entity.if.branch.start.bslang entity.if.branch.condition.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.else.if.branch.bslang entity.if.branch.start.bslang punctuation.definition.if.branch.begin.bslang + std::assert(false); +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.else.if.branch.bslang entity.branch.body.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.else.if.branch.bslang entity.branch.body.bslang entity.namespace.usage.bslang entity.name.namespace.usage.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang entity.else.if.branch.bslang entity.branch.body.bslang entity.namespace.usage.bslang punctuation.separator.namespace.access.bslang +// ^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.else.if.branch.bslang entity.branch.body.bslang entity.function.call.bslang entity.name.function.call.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.else.if.branch.bslang entity.branch.body.bslang entity.function.call.bslang meta.brace.round.function_call.begin.bslang +// ^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.else.if.branch.bslang entity.branch.body.bslang entity.function.call.bslang constant.language.boolean.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.else.if.branch.bslang entity.branch.body.bslang entity.function.call.bslang meta.brace.round.function_call.end.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.else.if.branch.bslang entity.branch.body.bslang punctuation.terminator.function_call.bslang + } +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.else.if.branch.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.else.if.branch.bslang punctuation.definition.else.if.branch.end.bslang + else { +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.else.branch.bslang +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.else.branch.bslang keyword.control.else.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.else.branch.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.else.branch.bslang punctuation.definition.else.branch.begin.bslang + std::assert(false); +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.else.branch.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.else.branch.bslang entity.namespace.usage.bslang entity.name.namespace.usage.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang entity.else.branch.bslang entity.namespace.usage.bslang punctuation.separator.namespace.access.bslang +// ^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.else.branch.bslang entity.function.call.bslang entity.name.function.call.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.else.branch.bslang entity.function.call.bslang meta.brace.round.function_call.begin.bslang +// ^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.else.branch.bslang entity.function.call.bslang constant.language.boolean.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.else.branch.bslang entity.function.call.bslang meta.brace.round.function_call.end.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.else.branch.bslang punctuation.terminator.function_call.bslang + } +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.else.branch.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.else.branch.bslang punctuation.definition.else.branch.end.bslang + + let n: mutable U32 = 1; +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang storage.type.let.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang variable.name.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.colon.variable_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.storage.modifier.mutable.bslang storage.modifier.mutable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.storage.modifier.mutable.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang keyword.operator.assignment.local_variable.initialization.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.comma.variable.declaration.bslang + let k: mutable U32 = 0; +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang storage.type.let.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang variable.name.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.colon.variable_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.storage.modifier.mutable.bslang storage.modifier.mutable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.storage.modifier.mutable.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang keyword.operator.assignment.local_variable.initialization.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.comma.variable.declaration.bslang + loop { +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang keyword.control.raw.loop.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang punctuation.definition.raw.loop.begin.bslang + if n > 100 { +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.if.branch.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.if.branch.bslang keyword.control.if.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.if.branch.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.if.branch.bslang entity.if.branch.start.bslang entity.if.branch.condition.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.if.branch.bslang entity.if.branch.start.bslang entity.if.branch.condition.bslang keyword.operator.binary.compare.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.if.branch.bslang entity.if.branch.start.bslang entity.if.branch.condition.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.if.branch.bslang entity.if.branch.start.bslang entity.if.branch.condition.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.if.branch.bslang entity.if.branch.start.bslang entity.if.branch.condition.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.if.branch.bslang entity.if.branch.start.bslang punctuation.definition.if.branch.begin.bslang + break; +// ^^^^^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.if.branch.bslang entity.branch.body.bslang entity.loop.break.bslang +// ^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.if.branch.bslang entity.branch.body.bslang entity.loop.break.bslang keyword.control.loop.break.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.if.branch.bslang entity.branch.body.bslang entity.loop.break.bslang punctuation.terminator.loop.break.bslang + } +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.if.branch.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.if.branch.bslang punctuation.definition.if.branch.end.bslang + let n_plus_k: U32 = n + k; +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.variable.declaration.initialization.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.variable.declaration.initialization.bslang storage.type.let.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.variable.declaration.initialization.bslang +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.variable.declaration.initialization.bslang variable.name.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.variable.declaration.initialization.bslang punctuation.separator.colon.variable_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang keyword.operator.assignment.local_variable.initialization.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang variable.name.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.operator.unary_operator.prefix.numeric.bslang keyword.operator.unary.prefix.numeric.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang variable.name.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.variable.declaration.initialization.bslang punctuation.separator.comma.variable.declaration.bslang + k = n; +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.variable.assignment.bslang invalid.illegal.variable_name.variable.assignment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.variable.assignment.bslang keyword.operator.assignment.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.variable.assignment.bslang variable.name.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.variable.assignment.bslang punctuation.separator.comma.variable.assigment.bslang + n = n_plus_k; +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.variable.assignment.bslang invalid.illegal.variable_name.variable.assignment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.variable.assignment.bslang keyword.operator.assignment.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.variable.assignment.bslang +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.variable.assignment.bslang variable.name.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.variable.assignment.bslang punctuation.separator.comma.variable.assigment.bslang + continue; +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.loop.continue.bslang +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.loop.continue.bslang keyword.control.loop.continue.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.loop.continue.bslang punctuation.terminator.loop.continue.bslang + n = 10000; +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.variable.assignment.bslang invalid.illegal.variable_name.variable.assignment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.variable.assignment.bslang keyword.operator.assignment.local_variable.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.variable.assignment.bslang +// ^^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.variable.assignment.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang entity.variable.assignment.bslang punctuation.separator.comma.variable.assigment.bslang + } +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang entity.raw.loop.bslang punctuation.definition.raw.loop.end.bslang + + } +// ^ source.bslang entity.function.bslang punctuation.defintion.block.end.function.bslang + + export function assert(condition: Bool) { +// ^^^^^^^ source.bslang entity.function.bslang keyword.control.export.bslang +// ^^^^^^^^ source.bslang entity.function.bslang storage.type.function.bslang +// ^ source.bslang entity.function.bslang +// ^^^^^^ source.bslang entity.function.bslang entity.name.function.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang entity.function.argument_list.bslang punctuation.defintion.paramters.begin.bslang +// ^^^^^^^^^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang meta.parameter.name.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang punctuation.separator.colon.paramter.type.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang +// ^^^^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang entity.function.argument_list.bslang punctuation.defintion.paramters.end.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang punctuation.defintion.block.begin.function.bslang + // some comment here +// ^^^^^^^^^^^^^^^^^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang comment.line.double-slash.bslang + bsm { +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang keyword.control.bsm.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang punctuation.definition.bsm.begin.bslang + copy_byte *R0, R1 +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang meta.embedded.bssembler +// ^^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang meta.embedded.bssembler keyword.control.bssembler +// ^ source.bslang entity.function.bslang entity.function.body.bslang meta.embedded.bssembler +// ^^^ source.bslang entity.function.bslang entity.function.body.bslang meta.embedded.bssembler variable +// ^^ source.bslang entity.function.bslang entity.function.body.bslang meta.embedded.bssembler +// ^^ source.bslang entity.function.bslang entity.function.body.bslang meta.embedded.bssembler variable + assert R1, 1 +// ^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang meta.embedded.bssembler +// ^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang meta.embedded.bssembler keyword.control.bssembler +// ^ source.bslang entity.function.bslang entity.function.body.bslang meta.embedded.bssembler +// ^^ source.bslang entity.function.bslang entity.function.body.bslang meta.embedded.bssembler variable +// ^^ source.bslang entity.function.bslang entity.function.body.bslang meta.embedded.bssembler +// ^ source.bslang entity.function.bslang entity.function.body.bslang meta.embedded.bssembler constant.numeric + } +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang punctuation.definition.bsm.end.bslang + /* +// ^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang comment.block.bslang + a multiline comment with * in it and also /* (this is not ok for seatbelt v1 ?!?!?) +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang comment.block.bslang + */ +// ^^^^ source.bslang entity.function.bslang entity.function.body.bslang comment.block.bslang +// ^^ source.bslang entity.function.bslang entity.function.body.bslang comment.block.bslang + } +// ^ source.bslang entity.function.bslang punctuation.defintion.block.end.function.bslang + + //TODO: is this valid syntax (the default value for the parameter?) +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.bslang comment.line.double-slash.bslang + function def(hello: Char = '\n') ~> Char { +// ^^^^^^^^ source.bslang entity.function.bslang storage.type.function.bslang +// ^ source.bslang entity.function.bslang +// ^^^ source.bslang entity.function.bslang entity.name.function.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang punctuation.defintion.paramters.begin.bslang +// ^^^^^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang meta.parameter.name.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang punctuation.separator.colon.paramter.type.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang +// ^^^^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang keyword.operator.assignment.default_parameter.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang entity.literal.char.escaped.bslang entity.literal.char.escaped.bslang punctuation.char_literal.bslang +// ^^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang entity.literal.char.escaped.bslang entity.literal.char.escaped.bslang constant.character.escape.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang entity.literal.char.escaped.bslang entity.literal.char.escaped.bslang punctuation.char_literal.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang punctuation.defintion.paramters.end.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang +// ^^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang keyword.operator.return_type.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang +// ^^^^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang +// ^ source.bslang entity.function.bslang entity.function.body.bslang punctuation.defintion.block.begin.function.bslang + //TODO: is this syntax valid? (if yes, I need to implement it!) +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang comment.line.double-slash.bslang + // let u, i, o : Char; +// ^^^^^^^^^^^^^^^^^^^^^^^^^^ source.bslang entity.function.bslang entity.function.body.bslang comment.line.double-slash.bslang + + } +// ^ source.bslang entity.function.bslang punctuation.defintion.block.end.function.bslang + + + namespace std { +// ^^^^^^^^^ source.bslang entity.namespace.bslang keyword.control.namespace.bslang +// ^ source.bslang entity.namespace.bslang +// ^^^ source.bslang entity.namespace.bslang entity.name.namespace.declaration.bslang +// ^ source.bslang entity.namespace.bslang +// ^ source.bslang entity.namespace.bslang punctuation.definition.namespace.begin.bslang + + function assert_equals(lhs: Nothing, rhs: Nothing) { } +// ^^^^ source.bslang entity.namespace.bslang entity.function.bslang keyword.control.export.bslang +// ^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang storage.type.function.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang +// ^^^^^^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.name.function.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang entity.function.argument_list.bslang punctuation.defintion.paramters.begin.bslang +// ^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang meta.parameter.name.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang punctuation.separator.colon.paramter.type.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang +// ^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang punctuation.separator.comma.function.paramter.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang entity.function.argument_list.bslang +// ^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang meta.parameter.name.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang punctuation.separator.colon.paramter.type.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang +// ^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang entity.function.argument_list.bslang punctuation.defintion.paramters.end.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang punctuation.defintion.block.begin.function.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang punctuation.defintion.block.end.function.bslang + + export function swap(lhs: ->mutable U32, rhs: ->mutable U32) { +// ^^^^ source.bslang entity.namespace.bslang entity.function.bslang +// ^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang keyword.control.export.bslang +// ^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang storage.type.function.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang +// ^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.name.function.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang entity.function.argument_list.bslang punctuation.defintion.paramters.begin.bslang +// ^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang meta.parameter.name.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang punctuation.separator.colon.paramter.type.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang +// ^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang entity.name.type.pointer.bslang keyword.operator.pointer.bslang +// ^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang entity.storage.modifier.mutable.bslang storage.modifier.mutable.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang entity.storage.modifier.mutable.bslang +// ^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang punctuation.separator.comma.function.paramter.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang entity.function.argument_list.bslang +// ^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang meta.parameter.name.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang punctuation.separator.colon.paramter.type.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang +// ^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang entity.name.type.pointer.bslang keyword.operator.pointer.bslang +// ^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang entity.storage.modifier.mutable.bslang storage.modifier.mutable.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang entity.storage.modifier.mutable.bslang +// ^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang entity.function.argument_list.bslang entity.function.function_parameter.bslang entity.function.function_parameter.with_default.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang entity.function.argument_list.bslang punctuation.defintion.paramters.end.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang punctuation.defintion.block.begin.function.bslang + let temp: U32 = lhs!; +// ^^^^^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang storage.type.let.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang variable.name.local_variable.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.colon.variable_type.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang keyword.operator.assignment.local_variable.initialization.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.operator.unary_operator.postfix.pointer.access.bslang variable.name.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.operator.unary_operator.postfix.pointer.access.bslang keyword.operator.unary.postfix.pointer.access.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.comma.variable.declaration.bslang + lhs! = rhs!; +// ^^^^^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.with_operator.postfix.bslang +// ^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.with_operator.postfix.bslang invalid.illegal.variable_name.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.with_operator.postfix.bslang keyword.operator.unary.postfix.assignment.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.with_operator.postfix.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.with_operator.postfix.bslang keyword.operator.assignment.local_variable.with_operator.postfix.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.with_operator.postfix.bslang +// ^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.with_operator.postfix.bslang entity.operator.unary_operator.postfix.pointer.access.bslang variable.name.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.with_operator.postfix.bslang entity.operator.unary_operator.postfix.pointer.access.bslang keyword.operator.unary.postfix.pointer.access.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.with_operator.postfix.bslang punctuation.separator.comma.variable.assigment.with_operator.postfix.bslang + rhs! = temp; +// ^^^^^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.with_operator.postfix.bslang +// ^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.with_operator.postfix.bslang invalid.illegal.variable_name.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.with_operator.postfix.bslang keyword.operator.unary.postfix.assignment.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.with_operator.postfix.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.with_operator.postfix.bslang keyword.operator.assignment.local_variable.with_operator.postfix.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.with_operator.postfix.bslang +// ^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.with_operator.postfix.bslang variable.name.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.with_operator.postfix.bslang punctuation.separator.comma.variable.assigment.with_operator.postfix.bslang + } +// ^^^^ source.bslang entity.namespace.bslang entity.function.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang punctuation.defintion.block.end.function.bslang + + function a() ~> Nothing { +// ^^^^ source.bslang entity.namespace.bslang entity.function.bslang keyword.control.export.bslang +// ^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang storage.type.function.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.name.function.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang punctuation.defintion.paramters.begin.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.function.argument_list.bslang punctuation.defintion.paramters.end.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang +// ^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang keyword.operator.return_type.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang +// ^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.with_return_type.bslang entity.name.function.return_type.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang punctuation.defintion.block.begin.function.bslang + return nothing; +// ^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang +// ^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang keyword.control.return.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang +// ^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang constant.language.nothing.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.return.value.bslang punctuation.terminator.return.bslang + } +// ^^^^ source.bslang entity.namespace.bslang entity.function.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang punctuation.defintion.block.end.function.bslang + + function t() { +// ^^^^ source.bslang entity.namespace.bslang entity.function.bslang keyword.control.export.bslang +// ^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang storage.type.function.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.name.function.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang entity.function.argument_list.bslang punctuation.defintion.paramters.begin.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang entity.function.argument_list.bslang punctuation.defintion.paramters.end.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.definition.bslang entity.function.definition.without_return_type.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang punctuation.defintion.block.begin.function.bslang +// ^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang + let u : Char = '@'; +// ^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang storage.type.let.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang variable.name.local_variable.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.colon.variable_type.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang keyword.operator.assignment.local_variable.initialization.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.literal.char.bslang entity.literal.char.bslang punctuation.char_literal.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.literal.char.bslang entity.literal.char.bslang string.quotes.single.char_literal.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.literal.char.bslang entity.literal.char.bslang punctuation.char_literal.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.comma.variable.declaration.bslang +// ^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang + u = '='; +// ^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.bslang invalid.illegal.variable_name.variable.assignment.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.bslang keyword.operator.assignment.local_variable.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.bslang entity.literal.char.bslang entity.literal.char.bslang punctuation.char_literal.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.bslang entity.literal.char.bslang entity.literal.char.bslang string.quotes.single.char_literal.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.bslang entity.literal.char.bslang entity.literal.char.bslang punctuation.char_literal.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.bslang punctuation.separator.comma.variable.assigment.bslang + u = '!'; +// ^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.bslang invalid.illegal.variable_name.variable.assignment.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.bslang keyword.operator.assignment.local_variable.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.bslang entity.literal.char.bslang entity.literal.char.bslang punctuation.char_literal.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.bslang entity.literal.char.bslang entity.literal.char.bslang string.quotes.single.char_literal.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.bslang entity.literal.char.bslang entity.literal.char.bslang punctuation.char_literal.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.bslang punctuation.separator.comma.variable.assigment.bslang + let y: U32 = q!!; +// ^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang storage.type.let.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang variable.name.local_variable.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.colon.variable_type.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang keyword.operator.assignment.local_variable.initialization.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.operator.unary_operator.postfix.pointer.access.bslang variable.name.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.operator.unary_operator.postfix.pointer.access.bslang keyword.operator.unary.postfix.pointer.access.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.operator.unary_operator.postfix.pointer.access.bslang keyword.operator.unary.postfix.pointer.access.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.comma.variable.declaration.bslang + + o! = 1; +// ^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.with_operator.postfix.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.with_operator.postfix.bslang invalid.illegal.variable_name.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.with_operator.postfix.bslang keyword.operator.unary.postfix.assignment.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.with_operator.postfix.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.with_operator.postfix.bslang keyword.operator.assignment.local_variable.with_operator.postfix.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.with_operator.postfix.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.with_operator.postfix.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.assignment.with_operator.postfix.bslang punctuation.separator.comma.variable.assigment.with_operator.postfix.bslang + // TODO support nested postfix operators +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang comment.line.double-slash.bslang + // also support the .field operator! +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang comment.line.double-slash.bslang + //o[1]! = 12; +// ^^^^^^^^^^^^^^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang comment.line.double-slash.bslang + //o[1][3] = 12; +// ^^^^^^^^^^^^^^^^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang comment.line.double-slash.bslang + //o.c = 'l'; +// ^^^^^^^^^^^^^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang comment.line.double-slash.bslang + + let is_not_equal = nothing != nothing; +// ^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang +// ^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang storage.type.let.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang +// ^^^^^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang variable.name.local_variable.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang keyword.operator.assignment.local_variable.initialization.without_type.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang +// ^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang constant.language.nothing.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang +// ^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang keyword.operator.binary.compare.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang +// ^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang constant.language.nothing.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang punctuation.separator.comma.variable.declaration.bslang + + std::assert_equals(array[2].c, 'C'); +// ^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang +// ^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.namespace.usage.bslang entity.name.namespace.usage.bslang +// ^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.namespace.usage.bslang punctuation.separator.namespace.access.bslang +// ^^^^^^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.function.call.bslang entity.name.function.call.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.function.call.bslang meta.brace.round.function_call.begin.bslang +// ^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.function.call.bslang variable.name.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.function.call.bslang entity.operator.unary_operator.postfix.array.index.bslang meta.brace.square.operator.unary.postfix.array.index.begin.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.function.call.bslang entity.operator.unary_operator.postfix.array.index.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.function.call.bslang entity.operator.unary_operator.postfix.array.index.bslang meta.brace.square.operator.unary.postfix.array.index.end.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.function.call.bslang entity.operator.unary_operator.postfix.struct.access.bslang keyword.operator.unary.postfix.struct.access.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.function.call.bslang variable.name.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.function.call.bslang punctuation.separator.comma.function.arguments.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.function.call.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.function.call.bslang entity.literal.char.bslang entity.literal.char.bslang punctuation.char_literal.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.function.call.bslang entity.literal.char.bslang entity.literal.char.bslang string.quotes.single.char_literal.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.function.call.bslang entity.literal.char.bslang entity.literal.char.bslang punctuation.char_literal.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.function.call.bslang meta.brace.round.function_call.end.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang punctuation.terminator.function_call.bslang +// ^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang + + let world = World { +// ^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang +// ^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang storage.type.let.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang +// ^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang variable.name.local_variable.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang keyword.operator.assignment.local_variable.initialization.without_type.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang +// ^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.name.type.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang meta.block.struct_literal.begin.bslang + game_objects: game_objects@, +// ^^^^^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang +// ^^^^^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang variable.name.struct_literal.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang punctuation.separator.colon.struct.literal.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang +// ^^^^^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang entity.operator.unary_operator.postfix.pointer.access.bslang variable.name.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang entity.operator.unary_operator.postfix.pointer.access.bslang keyword.operator.unary.postfix.pointer.access.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang punctuation.separator.comma.struct_literal.member.bslang + test: -2, +// ^^^^^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang +// ^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang variable.name.struct_literal.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang punctuation.separator.colon.struct.literal.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang entity.operator.unary_operator.prefix.numeric.bslang keyword.operator.unary.prefix.numeric.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang punctuation.separator.comma.struct_literal.member.bslang + test2: c!, +// ^^^^^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang +// ^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang variable.name.struct_literal.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang punctuation.separator.colon.struct.literal.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang entity.operator.unary_operator.postfix.pointer.access.bslang variable.name.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang entity.operator.unary_operator.postfix.pointer.access.bslang keyword.operator.unary.postfix.pointer.access.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang punctuation.separator.comma.struct_literal.member.bslang + test3: [1,2,3]@, +// ^^^^^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang +// ^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang variable.name.struct_literal.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang punctuation.separator.colon.struct.literal.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang entity.array.literal.bslang meta.block.array_literal.begin.bslang meta.brace.square.array_literal.begin.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang entity.array.literal.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang entity.array.literal.bslang punctuation.separator.comma.array_literal.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang entity.array.literal.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang entity.array.literal.bslang punctuation.separator.comma.array_literal.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang entity.array.literal.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang entity.array.literal.bslang meta.block.array_literal.end.bslang meta.brace.square.array_literal.end.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang entity.operator.unary_operator.postfix.pointer.access.bslang keyword.operator.unary.postfix.pointer.access.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang punctuation.separator.comma.struct_literal.member.bslang + test4: [1,2,3][3]@, +// ^^^^^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang +// ^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang variable.name.struct_literal.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang punctuation.separator.colon.struct.literal.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang entity.array.literal.bslang meta.block.array_literal.begin.bslang meta.brace.square.array_literal.begin.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang entity.array.literal.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang entity.array.literal.bslang punctuation.separator.comma.array_literal.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang entity.array.literal.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang entity.array.literal.bslang punctuation.separator.comma.array_literal.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang entity.array.literal.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang entity.array.literal.bslang meta.block.array_literal.end.bslang meta.brace.square.array_literal.end.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang entity.array.literal.bslang meta.block.array_literal.begin.bslang meta.brace.square.array_literal.begin.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang entity.array.literal.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang entity.array.literal.bslang meta.block.array_literal.end.bslang meta.brace.square.array_literal.end.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang entity.operator.unary_operator.postfix.pointer.access.bslang keyword.operator.unary.postfix.pointer.access.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang punctuation.separator.comma.struct_literal.member.bslang + test5: hello.c +// ^^^^^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang +// ^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang variable.name.struct_literal.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang punctuation.separator.colon.struct.literal.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang +// ^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang entity.operator.unary_operator.postfix.struct.access.bslang keyword.operator.unary.postfix.struct.access.bslang +// ^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang + }; +// ^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang entity.struct_field.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang entity.variable.declaration.initialization.without_type.value.bslang entity.struct.literal.bslang meta.block.struct_literal.end.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.without_type.bslang punctuation.separator.comma.variable.declaration.bslang + + + + //TODO rewrite operators to support binary operators here: +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang comment.line.double-slash.bslang + std::assert(a != b); +// ^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang +// ^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.namespace.usage.bslang entity.name.namespace.usage.bslang +// ^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.namespace.usage.bslang punctuation.separator.namespace.access.bslang +// ^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.function.call.bslang entity.name.function.call.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.function.call.bslang meta.brace.round.function_call.begin.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.function.call.bslang variable.name.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.function.call.bslang +// ^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.function.call.bslang keyword.operator.binary.compare.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.function.call.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.function.call.bslang variable.name.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.function.call.bslang meta.brace.round.function_call.end.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang punctuation.terminator.function_call.bslang + //std::assert(a@ + 1 == b@); +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang comment.line.double-slash.bslang + //std::assert(n@ != m@); +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang comment.line.double-slash.bslang + //std::assert(a@, +1, true == b@); +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang comment.line.double-slash.bslang + //b or true; +// ^^^^^^^^^^^^^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang comment.line.double-slash.bslang + + + do { +// ^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang +// ^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang keyword.control.do.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang punctuation.definition.do.while.loop.begin.bslang + break; +// ^^^^^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.loop.break.bslang +// ^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.loop.break.bslang keyword.control.loop.break.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.loop.break.bslang punctuation.terminator.loop.break.bslang + continue; +// ^^^^^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.loop.continue.bslang +// ^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.loop.continue.bslang keyword.control.loop.continue.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.loop.continue.bslang punctuation.terminator.loop.continue.bslang + } while false; +// ^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.while.loop.start.bslang punctuation.definition.do.while.loop.end.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.while.loop.start.bslang +// ^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.while.loop.start.bslang keyword.control.while.postfix.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.while.loop.start.bslang entity.do.while.loop.condition.bslang +// ^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.while.loop.start.bslang entity.do.while.loop.condition.bslang constant.language.boolean.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang punctuation.separator.comma.do.while.loop.condition.end.bslan + + do { +// ^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang +// ^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang keyword.control.do.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang punctuation.definition.do.while.loop.begin.bslang + break; +// ^^^^^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.loop.break.bslang +// ^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.loop.break.bslang keyword.control.loop.break.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.loop.break.bslang punctuation.terminator.loop.break.bslang + continue; +// ^^^^^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.loop.continue.bslang +// ^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.loop.continue.bslang keyword.control.loop.continue.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.loop.continue.bslang punctuation.terminator.loop.continue.bslang + } while true; +// ^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.while.loop.start.bslang punctuation.definition.do.while.loop.end.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.while.loop.start.bslang +// ^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.while.loop.start.bslang keyword.control.while.postfix.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.while.loop.start.bslang entity.do.while.loop.condition.bslang +// ^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.while.loop.start.bslang entity.do.while.loop.condition.bslang constant.language.boolean.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang punctuation.separator.comma.do.while.loop.condition.end.bslan + + let n: mutable U32 = 1000; +// ^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang storage.type.let.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang variable.name.local_variable.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.colon.variable_type.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.storage.modifier.mutable.bslang storage.modifier.mutable.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.storage.modifier.mutable.bslang +// ^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang keyword.operator.assignment.local_variable.initialization.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.comma.variable.declaration.bslang + let k: mutable U32 = 0; +// ^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang storage.type.let.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang variable.name.local_variable.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.colon.variable_type.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.storage.modifier.mutable.bslang storage.modifier.mutable.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.storage.modifier.mutable.bslang +// ^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang keyword.operator.assignment.local_variable.initialization.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.comma.variable.declaration.bslang + do { +// ^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang +// ^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang keyword.control.do.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang punctuation.definition.do.while.loop.begin.bslang + if n > 100 { +// ^^^^^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.if.branch.bslang +// ^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.if.branch.bslang keyword.control.if.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.if.branch.bslang +// ^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.if.branch.bslang entity.if.branch.start.bslang entity.if.branch.condition.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.if.branch.bslang entity.if.branch.start.bslang entity.if.branch.condition.bslang keyword.operator.binary.compare.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.if.branch.bslang entity.if.branch.start.bslang entity.if.branch.condition.bslang +// ^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.if.branch.bslang entity.if.branch.start.bslang entity.if.branch.condition.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.if.branch.bslang entity.if.branch.start.bslang entity.if.branch.condition.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.if.branch.bslang entity.if.branch.start.bslang punctuation.definition.if.branch.begin.bslang + n = 1; +// ^^^^^^^^^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.if.branch.bslang entity.branch.body.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.if.branch.bslang entity.branch.body.bslang entity.variable.assignment.bslang invalid.illegal.variable_name.variable.assignment.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.if.branch.bslang entity.branch.body.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.if.branch.bslang entity.branch.body.bslang entity.variable.assignment.bslang keyword.operator.assignment.local_variable.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.if.branch.bslang entity.branch.body.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.if.branch.bslang entity.branch.body.bslang entity.variable.assignment.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.if.branch.bslang entity.branch.body.bslang entity.variable.assignment.bslang punctuation.separator.comma.variable.assigment.bslang + } +// ^^^^^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.if.branch.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.if.branch.bslang punctuation.definition.if.branch.end.bslang + let n_plus_k: U32 = n + k; +// ^^^^^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang +// ^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang storage.type.let.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang +// ^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang variable.name.local_variable.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.colon.variable_type.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang entity.name.type.builtin.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.type.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang keyword.operator.assignment.local_variable.initialization.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang variable.name.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang entity.operator.unary_operator.prefix.numeric.bslang keyword.operator.unary.prefix.numeric.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang entity.variable.declaration.initialization.value.bslang variable.name.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.variable.declaration.initialization.bslang punctuation.separator.comma.variable.declaration.bslang + k = n; +// ^^^^^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang invalid.illegal.variable_name.variable.assignment.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang keyword.operator.assignment.local_variable.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang variable.name.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang punctuation.separator.comma.variable.assigment.bslang + n = n_plus_k; +// ^^^^^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang invalid.illegal.variable_name.variable.assignment.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang keyword.operator.assignment.local_variable.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang +// ^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang variable.name.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang punctuation.separator.comma.variable.assigment.bslang + continue; +// ^^^^^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.loop.continue.bslang +// ^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.loop.continue.bslang keyword.control.loop.continue.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.loop.continue.bslang punctuation.terminator.loop.continue.bslang + n = 10000; +// ^^^^^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang invalid.illegal.variable_name.variable.assignment.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang keyword.operator.assignment.local_variable.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang +// ^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.loop.body.bslang entity.variable.assignment.bslang punctuation.separator.comma.variable.assigment.bslang + } while n < 100; +// ^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.while.loop.start.bslang punctuation.definition.do.while.loop.end.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.while.loop.start.bslang +// ^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.while.loop.start.bslang keyword.control.while.postfix.bslang +// ^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.while.loop.start.bslang entity.do.while.loop.condition.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.while.loop.start.bslang entity.do.while.loop.condition.bslang keyword.operator.binary.compare.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.while.loop.start.bslang entity.do.while.loop.condition.bslang +// ^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang entity.while.loop.start.bslang entity.do.while.loop.condition.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.do.while.loop.bslang punctuation.separator.comma.do.while.loop.condition.end.bslan + + std::assert(a >= 42 != false); +// ^^^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang +// ^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.namespace.usage.bslang entity.name.namespace.usage.bslang +// ^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.namespace.usage.bslang punctuation.separator.namespace.access.bslang +// ^^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.function.call.bslang entity.name.function.call.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.function.call.bslang meta.brace.round.function_call.begin.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.function.call.bslang variable.name.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.function.call.bslang +// ^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.function.call.bslang keyword.operator.binary.compare.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.function.call.bslang +// ^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.function.call.bslang constant.numeric.bslang entity.literal.numeric.decimal.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.function.call.bslang +// ^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.function.call.bslang keyword.operator.binary.compare.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.function.call.bslang +// ^^^^^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.function.call.bslang constant.language.boolean.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang entity.function.call.bslang meta.brace.round.function_call.end.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang entity.function.body.bslang punctuation.terminator.function_call.bslang + } +// ^^^^ source.bslang entity.namespace.bslang entity.function.bslang +// ^ source.bslang entity.namespace.bslang entity.function.bslang punctuation.defintion.block.end.function.bslang + + } +// ^ source.bslang entity.namespace.bslang punctuation.definition.namespace.end.bslang + diff --git a/yarn.lock b/yarn.lock index ab26a94..e38ccab 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,39 +2,161 @@ # yarn lockfile v1 -"@esbuild/linux-loong64@0.14.54": - version "0.14.54" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.14.54.tgz#de2a4be678bd4d0d1ffbb86e6de779cde5999028" - integrity sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw== +"@aashutoshrathi/word-wrap@^1.2.3": + version "1.2.6" + resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" + integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== + +"@esbuild/android-arm64@0.19.4": + version "0.19.4" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.19.4.tgz#74752a09301b8c6b9a415fbda9fb71406a62a7b7" + integrity sha512-mRsi2vJsk4Bx/AFsNBqOH2fqedxn5L/moT58xgg51DjX1la64Z3Npicut2VbhvDFO26qjWtPMsVxCd80YTFVeg== + +"@esbuild/android-arm@0.19.4": + version "0.19.4" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.19.4.tgz#c27363e1e280e577d9b5c8fa7c7a3be2a8d79bf5" + integrity sha512-uBIbiYMeSsy2U0XQoOGVVcpIktjLMEKa7ryz2RLr7L/vTnANNEsPVAh4xOv7ondGz6ac1zVb0F8Jx20rQikffQ== + +"@esbuild/android-x64@0.19.4": + version "0.19.4" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.19.4.tgz#6c9ee03d1488973d928618100048b75b147e0426" + integrity sha512-4iPufZ1TMOD3oBlGFqHXBpa3KFT46aLl6Vy7gwed0ZSYgHaZ/mihbYb4t7Z9etjkC9Al3ZYIoOaHrU60gcMy7g== + +"@esbuild/darwin-arm64@0.19.4": + version "0.19.4" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.19.4.tgz#64e2ee945e5932cd49812caa80e8896e937e2f8b" + integrity sha512-Lviw8EzxsVQKpbS+rSt6/6zjn9ashUZ7Tbuvc2YENgRl0yZTktGlachZ9KMJUsVjZEGFVu336kl5lBgDN6PmpA== + +"@esbuild/darwin-x64@0.19.4": + version "0.19.4" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.19.4.tgz#d8e26e1b965df284692e4d1263ba69a49b39ac7a" + integrity sha512-YHbSFlLgDwglFn0lAO3Zsdrife9jcQXQhgRp77YiTDja23FrC2uwnhXMNkAucthsf+Psr7sTwYEryxz6FPAVqw== + +"@esbuild/freebsd-arm64@0.19.4": + version "0.19.4" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.4.tgz#29751a41b242e0a456d89713b228f1da4f45582f" + integrity sha512-vz59ijyrTG22Hshaj620e5yhs2dU1WJy723ofc+KUgxVCM6zxQESmWdMuVmUzxtGqtj5heHyB44PjV/HKsEmuQ== + +"@esbuild/freebsd-x64@0.19.4": + version "0.19.4" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.19.4.tgz#873edc0f73e83a82432460ea59bf568c1e90b268" + integrity sha512-3sRbQ6W5kAiVQRBWREGJNd1YE7OgzS0AmOGjDmX/qZZecq8NFlQsQH0IfXjjmD0XtUYqr64e0EKNFjMUlPL3Cw== + +"@esbuild/linux-arm64@0.19.4": + version "0.19.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.19.4.tgz#659f2fa988d448dbf5010b5cc583be757cc1b914" + integrity sha512-ZWmWORaPbsPwmyu7eIEATFlaqm0QGt+joRE9sKcnVUG3oBbr/KYdNE2TnkzdQwX6EDRdg/x8Q4EZQTXoClUqqA== + +"@esbuild/linux-arm@0.19.4": + version "0.19.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.19.4.tgz#d5b13a7ec1f1c655ce05c8d319b3950797baee55" + integrity sha512-z/4ArqOo9EImzTi4b6Vq+pthLnepFzJ92BnofU1jgNlcVb+UqynVFdoXMCFreTK7FdhqAzH0vmdwW5373Hm9pg== + +"@esbuild/linux-ia32@0.19.4": + version "0.19.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.19.4.tgz#878cd8bf24c9847c77acdb5dd1b2ef6e4fa27a82" + integrity sha512-EGc4vYM7i1GRUIMqRZNCTzJh25MHePYsnQfKDexD8uPTCm9mK56NIL04LUfX2aaJ+C9vyEp2fJ7jbqFEYgO9lQ== + +"@esbuild/linux-loong64@0.19.4": + version "0.19.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.19.4.tgz#df890499f6e566b7de3aa2361be6df2b8d5fa015" + integrity sha512-WVhIKO26kmm8lPmNrUikxSpXcgd6HDog0cx12BUfA2PkmURHSgx9G6vA19lrlQOMw+UjMZ+l3PpbtzffCxFDRg== + +"@esbuild/linux-mips64el@0.19.4": + version "0.19.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.19.4.tgz#76eae4e88d2ce9f4f1b457e93892e802851b6807" + integrity sha512-keYY+Hlj5w86hNp5JJPuZNbvW4jql7c1eXdBUHIJGTeN/+0QFutU3GrS+c27L+NTmzi73yhtojHk+lr2+502Mw== + +"@esbuild/linux-ppc64@0.19.4": + version "0.19.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.19.4.tgz#c49032f4abbcfa3f747b543a106931fe3dce41ff" + integrity sha512-tQ92n0WMXyEsCH4m32S21fND8VxNiVazUbU4IUGVXQpWiaAxOBvtOtbEt3cXIV3GEBydYsY8pyeRMJx9kn3rvw== + +"@esbuild/linux-riscv64@0.19.4": + version "0.19.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.19.4.tgz#0f815a090772138503ee0465a747e16865bf94b1" + integrity sha512-tRRBey6fG9tqGH6V75xH3lFPpj9E8BH+N+zjSUCnFOX93kEzqS0WdyJHkta/mmJHn7MBaa++9P4ARiU4ykjhig== + +"@esbuild/linux-s390x@0.19.4": + version "0.19.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.19.4.tgz#8d2cca20cd4e7c311fde8701d9f1042664f8b92b" + integrity sha512-152aLpQqKZYhThiJ+uAM4PcuLCAOxDsCekIbnGzPKVBRUDlgaaAfaUl5NYkB1hgY6WN4sPkejxKlANgVcGl9Qg== + +"@esbuild/linux-x64@0.19.4": + version "0.19.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.19.4.tgz#f618bec2655de49bff91c588777e37b5e3169d4a" + integrity sha512-Mi4aNA3rz1BNFtB7aGadMD0MavmzuuXNTaYL6/uiYIs08U7YMPETpgNn5oue3ICr+inKwItOwSsJDYkrE9ekVg== + +"@esbuild/netbsd-x64@0.19.4": + version "0.19.4" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.19.4.tgz#7889744ca4d60f1538d62382b95e90a49687cef2" + integrity sha512-9+Wxx1i5N/CYo505CTT7T+ix4lVzEdz0uCoYGxM5JDVlP2YdDC1Bdz+Khv6IbqmisT0Si928eAxbmGkcbiuM/A== + +"@esbuild/openbsd-x64@0.19.4": + version "0.19.4" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.19.4.tgz#c3e436eb9271a423d2e8436fcb120e3fd90e2b01" + integrity sha512-MFsHleM5/rWRW9EivFssop+OulYVUoVcqkyOkjiynKBCGBj9Lihl7kh9IzrreDyXa4sNkquei5/DTP4uCk25xw== + +"@esbuild/sunos-x64@0.19.4": + version "0.19.4" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.19.4.tgz#f63f5841ba8c8c1a1c840d073afc99b53e8ce740" + integrity sha512-6Xq8SpK46yLvrGxjp6HftkDwPP49puU4OF0hEL4dTxqCbfx09LyrbUj/D7tmIRMj5D5FCUPksBbxyQhp8tmHzw== + +"@esbuild/win32-arm64@0.19.4": + version "0.19.4" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.19.4.tgz#80be69cec92da4da7781cf7a8351b95cc5a236b0" + integrity sha512-PkIl7Jq4mP6ke7QKwyg4fD4Xvn8PXisagV/+HntWoDEdmerB2LTukRZg728Yd1Fj+LuEX75t/hKXE2Ppk8Hh1w== + +"@esbuild/win32-ia32@0.19.4": + version "0.19.4" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.19.4.tgz#15dc0ed83d2794872b05d8edc4a358fecf97eb54" + integrity sha512-ga676Hnvw7/ycdKB53qPusvsKdwrWzEyJ+AtItHGoARszIqvjffTwaaW3b2L6l90i7MO9i+dlAW415INuRhSGg== + +"@esbuild/win32-x64@0.19.4": + version "0.19.4" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.19.4.tgz#d46a6e220a717f31f39ae80f49477cc3220be0f0" + integrity sha512-HP0GDNla1T3ZL8Ko/SHAS2GgtjOg+VmWnnYLhuTksr++EnduYB0f3Y2LzHsUwb2iQ13JGoY6G3R8h6Du/WG6uA== + +"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" + integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== + dependencies: + eslint-visitor-keys "^3.3.0" -"@eslint/eslintrc@^1.3.1": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.1.tgz#de0807bfeffc37b964a7d0400e0c348ce5a2543d" - integrity sha512-OhSY22oQQdw3zgPOOwdoj01l/Dzl1Z+xyUP33tkSN+aqyEhymJCcPHyXt+ylW8FSe0TfRC2VG+ROQOapD0aZSQ== +"@eslint-community/regexpp@^4.5.1", "@eslint-community/regexpp@^4.6.1": + version "4.9.0" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.9.0.tgz#7ccb5f58703fa61ffdcbf39e2c604a109e781162" + integrity sha512-zJmuCWj2VLBt4c25CfBIbMZLGLyhkvs7LznyVX5HfpzeocThgIj5XQK4L+g3U36mMcx8bPMhGyPpwCATamC4jQ== + +"@eslint/eslintrc@^2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.2.tgz#c6936b4b328c64496692f76944e755738be62396" + integrity sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g== dependencies: ajv "^6.12.4" debug "^4.3.2" - espree "^9.4.0" - globals "^13.15.0" + espree "^9.6.0" + globals "^13.19.0" ignore "^5.2.0" import-fresh "^3.2.1" js-yaml "^4.1.0" minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@humanwhocodes/config-array@^0.10.4": - version "0.10.4" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.10.4.tgz#01e7366e57d2ad104feea63e72248f22015c520c" - integrity sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw== +"@eslint/js@8.50.0": + version "8.50.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.50.0.tgz#9e93b850f0f3fa35f5fa59adfd03adae8488e484" + integrity sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ== + +"@humanwhocodes/config-array@^0.11.11": + version "0.11.11" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.11.tgz#88a04c570dbbc7dd943e4712429c3df09bc32844" + integrity sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA== dependencies: "@humanwhocodes/object-schema" "^1.2.1" debug "^4.1.1" - minimatch "^3.0.4" - -"@humanwhocodes/gitignore-to-minimatch@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz#316b0a63b91c10e53f242efb4ace5c3b34e8728d" - integrity sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA== + minimatch "^3.0.5" "@humanwhocodes/module-importer@^1.0.1": version "1.0.1" @@ -46,6 +168,18 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== +"@isaacs/cliui@^8.0.2": + version "8.0.2" + resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" + integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== + dependencies: + string-width "^5.1.2" + string-width-cjs "npm:string-width@^4.2.0" + strip-ansi "^7.0.1" + strip-ansi-cjs "npm:strip-ansi@^6.0.1" + wrap-ansi "^8.1.0" + wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" + "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" @@ -59,7 +193,7 @@ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== -"@nodelib/fs.walk@^1.2.3": +"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": version "1.2.8" resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== @@ -67,132 +201,146 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@types/json-schema@^7.0.9": - version "7.0.11" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" - integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== +"@pkgjs/parseargs@^0.11.0": + version "0.11.0" + resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" + integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== + +"@types/json-schema@^7.0.12": + version "7.0.13" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.13.tgz#02c24f4363176d2d18fc8b70b9f3c54aba178a85" + integrity sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ== + +"@types/node@^16.18.54": + version "16.18.54" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.18.54.tgz#4a63bdcea5b714f546aa27406a1c60621236a132" + integrity sha512-oTmGy68gxZZ21FhTJVVvZBYpQHEBZxHKTsGshobMqm9qWpbqdZsA5jvsuPZcHu0KwpmLrOHWPdEfg7XDpNT9UA== -"@types/node@^14.14.37": - version "14.18.28" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.28.tgz#ddb82da2fff476a8e827e8773c84c19d9c235278" - integrity sha512-CK2fnrQlIgKlCV3N2kM+Gznb5USlwA1KFX3rJVHmgVk6NJxFPuQ86pAcvKnu37IA4BGlSRz7sEE1lHL1aLZ/eQ== +"@types/semver@^7.5.0": + version "7.5.3" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.3.tgz#9a726e116beb26c24f1ccd6850201e1246122e04" + integrity sha512-OxepLK9EuNEIPxWNME+C6WwbRAOOI2o2BaQEGzz5Lu2e4Z5eDnEo+/aVEDMIXywoJitJ7xWd641wrGLZdtwRyw== "@types/vscode@^1.66.0": version "1.71.0" resolved "https://registry.yarnpkg.com/@types/vscode/-/vscode-1.71.0.tgz#a8d9bb7aca49b0455060e6eb978711b510bdd2e2" integrity sha512-nB50bBC9H/x2CpwW9FzRRRDrTZ7G0/POttJojvN/LiVfzTGfLyQIje1L1QRMdFXK9G41k5UJN/1B9S4of7CSzA== -"@typescript-eslint/eslint-plugin@^5.17.0": - version "5.36.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.36.2.tgz#6df092a20e0f9ec748b27f293a12cb39d0c1fe4d" - integrity sha512-OwwR8LRwSnI98tdc2z7mJYgY60gf7I9ZfGjN5EjCwwns9bdTuQfAXcsjSB2wSQ/TVNYSGKf4kzVXbNGaZvwiXw== +"@typescript-eslint/eslint-plugin@^6.7.3": + version "6.7.3" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.7.3.tgz#d98046e9f7102d49a93d944d413c6055c47fafd7" + integrity sha512-vntq452UHNltxsaaN+L9WyuMch8bMd9CqJ3zhzTPXXidwbf5mqqKCVXEuvRZUqLJSTLeWE65lQwyXsRGnXkCTA== dependencies: - "@typescript-eslint/scope-manager" "5.36.2" - "@typescript-eslint/type-utils" "5.36.2" - "@typescript-eslint/utils" "5.36.2" + "@eslint-community/regexpp" "^4.5.1" + "@typescript-eslint/scope-manager" "6.7.3" + "@typescript-eslint/type-utils" "6.7.3" + "@typescript-eslint/utils" "6.7.3" + "@typescript-eslint/visitor-keys" "6.7.3" debug "^4.3.4" - functional-red-black-tree "^1.0.1" - ignore "^5.2.0" - regexpp "^3.2.0" - semver "^7.3.7" - tsutils "^3.21.0" - -"@typescript-eslint/parser@^5.17.0": - version "5.36.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.36.2.tgz#3ddf323d3ac85a25295a55fcb9c7a49ab4680ddd" - integrity sha512-qS/Kb0yzy8sR0idFspI9Z6+t7mqk/oRjnAYfewG+VN73opAUvmYL3oPIMmgOX6CnQS6gmVIXGshlb5RY/R22pA== - dependencies: - "@typescript-eslint/scope-manager" "5.36.2" - "@typescript-eslint/types" "5.36.2" - "@typescript-eslint/typescript-estree" "5.36.2" + graphemer "^1.4.0" + ignore "^5.2.4" + natural-compare "^1.4.0" + semver "^7.5.4" + ts-api-utils "^1.0.1" + +"@typescript-eslint/parser@^6.7.3": + version "6.7.3" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.7.3.tgz#aaf40092a32877439e5957e18f2d6a91c82cc2fd" + integrity sha512-TlutE+iep2o7R8Lf+yoer3zU6/0EAUc8QIBB3GYBc1KGz4c4TRm83xwXUZVPlZ6YCLss4r77jbu6j3sendJoiQ== + dependencies: + "@typescript-eslint/scope-manager" "6.7.3" + "@typescript-eslint/types" "6.7.3" + "@typescript-eslint/typescript-estree" "6.7.3" + "@typescript-eslint/visitor-keys" "6.7.3" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.36.2": - version "5.36.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.36.2.tgz#a75eb588a3879ae659514780831370642505d1cd" - integrity sha512-cNNP51L8SkIFSfce8B1NSUBTJTu2Ts4nWeWbFrdaqjmn9yKrAaJUBHkyTZc0cL06OFHpb+JZq5AUHROS398Orw== +"@typescript-eslint/scope-manager@6.7.3": + version "6.7.3" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.7.3.tgz#07e5709c9bdae3eaf216947433ef97b3b8b7d755" + integrity sha512-wOlo0QnEou9cHO2TdkJmzF7DFGvAKEnB82PuPNHpT8ZKKaZu6Bm63ugOTn9fXNJtvuDPanBc78lGUGGytJoVzQ== dependencies: - "@typescript-eslint/types" "5.36.2" - "@typescript-eslint/visitor-keys" "5.36.2" + "@typescript-eslint/types" "6.7.3" + "@typescript-eslint/visitor-keys" "6.7.3" -"@typescript-eslint/type-utils@5.36.2": - version "5.36.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.36.2.tgz#752373f4babf05e993adf2cd543a763632826391" - integrity sha512-rPQtS5rfijUWLouhy6UmyNquKDPhQjKsaKH0WnY6hl/07lasj8gPaH2UD8xWkePn6SC+jW2i9c2DZVDnL+Dokw== +"@typescript-eslint/type-utils@6.7.3": + version "6.7.3" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.7.3.tgz#c2c165c135dda68a5e70074ade183f5ad68f3400" + integrity sha512-Fc68K0aTDrKIBvLnKTZ5Pf3MXK495YErrbHb1R6aTpfK5OdSFj0rVN7ib6Tx6ePrZ2gsjLqr0s98NG7l96KSQw== dependencies: - "@typescript-eslint/typescript-estree" "5.36.2" - "@typescript-eslint/utils" "5.36.2" + "@typescript-eslint/typescript-estree" "6.7.3" + "@typescript-eslint/utils" "6.7.3" debug "^4.3.4" - tsutils "^3.21.0" + ts-api-utils "^1.0.1" -"@typescript-eslint/types@5.36.2": - version "5.36.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.36.2.tgz#a5066e500ebcfcee36694186ccc57b955c05faf9" - integrity sha512-9OJSvvwuF1L5eS2EQgFUbECb99F0mwq501w0H0EkYULkhFa19Qq7WFbycdw1PexAc929asupbZcgjVIe6OK/XQ== +"@typescript-eslint/types@6.7.3": + version "6.7.3" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.7.3.tgz#0402b5628a63f24f2dc9d4a678e9a92cc50ea3e9" + integrity sha512-4g+de6roB2NFcfkZb439tigpAMnvEIg3rIjWQ+EM7IBaYt/CdJt6em9BJ4h4UpdgaBWdmx2iWsafHTrqmgIPNw== -"@typescript-eslint/typescript-estree@5.36.2": - version "5.36.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.36.2.tgz#0c93418b36c53ba0bc34c61fe9405c4d1d8fe560" - integrity sha512-8fyH+RfbKc0mTspfuEjlfqA4YywcwQK2Amcf6TDOwaRLg7Vwdu4bZzyvBZp4bjt1RRjQ5MDnOZahxMrt2l5v9w== +"@typescript-eslint/typescript-estree@6.7.3": + version "6.7.3" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.7.3.tgz#ec5bb7ab4d3566818abaf0e4a8fa1958561b7279" + integrity sha512-YLQ3tJoS4VxLFYHTw21oe1/vIZPRqAO91z6Uv0Ss2BKm/Ag7/RVQBcXTGcXhgJMdA4U+HrKuY5gWlJlvoaKZ5g== dependencies: - "@typescript-eslint/types" "5.36.2" - "@typescript-eslint/visitor-keys" "5.36.2" + "@typescript-eslint/types" "6.7.3" + "@typescript-eslint/visitor-keys" "6.7.3" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" - semver "^7.3.7" - tsutils "^3.21.0" - -"@typescript-eslint/utils@5.36.2": - version "5.36.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.36.2.tgz#b01a76f0ab244404c7aefc340c5015d5ce6da74c" - integrity sha512-uNcopWonEITX96v9pefk9DC1bWMdkweeSsewJ6GeC7L6j2t0SJywisgkr9wUTtXk90fi2Eljj90HSHm3OGdGRg== - dependencies: - "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.36.2" - "@typescript-eslint/types" "5.36.2" - "@typescript-eslint/typescript-estree" "5.36.2" - eslint-scope "^5.1.1" - eslint-utils "^3.0.0" - -"@typescript-eslint/visitor-keys@5.36.2": - version "5.36.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.36.2.tgz#2f8f78da0a3bad3320d2ac24965791ac39dace5a" - integrity sha512-BtRvSR6dEdrNt7Net2/XDjbYKU5Ml6GqJgVfXT0CxTCJlnIqK7rAGreuWKMT2t8cFUT2Msv5oxw0GMRD7T5J7A== - dependencies: - "@typescript-eslint/types" "5.36.2" - eslint-visitor-keys "^3.3.0" + semver "^7.5.4" + ts-api-utils "^1.0.1" + +"@typescript-eslint/utils@6.7.3": + version "6.7.3" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.7.3.tgz#96c655816c373135b07282d67407cb577f62e143" + integrity sha512-vzLkVder21GpWRrmSR9JxGZ5+ibIUSudXlW52qeKpzUEQhRSmyZiVDDj3crAth7+5tmN1ulvgKaCU2f/bPRCzg== + dependencies: + "@eslint-community/eslint-utils" "^4.4.0" + "@types/json-schema" "^7.0.12" + "@types/semver" "^7.5.0" + "@typescript-eslint/scope-manager" "6.7.3" + "@typescript-eslint/types" "6.7.3" + "@typescript-eslint/typescript-estree" "6.7.3" + semver "^7.5.4" + +"@typescript-eslint/visitor-keys@6.7.3": + version "6.7.3" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.7.3.tgz#83809631ca12909bd2083558d2f93f5747deebb2" + integrity sha512-HEVXkU9IB+nk9o63CeICMHxFWbHWr3E1mpilIQBe9+7L/lH97rleFLVtYsfnWB+JVMaiFnEaxvknvmIzX+CqVg== + dependencies: + "@typescript-eslint/types" "6.7.3" + eslint-visitor-keys "^3.4.1" -"@vscode/debugadapter-testsupport@^1.56.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@vscode/debugadapter-testsupport/-/debugadapter-testsupport-1.57.0.tgz#ab96ec0d134a3f45f986eeb822e0272e3ce88cd8" - integrity sha512-Gr4DvTL5YQYlsJf7ZnjBe1PABNvwvkRuBUMUbNmSSyG7T5OWmSDQ6XVovQ3osfbiHDDsi6guVf3yMBuEc8YCpw== +"@vscode/debugadapter-testsupport@^1.63.0": + version "1.63.0" + resolved "https://registry.yarnpkg.com/@vscode/debugadapter-testsupport/-/debugadapter-testsupport-1.63.0.tgz#dfd292f1b0dca90618c6228298d6a0e98f3a3a44" + integrity sha512-K17THT/GoJJNezcIh3HaXDOvsntFkLxmjZ83ihXJHKAbcOnaNOrtzcnVT1bL3CVyRkgG7WzitBeScOi7sjaqZg== dependencies: - "@vscode/debugprotocol" "1.57.0" + "@vscode/debugprotocol" "1.63.0" -"@vscode/debugadapter@^1.56.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@vscode/debugadapter/-/debugadapter-1.57.0.tgz#6328d91141fe99cbaf53c1a9ed085b8f1cf930e5" - integrity sha512-M5318gA6QBuQERFuAFwv3CCrH/2N2g+RLwDDIj9xIMZUfjr5r9JPu4iv70WBL7n8NT4K8Er8xpxmgGcl3oW8gw== +"@vscode/debugadapter@^1.63.0": + version "1.63.0" + resolved "https://registry.yarnpkg.com/@vscode/debugadapter/-/debugadapter-1.63.0.tgz#d0ede205a1c4108170dcada497926d071c099553" + integrity sha512-d2eAnYCZkKJ0C28gT93KPi5YXFav8VyagcxkJ94LZ8qqgJ27+2ct26MOHGYKB8L25ZdDs8A4YmyJO32J0afhNQ== dependencies: - "@vscode/debugprotocol" "1.57.0" + "@vscode/debugprotocol" "1.63.0" -"@vscode/debugprotocol@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@vscode/debugprotocol/-/debugprotocol-1.57.0.tgz#f055c0422b1f77358a12b1415623099ba0541647" - integrity sha512-eww0WhAtj3lPX7+7tGkxQ3P7IRC3hS7+SVL7fmM8CAat2DMM+PVjg1FQbTCtMw6EwNSmT/qMx1iZCyzQguJJKA== +"@vscode/debugprotocol@1.63.0": + version "1.63.0" + resolved "https://registry.yarnpkg.com/@vscode/debugprotocol/-/debugprotocol-1.63.0.tgz#f6d16c382765d2533e515939ac2857aa1ed7ba35" + integrity sha512-7gewwv69pA7gcJUhtJsru5YN7E1AwwnlBrF5mJY4R/NGInOUqOYOWHlqQwG+4AXn0nXWbcn26MHgaGI9Q26SqA== acorn-jsx@^5.3.2: version "5.3.2" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== -acorn@^8.8.0: - version "8.8.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8" - integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w== +acorn@^8.9.0: + version "8.10.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5" + integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw== -ajv@^6.10.0, ajv@^6.12.4: +ajv@^6.12.4: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -207,6 +355,11 @@ ansi-regex@^5.0.1: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== +ansi-regex@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" + integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== + ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" @@ -214,13 +367,18 @@ ansi-styles@^3.2.1: dependencies: color-convert "^1.9.0" -ansi-styles@^4.1.0: +ansi-styles@^4.0.0, ansi-styles@^4.1.0: version "4.3.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: color-convert "^2.0.1" +ansi-styles@^6.1.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" + integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== + argparse@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" @@ -276,6 +434,13 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + braces@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" @@ -385,12 +550,17 @@ commander@^6.1.0: resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== +commander@^9.2.0: + version "9.5.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-9.5.0.tgz#bc08d1eb5cedf7ccb797a96199d41c7bc3e60d30" + integrity sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ== + concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== -cross-spawn@^7.0.2: +cross-spawn@^7.0.0, cross-spawn@^7.0.2: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== @@ -444,6 +614,11 @@ detect-libc@^2.0.0: resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.1.tgz#e1897aa88fa6ad197862937fbc0441ef352ee0cd" integrity sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w== +diff@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + dir-glob@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" @@ -488,6 +663,21 @@ domutils@^3.0.1: domelementtype "^2.3.0" domhandler "^5.0.1" +eastasianwidth@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" + integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + end-of-stream@^1.1.0, end-of-stream@^1.4.1: version "1.4.4" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" @@ -505,132 +695,33 @@ entities@~2.1.0: resolved "https://registry.yarnpkg.com/entities/-/entities-2.1.0.tgz#992d3129cf7df6870b96c57858c249a120f8b8b5" integrity sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w== -esbuild-android-64@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.54.tgz#505f41832884313bbaffb27704b8bcaa2d8616be" - integrity sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ== - -esbuild-android-arm64@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.54.tgz#8ce69d7caba49646e009968fe5754a21a9871771" - integrity sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg== - -esbuild-darwin-64@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.54.tgz#24ba67b9a8cb890a3c08d9018f887cc221cdda25" - integrity sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug== - -esbuild-darwin-arm64@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.54.tgz#3f7cdb78888ee05e488d250a2bdaab1fa671bf73" - integrity sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw== - -esbuild-freebsd-64@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.54.tgz#09250f997a56ed4650f3e1979c905ffc40bbe94d" - integrity sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg== - -esbuild-freebsd-arm64@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.54.tgz#bafb46ed04fc5f97cbdb016d86947a79579f8e48" - integrity sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q== - -esbuild-linux-32@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.54.tgz#e2a8c4a8efdc355405325033fcebeb941f781fe5" - integrity sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw== - -esbuild-linux-64@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.54.tgz#de5fdba1c95666cf72369f52b40b03be71226652" - integrity sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg== - -esbuild-linux-arm64@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.54.tgz#dae4cd42ae9787468b6a5c158da4c84e83b0ce8b" - integrity sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig== - -esbuild-linux-arm@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.54.tgz#a2c1dff6d0f21dbe8fc6998a122675533ddfcd59" - integrity sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw== - -esbuild-linux-mips64le@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.54.tgz#d9918e9e4cb972f8d6dae8e8655bf9ee131eda34" - integrity sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw== - -esbuild-linux-ppc64le@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.54.tgz#3f9a0f6d41073fb1a640680845c7de52995f137e" - integrity sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ== - -esbuild-linux-riscv64@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.54.tgz#618853c028178a61837bc799d2013d4695e451c8" - integrity sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg== - -esbuild-linux-s390x@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.54.tgz#d1885c4c5a76bbb5a0fe182e2c8c60eb9e29f2a6" - integrity sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA== - -esbuild-netbsd-64@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.54.tgz#69ae917a2ff241b7df1dbf22baf04bd330349e81" - integrity sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w== - -esbuild-openbsd-64@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.54.tgz#db4c8495287a350a6790de22edea247a57c5d47b" - integrity sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw== - -esbuild-sunos-64@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.54.tgz#54287ee3da73d3844b721c21bc80c1dc7e1bf7da" - integrity sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw== - -esbuild-windows-32@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.54.tgz#f8aaf9a5667630b40f0fb3aa37bf01bbd340ce31" - integrity sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w== - -esbuild-windows-64@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.54.tgz#bf54b51bd3e9b0f1886ffdb224a4176031ea0af4" - integrity sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ== - -esbuild-windows-arm64@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.54.tgz#937d15675a15e4b0e4fafdbaa3a01a776a2be982" - integrity sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg== - -esbuild@^0.14.29: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.54.tgz#8b44dcf2b0f1a66fc22459943dccf477535e9aa2" - integrity sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA== +esbuild@^0.19.4: + version "0.19.4" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.19.4.tgz#cdf5c4c684956d550bc3c6d0c01dac7fef6c75b1" + integrity sha512-x7jL0tbRRpv4QUyuDMjONtWFciygUxWaUM1kMX2zWxI0X2YWOt7MSA0g4UdeSiHM8fcYVzpQhKYOycZwxTdZkA== optionalDependencies: - "@esbuild/linux-loong64" "0.14.54" - esbuild-android-64 "0.14.54" - esbuild-android-arm64 "0.14.54" - esbuild-darwin-64 "0.14.54" - esbuild-darwin-arm64 "0.14.54" - esbuild-freebsd-64 "0.14.54" - esbuild-freebsd-arm64 "0.14.54" - esbuild-linux-32 "0.14.54" - esbuild-linux-64 "0.14.54" - esbuild-linux-arm "0.14.54" - esbuild-linux-arm64 "0.14.54" - esbuild-linux-mips64le "0.14.54" - esbuild-linux-ppc64le "0.14.54" - esbuild-linux-riscv64 "0.14.54" - esbuild-linux-s390x "0.14.54" - esbuild-netbsd-64 "0.14.54" - esbuild-openbsd-64 "0.14.54" - esbuild-sunos-64 "0.14.54" - esbuild-windows-32 "0.14.54" - esbuild-windows-64 "0.14.54" - esbuild-windows-arm64 "0.14.54" + "@esbuild/android-arm" "0.19.4" + "@esbuild/android-arm64" "0.19.4" + "@esbuild/android-x64" "0.19.4" + "@esbuild/darwin-arm64" "0.19.4" + "@esbuild/darwin-x64" "0.19.4" + "@esbuild/freebsd-arm64" "0.19.4" + "@esbuild/freebsd-x64" "0.19.4" + "@esbuild/linux-arm" "0.19.4" + "@esbuild/linux-arm64" "0.19.4" + "@esbuild/linux-ia32" "0.19.4" + "@esbuild/linux-loong64" "0.19.4" + "@esbuild/linux-mips64el" "0.19.4" + "@esbuild/linux-ppc64" "0.19.4" + "@esbuild/linux-riscv64" "0.19.4" + "@esbuild/linux-s390x" "0.19.4" + "@esbuild/linux-x64" "0.19.4" + "@esbuild/netbsd-x64" "0.19.4" + "@esbuild/openbsd-x64" "0.19.4" + "@esbuild/sunos-x64" "0.19.4" + "@esbuild/win32-arm64" "0.19.4" + "@esbuild/win32-ia32" "0.19.4" + "@esbuild/win32-x64" "0.19.4" escape-string-regexp@^1.0.5: version "1.0.5" @@ -642,97 +733,80 @@ escape-string-regexp@^4.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== -eslint-scope@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - -eslint-scope@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642" - integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw== +eslint-scope@^7.2.2: + version "7.2.2" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" + integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== dependencies: esrecurse "^4.3.0" estraverse "^5.2.0" -eslint-utils@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" - integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== - dependencies: - eslint-visitor-keys "^2.0.0" - -eslint-visitor-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" - integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== - eslint-visitor-keys@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== -eslint@^8.12.0: - version "8.23.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.23.0.tgz#a184918d288820179c6041bb3ddcc99ce6eea040" - integrity sha512-pBG/XOn0MsJcKcTRLr27S5HpzQo4kLr+HjLQIyK4EiCsijDl/TB+h5uEuJU6bQ8Edvwz1XWOjpaP2qgnXGpTcA== - dependencies: - "@eslint/eslintrc" "^1.3.1" - "@humanwhocodes/config-array" "^0.10.4" - "@humanwhocodes/gitignore-to-minimatch" "^1.0.2" +eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: + version "3.4.3" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" + integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== + +eslint@^8.50.0: + version "8.50.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.50.0.tgz#2ae6015fee0240fcd3f83e1e25df0287f487d6b2" + integrity sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@eslint-community/regexpp" "^4.6.1" + "@eslint/eslintrc" "^2.1.2" + "@eslint/js" "8.50.0" + "@humanwhocodes/config-array" "^0.11.11" "@humanwhocodes/module-importer" "^1.0.1" - ajv "^6.10.0" + "@nodelib/fs.walk" "^1.2.8" + ajv "^6.12.4" chalk "^4.0.0" cross-spawn "^7.0.2" debug "^4.3.2" doctrine "^3.0.0" escape-string-regexp "^4.0.0" - eslint-scope "^7.1.1" - eslint-utils "^3.0.0" - eslint-visitor-keys "^3.3.0" - espree "^9.4.0" - esquery "^1.4.0" + eslint-scope "^7.2.2" + eslint-visitor-keys "^3.4.3" + espree "^9.6.1" + esquery "^1.4.2" esutils "^2.0.2" fast-deep-equal "^3.1.3" file-entry-cache "^6.0.1" find-up "^5.0.0" - functional-red-black-tree "^1.0.1" - glob-parent "^6.0.1" - globals "^13.15.0" - globby "^11.1.0" - grapheme-splitter "^1.0.4" + glob-parent "^6.0.2" + globals "^13.19.0" + graphemer "^1.4.0" ignore "^5.2.0" - import-fresh "^3.0.0" imurmurhash "^0.1.4" is-glob "^4.0.0" + is-path-inside "^3.0.3" js-yaml "^4.1.0" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.4.1" lodash.merge "^4.6.2" minimatch "^3.1.2" natural-compare "^1.4.0" - optionator "^0.9.1" - regexpp "^3.2.0" + optionator "^0.9.3" strip-ansi "^6.0.1" - strip-json-comments "^3.1.0" text-table "^0.2.0" -espree@^9.4.0: - version "9.4.0" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.4.0.tgz#cd4bc3d6e9336c433265fc0aa016fc1aaf182f8a" - integrity sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw== +espree@^9.6.0, espree@^9.6.1: + version "9.6.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" + integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== dependencies: - acorn "^8.8.0" + acorn "^8.9.0" acorn-jsx "^5.3.2" - eslint-visitor-keys "^3.3.0" + eslint-visitor-keys "^3.4.1" -esquery@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" - integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== +esquery@^1.4.2: + version "1.5.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" + integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== dependencies: estraverse "^5.1.0" @@ -743,11 +817,6 @@ esrecurse@^4.3.0: dependencies: estraverse "^5.2.0" -estraverse@^4.1.1: - version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - estraverse@^5.1.0, estraverse@^5.2.0: version "5.3.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" @@ -838,6 +907,14 @@ flatted@^3.1.0: resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== +foreground-child@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.1.1.tgz#1d173e776d75d2772fed08efe4a0de1ea1b12d0d" + integrity sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== + dependencies: + cross-spawn "^7.0.0" + signal-exit "^4.0.1" + fs-constants@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" @@ -853,11 +930,6 @@ function-bind@^1.1.1: resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== -functional-red-black-tree@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" - integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g== - get-intrinsic@^1.0.2: version "1.1.2" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.2.tgz#336975123e05ad0b7ba41f152ee4aadbea6cf598" @@ -879,14 +951,25 @@ glob-parent@^5.1.2: dependencies: is-glob "^4.0.1" -glob-parent@^6.0.1: +glob-parent@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== dependencies: is-glob "^4.0.3" -glob@^7.0.6, glob@^7.1.3: +glob@^10.3.7: + version "10.3.10" + resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.10.tgz#0351ebb809fd187fe421ab96af83d3a70715df4b" + integrity sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g== + dependencies: + foreground-child "^3.1.0" + jackspeak "^2.3.5" + minimatch "^9.0.1" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + path-scurry "^1.10.1" + +glob@^7.0.6, glob@^7.1.3, glob@^7.1.6: version "7.2.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== @@ -898,10 +981,10 @@ glob@^7.0.6, glob@^7.1.3: once "^1.3.0" path-is-absolute "^1.0.0" -globals@^13.15.0: - version "13.17.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.17.0.tgz#902eb1e680a41da93945adbdcb5a9f361ba69bd4" - integrity sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw== +globals@^13.19.0: + version "13.22.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.22.0.tgz#0c9fcb9c48a2494fbb5edbfee644285543eba9d8" + integrity sha512-H1Ddc/PbZHTDVJSnj8kWptIRSD6AM3pK+mKytuIVF4uoBV7rshFlhhvA58ceJ5wp3Er58w6zj7bykMpYXt3ETw== dependencies: type-fest "^0.20.2" @@ -917,10 +1000,10 @@ globby@^11.1.0: merge2 "^1.4.1" slash "^3.0.0" -grapheme-splitter@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" - integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== +graphemer@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" + integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== has-flag@^3.0.0: version "3.0.0" @@ -971,7 +1054,12 @@ ignore@^5.2.0: resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== -import-fresh@^3.0.0, import-fresh@^3.2.1: +ignore@^5.2.4: + version "5.2.4" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" + integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== + +import-fresh@^3.2.1: version "3.3.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== @@ -1007,6 +1095,11 @@ is-extglob@^2.1.1: resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" @@ -1019,11 +1112,25 @@ is-number@^7.0.0: resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== +is-path-inside@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== + isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== +jackspeak@^2.3.5: + version "2.3.6" + resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-2.3.6.tgz#647ecc472238aee4b06ac0e461acc21a8c505ca8" + integrity sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ== + dependencies: + "@isaacs/cliui" "^8.0.2" + optionalDependencies: + "@pkgjs/parseargs" "^0.11.0" + js-yaml@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" @@ -1088,6 +1195,11 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" +"lru-cache@^9.1.1 || ^10.0.0": + version "10.0.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.0.1.tgz#0a3be479df549cca0e5d693ac402ff19537a6b7a" + integrity sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g== + markdown-it@^12.3.2: version "12.3.2" resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-12.3.2.tgz#bf92ac92283fe983fe4de8ff8abfb5ad72cd0c90" @@ -1127,18 +1239,30 @@ mimic-response@^3.1.0: resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== -minimatch@^3.0.3, minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: +minimatch@^3.0.3, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== dependencies: brace-expansion "^1.1.7" +minimatch@^9.0.1: + version "9.0.3" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" + integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== + dependencies: + brace-expansion "^2.0.1" + minimist@^1.2.0, minimist@^1.2.3: version "1.2.6" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== +"minipass@^5.0.0 || ^6.0.2 || ^7.0.0": + version "7.0.3" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.0.3.tgz#05ea638da44e475037ed94d1c7efcc76a25e1974" + integrity sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg== + mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: version "0.5.3" resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" @@ -1195,17 +1319,17 @@ once@^1.3.0, once@^1.3.1, once@^1.4.0: dependencies: wrappy "1" -optionator@^0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" - integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== +optionator@^0.9.3: + version "0.9.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64" + integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== dependencies: + "@aashutoshrathi/word-wrap" "^1.2.3" deep-is "^0.1.3" fast-levenshtein "^2.0.6" levn "^0.4.1" prelude-ls "^1.2.1" type-check "^0.4.0" - word-wrap "^1.2.3" p-limit@^3.0.2: version "3.1.0" @@ -1265,6 +1389,14 @@ path-key@^3.1.0: resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== +path-scurry@^1.10.1: + version "1.10.1" + resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.10.1.tgz#9ba6bf5aa8500fe9fd67df4f0d9483b2b0bfc698" + integrity sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ== + dependencies: + lru-cache "^9.1.1 || ^10.0.0" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + path-type@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" @@ -1354,11 +1486,6 @@ readable-stream@^3.1.1, readable-stream@^3.4.0: string_decoder "^1.1.1" util-deprecate "^1.0.1" -regexpp@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" - integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== - resolve-from@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" @@ -1376,6 +1503,13 @@ rimraf@^3.0.0, rimraf@^3.0.2: dependencies: glob "^7.1.3" +rimraf@^5.0.5: + version "5.0.5" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-5.0.5.tgz#9be65d2d6e683447d2e9013da2bf451139a61ccf" + integrity sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A== + dependencies: + glob "^10.3.7" + run-parallel@^1.1.9: version "1.2.0" resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" @@ -1398,13 +1532,20 @@ semver@^5.1.0: resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -semver@^7.3.5, semver@^7.3.7: +semver@^7.3.5: version "7.3.7" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== dependencies: lru-cache "^6.0.0" +semver@^7.5.4: + version "7.5.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" + integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== + dependencies: + lru-cache "^6.0.0" + shebang-command@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" @@ -1426,6 +1567,11 @@ side-channel@^1.0.4: get-intrinsic "^1.0.2" object-inspect "^1.9.0" +signal-exit@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" + integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== + simple-concat@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f" @@ -1445,6 +1591,25 @@ slash@^3.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== +"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0: + name string-width-cjs + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^5.0.1, string-width@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" + integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== + dependencies: + eastasianwidth "^0.2.0" + emoji-regex "^9.2.2" + strip-ansi "^7.0.1" + string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" @@ -1452,14 +1617,21 @@ string_decoder@^1.1.1: dependencies: safe-buffer "~5.2.0" -strip-ansi@^6.0.1: +"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== dependencies: ansi-regex "^5.0.1" -strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: +strip-ansi@^7.0.1: + version "7.1.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" + integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== + dependencies: + ansi-regex "^6.0.1" + +strip-json-comments@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== @@ -1530,17 +1702,10 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" -tslib@^1.8.1: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tsutils@^3.21.0: - version "3.21.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" - integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== - dependencies: - tslib "^1.8.1" +ts-api-utils@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.0.3.tgz#f12c1c781d04427313dbac808f453f050e54a331" + integrity sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg== tunnel-agent@^0.6.0: version "0.6.0" @@ -1575,10 +1740,10 @@ typed-rest-client@^1.8.4: tunnel "0.0.6" underscore "^1.12.1" -typescript@^4.6.3: - version "4.8.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.3.tgz#d59344522c4bc464a65a730ac695007fdb66dd88" - integrity sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig== +typescript@^5.2.2: + version "5.2.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.2.2.tgz#5ebb5e5a5b75f085f22bc3f8460fba308310fa78" + integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w== uc.micro@^1.0.1, uc.micro@^1.0.5: version "1.0.6" @@ -1607,10 +1772,10 @@ util-deprecate@^1.0.1: resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== -vsce@^2.7.0: - version "2.11.0" - resolved "https://registry.yarnpkg.com/vsce/-/vsce-2.11.0.tgz#e60aac58ecfc3aec6e40024e13ea8c8d29764aef" - integrity sha512-pr9Y0va/HCer0tTifeqaUrK24JJSpRd6oLeF/PY6FtrY41e+lwxiAq6jfMXx4ShAZglYg2rFKoKROwa7E7SEqQ== +vsce@^2.15.0: + version "2.15.0" + resolved "https://registry.yarnpkg.com/vsce/-/vsce-2.15.0.tgz#4a992e78532092a34a755143c6b6c2cabcb7d729" + integrity sha512-P8E9LAZvBCQnoGoizw65JfGvyMqNGlHdlUXD1VAuxtvYAaHBKLBdKPnpy60XKVDAkQCfmMu53g+gq9FM+ydepw== dependencies: azure-devops-node-api "^11.0.1" chalk "^2.4.2" @@ -1633,6 +1798,28 @@ vsce@^2.7.0: yauzl "^2.3.1" yazl "^2.2.2" +vscode-oniguruma@^1.5.1: + version "1.7.0" + resolved "https://registry.yarnpkg.com/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz#439bfad8fe71abd7798338d1cd3dc53a8beea94b" + integrity sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA== + +vscode-textmate@^7.0.1: + version "7.0.4" + resolved "https://registry.yarnpkg.com/vscode-textmate/-/vscode-textmate-7.0.4.tgz#a30df59ce573e998e4e2ffbca5ab82d57bc3126f" + integrity sha512-9hJp0xL7HW1Q5OgGe03NACo7yiCTMEk3WU/rtKXUbncLtdg6rVVNJnHwD88UhbIYU2KoxY0Dih0x+kIsmUKn2A== + +vscode-tmgrammar-test@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/vscode-tmgrammar-test/-/vscode-tmgrammar-test-0.1.2.tgz#a28853e47d743c910cd1a8f51f401861eecab0fd" + integrity sha512-tLJZMAP/NWeRwlpHzjSXx+HvjJzFltndoyR6AK9fJRGjALJX6Pg7EOiYyznpJ4TNC2eMmF3IRbcZBWzJwN+n5g== + dependencies: + chalk "^2.4.2" + commander "^9.2.0" + diff "^4.0.2" + glob "^7.1.6" + vscode-oniguruma "^1.5.1" + vscode-textmate "^7.0.1" + which@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" @@ -1640,10 +1827,23 @@ which@^2.0.1: dependencies: isexe "^2.0.0" -word-wrap@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" + integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== + dependencies: + ansi-styles "^6.1.0" + string-width "^5.0.1" + strip-ansi "^7.0.1" wrappy@1: version "1.0.2"