From 52e47017742c93893506d8fe315b085ccb8d4d7c Mon Sep 17 00:00:00 2001 From: Silico_Biomancer Date: Thu, 4 Dec 2025 22:33:06 +1300 Subject: [PATCH 1/3] feat: respect CURSORLESS_VSCODE_COMMAND in generateTestSubsetFile script (#3115) Otherwise this breaks on systems without code installed Co-authored-by: bluedrink9 --- packages/test-harness/src/scripts/generateTestSubsetFile.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/test-harness/src/scripts/generateTestSubsetFile.ts b/packages/test-harness/src/scripts/generateTestSubsetFile.ts index 7188c53601..ebeb2c50a4 100644 --- a/packages/test-harness/src/scripts/generateTestSubsetFile.ts +++ b/packages/test-harness/src/scripts/generateTestSubsetFile.ts @@ -20,6 +20,8 @@ languages/go/ */ function run() { const testSubsetGrepPath = testSubsetFilePath(); + // Use CURSORLESS_VSCODE_COMMAND environment variable if set, otherwise default to 'code' + const vscodeCommand = process.env.CURSORLESS_VSCODE_COMMAND || "code"; const exists = fs.existsSync(testSubsetGrepPath); @@ -28,7 +30,7 @@ function run() { } if (!exists || process.argv.includes("--always-open")) { - child.execSync(`code ${testSubsetGrepPath}`); + child.execSync(`${vscodeCommand} ${testSubsetGrepPath}`); } if (!exists && process.argv.includes("--fail-if-not-exists")) { From 220c1d1495b89cc07fb5394eaa3a14c1878f48b8 Mon Sep 17 00:00:00 2001 From: Andreas Arvidsson Date: Wed, 11 Mar 2026 21:31:51 +0100 Subject: [PATCH 2/3] Replace Talon snippets with Cursorless Talon tools --- packages/cursorless-engine/package.json | 2 +- .../GenerateSnippet/GenerateSnippet.ts | 2 +- packages/cursorless-vscode/package.json | 1 - pnpm-lock.yaml | 65 +++++++++++++++---- 4 files changed, 56 insertions(+), 14 deletions(-) diff --git a/packages/cursorless-engine/package.json b/packages/cursorless-engine/package.json index 688f700e83..2375446e47 100644 --- a/packages/cursorless-engine/package.json +++ b/packages/cursorless-engine/package.json @@ -30,13 +30,13 @@ "@cursorless/common": "workspace:*", "@cursorless/node-common": "workspace:*", "@cursorless/sentence-parser": "workspace:*", + "@cursorless/talon-tools": "^0.6.0", "immer": "^11.1.4", "immutability-helper": "^3.1.1", "itertools": "^2.6.0", "lodash-es": "^4.17.23", "moo": "^0.5.3", "nearley": "^2.20.1", - "talon-snippets": "^1.3.0", "uuid": "^13.0.0", "zod": "^4.3.6" }, diff --git a/packages/cursorless-engine/src/actions/GenerateSnippet/GenerateSnippet.ts b/packages/cursorless-engine/src/actions/GenerateSnippet/GenerateSnippet.ts index f3eca4e4d8..539544cc25 100644 --- a/packages/cursorless-engine/src/actions/GenerateSnippet/GenerateSnippet.ts +++ b/packages/cursorless-engine/src/actions/GenerateSnippet/GenerateSnippet.ts @@ -13,7 +13,7 @@ import { type SnippetFile, type SnippetHeader, type SnippetVariable, -} from "talon-snippets"; +} from "@cursorless/talon-tools"; import type { Snippets } from "../../core/Snippets"; import { ide } from "../../singletons/ide.singleton"; import type { Target } from "../../typings/target.types"; diff --git a/packages/cursorless-vscode/package.json b/packages/cursorless-vscode/package.json index 34d14befbd..1a0b71b47a 100644 --- a/packages/cursorless-vscode/package.json +++ b/packages/cursorless-vscode/package.json @@ -1287,7 +1287,6 @@ "lodash-es": "^4.17.23", "nearley": "^2.20.1", "semver": "^7.7.4", - "talon-snippets": "^1.3.0", "trie-search": "^2.2.1", "uuid": "^13.0.0", "vscode-uri": "^3.1.0" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 70bb944e5c..f1f98e90e3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -282,6 +282,9 @@ importers: '@cursorless/sentence-parser': specifier: workspace:* version: link:../sentence-parser + '@cursorless/talon-tools': + specifier: ^0.6.0 + version: 0.6.0 immer: specifier: ^11.1.4 version: 11.1.4 @@ -300,9 +303,6 @@ importers: nearley: specifier: ^2.20.1 version: 2.20.1(patch_hash=0db19a2c501b16f37fbd86a94190d4a790184cea1061bf2e07f24eb076d4f2cf) - talon-snippets: - specifier: ^1.3.0 - version: 1.3.0 uuid: specifier: ^13.0.0 version: 13.0.0 @@ -674,9 +674,6 @@ importers: semver: specifier: ^7.7.4 version: 7.7.4 - talon-snippets: - specifier: ^1.3.0 - version: 1.3.0 trie-search: specifier: ^2.2.1 version: 2.2.1 @@ -2039,6 +2036,13 @@ packages: peerDependencies: postcss: ^8.4 + '@cursorless/talon-tools@0.6.0': + resolution: {integrity: sha512-UjTzedt/Ge8skBkyCLCydU/tTBalIIoVwA0BsdOlIFCdLNLyeX1siYS0cLRU3bkXUkOcNSMU44YbC9XiIvTgyg==} + hasBin: true + + '@cursorless/tree-sitter-wasms@0.7.0': + resolution: {integrity: sha512-yGmyFb75nmicYyXqKm0TMEydA8QF76kr/+dvBcu9eSN093CKijLYYgsg3xGU44K3lUI2Vjfec5OJ4tyaYssahA==} + '@dabh/diagnostics@2.0.8': resolution: {integrity: sha512-R4MSXTVnuMzGD7bzHdW2ZhhdPC/igELENcq5IjEverBvq5hn1SXCWcsi6eSsdWP0/Ur+SItRRjAktmdoX/8R/Q==} @@ -3080,6 +3084,9 @@ packages: resolution: {integrity: sha512-/xGlezI6xfGO9NwuJlnwz/K14qD1kCSAGtacBHnGzeAIuJGazcp45KP5NuyARXoKb7cwulAGWVsbeSxdG/cb0Q==} engines: {node: ^18.17.0 || >=20.5.0} + '@one-ini/wasm@0.2.1': + resolution: {integrity: sha512-TUqERXGNTifZ9y2g3wPxQrw3HpHv/02DsW3D90T9x0hhonrL1ZqpSmNrU2XkoIq0fP1N6gZfVQzy2Fw1ZvGBNg==} + '@opentelemetry/api@1.9.0': resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==} engines: {node: '>=8.0.0'} @@ -5364,6 +5371,10 @@ packages: resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} engines: {node: '>=18'} + commander@14.0.3: + resolution: {integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==} + engines: {node: '>=20'} + commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} @@ -5903,6 +5914,11 @@ packages: eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + editorconfig@3.0.2: + resolution: {integrity: sha512-T0ix8GhtxyKVfUFEcvdNDt3YGqlwkFHbD4/5bgFUDgFmxhI/cSRAeJ87/Sz//Cq8Eam6JX/e23RkoFO71P7aAA==} + engines: {node: '>=20'} + hasBin: true + ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} @@ -6551,6 +6567,10 @@ packages: get-source@2.0.12: resolution: {integrity: sha512-X5+4+iD+HoSeEED+uwrQ07BOQr0kEDFMVqqpBuI+RaZBpBpHCuXxo70bjar6f0b0u/DQJsJ7ssurpP0V60Az+w==} + get-stdin@10.0.0: + resolution: {integrity: sha512-eWSePJ4zXFdqz+/Lyfopob4rIcoF/U2XfE8nJc7iZV6lnebWc9k7DoQQpX+2a9jc0AOvBsXvbe5YkjXl/MHbpg==} + engines: {node: '>=20'} + get-stream@6.0.1: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} @@ -10237,9 +10257,6 @@ packages: tailwindcss@4.2.1: resolution: {integrity: sha512-/tBrSQ36vCleJkAOsy9kbNTgaxvGbyOamC30PRePTQe/o1MFwEKHQk4Cn7BNGaPtjp+PuUrByJehM1hgxfq4sw==} - talon-snippets@1.3.0: - resolution: {integrity: sha512-iFc1ePBQyaqZ73TL0lVgY+G8/DBfFTSiBRVdT2wT1CdPDips6usxSkBmXKGTDgHYJKstQx/NpXhIc0vXiAL4Kw==} - tapable@2.3.0: resolution: {integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==} engines: {node: '>=6'} @@ -10753,6 +10770,9 @@ packages: web-namespaces@2.0.1: resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} + web-tree-sitter@0.26.6: + resolution: {integrity: sha512-fSPR7VBW/fZQdUSp/bXTDLT+i/9dwtbnqgEBMzowrM4U3DzeCwDbY3MKo0584uQxID4m/1xpLflrlT/rLIRPew==} + webidl-conversions@7.0.0: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} engines: {node: '>=12'} @@ -12317,6 +12337,16 @@ snapshots: dependencies: postcss: 8.5.8 + '@cursorless/talon-tools@0.6.0': + dependencies: + '@cursorless/tree-sitter-wasms': 0.7.0 + editorconfig: 3.0.2 + fast-glob: 3.3.3 + get-stdin: 10.0.0 + web-tree-sitter: 0.26.6 + + '@cursorless/tree-sitter-wasms@0.7.0': {} + '@dabh/diagnostics@2.0.8': dependencies: '@so-ric/colorspace': 1.1.6 @@ -13927,6 +13957,8 @@ snapshots: dependencies: semver: 7.7.4 + '@one-ini/wasm@0.2.1': {} + '@opentelemetry/api@1.9.0': optional: true @@ -16890,6 +16922,8 @@ snapshots: commander@12.1.0: {} + commander@14.0.3: {} + commander@2.20.3: {} commander@5.1.0: {} @@ -17440,6 +17474,13 @@ snapshots: eastasianwidth@0.2.0: {} + editorconfig@3.0.2: + dependencies: + '@one-ini/wasm': 0.2.1 + commander: 14.0.3 + minimatch: 10.2.4 + semver: 7.7.4 + ee-first@1.1.1: {} electron-to-chromium@1.5.307: {} @@ -18320,6 +18361,8 @@ snapshots: data-uri-to-buffer: 2.0.2 source-map: 0.6.1 + get-stdin@10.0.0: {} + get-stream@6.0.1: {} get-symbol-description@1.1.0: @@ -22820,8 +22863,6 @@ snapshots: tailwindcss@4.2.1: {} - talon-snippets@1.3.0: {} - tapable@2.3.0: {} tar@7.5.10: @@ -23350,6 +23391,8 @@ snapshots: web-namespaces@2.0.1: {} + web-tree-sitter@0.26.6: {} + webidl-conversions@7.0.0: {} webpack-bundle-analyzer@4.10.2: From 7a8fdea917460b856a3457c783250faf0863b981 Mon Sep 17 00:00:00 2001 From: Andreas Arvidsson Date: Wed, 11 Mar 2026 22:46:38 +0100 Subject: [PATCH 3/3] Update dependency --- packages/cursorless-engine/package.json | 2 +- pnpm-lock.yaml | 20 ++++++++++++++------ 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/packages/cursorless-engine/package.json b/packages/cursorless-engine/package.json index dee0703dd5..5117cd8790 100644 --- a/packages/cursorless-engine/package.json +++ b/packages/cursorless-engine/package.json @@ -30,7 +30,7 @@ "@cursorless/common": "workspace:*", "@cursorless/node-common": "workspace:*", "@cursorless/sentence-parser": "workspace:*", - "@cursorless/talon-tools": "^0.6.0", + "@cursorless/talon-tools": "^0.7.0", "immer": "^11.1.4", "immutability-helper": "^3.1.1", "itertools": "^2.6.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ade20ace3e..b8885d3c1a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -286,8 +286,8 @@ importers: specifier: workspace:* version: link:../sentence-parser '@cursorless/talon-tools': - specifier: ^0.6.0 - version: 0.6.0 + specifier: ^0.7.0 + version: 0.7.0 immer: specifier: ^11.1.4 version: 11.1.4 @@ -2057,6 +2057,10 @@ packages: peerDependencies: postcss: ^8.4 + '@cursorless/talon-tools@0.7.0': + resolution: {integrity: sha512-P7sJyKC61UfhX2P+5KIV9pME7qx6M7L4tgDGOO7RNSrfoTXsP+SSjFDh/0zxyXinO9J3J6acCf/z+acIEIbVWA==} + hasBin: true + '@cursorless/tree-sitter-wasms@0.7.0': resolution: {integrity: sha512-yGmyFb75nmicYyXqKm0TMEydA8QF76kr/+dvBcu9eSN093CKijLYYgsg3xGU44K3lUI2Vjfec5OJ4tyaYssahA==} @@ -10274,10 +10278,6 @@ packages: tailwindcss@4.2.1: resolution: {integrity: sha512-/tBrSQ36vCleJkAOsy9kbNTgaxvGbyOamC30PRePTQe/o1MFwEKHQk4Cn7BNGaPtjp+PuUrByJehM1hgxfq4sw==} - talon-snippets@1.3.0: - resolution: {integrity: sha512-iFc1ePBQyaqZ73TL0lVgY+G8/DBfFTSiBRVdT2wT1CdPDips6usxSkBmXKGTDgHYJKstQx/NpXhIc0vXiAL4Kw==} - deprecated: 'Deprecated: use @cursorless/talon-tools instead.' - tapable@2.3.0: resolution: {integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==} engines: {node: '>=6'} @@ -12358,6 +12358,14 @@ snapshots: dependencies: postcss: 8.5.8 + '@cursorless/talon-tools@0.7.0': + dependencies: + '@cursorless/tree-sitter-wasms': 0.7.0 + editorconfig: 3.0.2 + fast-glob: 3.3.3 + get-stdin: 10.0.0 + web-tree-sitter: 0.26.6 + '@cursorless/tree-sitter-wasms@0.7.0': {} '@dabh/diagnostics@2.0.8':