From 62bd4ff88f4b1fcd623f60d4e7f2e34e424c1210 Mon Sep 17 00:00:00 2001 From: Andreas Arvidsson Date: Mon, 21 Apr 2025 12:01:28 +0200 Subject: [PATCH 1/5] Use `@cursorless/tree-sitter-wasms` dependency --- Makefile | 48 -------- README.md | 7 +- copy-assets.sh | 1 + package.json | 49 +------- yarn.lock | 308 ++----------------------------------------------- 5 files changed, 16 insertions(+), 397 deletions(-) delete mode 100644 Makefile create mode 100644 copy-assets.sh diff --git a/Makefile b/Makefile deleted file mode 100644 index a7aa62a..0000000 --- a/Makefile +++ /dev/null @@ -1,48 +0,0 @@ -# For generating .wasm files for parsers -# See https://www.npmjs.com/package/web-tree-sitter -LANGUAGES = agda bash c c-sharp clojure cpp css dart elm elixir gleam go haskell hcl html java javascript json julia kotlin latex lua markdown nix perl php python query ruby rust scala scss sparql swift talon tsx typescript xml yaml - -# Build web-tree-sitter parsers for $(LANGUAGES) - -.PHONY: parsers -parsers: $(addprefix parsers/tree-sitter-,$(addsuffix .wasm,$(LANGUAGES))) - -parsers/%.wasm: node_modules/%/package.json - mkdir -p $(dir $@) - npx tree-sitter build --wasm $(dir $^) - mv $(notdir $@) $@ - -parsers/tree-sitter-elm.wasm: node_modules/@elm-tooling/tree-sitter-elm/package.json - mkdir -p $(dir $@) - npx tree-sitter build --wasm $(dir $^) - mv $(notdir $@) $@ - -parsers/tree-sitter-markdown.wasm: node_modules/tree-sitter-markdown/tree-sitter-markdown/grammar.js - mkdir -p $(dir $@) - npx tree-sitter build --wasm $(dir $^) - mv $(notdir $@) $@ - -parsers/tree-sitter-typescript.wasm: node_modules/tree-sitter-typescript/typescript/package.json - mkdir -p $(dir $@) - npx tree-sitter build --wasm $(dir $^) - mv $(notdir $@) $@ - -parsers/tree-sitter-tsx.wasm: node_modules/tree-sitter-typescript/tsx/package.json - mkdir -p $(dir $@) - npx tree-sitter build --wasm $(dir $^) - mv $(notdir $@) $@ - -parsers/tree-sitter-xml.wasm: node_modules/tree-sitter-xml/xml/package.json - mkdir -p $(dir $@) - npx tree-sitter build --wasm $(dir $^) - mv $(notdir $@) $@ - -parsers/tree-sitter-php.wasm: node_modules/tree-sitter-php/php/package.json - mkdir -p $(dir $@) - npx tree-sitter build --wasm $(dir $^) - mv $(notdir $@) $@ - -parsers/tree-sitter-c-sharp.wasm: node_modules/tree-sitter-c-sharp/package.json - mkdir -p $(dir $@) - npx tree-sitter build --wasm $(dir $^) - mv tree-sitter-c_sharp.wasm $@ diff --git a/README.md b/README.md index ef9e736..7acf49b 100644 --- a/README.md +++ b/README.md @@ -43,12 +43,11 @@ registerLanguage(languageId, wasmPath); It's straightforward to add any [language with a tree-sitter grammar](https://tree-sitter.github.io/tree-sitter/). -1. Add a dependency on the npm package for that language: `yarn add -D tree-sitter-yourlang`. +1. Add a dependency on the npm package for that language in [tree-sitter-wasms](https://github.com/cursorless-dev/tree-sitter-wasms) 2. Add a language to the dictionary at the top of `./src/extension.ts` 3. Add a reference to `onLanguage:yourlang` to the [activationEvents section of package.json](package.json). `yourlang` must be a [VSCode language identifier](https://code.visualstudio.com/docs/languages/identifiers). -4. Add your language to the top of the [Makefile](Makefile) -5. Run `yarn compile`, then hit `F5` in VSCode, with this project open, to test your changes. -6. Submit a PR! +4. Run `yarn compile`, then hit `F5` in VSCode, with this project open, to test your changes. +5. Submit a PR! ### Developing on WSL2 diff --git a/copy-assets.sh b/copy-assets.sh new file mode 100644 index 0000000..f18bc94 --- /dev/null +++ b/copy-assets.sh @@ -0,0 +1 @@ +cp -r node_modules/@cursorless/tree-sitter-wasms/out parsers diff --git a/package.json b/package.json index 74da80e..716e600 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "parse-tree", "displayName": "Parse tree", "description": "Access document syntax using tree-sitter", - "version": "0.34.0", + "version": "0.35.0", "publisher": "pokey", "repository": { "type": "git", @@ -75,7 +75,8 @@ "contributes": {}, "scripts": { "vscode:prepublish": "npm run compile", - "compile": "tsc -p ./ && make parsers", + "compile": "tsc -p ./ && npm run copy-assets", + "copy-assets": "sh copy-assets.sh", "watch": "tsc -watch -p ./", "test": "npm run compile && node ./out/test", "benchmark": "npm run compile && node ./out/benchmark", @@ -85,59 +86,19 @@ "publish": "vsce publish patch" }, "devDependencies": { + "@cursorless/tree-sitter-wasms": "0.2.4", "@electron/rebuild": "^3.3.0", - "@elm-tooling/tree-sitter-elm": "github:elm-tooling/tree-sitter-elm#0aecfbf69f0c9bcdfada0f6f2c5398235c23949f", "@types/mocha": "^2.2.42", "@types/node": "^8.10.25", "@types/vscode": "~1.58.0", "@typescript-eslint/eslint-plugin": "^6.11.0", "@typescript-eslint/parser": "^6.11.0", "@vscode/test-electron": "^2.1.3", - "eslint": "^8.53.0", "eslint-config-prettier": "^9.0.0", - "tree-sitter-agda": "github:pokey/tree-sitter-agda#e5fba6cabe8c7fc7993ced2b86704f3841215284", - "tree-sitter-bash": "github:tree-sitter/tree-sitter-bash#2fbd860f802802ca76a6661ce025b3a3bca2d3ed", - "tree-sitter-c": "github:tree-sitter/tree-sitter-c#deca017a554045b4c203e7ddff39ae64ff05e071", - "tree-sitter-c-sharp": "^0.19.0", - "tree-sitter-cli": "^0.22.6", - "tree-sitter-clojure": "github:sogaiu/tree-sitter-clojure#f4236d4da8aa92bc105d9c118746474c608e6af7", - "tree-sitter-cpp": "github:tree-sitter/tree-sitter-cpp#9d412ba7e597fe158f209da33e60f31b1f0df967", - "tree-sitter-css": "^0.19.0", - "tree-sitter-dart": "github:UserNobody14/tree-sitter-dart#9ac03bb2154316624fb4c41fe0f372a5f1597b43", - "tree-sitter-elixir": "github:elixir-lang/tree-sitter-elixir#b20eaa75565243c50be5e35e253d8beb58f45d56", - "tree-sitter-gleam": "github:gleam-lang/tree-sitter-gleam#2012f294baacf30e7a62414754021284377366c6", - "tree-sitter-go": "github:tree-sitter/tree-sitter-go#bbaa67a180cfe0c943e50c55130918be8efb20bd", - "tree-sitter-haskell": "github:tree-sitter/tree-sitter-haskell#a50070d5bb5bd5c1281740a6102ecf1f4b0c4f19", - "tree-sitter-hcl": "github:MichaHoffmann/tree-sitter-hcl#e135399cb31b95fac0760b094556d1d5ce84acf0", - "tree-sitter-html": "github:tree-sitter/tree-sitter-html#e4d834eb4918df01dcad5c27d1b15d56e3bd94cd", - "tree-sitter-java": "github:tree-sitter/tree-sitter-java#ac14b4b1884102839455d32543ab6d53ae089ab7", - "tree-sitter-javascript": "github:tree-sitter/tree-sitter-javascript#391a8fcc48a11f63bf18ec9885f6f069e760949a", - "tree-sitter-json": "github:tree-sitter/tree-sitter-json#94f5c527b2965465956c2000ed6134dd24daf2a7", - "tree-sitter-julia": "github:tree-sitter/tree-sitter-julia#e2f449e2bcc95f1d07ceb62d67f986005f73a6be", - "tree-sitter-kotlin": "github:fwcd/tree-sitter-kotlin#76f53c48d29e8588934fb55b0240d7bdfe00bfe5", - "tree-sitter-latex": "github:latex-lsp/tree-sitter-latex#1666e9780de42a31b1376d32fbe8332e8dd5850f", - "tree-sitter-lua": "github:MunifTanjim/tree-sitter-lua#9668709211b2e683f27f414454a8b51bf0a6bda1", - "tree-sitter-markdown": "github:tree-sitter-grammars/tree-sitter-markdown#7fe453beacecf02c86f7736439f238f5bb8b5c9b", - "tree-sitter-nix": "github:nix-community/tree-sitter-nix#66e3e9ce9180ae08fc57372061006ef83f0abde7", - "tree-sitter-perl": "github:ganezdragon/tree-sitter-perl#3d3a95ee6645d7bcd993e77b252ffd33fd297c8e", - "tree-sitter-php": "github:tree-sitter/tree-sitter-php#4f124bc6075e1c3333e80190c1c170933ed72c95", - "tree-sitter-python": "github:tree-sitter/tree-sitter-python#71778c2a472ed00a64abf4219544edbf8e4b86d7", - "tree-sitter-query": "github:nvim-treesitter/tree-sitter-query#5217c6805c09f8fc00ed13d17d5fcb791437aee6", - "tree-sitter-ruby": "github:tree-sitter/tree-sitter-ruby#dc2d7d6b50f9975bc3c35bbec0ba11b2617b736b", - "tree-sitter-rust": "github:tree-sitter/tree-sitter-rust#36ae187ed6dd3803a8a89dbb54f3124c8ee74662", - "tree-sitter-scala": "github:tree-sitter/tree-sitter-scala#master", - "tree-sitter-scss": "github:serenadeai/tree-sitter-scss#c478c6868648eff49eb04a4df90d703dc45b312a", - "tree-sitter-sparql": "^0.1.0", - "tree-sitter-swift": "github:alex-pinkus/tree-sitter-swift#7e4ccc97a25315022a70b730085deccd5680a39b", - "tree-sitter-talon": "github:pokey/tree-sitter-talon#f69923ea2490530babe105f0a36434e4a23e127e", - "tree-sitter-typescript": "github:tree-sitter/tree-sitter-typescript#4ad3010c91d700026d036b5230e2d99ba94ae8a4", - "tree-sitter-xml": "github:ObserverOfTime/tree-sitter-xml#648183d86f6f8ffb240ea11b4c6873f6f45d8b67", - "tree-sitter-yaml": "github:tree-sitter-grammars/tree-sitter-yaml#7b03feefd36b5f155465ca736c6304aca983b267", + "eslint": "^8.53.0", "typescript": "^4.5.5" }, "dependencies": { - "jsonc-parser": "^2.1.0", - "tar": ">=4.4.2", "web-tree-sitter": "^0.24.6" } } diff --git a/yarn.lock b/yarn.lock index 73536a8..8f8e9df 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7,6 +7,11 @@ resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== +"@cursorless/tree-sitter-wasms@0.2.4": + version "0.2.4" + resolved "https://registry.yarnpkg.com/@cursorless/tree-sitter-wasms/-/tree-sitter-wasms-0.2.4.tgz#a5af2779bcfd2d6c642eaead8eb0d9f6bf9595eb" + integrity sha512-99Ezvy6dPXGa+RE4XVbt2UsHGEoj/ljc7i5iaXnOGyHemSpZ7FpbDWHfsGOeX2LUdOVZod1vPeEbR37XJotW8w== + "@electron/rebuild@^3.3.0": version "3.3.0" resolved "https://registry.yarnpkg.com/@electron/rebuild/-/rebuild-3.3.0.tgz#6ba0ae1cb545b2e314901d2ac175ca9c03a2e3da" @@ -26,12 +31,6 @@ tar "^6.0.5" yargs "^17.0.1" -"@elm-tooling/tree-sitter-elm@github:elm-tooling/tree-sitter-elm#0aecfbf69f0c9bcdfada0f6f2c5398235c23949f": - version "5.6.1" - resolved "https://codeload.github.com/elm-tooling/tree-sitter-elm/tar.gz/0aecfbf69f0c9bcdfada0f6f2c5398235c23949f" - dependencies: - nan "^2.15.0" - "@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" @@ -1006,11 +1005,6 @@ globals@^13.19.0: dependencies: type-fest "^0.20.2" -globals@^15.4.0: - version "15.4.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-15.4.0.tgz#3e36ea6e4d9ddcf1cb42d92f5c4a145a8a2ddc1c" - integrity sha512-unnwvMZpv0eDUyjNyh9DH/yxUaRYrEjW/qK4QcdrHg3oO11igUQrCSgODHEqxlKg8v2CD2Sd7UkqqEBoz5U7TQ== - globby@^11.1.0: version "11.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" @@ -1248,11 +1242,6 @@ json-stable-stringify-without-jsonify@^1.0.1: resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== -jsonc-parser@^2.1.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-2.3.1.tgz#59549150b133f2efacca48fe9ce1ec0659af2342" - integrity sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg== - jsonfile@^6.0.1: version "6.1.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" @@ -1477,16 +1466,6 @@ ms@^2.0.0: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== -nan@^2.11.1, nan@^2.14.0, nan@^2.14.1, nan@^2.14.2, nan@^2.15.0, nan@^2.17.0, nan@^2.18.0: - version "2.18.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.18.0.tgz#26a6faae7ffbeb293a39660e88a76b82e30b7554" - integrity sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w== - -nan@^2.16.0: - version "2.19.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.19.0.tgz#bb58122ad55a6c5bc973303908d5b16cfdd5a8c0" - integrity sha512-nO1xXxfh/RWNxfd/XPfbIfFk5vgLsAxUR9y5O0cHMJu/AW9U95JLXqthYHjEp+8gQ5p96K9jUp8nbVOxCdRbtw== - natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" @@ -1504,16 +1483,6 @@ node-abi@^3.45.0: dependencies: semver "^7.3.5" -node-addon-api@8.0.0, node-addon-api@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-8.0.0.tgz#5453b7ad59dd040d12e0f1a97a6fa1c765c5c9d2" - integrity sha512-ipO7rsHEBqa9STO5C5T10fj732ml+5kLN1cAG8/jdHd56ldQeGj3Q7+scUS+VHK/qy1zLEwC4wMK5+yM0btPvw== - -node-addon-api@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-7.1.0.tgz#71f609369379c08e251c558527a107107b5e0fdb" - integrity sha512-mNcltoe1R8o7STTegSOHdnJNN7s5EUvhoS7ShnTHDyOSd+8H+UdWODq6qSv67PjC8Zc5JRT8+oLAMCr0SIXw7g== - node-api-version@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/node-api-version/-/node-api-version-0.1.4.tgz#1ed46a485e462d55d66b5aa1fe2821720dedf080" @@ -1521,11 +1490,6 @@ node-api-version@^0.1.4: dependencies: semver "^7.3.5" -node-gyp-build@^4.8.0, node-gyp-build@^4.8.1: - version "4.8.1" - resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.8.1.tgz#976d3ad905e71b76086f4f0b0d3637fe79b6cda5" - integrity sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw== - node-gyp@^9.0.0: version "9.4.1" resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-9.4.1.tgz#8a1023e0d6766ecb52764cc3a734b36ff275e185" @@ -1918,7 +1882,7 @@ supports-color@^7.1.0: dependencies: has-flag "^4.0.0" -tar@>=4.4.2, tar@^6.0.5, tar@^6.1.11: +tar@^6.0.5, tar@^6.1.11: version "6.1.11" resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621" integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA== @@ -1959,264 +1923,6 @@ to-regex-range@^5.0.1: resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.3.9.tgz#717b8f220cc0bb7b44e40514c22b2e8bbc70d8b9" integrity sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ== -"tree-sitter-agda@github:pokey/tree-sitter-agda#e5fba6cabe8c7fc7993ced2b86704f3841215284": - version "1.3.1" - resolved "https://codeload.github.com/pokey/tree-sitter-agda/tar.gz/e5fba6cabe8c7fc7993ced2b86704f3841215284" - dependencies: - nan "^2.14.0" - -"tree-sitter-bash@github:tree-sitter/tree-sitter-bash#2fbd860f802802ca76a6661ce025b3a3bca2d3ed": - version "0.21.0" - resolved "https://codeload.github.com/tree-sitter/tree-sitter-bash/tar.gz/2fbd860f802802ca76a6661ce025b3a3bca2d3ed" - dependencies: - node-addon-api "^8.0.0" - node-gyp-build "^4.8.0" - -tree-sitter-c-sharp@^0.19.0: - version "0.19.1" - resolved "https://registry.yarnpkg.com/tree-sitter-c-sharp/-/tree-sitter-c-sharp-0.19.1.tgz#2c21afe324bd74986a6ad193f880a1ca271efacc" - integrity sha512-MaUqxVBH9UU+FEKptqOK6EhQ/vuRolZfavtWlXDx+HK7J5b8g8mz4b1SBhaXZaVY4sl3P1wIwVupSV6rxscrUw== - dependencies: - nan "^2.14.0" - -"tree-sitter-c@github:tree-sitter/tree-sitter-c#deca017a554045b4c203e7ddff39ae64ff05e071": - version "0.21.4" - resolved "https://codeload.github.com/tree-sitter/tree-sitter-c/tar.gz/deca017a554045b4c203e7ddff39ae64ff05e071" - dependencies: - node-addon-api "^8.0.0" - node-gyp-build "^4.8.1" - -tree-sitter-cli@=0.20.6: - version "0.20.6" - resolved "https://registry.yarnpkg.com/tree-sitter-cli/-/tree-sitter-cli-0.20.6.tgz#2a7202190d7bd64e112b451f94573dbe40a04f04" - integrity sha512-tjbAeuGSMhco/EnsThjWkQbDIYMDmdkWsTPsa/NJAW7bjaki9P7oM9TkLxfdlnm4LXd1wR5wVSM2/RTLtZbm6A== - -tree-sitter-cli@^0.20.6: - version "0.20.8" - resolved "https://registry.yarnpkg.com/tree-sitter-cli/-/tree-sitter-cli-0.20.8.tgz#06a81cea8d6d82f93d67eed7d28b6bc04a4a8916" - integrity sha512-XjTcS3wdTy/2cc/ptMLc/WRyOLECRYcMTrSWyhZnj1oGSOWbHLTklgsgRICU3cPfb0vy+oZCC33M43u6R1HSCA== - -tree-sitter-cli@^0.22.6: - version "0.22.6" - resolved "https://registry.yarnpkg.com/tree-sitter-cli/-/tree-sitter-cli-0.22.6.tgz#f0542bce4095952c292d3f0300d72aeab442b765" - integrity sha512-s7mYOJXi8sIFkt/nLJSqlYZP96VmKTc3BAwIX0rrrlRxWjWuCwixFqwzxWZBQz4R8Hx01iP7z3cT3ih58BUmZQ== - -"tree-sitter-clojure@github:sogaiu/tree-sitter-clojure#f4236d4da8aa92bc105d9c118746474c608e6af7": - version "0.0.13" - resolved "https://codeload.github.com/sogaiu/tree-sitter-clojure/tar.gz/f4236d4da8aa92bc105d9c118746474c608e6af7" - -"tree-sitter-cpp@github:tree-sitter/tree-sitter-cpp#9d412ba7e597fe158f209da33e60f31b1f0df967": - version "0.22.2" - resolved "https://codeload.github.com/tree-sitter/tree-sitter-cpp/tar.gz/9d412ba7e597fe158f209da33e60f31b1f0df967" - dependencies: - node-addon-api "^8.0.0" - node-gyp-build "^4.8.1" - -tree-sitter-css@^0.19.0: - version "0.19.0" - resolved "https://registry.yarnpkg.com/tree-sitter-css/-/tree-sitter-css-0.19.0.tgz#1543d70fa853d776b31b506c57cf13a387aacf93" - integrity sha512-LYCHS1V2bzeNJr8Mgh60H06qB8NNJyRJVgW1gKCEjcm5S48d8H9xOnrzIlsyLHaXFfnGWCrHJ6jxN6G3s5fJTA== - dependencies: - nan "^2.14.1" - -"tree-sitter-dart@github:UserNobody14/tree-sitter-dart#9ac03bb2154316624fb4c41fe0f372a5f1597b43": - version "1.0.0" - resolved "https://codeload.github.com/UserNobody14/tree-sitter-dart/tar.gz/9ac03bb2154316624fb4c41fe0f372a5f1597b43" - dependencies: - node-addon-api "^7.1.0" - node-gyp-build "^4.8.0" - -"tree-sitter-elixir@github:elixir-lang/tree-sitter-elixir#b20eaa75565243c50be5e35e253d8beb58f45d56": - version "0.19.0" - resolved "https://codeload.github.com/elixir-lang/tree-sitter-elixir/tar.gz/b20eaa75565243c50be5e35e253d8beb58f45d56" - dependencies: - nan "^2.15.0" - -"tree-sitter-gleam@github:gleam-lang/tree-sitter-gleam#2012f294baacf30e7a62414754021284377366c6": - version "1.0.0" - resolved "https://codeload.github.com/gleam-lang/tree-sitter-gleam/tar.gz/2012f294baacf30e7a62414754021284377366c6" - dependencies: - nan "^2.18.0" - -"tree-sitter-go@github:tree-sitter/tree-sitter-go#bbaa67a180cfe0c943e50c55130918be8efb20bd": - version "0.20.0" - resolved "https://codeload.github.com/tree-sitter/tree-sitter-go/tar.gz/bbaa67a180cfe0c943e50c55130918be8efb20bd" - dependencies: - nan "^2.14.0" - -"tree-sitter-haskell@github:tree-sitter/tree-sitter-haskell#a50070d5bb5bd5c1281740a6102ecf1f4b0c4f19": - version "0.21.0" - resolved "https://codeload.github.com/tree-sitter/tree-sitter-haskell/tar.gz/a50070d5bb5bd5c1281740a6102ecf1f4b0c4f19" - dependencies: - node-addon-api "8.0.0" - node-gyp-build "^4.8.1" - -"tree-sitter-hcl@github:MichaHoffmann/tree-sitter-hcl#e135399cb31b95fac0760b094556d1d5ce84acf0": - version "0.2.0-snapshot" - resolved "https://codeload.github.com/MichaHoffmann/tree-sitter-hcl/tar.gz/e135399cb31b95fac0760b094556d1d5ce84acf0" - dependencies: - nan "^2.14.2" - tree-sitter-cli "^0.20.6" - -"tree-sitter-html@github:tree-sitter/tree-sitter-html#e4d834eb4918df01dcad5c27d1b15d56e3bd94cd": - version "0.20.3" - resolved "https://codeload.github.com/tree-sitter/tree-sitter-html/tar.gz/e4d834eb4918df01dcad5c27d1b15d56e3bd94cd" - dependencies: - node-addon-api "^8.0.0" - node-gyp-build "^4.8.1" - -"tree-sitter-java@github:tree-sitter/tree-sitter-java#ac14b4b1884102839455d32543ab6d53ae089ab7": - version "0.19.1" - resolved "https://codeload.github.com/tree-sitter/tree-sitter-java/tar.gz/ac14b4b1884102839455d32543ab6d53ae089ab7" - dependencies: - nan "^2.14.1" - -"tree-sitter-javascript@github:tree-sitter/tree-sitter-javascript#391a8fcc48a11f63bf18ec9885f6f069e760949a": - version "0.21.3" - resolved "https://codeload.github.com/tree-sitter/tree-sitter-javascript/tar.gz/391a8fcc48a11f63bf18ec9885f6f069e760949a" - dependencies: - node-addon-api "^8.0.0" - node-gyp-build "^4.8.1" - -"tree-sitter-json@github:tree-sitter/tree-sitter-json#94f5c527b2965465956c2000ed6134dd24daf2a7": - version "0.21.0" - resolved "https://codeload.github.com/tree-sitter/tree-sitter-json/tar.gz/94f5c527b2965465956c2000ed6134dd24daf2a7" - dependencies: - node-addon-api "^8.0.0" - node-gyp-build "^4.8.0" - -"tree-sitter-julia@github:tree-sitter/tree-sitter-julia#e2f449e2bcc95f1d07ceb62d67f986005f73a6be": - version "0.20.0" - resolved "https://codeload.github.com/tree-sitter/tree-sitter-julia/tar.gz/e2f449e2bcc95f1d07ceb62d67f986005f73a6be" - dependencies: - nan "^2.14.0" - -"tree-sitter-kotlin@github:fwcd/tree-sitter-kotlin#76f53c48d29e8588934fb55b0240d7bdfe00bfe5": - version "0.3.9" - resolved "https://codeload.github.com/fwcd/tree-sitter-kotlin/tar.gz/76f53c48d29e8588934fb55b0240d7bdfe00bfe5" - dependencies: - node-addon-api "^7.1.0" - node-gyp-build "^4.8.0" - -"tree-sitter-latex@github:latex-lsp/tree-sitter-latex#1666e9780de42a31b1376d32fbe8332e8dd5850f": - version "0.1.0" - resolved "https://codeload.github.com/latex-lsp/tree-sitter-latex/tar.gz/1666e9780de42a31b1376d32fbe8332e8dd5850f" - dependencies: - nan "^2.15.0" - -"tree-sitter-lua@github:MunifTanjim/tree-sitter-lua#9668709211b2e683f27f414454a8b51bf0a6bda1": - version "0.0.19" - resolved "https://codeload.github.com/MunifTanjim/tree-sitter-lua/tar.gz/9668709211b2e683f27f414454a8b51bf0a6bda1" - dependencies: - nan "^2.17.0" - -"tree-sitter-markdown@github:tree-sitter-grammars/tree-sitter-markdown#7fe453beacecf02c86f7736439f238f5bb8b5c9b": - version "0.2.3" - resolved "https://codeload.github.com/tree-sitter-grammars/tree-sitter-markdown/tar.gz/7fe453beacecf02c86f7736439f238f5bb8b5c9b" - dependencies: - node-addon-api "^8.0.0" - node-gyp-build "^4.8.0" - -"tree-sitter-nix@github:nix-community/tree-sitter-nix#66e3e9ce9180ae08fc57372061006ef83f0abde7": - version "0.0.2" - resolved "https://codeload.github.com/nix-community/tree-sitter-nix/tar.gz/66e3e9ce9180ae08fc57372061006ef83f0abde7" - dependencies: - nan "^2.17.0" - -"tree-sitter-perl@github:ganezdragon/tree-sitter-perl#3d3a95ee6645d7bcd993e77b252ffd33fd297c8e": - version "0.3.0" - resolved "https://codeload.github.com/ganezdragon/tree-sitter-perl/tar.gz/3d3a95ee6645d7bcd993e77b252ffd33fd297c8e" - dependencies: - nan "^2.14.1" - -"tree-sitter-php@github:tree-sitter/tree-sitter-php#4f124bc6075e1c3333e80190c1c170933ed72c95": - version "0.22.5" - resolved "https://codeload.github.com/tree-sitter/tree-sitter-php/tar.gz/4f124bc6075e1c3333e80190c1c170933ed72c95" - dependencies: - globals "^15.4.0" - node-addon-api "^8.0.0" - node-gyp-build "^4.8.1" - -"tree-sitter-python@github:tree-sitter/tree-sitter-python#71778c2a472ed00a64abf4219544edbf8e4b86d7": - version "0.21.0" - resolved "https://codeload.github.com/tree-sitter/tree-sitter-python/tar.gz/71778c2a472ed00a64abf4219544edbf8e4b86d7" - dependencies: - node-addon-api "^7.1.0" - node-gyp-build "^4.8.0" - -"tree-sitter-query@github:nvim-treesitter/tree-sitter-query#5217c6805c09f8fc00ed13d17d5fcb791437aee6": - version "1.0.0" - resolved "https://codeload.github.com/nvim-treesitter/tree-sitter-query/tar.gz/5217c6805c09f8fc00ed13d17d5fcb791437aee6" - dependencies: - nan "^2.14.2" - -"tree-sitter-ruby@github:tree-sitter/tree-sitter-ruby#dc2d7d6b50f9975bc3c35bbec0ba11b2617b736b": - version "0.21.0" - resolved "https://codeload.github.com/tree-sitter/tree-sitter-ruby/tar.gz/dc2d7d6b50f9975bc3c35bbec0ba11b2617b736b" - dependencies: - node-addon-api "^8.0.0" - node-gyp-build "^4.8.1" - -"tree-sitter-rust@github:tree-sitter/tree-sitter-rust#36ae187ed6dd3803a8a89dbb54f3124c8ee74662": - version "0.20.1" - resolved "https://codeload.github.com/tree-sitter/tree-sitter-rust/tar.gz/36ae187ed6dd3803a8a89dbb54f3124c8ee74662" - dependencies: - nan "^2.14.0" - -"tree-sitter-scala@github:tree-sitter/tree-sitter-scala#master": - version "0.19.0" - resolved "https://codeload.github.com/tree-sitter/tree-sitter-scala/tar.gz/140c96cf398693189d4e50f76d19ddfcd8a018f8" - dependencies: - nan "^2.14.1" - -"tree-sitter-scss@github:serenadeai/tree-sitter-scss#c478c6868648eff49eb04a4df90d703dc45b312a": - version "0.0.1" - resolved "https://codeload.github.com/serenadeai/tree-sitter-scss/tar.gz/c478c6868648eff49eb04a4df90d703dc45b312a" - dependencies: - nan "^2.11.1" - -tree-sitter-sparql@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/tree-sitter-sparql/-/tree-sitter-sparql-0.1.0.tgz#1619cee88a4e3b1daaf27268a34c519747c801b1" - integrity sha512-qtNTPef7zCyrmxuhpI8dtppzEYR2A6XtyPUqJeqTr2soZLLqUacWXezkFFhMNrvyMUknN9Fgua9EEpt1/lG/Zw== - dependencies: - nan "^2.14.1" - -"tree-sitter-swift@github:alex-pinkus/tree-sitter-swift#7e4ccc97a25315022a70b730085deccd5680a39b": - version "0.3.6" - resolved "https://codeload.github.com/alex-pinkus/tree-sitter-swift/tar.gz/7e4ccc97a25315022a70b730085deccd5680a39b" - dependencies: - nan "^2.15.0" - tree-sitter-cli "=0.20.6" - which "2.0.2" - -"tree-sitter-talon@github:pokey/tree-sitter-talon#f69923ea2490530babe105f0a36434e4a23e127e": - version "4.0.0" - resolved "https://codeload.github.com/pokey/tree-sitter-talon/tar.gz/f69923ea2490530babe105f0a36434e4a23e127e" - dependencies: - nan "^2.16.0" - -"tree-sitter-typescript@github:tree-sitter/tree-sitter-typescript#4ad3010c91d700026d036b5230e2d99ba94ae8a4": - version "0.21.1" - resolved "https://codeload.github.com/tree-sitter/tree-sitter-typescript/tar.gz/4ad3010c91d700026d036b5230e2d99ba94ae8a4" - dependencies: - node-addon-api "^8.0.0" - node-gyp-build "^4.8.1" - -"tree-sitter-xml@github:ObserverOfTime/tree-sitter-xml#648183d86f6f8ffb240ea11b4c6873f6f45d8b67": - version "0.6.3" - resolved "https://codeload.github.com/ObserverOfTime/tree-sitter-xml/tar.gz/648183d86f6f8ffb240ea11b4c6873f6f45d8b67" - dependencies: - node-addon-api "^8.0.0" - node-gyp-build "^4.8.1" - -"tree-sitter-yaml@github:tree-sitter-grammars/tree-sitter-yaml#7b03feefd36b5f155465ca736c6304aca983b267": - version "0.6.1" - resolved "https://codeload.github.com/tree-sitter-grammars/tree-sitter-yaml/tar.gz/7b03feefd36b5f155465ca736c6304aca983b267" - dependencies: - node-addon-api "^8.0.0" - node-gyp-build "^4.8.0" - 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" @@ -2298,7 +2004,7 @@ web-tree-sitter@^0.24.6: resolved "https://registry.yarnpkg.com/web-tree-sitter/-/web-tree-sitter-0.24.6.tgz#05d15f15ca506a2615b7a97b3abc5183923812f2" integrity sha512-NVG40wwFerkvOSsrY2NE56nKpzwCpn8VT51gqZZaIfkBCMu+0JZLFVwJlZLPO01Ewfq3+Xg+NY4Bot5GD0L03g== -which@2.0.2, which@^2.0.1, which@^2.0.2: +which@^2.0.1, which@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== From 343b01fa2d4a24d6a1d26c042cea5ff59c7e01fb Mon Sep 17 00:00:00 2001 From: Andreas Arvidsson Date: Mon, 21 Apr 2025 14:29:10 +0200 Subject: [PATCH 2/5] Update csharp wasm file name --- src/extension.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/extension.ts b/src/extension.ts index 7de21eb..cce2b75 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -1,6 +1,7 @@ import * as vscode from "vscode"; import * as Parser from "web-tree-sitter"; import * as path from "path"; +import * as fs from "fs"; import { LanguageStillLoadingError, UnsupportedLanguageError } from "./errors"; interface Language { @@ -16,7 +17,7 @@ const languages: { c: { module: "tree-sitter-c" }, clojure: { module: "tree-sitter-clojure" }, cpp: { module: "tree-sitter-cpp" }, - csharp: { module: "tree-sitter-c-sharp" }, + csharp: { module: "tree-sitter-c_sharp" }, css: { module: "tree-sitter-css" }, dart: { module: "tree-sitter-dart" }, elm: { module: "tree-sitter-elm" }, @@ -91,6 +92,10 @@ export async function activate(context: vscode.ExtensionContext) { ); } + if (!fs.existsSync(absolute)) { + throw Error(`Parser for ${languageId} not found at ${absolute}`); + } + const wasm = path.relative(process.cwd(), absolute); await initParser; const lang = await Parser.Language.load(wasm); From 7aa3ac946d3dbd3150c85e005586c91e40981320 Mon Sep 17 00:00:00 2001 From: Andreas Arvidsson Date: Mon, 21 Apr 2025 16:28:12 +0200 Subject: [PATCH 3/5] New version --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 716e600..11b2fa3 100644 --- a/package.json +++ b/package.json @@ -86,7 +86,7 @@ "publish": "vsce publish patch" }, "devDependencies": { - "@cursorless/tree-sitter-wasms": "0.2.4", + "@cursorless/tree-sitter-wasms": "0.2.5", "@electron/rebuild": "^3.3.0", "@types/mocha": "^2.2.42", "@types/node": "^8.10.25", diff --git a/yarn.lock b/yarn.lock index 8f8e9df..309a361 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7,10 +7,10 @@ resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== -"@cursorless/tree-sitter-wasms@0.2.4": - version "0.2.4" - resolved "https://registry.yarnpkg.com/@cursorless/tree-sitter-wasms/-/tree-sitter-wasms-0.2.4.tgz#a5af2779bcfd2d6c642eaead8eb0d9f6bf9595eb" - integrity sha512-99Ezvy6dPXGa+RE4XVbt2UsHGEoj/ljc7i5iaXnOGyHemSpZ7FpbDWHfsGOeX2LUdOVZod1vPeEbR37XJotW8w== +"@cursorless/tree-sitter-wasms@0.2.5": + version "0.2.5" + resolved "https://registry.yarnpkg.com/@cursorless/tree-sitter-wasms/-/tree-sitter-wasms-0.2.5.tgz#575c4961ff56627f3e544cfc9a9983360901ab83" + integrity sha512-nyxFQb2Qj7uQSPxZ+/7dPQV4Q7pzzgwPioS1mYoMSCLQEsU9GokvM+5jrQL60aXXaODqgJEmGvuIo9CQIZ6qPw== "@electron/rebuild@^3.3.0": version "3.3.0" From 47f7ec4ee64d60771e3b114e8a44ed201662df6c Mon Sep 17 00:00:00 2001 From: Andreas Arvidsson Date: Tue, 22 Apr 2025 07:19:18 +0200 Subject: [PATCH 4/5] update changelog and vscode ignore --- .vscodeignore | 5 ++++- CHANGELOG.md | 6 ++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/.vscodeignore b/.vscodeignore index b027db0..9c30235 100644 --- a/.vscodeignore +++ b/.vscodeignore @@ -8,4 +8,7 @@ vsc-extension-quickstart.md **/tslint.json **/*.map **/*.ts -examples/** \ No newline at end of file +examples/** +.github/** +copy-assets.sh +.nvmrc \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index a0d5096..81e047a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,12 @@ All notable changes to the "vscode-parse-tree" extension will be documented in this file. +## 0.33.0 (22 Apr 2025) + +### Enhancements + +- Stop building wasm and instead use dependency `@cursorless/tree-sitter-wasms` [#103](https://github.com/cursorless-dev/vscode-parse-tree/pull/103) ([AndreasArvidsson](https://github.com/AndreasArvidsson)) + ## 0.32.0 (25 Oct 2024) ### Enhancements From 3e368abd4d4fe5808564cdb0017f37d3dfd90c0d Mon Sep 17 00:00:00 2001 From: Andreas Arvidsson Date: Tue, 22 Apr 2025 07:20:11 +0200 Subject: [PATCH 5/5] New line --- .vscodeignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.vscodeignore b/.vscodeignore index 9c30235..3bbb18d 100644 --- a/.vscodeignore +++ b/.vscodeignore @@ -11,4 +11,4 @@ vsc-extension-quickstart.md examples/** .github/** copy-assets.sh -.nvmrc \ No newline at end of file +.nvmrc