diff --git a/.github/workflows/lint-grammar.yml b/.github/workflows/lint-grammar.yml index 87af8cc..1b5c8bd 100644 --- a/.github/workflows/lint-grammar.yml +++ b/.github/workflows/lint-grammar.yml @@ -26,7 +26,7 @@ jobs: - uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6.0.9 name: Install pnpm with: - version: 9 + version: 12 run_install: false - name: Get pnpm store directory @@ -43,7 +43,7 @@ jobs: ${{ runner.os }}-pnpm-store- - name: Install dependencies - run: pnpm install --frozen-lockfile + run: pnpm add node-gyp && pnpm install --frozen-lockfile - name: Run ESLint run: pnpm run lint diff --git a/grammar.js b/grammar.js index 88323b7..5adf252 100644 --- a/grammar.js +++ b/grammar.js @@ -29,8 +29,11 @@ export default grammar({ ], supertypes: $ => [ - $._gate_item, + $.gate_item, + $.statement, $.typedef_item, + $.world_definition, + $.package_items, ], conflicts: $ => [ @@ -44,16 +47,16 @@ export default grammar({ rules: { source_file: ($) => seq( - repeat($._statement), + repeat($.statement), ), - _statement: $ => choice( + statement: $ => choice( $.package_decl, $.nested_package_definition, - $._package_items, + $.package_items, ), - _package_items: $ => choice( + package_items: $ => choice( $.toplevel_use_item, $.world_item, $.interface_item, @@ -63,7 +66,7 @@ export default grammar({ seq( $.decl_head, '{', - repeat($._package_items), + repeat($.package_items), '}', ), @@ -131,9 +134,9 @@ export default grammar({ seq(optional($._gate), 'world', field('name', $.id), alias($._world_body, $.body)), _world_body: ($) => - seq('{', repeat(seq(optional($._gate), $._world_items)), '}'), + seq('{', repeat(seq(optional($._gate), $.world_definition)), '}'), - _world_items: ($) => + world_definition: ($) => choice( $.export_item, $.import_item, @@ -187,13 +190,12 @@ export default grammar({ seq(optional($._gate), 'interface', field('name', $.id), alias($._interface_body, $.body)), _interface_body: ($) => - seq('{', repeat(seq(optional($._gate), $._interface_items)), '}'), + seq('{', repeat(seq(optional($._gate), $._interface_definition)), '}'), - _interface_items: ($) => + _interface_definition: ($) => choice( $.use_item, - seq(optional($.external_id), $.typedef_item), - seq(optional($.external_id), $.func_item), + seq(optional($.external_id), choice($.typedef_item, $.func_item)), ), typedef_item: ($) => @@ -396,8 +398,8 @@ export default grammar({ // // feature-field ::= 'feature' '=' id // version-field ::= 'version' '=' - _gate: $ => repeat1($._gate_item), - _gate_item: $ => choice( + _gate: $ => repeat1($.gate_item), + gate_item: $ => choice( $.unstable_gate, $.since_gate, $.deprecated_gate, diff --git a/package.json b/package.json index 52c5de8..ccdebca 100644 --- a/package.json +++ b/package.json @@ -36,9 +36,8 @@ "src/**" ], "dependencies": { - "node-addon-api": "^8.9.0", - "node-gyp-build": "^4.8.4", - "oxfmt": "^0.71.0" + "node-addon-api": "^8.9.2", + "node-gyp-build": "^4.8.4" }, "peerDependencies": { "tree-sitter": "^0.22.4" @@ -55,11 +54,5 @@ "globals": "^17.13.0", "prebuildify": "^6.0.1", "tree-sitter-cli": "^0.27.0" - }, - "pnpm": { - "onlyBuiltDependencies": [ - "tree-sitter", - "tree-sitter-cli" - ] } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 47a877b..7857522 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,27 +9,27 @@ importers: .: dependencies: node-addon-api: - specifier: ^8.9.0 + specifier: ^8.9.2 version: 8.9.2 + node-gyp: + specifier: ^13.1.0 + version: 13.1.0 node-gyp-build: specifier: ^4.8.4 version: 4.8.4 - oxfmt: - specifier: ^0.71.0 - version: 0.71.0 tree-sitter: specifier: ^0.22.4 version: 0.22.4 devDependencies: '@eslint/js': specifier: ^10.0.1 - version: 10.0.1(eslint@10.12.0(supports-color@7.2.0)) + version: 10.0.1(eslint@10.12.0) eslint: specifier: ^10.12.0 - version: 10.12.0(supports-color@7.2.0) + version: 10.12.0 eslint-config-treesitter: specifier: ^1.0.2 - version: 1.0.2(eslint@10.12.0(supports-color@7.2.0))(supports-color@7.2.0) + version: 1.0.2(eslint@10.12.0) globals: specifier: ^17.13.0 version: 17.13.0 @@ -52,8 +52,8 @@ packages: resolution: {integrity: sha512-YAdE/IJSpwbOTiaURNCKECdAwqrJuFiZhylmesBcIRawtYKnBR2wxPhoIewMg+Yu+QuYvHfJNReWpoxGBKOChA==} engines: {node: '>=18'} - '@eslint-community/eslint-utils@4.9.1': - resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} + '@eslint-community/eslint-utils@4.10.1': + resolution: {integrity: sha512-cuadcxVFE8sDK6iWJbs8Sn0av2Nrh2QSGQhVlBW9AaAHqHwjWsZHT8LJ4hFGPh7ASBV2deFdM7H/DPjulmh8rg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 @@ -91,12 +91,16 @@ packages: resolution: {integrity: sha512-IkO+/KEUvwbVpiURZg+P7zF74z5Jxe0UgJxVni+RtoHQ6IZieXaO02kmadomap/q+l6bc/jdPGGqTjhuZnuz1Q==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@humanfs/core@0.19.1': - resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} + '@humanfs/core@0.19.2': + resolution: {integrity: sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==} engines: {node: '>=18.18.0'} - '@humanfs/node@0.16.7': - resolution: {integrity: sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==} + '@humanfs/node@0.16.8': + resolution: {integrity: sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==} + engines: {node: '>=18.18.0'} + + '@humanfs/types@0.15.0': + resolution: {integrity: sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==} engines: {node: '>=18.18.0'} '@humanwhocodes/module-importer@1.0.1': @@ -107,6 +111,10 @@ packages: resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} engines: {node: '>=18.18'} + '@isaacs/fs-minipass@4.0.1': + resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} + engines: {node: '>=18.0.0'} + '@keyv/bigmap@1.3.1': resolution: {integrity: sha512-WbzE9sdmQtKy8vrNPa9BRnwZh5UF4s1KTmSK0KUVLo3eff5BlQNNWDnFOouNpKfPKDnms9xynJjsMYjMaT/aFQ==} engines: {node: '>= 18'} @@ -116,153 +124,35 @@ packages: '@keyv/serialize@1.1.1': resolution: {integrity: sha512-dXn3FZhPv0US+7dtJsIi2R+c7qWYiReoEh5zUntWCf4oSpMNib8FDhSoed6m3QyZdx5hK7iLFkYk3rNxwt8vTA==} - '@oxfmt/binding-android-arm-eabi@0.71.0': - resolution: {integrity: sha512-l31EyBfB4egJeFua11aQFEUE9nnDtfpWCadqQovm0WL30t/yUHtdFl/5HyFXvd5xT8Ewh3U4TI9f30GowrQ1fw==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm] - os: [android] - - '@oxfmt/binding-android-arm64@0.71.0': - resolution: {integrity: sha512-E8q39SUZzSXQ08oZoFoTkxRADkdBNgL6De4qgZYr2O4JCunwqrZwAyCebxIF3yVHBafHM30WUkhTkDi+jNYZOw==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [android] - - '@oxfmt/binding-darwin-arm64@0.71.0': - resolution: {integrity: sha512-pTteTrN88DicrmJ3DocBmpNDa6Umfh0iveEG8rnAlDFQpclmtDS7hnIvZbIEV9mDO0Ot1U0sjtoJQ1itd/ZMhQ==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [darwin] - - '@oxfmt/binding-darwin-x64@0.71.0': - resolution: {integrity: sha512-G5melRC3IiNEgXlNKJhSExJYQGAQIppHFp2cl/wFrqQcEwmc4k4TkrHaFTR29SDudjoW5AZq5cXPGJDqtlH/Yg==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [darwin] - - '@oxfmt/binding-freebsd-x64@0.71.0': - resolution: {integrity: sha512-Hb1P5yKb9aiH2VSbm3Ml37mKjzqpunYet9krw/YK7V5JsAUJDQlju3Yk/dEqQvJD/usBvpi01Vbk9ZDNo0a8Cw==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [freebsd] - - '@oxfmt/binding-linux-arm-gnueabihf@0.71.0': - resolution: {integrity: sha512-r7n4JEO+rkp0kaP3ia+0hv6FzK3PQIHqaF0jxGuhjJ4JHVX9ZVRbgpDVDW+OloyuJsRWpWFDKIHe8gfl1p/4mQ==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm] - os: [linux] - - '@oxfmt/binding-linux-arm-musleabihf@0.71.0': - resolution: {integrity: sha512-EEynTF4nakgqDhVCmd3cHQCmTcw0BM8ea6eHigTdtZ3yxdsBNv+dYkt+OpDDZx1n/jzjI7J+Ht7IgkqFWuJUxQ==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm] - os: [linux] - - '@oxfmt/binding-linux-arm64-gnu@0.71.0': - resolution: {integrity: sha512-7VgJIrywCwR/G6YMv+HqsccUt8Z4q4mbM2xR+Ry/6AeMk4pCmZ9aO4Srd3mmrvVu8PsCZGP7oHEHSXWTmyloaQ==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [linux] - libc: [glibc] - - '@oxfmt/binding-linux-arm64-musl@0.71.0': - resolution: {integrity: sha512-AOCaminv/+fhinUXKvtPZT4POhNYmN9GfvaJdgJa1AbvuzClWGwDIXfJg8eu3sYaVL2B68jNvmS7LZGAYa0z3A==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [linux] - libc: [musl] - - '@oxfmt/binding-linux-ppc64-gnu@0.71.0': - resolution: {integrity: sha512-0SHxuaa4QRLM7jfsd8wc6L7KdLg+FR6/ah9k1eAvcrK/Sni7oxchMvsjwUsyakVAta+wBVDkjJTr7/RFU0uUGA==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [ppc64] - os: [linux] - libc: [glibc] - - '@oxfmt/binding-linux-riscv64-gnu@0.71.0': - resolution: {integrity: sha512-UNKj1+rPorTK6uSlQzpN96vDNbHbL/63zcpznweo0ImQdkDdtQCS7G3puxX++2cESPKT2B56Y6DICUmFTJde5A==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [riscv64] - os: [linux] - libc: [glibc] - - '@oxfmt/binding-linux-riscv64-musl@0.71.0': - resolution: {integrity: sha512-5cVXKj7a0mWu7GU6/bZgNyv+KtLgM5S9cnT26Os2/abj8pK/bklHsbdYEHGLLniGjNYkyzwem8mZciPCaDtilw==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [riscv64] - os: [linux] - libc: [musl] - - '@oxfmt/binding-linux-s390x-gnu@0.71.0': - resolution: {integrity: sha512-lNpcMuZvyU1V/CY5h19hac03m4E4PLSYRckcxZOynSPojI4Mwt6nEu9wT/gVf0bclH3xGEWjwqApnSTgjkd2oA==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [s390x] - os: [linux] - libc: [glibc] - - '@oxfmt/binding-linux-x64-gnu@0.71.0': - resolution: {integrity: sha512-5/Z6pUewQpknXqC4/ykK6Zc6RiteAnPem1Ci7K1RZLVF6w6MMjwHjR4vsjijW4Czidgv7HKeVglGjElADliT9w==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [linux] - libc: [glibc] - - '@oxfmt/binding-linux-x64-musl@0.71.0': - resolution: {integrity: sha512-uVdG2N/4GEbOeljpQ+xv+NeEwJWJGj0WaxSiSYnoiqIYy3RWrWd3rGUmxWXP1A8+ferNvvwFoDAtvgsDUvBuSw==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [linux] - libc: [musl] - - '@oxfmt/binding-openharmony-arm64@0.71.0': - resolution: {integrity: sha512-1LwEZmSDRFKeBaGd/Hgj2xI3SmgGFpF4YtgkSx0sTYdTiZfHWbcFvRIBjL1YiDNdQd9Khda3Ij8CoqBULjskDg==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [openharmony] - - '@oxfmt/binding-win32-arm64-msvc@0.71.0': - resolution: {integrity: sha512-5tplmkeMXmza3PUptJQy25wCPJbIAg5g5r7zs+DI+7eEYOqbY+7roMdSH2zbDvv1Pb4oTDJ6NWYx9IRxBxXwhQ==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [win32] - - '@oxfmt/binding-win32-ia32-msvc@0.71.0': - resolution: {integrity: sha512-T2LWgh3Vx4PYDjtcqRRGDyCsVxeF/VE5xTpUQiCm65bNLwMpRnJYj6Hlkf6qRM3+jxCIOqHD1kVHNQCCiAVMNQ==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [ia32] - os: [win32] - - '@oxfmt/binding-win32-x64-msvc@0.71.0': - resolution: {integrity: sha512-L06SVp7Hu1EQTkh3+PHnKK26dxVbEpOG2InMwCooTE4MA437b5FgfTleCCiGn4ykISHnHU6UHaIg7SiMO7rBHA==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [win32] - '@types/esrecurse@4.3.1': resolution: {integrity: sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==} - '@types/estree@1.0.8': - resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + '@types/estree@1.0.9': + resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==} '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - '@typescript-eslint/types@8.56.1': - resolution: {integrity: sha512-dbMkdIUkIkchgGDIv7KLUpa0Mda4IYjo4IAMJUZ+3xNoUXxMsk9YtKpTHSChRS85o+H9ftm51gsK1dZReY9CVw==} + '@typescript-eslint/types@8.71.0': + resolution: {integrity: sha512-cJ4OoxPGWvFnBTnSZyaU+qJzGTqPTGJY+gDchj6cRyLRdmIdt4rcsE4twj+zPfrNiWuVi38wijHzShL++Z9atQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + abbrev@5.0.0: + resolution: {integrity: sha512-/XrFJgzQQQHpti1raDJC6m4ws6aNktmjBlhk8Fdlk7LwCEuDoieEJJY9OFHjfiFJFFRM2tK+Ky/IsfbbmlMu1w==} + engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0} + acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - acorn@8.16.0: - resolution: {integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==} + acorn@8.18.0: + resolution: {integrity: sha512-lGq+9yr1/GuAWaVYIHRjvvySG5/4VfKIvC8EWxStPdcDh/Ka7FG3twP6v4d5BkravUilhIAsG4Qj83t02LWUPQ==} engines: {node: '>=0.4.0'} hasBin: true - ajv@6.14.0: - resolution: {integrity: sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==} + ajv@6.15.0: + resolution: {integrity: sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==} are-docs-informative@0.0.2: resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==} @@ -291,6 +181,10 @@ packages: chownr@1.1.4: resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} + chownr@3.0.0: + resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} + engines: {node: '>=18'} + comment-parser@1.4.1: resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==} engines: {node: '>= 12.0.0'} @@ -314,6 +208,10 @@ packages: end-of-stream@1.4.5: resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==} + env-paths@2.2.1: + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} + engines: {node: '>=6'} + escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} @@ -379,6 +277,9 @@ packages: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} + exponential-backoff@3.1.3: + resolution: {integrity: sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==} + fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} @@ -388,6 +289,15 @@ packages: fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + file-entry-cache@11.1.5: resolution: {integrity: sha512-+PFTHITI08JIGhnNpGNI8T8inUpgZfk3GNEqfT9R2zZV2iFXg3CvqzSl/uEhs7TSGujYRELEANyDvS8Fj7+S7Q==} @@ -412,9 +322,8 @@ packages: resolution: {integrity: sha512-RwMTC61u7hrG3ZJMkZQOK4JLJrKS8QtoTii63EmWvFXHqycY9FObBJQCbsLxSO8kjKhWE5kV1GC+Vb1g3RI0Zg==} engines: {node: '>=18'} - has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} hashery@1.5.1: resolution: {integrity: sha512-iZyKG96/JwPz1N55vj2Ie2vXbhu440zfUfJvSwEqEbeLluk7NnapfGqa7LH0mOsnDxTF85Mx8/dyR6HfqcbmbQ==} @@ -451,6 +360,10 @@ packages: isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + isexe@4.0.0: + resolution: {integrity: sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==} + engines: {node: '>=20'} + jsdoc-type-pratt-parser@4.1.0: resolution: {integrity: sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg==} engines: {node: '>=12.0.0'} @@ -479,6 +392,14 @@ packages: minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + minipass@7.1.3: + resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==} + engines: {node: '>=16 || 14 >=14.17'} + + minizlib@3.1.0: + resolution: {integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==} + engines: {node: '>= 18'} + mkdirp-classic@0.5.3: resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} @@ -488,8 +409,8 @@ packages: natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - node-abi@3.87.0: - resolution: {integrity: sha512-+CGM1L1CgmtheLcBuleyYOn7NWPVu0s0EJH2C4puxgEZb9h8QpR9G2dBfZJOAUhi7VQxuBPMd0hiISWcTyiYyQ==} + node-abi@3.96.0: + resolution: {integrity: sha512-rebQ/lz7i0EkoLzUVSrKRzA69zMkwLp95kKMWoMDkkM00Suxz0D7zEQPwRml5fQum24mj7bPvmlgLAmu2JCiYg==} engines: {node: '>=10'} node-addon-api@8.9.2: @@ -500,6 +421,16 @@ packages: resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==} hasBin: true + node-gyp@13.1.0: + resolution: {integrity: sha512-FpNzOLFACKG0oRBYbZ5WOeWD1EqRTIWX90MaRIWTO18lVYPx8fqIjrdS3pihjnCkSmgop6zVGkSqg1vXZLksuw==} + engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0} + hasBin: true + + nopt@10.0.1: + resolution: {integrity: sha512-df3sBr/6ax9hSGuC3CspvLlbnX8cP5L5nZwXF8cGN8l0zSWR6BvzmQ6jPUKjvo6+/xdpkNvEcucBNUdBeeV13g==} + engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0} + hasBin: true + npm-run-path@3.1.0: resolution: {integrity: sha512-Dbl4A/VfiVGLgQv29URL9xshU8XDY1GeLy+fsaZ1AA8JDSfjvr5P5+pzRbWqRSBxk6/DW7MIh8lTM/PaGnP2kg==} engines: {node: '>=8'} @@ -511,19 +442,6 @@ packages: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} - oxfmt@0.71.0: - resolution: {integrity: sha512-lUPUl0d/+Io5pDrsPXWs6rB4N/bpB78oj9CTDpnbulfDz+0r3XXcHPlQ7kRPJ2GjIT4nX+/mcqunOeP9BvsEtg==} - engines: {node: ^20.19.0 || >=22.12.0} - hasBin: true - peerDependencies: - svelte: ^5.0.0 - vite-plus: '*' - peerDependenciesMeta: - svelte: - optional: true - vite-plus: - optional: true - p-limit@3.1.0: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} @@ -546,6 +464,10 @@ packages: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} + picomatch@4.0.7: + resolution: {integrity: sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==} + engines: {node: '>=12'} + prebuildify@6.0.1: resolution: {integrity: sha512-8Y2oOOateom/s8dNBsGIcnm6AxPmLH4/nanQzL5lQMU+sC0CMhzARZHizwr36pUPLdvBnOkCNQzxg4djuFSgIw==} hasBin: true @@ -554,6 +476,10 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} + proc-log@7.0.0: + resolution: {integrity: sha512-FYgfaA69XZ93zaXLoMNQ+ViDXGGBgR8aLh03txzcFhV+9xOXx7+8DLCULrKKpR9+GsH9ZfHm82aSUPpozX0Ztg==} + engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0} + pump@3.0.4: resolution: {integrity: sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==} @@ -572,8 +498,8 @@ packages: safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - semver@7.7.4: - resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==} + semver@7.8.5: + resolution: {integrity: sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==} engines: {node: '>=10'} hasBin: true @@ -591,26 +517,26 @@ packages: spdx-expression-parse@4.0.0: resolution: {integrity: sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==} - spdx-license-ids@3.0.23: - resolution: {integrity: sha512-CWLcCCH7VLu13TgOH+r8p1O/Znwhqv/dbb6lqWy67G+pT1kHmeD/+V36AVb/vq8QMIQwVShJ6Ssl5FPh0fuSdw==} + spdx-license-ids@3.0.24: + resolution: {integrity: sha512-cLS9TtWkIQFyLkJ3/5aFQAOHOSKTlOs/7WDut/XPSdjom1fJhUdkepeJAKXa9Y05+FabHd0sti+Et559vDtkpQ==} string_decoder@1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} - - tar-fs@2.1.4: - resolution: {integrity: sha512-mDAjwmZdh7LTT6pNleZ05Yt65HC3E+NiQzl672vQG38jIrehtJk/J3mNwIg+vShQPcLF/LV7CMnDW6vjj6sfYQ==} + tar-fs@2.1.5: + resolution: {integrity: sha512-OboTd8mmMhZDNPV+UjQcK9yKAatXu2aJ+r1w4im1Otd4M4fl2hwvdoXUxIYHFTHWK/3y3FarBP70v3vwmGlOxw==} tar-stream@2.2.0: resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} engines: {node: '>=6'} - tinypool@2.2.0: - resolution: {integrity: sha512-jBrmx4lYmaC9k/mgPbylxs7kBUxHtD8256up+HjLaDFfXScKJQyil+SWXSvhAtT7XHo+yTVlpB81PGmHP8oLSQ==} - engines: {node: ^20.0.0 || >=22.0.0} + tar@7.5.22: + resolution: {integrity: sha512-MFO/QzvtAOmJbkhOaCTvbGcFN9L9b+JunIsDwaKljSOdcLMea3NJ1k9Usz/rjdfSXTq4dfzfeS7W4p4YOAAHeA==} + engines: {node: '>=18'} + + tinyglobby@0.2.17: + resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==} + engines: {node: '>=12.0.0'} tree-sitter-cli@0.27.0: resolution: {integrity: sha512-E42kR0og1mFlZBxPj7K4fBXCTjxPTGe19U9RXGWNq0FQKzXOxIp8bhCYFMKhddiVZUsJwW35MYGU9Q1oVYtpbA==} @@ -624,6 +550,10 @@ packages: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} + undici@8.11.2: + resolution: {integrity: sha512-u4UB2/IrKdU6lFxumHmmo1a3fCQO5tzQllRorfoRS63txhrB7xTpSn1PftwC4qEHkOaqP95fCWW4lJzwErwzhQ==} + engines: {node: '>=22.19.0'} + uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} @@ -635,6 +565,11 @@ packages: engines: {node: '>= 8'} hasBin: true + which@7.0.0: + resolution: {integrity: sha512-RancgH2dmbLdHl6LRhEqvklWMgl/Hdnun0Y90KhBOLkMefg8Qa7/Zel8Sm+8HEcP6DEjzsWzpkuBQEZok58isA==} + engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0} + hasBin: true + word-wrap@1.2.5: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} @@ -642,6 +577,10 @@ packages: wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + yallist@5.0.0: + resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} + engines: {node: '>=18'} + yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} @@ -662,23 +601,23 @@ snapshots: '@es-joy/jsdoccomment@0.50.2': dependencies: - '@types/estree': 1.0.8 - '@typescript-eslint/types': 8.56.1 + '@types/estree': 1.0.9 + '@typescript-eslint/types': 8.71.0 comment-parser: 1.4.1 esquery: 1.7.0 jsdoc-type-pratt-parser: 4.1.0 - '@eslint-community/eslint-utils@4.9.1(eslint@10.12.0(supports-color@7.2.0))': + '@eslint-community/eslint-utils@4.10.1(eslint@10.12.0)': dependencies: - eslint: 10.12.0(supports-color@7.2.0) + eslint: 10.12.0 eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.2': {} - '@eslint/config-array@0.23.5(supports-color@7.2.0)': + '@eslint/config-array@0.23.5': dependencies: '@eslint/object-schema': 3.0.5 - debug: 4.4.3(supports-color@7.2.0) + debug: 4.4.3 minimatch: 10.2.6 transitivePeerDependencies: - supports-color @@ -691,9 +630,9 @@ snapshots: dependencies: '@types/json-schema': 7.0.15 - '@eslint/js@10.0.1(eslint@10.12.0(supports-color@7.2.0))': + '@eslint/js@10.0.1(eslint@10.12.0)': optionalDependencies: - eslint: 10.12.0(supports-color@7.2.0) + eslint: 10.12.0 '@eslint/object-schema@3.0.5': {} @@ -702,17 +641,26 @@ snapshots: '@eslint/core': 1.2.1 levn: 0.4.1 - '@humanfs/core@0.19.1': {} + '@humanfs/core@0.19.2': + dependencies: + '@humanfs/types': 0.15.0 - '@humanfs/node@0.16.7': + '@humanfs/node@0.16.8': dependencies: - '@humanfs/core': 0.19.1 + '@humanfs/core': 0.19.2 + '@humanfs/types': 0.15.0 '@humanwhocodes/retry': 0.4.3 + '@humanfs/types@0.15.0': {} + '@humanwhocodes/module-importer@1.0.1': {} '@humanwhocodes/retry@0.4.3': {} + '@isaacs/fs-minipass@4.0.1': + dependencies: + minipass: 7.1.3 + '@keyv/bigmap@1.3.1(keyv@5.6.0)': dependencies: hashery: 1.5.1 @@ -721,78 +669,23 @@ snapshots: '@keyv/serialize@1.1.1': {} - '@oxfmt/binding-android-arm-eabi@0.71.0': - optional: true - - '@oxfmt/binding-android-arm64@0.71.0': - optional: true - - '@oxfmt/binding-darwin-arm64@0.71.0': - optional: true - - '@oxfmt/binding-darwin-x64@0.71.0': - optional: true - - '@oxfmt/binding-freebsd-x64@0.71.0': - optional: true - - '@oxfmt/binding-linux-arm-gnueabihf@0.71.0': - optional: true - - '@oxfmt/binding-linux-arm-musleabihf@0.71.0': - optional: true - - '@oxfmt/binding-linux-arm64-gnu@0.71.0': - optional: true - - '@oxfmt/binding-linux-arm64-musl@0.71.0': - optional: true - - '@oxfmt/binding-linux-ppc64-gnu@0.71.0': - optional: true - - '@oxfmt/binding-linux-riscv64-gnu@0.71.0': - optional: true - - '@oxfmt/binding-linux-riscv64-musl@0.71.0': - optional: true - - '@oxfmt/binding-linux-s390x-gnu@0.71.0': - optional: true - - '@oxfmt/binding-linux-x64-gnu@0.71.0': - optional: true - - '@oxfmt/binding-linux-x64-musl@0.71.0': - optional: true - - '@oxfmt/binding-openharmony-arm64@0.71.0': - optional: true - - '@oxfmt/binding-win32-arm64-msvc@0.71.0': - optional: true - - '@oxfmt/binding-win32-ia32-msvc@0.71.0': - optional: true - - '@oxfmt/binding-win32-x64-msvc@0.71.0': - optional: true - '@types/esrecurse@4.3.1': {} - '@types/estree@1.0.8': {} + '@types/estree@1.0.9': {} '@types/json-schema@7.0.15': {} - '@typescript-eslint/types@8.56.1': {} + '@typescript-eslint/types@8.71.0': {} - acorn-jsx@5.3.2(acorn@8.16.0): + abbrev@5.0.0: {} + + acorn-jsx@5.3.2(acorn@8.18.0): dependencies: - acorn: 8.16.0 + acorn: 8.18.0 - acorn@8.16.0: {} + acorn@8.18.0: {} - ajv@6.14.0: + ajv@6.15.0: dependencies: fast-deep-equal: 3.1.3 fast-json-stable-stringify: 2.1.0 @@ -830,6 +723,8 @@ snapshots: chownr@1.1.4: {} + chownr@3.0.0: {} + comment-parser@1.4.1: {} cross-spawn@7.0.6: @@ -838,11 +733,9 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 - debug@4.4.3(supports-color@7.2.0): + debug@4.4.3: dependencies: ms: 2.1.3 - optionalDependencies: - supports-color: 7.2.0 deep-is@0.1.4: {} @@ -850,27 +743,29 @@ snapshots: dependencies: once: 1.4.0 + env-paths@2.2.1: {} + escape-string-regexp@4.0.0: {} - eslint-config-treesitter@1.0.2(eslint@10.12.0(supports-color@7.2.0))(supports-color@7.2.0): + eslint-config-treesitter@1.0.2(eslint@10.12.0): dependencies: - eslint: 10.12.0(supports-color@7.2.0) - eslint-plugin-jsdoc: 50.8.0(eslint@10.12.0(supports-color@7.2.0))(supports-color@7.2.0) + eslint: 10.12.0 + eslint-plugin-jsdoc: 50.8.0(eslint@10.12.0) transitivePeerDependencies: - supports-color - eslint-plugin-jsdoc@50.8.0(eslint@10.12.0(supports-color@7.2.0))(supports-color@7.2.0): + eslint-plugin-jsdoc@50.8.0(eslint@10.12.0): dependencies: '@es-joy/jsdoccomment': 0.50.2 are-docs-informative: 0.0.2 comment-parser: 1.4.1 - debug: 4.4.3(supports-color@7.2.0) + debug: 4.4.3 escape-string-regexp: 4.0.0 - eslint: 10.12.0(supports-color@7.2.0) + eslint: 10.12.0 espree: 10.4.0 esquery: 1.7.0 parse-imports-exports: 0.2.4 - semver: 7.7.4 + semver: 7.8.5 spdx-expression-parse: 4.0.0 transitivePeerDependencies: - supports-color @@ -878,7 +773,7 @@ snapshots: eslint-scope@9.1.2: dependencies: '@types/esrecurse': 4.3.1 - '@types/estree': 1.0.8 + '@types/estree': 1.0.9 esrecurse: 4.3.0 estraverse: 5.3.0 @@ -888,21 +783,21 @@ snapshots: eslint-visitor-keys@5.0.1: {} - eslint@10.12.0(supports-color@7.2.0): + eslint@10.12.0: dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.12.0(supports-color@7.2.0)) + '@eslint-community/eslint-utils': 4.10.1(eslint@10.12.0) '@eslint-community/regexpp': 4.12.2 - '@eslint/config-array': 0.23.5(supports-color@7.2.0) + '@eslint/config-array': 0.23.5 '@eslint/config-helpers': 0.7.0 '@eslint/core': 1.2.1 '@eslint/plugin-kit': 0.7.3 - '@humanfs/node': 0.16.7 + '@humanfs/node': 0.16.8 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.4.3 - '@types/estree': 1.0.8 - ajv: 6.14.0 + '@types/estree': 1.0.9 + ajv: 6.15.0 cross-spawn: 7.0.6 - debug: 4.4.3(supports-color@7.2.0) + debug: 4.4.3 escape-string-regexp: 4.0.0 eslint-scope: 9.1.2 eslint-visitor-keys: 5.0.1 @@ -925,14 +820,14 @@ snapshots: espree@10.4.0: dependencies: - acorn: 8.16.0 - acorn-jsx: 5.3.2(acorn@8.16.0) + acorn: 8.18.0 + acorn-jsx: 5.3.2(acorn@8.18.0) eslint-visitor-keys: 4.2.1 espree@11.2.0: dependencies: - acorn: 8.16.0 - acorn-jsx: 5.3.2(acorn@8.16.0) + acorn: 8.18.0 + acorn-jsx: 5.3.2(acorn@8.18.0) eslint-visitor-keys: 5.0.1 esquery@1.7.0: @@ -947,12 +842,18 @@ snapshots: esutils@2.0.3: {} + exponential-backoff@3.1.3: {} + fast-deep-equal@3.1.3: {} fast-json-stable-stringify@2.1.0: {} fast-levenshtein@2.0.6: {} + fdir@6.5.0(picomatch@4.0.7): + optionalDependencies: + picomatch: 4.0.7 + file-entry-cache@11.1.5: dependencies: flat-cache: 6.1.23 @@ -978,8 +879,7 @@ snapshots: globals@17.13.0: {} - has-flag@4.0.0: - optional: true + graceful-fs@4.2.11: {} hashery@1.5.1: dependencies: @@ -1005,6 +905,8 @@ snapshots: isexe@2.0.0: {} + isexe@4.0.0: {} + jsdoc-type-pratt-parser@4.1.0: {} json-schema-traverse@0.4.1: {} @@ -1030,20 +932,43 @@ snapshots: minimist@1.2.8: {} + minipass@7.1.3: {} + + minizlib@3.1.0: + dependencies: + minipass: 7.1.3 + mkdirp-classic@0.5.3: {} ms@2.1.3: {} natural-compare@1.4.0: {} - node-abi@3.87.0: + node-abi@3.96.0: dependencies: - semver: 7.7.4 + semver: 7.8.5 node-addon-api@8.9.2: {} node-gyp-build@4.8.4: {} + node-gyp@13.1.0: + dependencies: + env-paths: 2.2.1 + exponential-backoff: 3.1.3 + graceful-fs: 4.2.11 + nopt: 10.0.1 + proc-log: 7.0.0 + semver: 7.8.5 + tar: 7.5.22 + tinyglobby: 0.2.17 + undici: 8.11.2 + which: 7.0.0 + + nopt@10.0.1: + dependencies: + abbrev: 5.0.0 + npm-run-path@3.1.0: dependencies: path-key: 3.1.1 @@ -1061,30 +986,6 @@ snapshots: type-check: 0.4.0 word-wrap: 1.2.5 - oxfmt@0.71.0: - dependencies: - tinypool: 2.2.0 - optionalDependencies: - '@oxfmt/binding-android-arm-eabi': 0.71.0 - '@oxfmt/binding-android-arm64': 0.71.0 - '@oxfmt/binding-darwin-arm64': 0.71.0 - '@oxfmt/binding-darwin-x64': 0.71.0 - '@oxfmt/binding-freebsd-x64': 0.71.0 - '@oxfmt/binding-linux-arm-gnueabihf': 0.71.0 - '@oxfmt/binding-linux-arm-musleabihf': 0.71.0 - '@oxfmt/binding-linux-arm64-gnu': 0.71.0 - '@oxfmt/binding-linux-arm64-musl': 0.71.0 - '@oxfmt/binding-linux-ppc64-gnu': 0.71.0 - '@oxfmt/binding-linux-riscv64-gnu': 0.71.0 - '@oxfmt/binding-linux-riscv64-musl': 0.71.0 - '@oxfmt/binding-linux-s390x-gnu': 0.71.0 - '@oxfmt/binding-linux-x64-gnu': 0.71.0 - '@oxfmt/binding-linux-x64-musl': 0.71.0 - '@oxfmt/binding-openharmony-arm64': 0.71.0 - '@oxfmt/binding-win32-arm64-msvc': 0.71.0 - '@oxfmt/binding-win32-ia32-msvc': 0.71.0 - '@oxfmt/binding-win32-x64-msvc': 0.71.0 - p-limit@3.1.0: dependencies: yocto-queue: 0.1.0 @@ -1103,17 +1004,21 @@ snapshots: path-key@3.1.1: {} + picomatch@4.0.7: {} + prebuildify@6.0.1: dependencies: minimist: 1.2.8 mkdirp-classic: 0.5.3 - node-abi: 3.87.0 + node-abi: 3.96.0 npm-run-path: 3.1.0 pump: 3.0.4 - tar-fs: 2.1.4 + tar-fs: 2.1.5 prelude-ls@1.2.1: {} + proc-log@7.0.0: {} + pump@3.0.4: dependencies: end-of-stream: 1.4.5 @@ -1133,7 +1038,7 @@ snapshots: safe-buffer@5.2.1: {} - semver@7.7.4: {} + semver@7.8.5: {} shebang-command@2.0.0: dependencies: @@ -1146,20 +1051,15 @@ snapshots: spdx-expression-parse@4.0.0: dependencies: spdx-exceptions: 2.5.0 - spdx-license-ids: 3.0.23 + spdx-license-ids: 3.0.24 - spdx-license-ids@3.0.23: {} + spdx-license-ids@3.0.24: {} string_decoder@1.3.0: dependencies: safe-buffer: 5.2.1 - supports-color@7.2.0: - dependencies: - has-flag: 4.0.0 - optional: true - - tar-fs@2.1.4: + tar-fs@2.1.5: dependencies: chownr: 1.1.4 mkdirp-classic: 0.5.3 @@ -1174,7 +1074,18 @@ snapshots: inherits: 2.0.4 readable-stream: 3.6.2 - tinypool@2.2.0: {} + tar@7.5.22: + dependencies: + '@isaacs/fs-minipass': 4.0.1 + chownr: 3.0.0 + minipass: 7.1.3 + minizlib: 3.1.0 + yallist: 5.0.0 + + tinyglobby@0.2.17: + dependencies: + fdir: 6.5.0(picomatch@4.0.7) + picomatch: 4.0.7 tree-sitter-cli@0.27.0: {} @@ -1187,6 +1098,8 @@ snapshots: dependencies: prelude-ls: 1.2.1 + undici@8.11.2: {} + uri-js@4.4.1: dependencies: punycode: 2.3.1 @@ -1197,8 +1110,14 @@ snapshots: dependencies: isexe: 2.0.0 + which@7.0.0: + dependencies: + isexe: 4.0.0 + word-wrap@1.2.5: {} wrappy@1.0.2: {} + yallist@5.0.0: {} + yocto-queue@0.1.0: {} diff --git a/src/grammar.json b/src/grammar.json index 2c7e5f5..646fe11 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -10,12 +10,12 @@ "type": "REPEAT", "content": { "type": "SYMBOL", - "name": "_statement" + "name": "statement" } } ] }, - "_statement": { + "statement": { "type": "CHOICE", "members": [ { @@ -28,11 +28,11 @@ }, { "type": "SYMBOL", - "name": "_package_items" + "name": "package_items" } ] }, - "_package_items": { + "package_items": { "type": "CHOICE", "members": [ { @@ -64,7 +64,7 @@ "type": "REPEAT", "content": { "type": "SYMBOL", - "name": "_package_items" + "name": "package_items" } }, { @@ -331,7 +331,7 @@ }, { "type": "SYMBOL", - "name": "_world_items" + "name": "world_definition" } ] } @@ -342,7 +342,7 @@ } ] }, - "_world_items": { + "world_definition": { "type": "CHOICE", "members": [ { @@ -750,7 +750,7 @@ }, { "type": "SYMBOL", - "name": "_interface_items" + "name": "_interface_definition" } ] } @@ -761,7 +761,7 @@ } ] }, - "_interface_items": { + "_interface_definition": { "type": "CHOICE", "members": [ { @@ -783,30 +783,18 @@ } ] }, - { - "type": "SYMBOL", - "name": "typedef_item" - } - ] - }, - { - "type": "SEQ", - "members": [ { "type": "CHOICE", "members": [ { "type": "SYMBOL", - "name": "external_id" + "name": "typedef_item" }, { - "type": "BLANK" + "type": "SYMBOL", + "name": "func_item" } ] - }, - { - "type": "SYMBOL", - "name": "func_item" } ] } @@ -2487,10 +2475,10 @@ "type": "REPEAT1", "content": { "type": "SYMBOL", - "name": "_gate_item" + "name": "gate_item" } }, - "_gate_item": { + "gate_item": { "type": "CHOICE", "members": [ { @@ -2700,8 +2688,11 @@ ], "inline": [], "supertypes": [ - "_gate_item", - "typedef_item" + "gate_item", + "statement", + "typedef_item", + "world_definition", + "package_items" ], "reserved": {} } \ No newline at end of file diff --git a/src/node-types.json b/src/node-types.json index b9992f7..6965611 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -1,6 +1,6 @@ [ { - "type": "_gate_item", + "type": "gate_item", "named": true, "subtypes": [ { @@ -17,6 +17,42 @@ } ] }, + { + "type": "package_items", + "named": true, + "subtypes": [ + { + "type": "interface_item", + "named": true + }, + { + "type": "toplevel_use_item", + "named": true + }, + { + "type": "world_item", + "named": true + } + ] + }, + { + "type": "statement", + "named": true, + "subtypes": [ + { + "type": "nested_package_definition", + "named": true + }, + { + "type": "package_decl", + "named": true + }, + { + "type": "package_items", + "named": true + } + ] + }, { "type": "typedef_item", "named": true, @@ -47,6 +83,32 @@ } ] }, + { + "type": "world_definition", + "named": true, + "subtypes": [ + { + "type": "export_item", + "named": true + }, + { + "type": "import_item", + "named": true + }, + { + "type": "include_item", + "named": true + }, + { + "type": "typedef_item", + "named": true + }, + { + "type": "use_item", + "named": true + } + ] + }, { "type": "alias_item", "named": true, @@ -98,18 +160,10 @@ "multiple": true, "required": false, "types": [ - { - "type": "_gate_item", - "named": true - }, { "type": "enum_case", "named": true }, - { - "type": "export_item", - "named": true - }, { "type": "external_id", "named": true @@ -123,11 +177,7 @@ "named": true }, { - "type": "import_item", - "named": true - }, - { - "type": "include_item", + "type": "gate_item", "named": true }, { @@ -139,15 +189,11 @@ "named": true }, { - "type": "typedef_item", - "named": true - }, - { - "type": "use_item", + "type": "variant_case", "named": true }, { - "type": "variant_case", + "type": "world_definition", "named": true } ] @@ -505,11 +551,11 @@ "required": true, "types": [ { - "type": "_gate_item", + "type": "body", "named": true }, { - "type": "body", + "type": "gate_item", "named": true } ] @@ -632,15 +678,7 @@ "named": true }, { - "type": "interface_item", - "named": true - }, - { - "type": "toplevel_use_item", - "named": true - }, - { - "type": "world_item", + "type": "package_items", "named": true } ] @@ -866,23 +904,7 @@ "required": false, "types": [ { - "type": "interface_item", - "named": true - }, - { - "type": "nested_package_definition", - "named": true - }, - { - "type": "package_decl", - "named": true - }, - { - "type": "toplevel_use_item", - "named": true - }, - { - "type": "world_item", + "type": "statement", "named": true } ] @@ -1177,11 +1199,11 @@ "required": true, "types": [ { - "type": "_gate_item", + "type": "body", "named": true }, { - "type": "body", + "type": "gate_item", "named": true } ] diff --git a/src/parser.c b/src/parser.c index 89cbcb7..a7bb50d 100644 --- a/src/parser.c +++ b/src/parser.c @@ -17,7 +17,7 @@ #define MAX_ALIAS_SEQUENCE_LENGTH 6 #define MAX_RESERVED_WORD_SET_SIZE 0 #define PRODUCTION_ID_COUNT 21 -#define SUPERTYPE_COUNT 2 +#define SUPERTYPE_COUNT 5 enum ts_symbol_identifiers { sym_id = 1, @@ -97,8 +97,8 @@ enum ts_symbol_identifiers { sym__error_sentinel = 75, sym__line_doc_content = 76, sym_source_file = 77, - sym__statement = 78, - sym__package_items = 79, + sym_statement = 78, + sym_package_items = 79, sym_nested_package_definition = 80, sym__uri_head = 81, sym__uri_tail = 82, @@ -109,7 +109,7 @@ enum ts_symbol_identifiers { sym_use_path = 87, sym_world_item = 88, sym__world_body = 89, - sym__world_items = 90, + sym_world_definition = 90, sym_export_item = 91, sym_import_item = 92, sym_extern_type = 93, @@ -120,7 +120,7 @@ enum ts_symbol_identifiers { sym_alias_item = 98, sym_interface_item = 99, sym__interface_body = 100, - sym__interface_items = 101, + sym__interface_definition = 101, sym_typedef_item = 102, sym_func_item = 103, sym_func_type = 104, @@ -165,7 +165,7 @@ enum ts_symbol_identifiers { sym_line_comment = 143, sym_block_comment = 144, aux_sym__gate = 145, - sym__gate_item = 146, + sym_gate_item = 146, sym_external_id = 147, sym_unstable_gate = 148, sym__feature_field = 149, @@ -270,8 +270,8 @@ static const char * const ts_symbol_names[] = { [sym__error_sentinel] = "_error_sentinel", [sym__line_doc_content] = "doc_comment", [sym_source_file] = "source_file", - [sym__statement] = "_statement", - [sym__package_items] = "_package_items", + [sym_statement] = "statement", + [sym_package_items] = "package_items", [sym_nested_package_definition] = "nested_package_definition", [sym__uri_head] = "_uri_head", [sym__uri_tail] = "_uri_tail", @@ -282,7 +282,7 @@ static const char * const ts_symbol_names[] = { [sym_use_path] = "use_path", [sym_world_item] = "world_item", [sym__world_body] = "body", - [sym__world_items] = "_world_items", + [sym_world_definition] = "world_definition", [sym_export_item] = "export_item", [sym_import_item] = "import_item", [sym_extern_type] = "extern_type", @@ -293,7 +293,7 @@ static const char * const ts_symbol_names[] = { [sym_alias_item] = "alias_item", [sym_interface_item] = "interface_item", [sym__interface_body] = "body", - [sym__interface_items] = "_interface_items", + [sym__interface_definition] = "_interface_definition", [sym_typedef_item] = "typedef_item", [sym_func_item] = "func_item", [sym_func_type] = "func_type", @@ -338,7 +338,7 @@ static const char * const ts_symbol_names[] = { [sym_line_comment] = "line_comment", [sym_block_comment] = "block_comment", [aux_sym__gate] = "_gate", - [sym__gate_item] = "_gate_item", + [sym_gate_item] = "gate_item", [sym_external_id] = "external_id", [sym_unstable_gate] = "unstable_gate", [sym__feature_field] = "_feature_field", @@ -443,8 +443,8 @@ static const TSSymbol ts_symbol_map[] = { [sym__error_sentinel] = sym__error_sentinel, [sym__line_doc_content] = sym__line_doc_content, [sym_source_file] = sym_source_file, - [sym__statement] = sym__statement, - [sym__package_items] = sym__package_items, + [sym_statement] = sym_statement, + [sym_package_items] = sym_package_items, [sym_nested_package_definition] = sym_nested_package_definition, [sym__uri_head] = sym__uri_head, [sym__uri_tail] = sym__uri_tail, @@ -455,7 +455,7 @@ static const TSSymbol ts_symbol_map[] = { [sym_use_path] = sym_use_path, [sym_world_item] = sym_world_item, [sym__world_body] = sym__world_body, - [sym__world_items] = sym__world_items, + [sym_world_definition] = sym_world_definition, [sym_export_item] = sym_export_item, [sym_import_item] = sym_import_item, [sym_extern_type] = sym_extern_type, @@ -466,7 +466,7 @@ static const TSSymbol ts_symbol_map[] = { [sym_alias_item] = sym_alias_item, [sym_interface_item] = sym_interface_item, [sym__interface_body] = sym__world_body, - [sym__interface_items] = sym__interface_items, + [sym__interface_definition] = sym__interface_definition, [sym_typedef_item] = sym_typedef_item, [sym_func_item] = sym_func_item, [sym_func_type] = sym_func_type, @@ -511,7 +511,7 @@ static const TSSymbol ts_symbol_map[] = { [sym_line_comment] = sym_line_comment, [sym_block_comment] = sym_block_comment, [aux_sym__gate] = aux_sym__gate, - [sym__gate_item] = sym__gate_item, + [sym_gate_item] = sym_gate_item, [sym_external_id] = sym_external_id, [sym_unstable_gate] = sym_unstable_gate, [sym__feature_field] = sym__feature_field, @@ -850,13 +850,15 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, - [sym__statement] = { + [sym_statement] = { .visible = false, .named = true, + .supertype = true, }, - [sym__package_items] = { + [sym_package_items] = { .visible = false, .named = true, + .supertype = true, }, [sym_nested_package_definition] = { .visible = true, @@ -898,9 +900,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, - [sym__world_items] = { + [sym_world_definition] = { .visible = false, .named = true, + .supertype = true, }, [sym_export_item] = { .visible = true, @@ -942,7 +945,7 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, - [sym__interface_items] = { + [sym__interface_definition] = { .visible = false, .named = true, }, @@ -1123,7 +1126,7 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, - [sym__gate_item] = { + [sym_gate_item] = { .visible = false, .named = true, .supertype = true, @@ -1709,13 +1712,19 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { }; static const TSSymbol ts_supertype_symbols[SUPERTYPE_COUNT] = { - sym__gate_item, + sym_gate_item, + sym_package_items, + sym_statement, sym_typedef_item, + sym_world_definition, }; static const TSMapSlice ts_supertype_map_slices[] = { - [sym__gate_item] = {.index = 0, .length = 3}, - [sym_typedef_item] = {.index = 3, .length = 6}, + [sym_gate_item] = {.index = 0, .length = 3}, + [sym_package_items] = {.index = 3, .length = 3}, + [sym_statement] = {.index = 6, .length = 3}, + [sym_typedef_item] = {.index = 9, .length = 6}, + [sym_world_definition] = {.index = 15, .length = 5}, }; static const TSSymbol ts_supertype_map_entries[] = { @@ -1724,12 +1733,26 @@ static const TSSymbol ts_supertype_map_entries[] = { sym_since_gate, sym_unstable_gate, [3] = + sym_interface_item, + sym_toplevel_use_item, + sym_world_item, + [6] = + sym_nested_package_definition, + sym_package_decl, + sym_package_items, + [9] = sym_enum_items, sym_flags_items, sym_record_item, sym_resource_item, sym_type_item, sym_variant_items, + [15] = + sym_export_item, + sym_import_item, + sym_include_item, + sym_typedef_item, + sym_use_item, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { @@ -3209,8 +3232,8 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { }, [STATE(1)] = { [sym_source_file] = STATE(356), - [sym__statement] = STATE(136), - [sym__package_items] = STATE(131), + [sym_statement] = STATE(136), + [sym_package_items] = STATE(131), [sym_nested_package_definition] = STATE(131), [sym_decl_head] = STATE(252), [sym_package_decl] = STATE(131), @@ -3220,7 +3243,7 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_line_comment] = STATE(1), [sym_block_comment] = STATE(1), [aux_sym__gate] = STATE(93), - [sym__gate_item] = STATE(36), + [sym_gate_item] = STATE(36), [sym_unstable_gate] = STATE(39), [sym_since_gate] = STATE(39), [sym_deprecated_gate] = STATE(39), @@ -4129,9 +4152,9 @@ static const uint16_t ts_small_parse_table[] = { STATE(21), 1, aux_sym__gate, STATE(36), 1, - sym__gate_item, + sym_gate_item, STATE(60), 1, - sym__world_items, + sym_world_definition, STATE(231), 1, sym_external_id, STATE(18), 2, @@ -4186,9 +4209,9 @@ static const uint16_t ts_small_parse_table[] = { STATE(21), 1, aux_sym__gate, STATE(36), 1, - sym__gate_item, + sym_gate_item, STATE(60), 1, - sym__world_items, + sym_world_definition, STATE(231), 1, sym_external_id, STATE(19), 3, @@ -4246,9 +4269,9 @@ static const uint16_t ts_small_parse_table[] = { STATE(21), 1, aux_sym__gate, STATE(36), 1, - sym__gate_item, + sym_gate_item, STATE(60), 1, - sym__world_items, + sym_world_definition, STATE(231), 1, sym_external_id, STATE(20), 2, @@ -4301,9 +4324,9 @@ static const uint16_t ts_small_parse_table[] = { STATE(28), 1, aux_sym__gate, STATE(36), 1, - sym__gate_item, + sym_gate_item, STATE(71), 1, - sym__world_items, + sym_world_definition, STATE(231), 1, sym_external_id, STATE(21), 2, @@ -4356,11 +4379,11 @@ static const uint16_t ts_small_parse_table[] = { STATE(25), 1, aux_sym__gate, STATE(36), 1, - sym__gate_item, + sym_gate_item, STATE(40), 1, sym_external_id, STATE(76), 1, - sym__interface_items, + sym__interface_definition, STATE(22), 2, sym_line_comment, sym_block_comment, @@ -4407,11 +4430,11 @@ static const uint16_t ts_small_parse_table[] = { STATE(25), 1, aux_sym__gate, STATE(36), 1, - sym__gate_item, + sym_gate_item, STATE(40), 1, sym_external_id, STATE(76), 1, - sym__interface_items, + sym__interface_definition, STATE(23), 3, sym_line_comment, sym_block_comment, @@ -4461,11 +4484,11 @@ static const uint16_t ts_small_parse_table[] = { STATE(25), 1, aux_sym__gate, STATE(36), 1, - sym__gate_item, + sym_gate_item, STATE(40), 1, sym_external_id, STATE(76), 1, - sym__interface_items, + sym__interface_definition, STATE(24), 2, sym_line_comment, sym_block_comment, @@ -4510,11 +4533,11 @@ static const uint16_t ts_small_parse_table[] = { STATE(28), 1, aux_sym__gate, STATE(36), 1, - sym__gate_item, + sym_gate_item, STATE(40), 1, sym_external_id, STATE(74), 1, - sym__interface_items, + sym__interface_definition, STATE(25), 2, sym_line_comment, sym_block_comment, @@ -4553,11 +4576,11 @@ static const uint16_t ts_small_parse_table[] = { STATE(27), 1, aux_sym_source_file_repeat1, STATE(36), 1, - sym__gate_item, + sym_gate_item, STATE(93), 1, aux_sym__gate, STATE(136), 1, - sym__statement, + sym_statement, STATE(252), 1, sym_decl_head, STATE(26), 2, @@ -4572,7 +4595,7 @@ static const uint16_t ts_small_parse_table[] = { sym_world_item, sym_interface_item, STATE(131), 3, - sym__package_items, + sym_package_items, sym_nested_package_definition, sym_package_decl, [1786] = 16, @@ -4593,11 +4616,11 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(179), 1, anon_sym_interface, STATE(36), 1, - sym__gate_item, + sym_gate_item, STATE(93), 1, aux_sym__gate, STATE(136), 1, - sym__statement, + sym_statement, STATE(252), 1, sym_decl_head, STATE(27), 3, @@ -4613,7 +4636,7 @@ static const uint16_t ts_small_parse_table[] = { sym_world_item, sym_interface_item, STATE(131), 3, - sym__package_items, + sym_package_items, sym_nested_package_definition, sym_package_decl, [1843] = 7, @@ -4624,7 +4647,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(184), 1, anon_sym_AT, STATE(36), 1, - sym__gate_item, + sym_gate_item, STATE(28), 3, sym_line_comment, sym_block_comment, @@ -4793,11 +4816,11 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(218), 1, anon_sym_interface, STATE(36), 1, - sym__gate_item, + sym_gate_item, STATE(93), 1, aux_sym__gate, STATE(147), 1, - sym__package_items, + sym_package_items, STATE(34), 3, sym_line_comment, sym_block_comment, @@ -4878,11 +4901,11 @@ static const uint16_t ts_small_parse_table[] = { STATE(34), 1, aux_sym_nested_package_definition_repeat1, STATE(36), 1, - sym__gate_item, + sym_gate_item, STATE(93), 1, aux_sym__gate, STATE(147), 1, - sym__package_items, + sym_package_items, STATE(37), 2, sym_line_comment, sym_block_comment, @@ -4910,13 +4933,13 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(231), 1, anon_sym_RBRACE, STATE(36), 1, - sym__gate_item, + sym_gate_item, STATE(37), 1, aux_sym_nested_package_definition_repeat1, STATE(93), 1, aux_sym__gate, STATE(147), 1, - sym__package_items, + sym_package_items, STATE(38), 2, sym_line_comment, sym_block_comment, @@ -4999,7 +5022,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(241), 1, anon_sym_constructor, STATE(36), 1, - sym__gate_item, + sym_gate_item, STATE(52), 1, aux_sym__resource_body_repeat1, STATE(73), 1, @@ -5262,7 +5285,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(289), 1, anon_sym_constructor, STATE(36), 1, - sym__gate_item, + sym_gate_item, STATE(73), 1, aux_sym__gate, STATE(155), 1, @@ -5385,7 +5408,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(308), 1, anon_sym_RBRACE, STATE(36), 1, - sym__gate_item, + sym_gate_item, STATE(41), 1, aux_sym__resource_body_repeat1, STATE(73), 1, @@ -5734,7 +5757,7 @@ static const uint16_t ts_small_parse_table[] = { STATE(28), 1, aux_sym__gate, STATE(36), 1, - sym__gate_item, + sym_gate_item, STATE(162), 1, sym_func_item, STATE(167), 1, @@ -5859,7 +5882,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(360), 1, anon_sym_RBRACE, STATE(36), 1, - sym__gate_item, + sym_gate_item, STATE(103), 1, aux_sym__gate, STATE(237), 1, @@ -5926,7 +5949,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(375), 1, sym_id, STATE(36), 1, - sym__gate_item, + sym_gate_item, STATE(95), 1, aux_sym__gate, STATE(177), 1, @@ -6000,7 +6023,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(358), 1, sym_id, STATE(36), 1, - sym__gate_item, + sym_gate_item, STATE(96), 1, aux_sym__gate, STATE(180), 1, @@ -6051,7 +6074,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(380), 1, anon_sym_RBRACE, STATE(36), 1, - sym__gate_item, + sym_gate_item, STATE(102), 1, aux_sym__gate, STATE(229), 1, @@ -6075,7 +6098,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(382), 1, anon_sym_RBRACE, STATE(36), 1, - sym__gate_item, + sym_gate_item, STATE(102), 1, aux_sym__gate, STATE(229), 1, @@ -6099,7 +6122,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(384), 1, anon_sym_RBRACE, STATE(36), 1, - sym__gate_item, + sym_gate_item, STATE(103), 1, aux_sym__gate, STATE(237), 1, @@ -6146,7 +6169,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(392), 1, anon_sym_RBRACE, STATE(36), 1, - sym__gate_item, + sym_gate_item, STATE(103), 1, aux_sym__gate, STATE(237), 1, @@ -6170,7 +6193,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(394), 1, anon_sym_RBRACE, STATE(36), 1, - sym__gate_item, + sym_gate_item, STATE(102), 1, aux_sym__gate, STATE(229), 1, @@ -6196,7 +6219,7 @@ static const uint16_t ts_small_parse_table[] = { STATE(28), 1, aux_sym__gate, STATE(36), 1, - sym__gate_item, + sym_gate_item, STATE(93), 2, sym_line_comment, sym_block_comment, @@ -6214,7 +6237,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(400), 1, sym_id, STATE(36), 1, - sym__gate_item, + sym_gate_item, STATE(125), 1, aux_sym__gate, STATE(294), 1, @@ -6238,7 +6261,7 @@ static const uint16_t ts_small_parse_table[] = { STATE(28), 1, aux_sym__gate, STATE(36), 1, - sym__gate_item, + sym_gate_item, STATE(189), 1, sym_record_field, STATE(95), 2, @@ -6260,7 +6283,7 @@ static const uint16_t ts_small_parse_table[] = { STATE(28), 1, aux_sym__gate, STATE(36), 1, - sym__gate_item, + sym_gate_item, STATE(193), 1, sym_variant_case, STATE(96), 2, @@ -6280,7 +6303,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(402), 1, sym_id, STATE(36), 1, - sym__gate_item, + sym_gate_item, STATE(121), 1, aux_sym__gate, STATE(318), 1, @@ -6304,7 +6327,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(406), 1, anon_sym_RBRACE, STATE(36), 1, - sym__gate_item, + sym_gate_item, STATE(120), 1, aux_sym__gate, STATE(98), 2, @@ -6349,7 +6372,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(414), 1, anon_sym_RBRACE, STATE(36), 1, - sym__gate_item, + sym_gate_item, STATE(119), 1, aux_sym__gate, STATE(100), 2, @@ -6371,7 +6394,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(416), 1, anon_sym_RBRACE, STATE(36), 1, - sym__gate_item, + sym_gate_item, STATE(120), 1, aux_sym__gate, STATE(101), 2, @@ -6393,7 +6416,7 @@ static const uint16_t ts_small_parse_table[] = { STATE(28), 1, aux_sym__gate, STATE(36), 1, - sym__gate_item, + sym_gate_item, STATE(260), 1, sym_record_field, STATE(102), 2, @@ -6415,7 +6438,7 @@ static const uint16_t ts_small_parse_table[] = { STATE(28), 1, aux_sym__gate, STATE(36), 1, - sym__gate_item, + sym_gate_item, STATE(228), 1, sym_variant_case, STATE(103), 2, @@ -6437,7 +6460,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(418), 1, anon_sym_RBRACE, STATE(36), 1, - sym__gate_item, + sym_gate_item, STATE(119), 1, aux_sym__gate, STATE(104), 2, @@ -6459,7 +6482,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(420), 1, anon_sym_RBRACE, STATE(36), 1, - sym__gate_item, + sym_gate_item, STATE(120), 1, aux_sym__gate, STATE(105), 2, @@ -6481,7 +6504,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(422), 1, anon_sym_RBRACE, STATE(36), 1, - sym__gate_item, + sym_gate_item, STATE(120), 1, aux_sym__gate, STATE(106), 2, @@ -6503,7 +6526,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(424), 1, anon_sym_RBRACE, STATE(36), 1, - sym__gate_item, + sym_gate_item, STATE(119), 1, aux_sym__gate, STATE(107), 2, @@ -6523,7 +6546,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(375), 1, sym_id, STATE(36), 1, - sym__gate_item, + sym_gate_item, STATE(102), 1, aux_sym__gate, STATE(229), 1, @@ -6547,7 +6570,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(426), 1, anon_sym_RBRACE, STATE(36), 1, - sym__gate_item, + sym_gate_item, STATE(119), 1, aux_sym__gate, STATE(109), 2, @@ -6567,7 +6590,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(358), 1, sym_id, STATE(36), 1, - sym__gate_item, + sym_gate_item, STATE(103), 1, aux_sym__gate, STATE(237), 1, @@ -6721,7 +6744,7 @@ static const uint16_t ts_small_parse_table[] = { STATE(28), 1, aux_sym__gate, STATE(36), 1, - sym__gate_item, + sym_gate_item, STATE(119), 2, sym_line_comment, sym_block_comment, @@ -6741,7 +6764,7 @@ static const uint16_t ts_small_parse_table[] = { STATE(28), 1, aux_sym__gate, STATE(36), 1, - sym__gate_item, + sym_gate_item, STATE(120), 2, sym_line_comment, sym_block_comment, @@ -6761,7 +6784,7 @@ static const uint16_t ts_small_parse_table[] = { STATE(28), 1, aux_sym__gate, STATE(36), 1, - sym__gate_item, + sym_gate_item, STATE(121), 2, sym_line_comment, sym_block_comment, @@ -6795,7 +6818,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(412), 1, sym_id, STATE(36), 1, - sym__gate_item, + sym_gate_item, STATE(119), 1, aux_sym__gate, STATE(123), 2, @@ -6833,7 +6856,7 @@ static const uint16_t ts_small_parse_table[] = { STATE(28), 1, aux_sym__gate, STATE(36), 1, - sym__gate_item, + sym_gate_item, STATE(125), 2, sym_line_comment, sym_block_comment, @@ -6851,7 +6874,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(404), 1, sym_id, STATE(36), 1, - sym__gate_item, + sym_gate_item, STATE(120), 1, aux_sym__gate, STATE(126), 2, @@ -10312,8 +10335,8 @@ static const TSParseActionEntry ts_parse_actions[] = { [227] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__gate, 1, 0, 0), [229] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), [231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), - [233] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__gate_item, 1, 0, 0), - [235] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__gate_item, 1, 0, 0), + [233] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_gate_item, 1, 0, 0), + [235] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_gate_item, 1, 0, 0), [237] = {.entry = {.count = 1, .reusable = false}}, SHIFT(355), [239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), [241] = {.entry = {.count = 1, .reusable = false}}, SHIFT(234), @@ -10355,7 +10378,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [316] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__world_body_repeat1, 1, 0, 0), [318] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_include_item, 4, 0, 0), [320] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_export_item, 3, 0, 0), - [322] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__world_items, 1, 0, 0), + [322] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_world_definition, 1, 0, 0), [324] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_extern_type, 2, 0, 0), [326] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_export_item, 5, 0, 4), [328] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_item, 5, 0, 4), @@ -10369,10 +10392,10 @@ static const TSParseActionEntry ts_parse_actions[] = { [344] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_external_id, 5, 0, 11), [346] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__interface_body_repeat1, 1, 0, 0), [348] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__interface_body_repeat1, 1, 0, 0), - [350] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__interface_items, 2, 0, 0), - [352] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__interface_items, 2, 0, 0), - [354] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__interface_items, 1, 0, 0), - [356] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__interface_items, 1, 0, 0), + [350] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__interface_definition, 2, 0, 0), + [352] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__interface_definition, 2, 0, 0), + [354] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__interface_definition, 1, 0, 0), + [356] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__interface_definition, 1, 0, 0), [358] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179), [360] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__variant_cases, 4, 0, 0), [362] = {.entry = {.count = 1, .reusable = false}}, SHIFT(142), @@ -10421,13 +10444,13 @@ static const TSParseActionEntry ts_parse_actions[] = { [450] = {.entry = {.count = 1, .reusable = true}}, SHIFT(265), [452] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196), [454] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__world_body, 2, 0, 0), - [456] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__package_items, 1, 0, 0), + [456] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_package_items, 1, 0, 0), [458] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191), [460] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_toplevel_use_item, 5, 0, 6), [462] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decl_head, 4, 0, 0), [464] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_nested_package_definition, 4, 0, 0), [466] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_package_decl, 2, 0, 0), - [468] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__statement, 1, 0, 0), + [468] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1, 0, 0), [470] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_result, 1, 0, 0), [472] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), [474] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_stream, 1, 0, 0),