Skip to content

Commit 1987f51

Browse files
committed
Merge branch 'main' into pr/fidgetingbits/2012
2 parents 8dedf7e + 2d07d11 commit 1987f51

File tree

4,070 files changed

+42471
-19445
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

4,070 files changed

+42471
-19445
lines changed

.editorconfig

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,13 @@ insert_final_newline = false
2222
# with a line that has trailing white space. Many of our recorded
2323
# tests use strings with trailing white space to represent the final
2424
# document contents. For example
25-
# packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/ruby/changeCondition.yml
25+
# data/fixtures/recorded/languages/ruby/changeCondition.yml
2626
trim_trailing_whitespace = false
2727

2828
[Makefile]
2929
indent_style = tab
3030

31-
[**/vendor/**]
31+
[**/{vendor,generated}/**]
3232
charset = unset
3333
end_of_line = unset
3434
indent_size = unset

.eslintrc.json

+17-3
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,13 @@
1111
"ecmaVersion": 6,
1212
"sourceType": "module"
1313
},
14-
"plugins": ["@typescript-eslint", "unused-imports", "import"],
14+
"plugins": [
15+
"@typescript-eslint",
16+
"unused-imports",
17+
"import",
18+
"unicorn",
19+
"mocha"
20+
],
1521
"rules": {
1622
"import/no-relative-packages": "error",
1723
"@typescript-eslint/consistent-type-assertions": [
@@ -52,7 +58,10 @@
5258
"MemberExpression[object.property.name='constructor'][property.name='name']"
5359
],
5460
"no-throw-literal": "warn",
55-
"semi": "off"
61+
"semi": "off",
62+
"unicorn/prefer-module": "error",
63+
"mocha/no-skipped-tests": "error",
64+
"mocha/no-exclusive-tests": "error"
5665
},
5766
"overrides": [
5867
{
@@ -77,5 +86,10 @@
7786
}
7887
}
7988
},
80-
"ignorePatterns": ["**/vendor/**/*.ts", "**/vendor/**/*.js", "**/out/**"]
89+
"ignorePatterns": [
90+
"**/vendor/**/*.ts",
91+
"**/vendor/**/*.js",
92+
"**/out/**",
93+
"**/generated/**"
94+
]
8195
}

.github/CODEOWNERS

+3
Original file line numberDiff line numberDiff line change
@@ -1 +1,4 @@
11
* @pokey @AndreasArvidsson
2+
3+
*keyboard* @pokey @AndreasArvidsson @josharian
4+
*Keyboard* @pokey @AndreasArvidsson @josharian
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
body:
2+
- type: markdown
3+
attributes:
4+
value: |
5+
You are submitting to our Architecture Decision Record.
6+
Learn more about ADRs at <https://adr.github.io>, and discussion #1211.
7+
8+
- type: textarea
9+
attributes:
10+
label: Context
11+
description: The issue motivating this decision, and any context that influences or constrains the decision.
12+
validations:
13+
required: true
14+
15+
- type: textarea
16+
attributes:
17+
label: Options considered
18+
19+
- type: textarea
20+
attributes:
21+
label: Decision
22+
description: "The change that we're proposing or have agreed to implement."
23+
24+
- type: textarea
25+
attributes:
26+
label: Consequences
27+
description: What becomes easier or more difficult to do and any risks introduced by the change that will need to be mitigated.

.github/workflows/codeql.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ jobs:
4545

4646
steps:
4747
- name: Checkout repository
48-
uses: actions/checkout@v3
48+
uses: actions/checkout@v4
4949

5050
# Initializes the CodeQL tools for scanning.
5151
- name: Initialize CodeQL

.github/workflows/deploy.yaml

+5-5
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,13 @@ jobs:
1414
env:
1515
CURSORLESS_REPO_ROOT: ${{ github.workspace }}
1616
steps:
17-
- uses: actions/checkout@v3
17+
- uses: actions/checkout@v4
1818
with:
1919
fetch-depth: 0
20-
- uses: pnpm/action-setup@v2
21-
- uses: actions/setup-node@v3
20+
- run: corepack enable
21+
- uses: actions/setup-node@v4
2222
with:
23-
node-version: 16
23+
node-version-file: .nvmrc
2424
cache: pnpm
2525
- run: pnpm --color install
2626
- run: pnpm --color compile
@@ -46,7 +46,7 @@ jobs:
4646
needs: publish-extension
4747
environment: production
4848
steps:
49-
- uses: actions/checkout@v3
49+
- uses: actions/checkout@v4
5050
with:
5151
fetch-depth: 0
5252
token: ${{ secrets.CURSORLESS_BOT_TOKEN }}

.github/workflows/forbid-todo.yml

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
name: Forbid TODO
2+
3+
on:
4+
pull_request:
5+
types: [opened, synchronize, reopened]
6+
merge_group:
7+
branches: [main]
8+
9+
jobs:
10+
forbid-todo:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@v4
14+
- name: Forbid TODO
15+
run: ./scripts/forbid-todo.sh

.github/workflows/pre-commit.yml

+4-4
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,14 @@ jobs:
1414
name: Pre-commit
1515
runs-on: ubuntu-latest
1616
steps:
17-
- uses: actions/checkout@v3
17+
- uses: actions/checkout@v4
1818
- uses: actions/setup-python@v4
1919
with:
2020
python-version: 3.x
21-
- uses: pnpm/action-setup@v2
22-
- uses: actions/setup-node@v3
21+
- run: corepack enable
22+
- uses: actions/setup-node@v4
2323
with:
24-
node-version: 16
24+
node-version-file: .nvmrc
2525
cache: pnpm
2626
- run: pnpm --color install
2727
- uses: pre-commit/[email protected]

.github/workflows/test-docs.yml

+4-4
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ jobs:
1212
env:
1313
CURSORLESS_REPO_ROOT: ${{ github.workspace }}
1414
steps:
15-
- uses: actions/checkout@v3
16-
- uses: pnpm/action-setup@v2
17-
- uses: actions/setup-node@v3
15+
- uses: actions/checkout@v4
16+
- run: corepack enable
17+
- uses: actions/setup-node@v4
1818
with:
19-
node-version: 16
19+
node-version-file: .nvmrc
2020
cache: pnpm
2121
- run: bash -x scripts/build-and-assemble-website.sh

.github/workflows/test.yml

+7-9
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,11 @@ jobs:
2727
VSCODE_LOGS_DIR: ${{ github.workspace }}/artifacts/logs
2828
CURSORLESS_REPO_ROOT: ${{ github.workspace }}
2929
steps:
30-
- uses: actions/checkout@v3
31-
- uses: pnpm/action-setup@v2
32-
- uses: actions/setup-node@v3
30+
- uses: actions/checkout@v4
31+
- run: corepack enable
32+
- uses: actions/setup-node@v4
3333
with:
34-
node-version: 16
34+
node-version-file: .nvmrc
3535
cache: pnpm
3636
- run: mkdir -p "${{ env.VSCODE_CRASH_DIR }}" "${{ env.VSCODE_LOGS_DIR }}"
3737
shell: bash
@@ -55,22 +55,20 @@ jobs:
5555
- run: mv ${{ steps.createVsix.outputs.vsixPath }} cursorless-development.vsix
5656
if: runner.os == 'Linux' && matrix.vscode_version == 'stable'
5757
- name: Upload vsix
58-
uses: actions/upload-artifact@v3
58+
uses: actions/upload-artifact@v4
5959
if: runner.os == 'Linux' && matrix.vscode_version == 'stable'
6060
with:
6161
name: vsix
6262
path: cursorless-development.vsix
6363
- name: Archive logs
64-
uses: actions/upload-artifact@v3
64+
uses: actions/upload-artifact@v4
6565
with:
6666
name: logs
6767
path: ${{ env.VSCODE_LOGS_DIR }}
6868
if: failure()
6969
- name: Archive dumps
70-
uses: actions/upload-artifact@v3
70+
uses: actions/upload-artifact@v4
7171
with:
7272
name: dumps
7373
path: ${{ env.VSCODE_CRASH_DIR }}
7474
if: failure()
75-
- name: Forbid TODOs
76-
run: ./scripts/forbid-todo.sh

.nvmrc

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
v20.12.1

.pre-commit-config.yaml

+12-15
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ repos:
3030
- id: detect-private-key
3131
- id: end-of-file-fixer
3232
exclude_types: [svg]
33-
exclude: patches/.*\.patch
33+
exclude: ^patches/.*\.patch$|\.scope$
3434
- id: fix-byte-order-marker
3535
- id: forbid-submodules
3636
- id: mixed-line-ending
@@ -39,8 +39,8 @@ repos:
3939
# with a line that has trailing white space. Many of our recorded
4040
# tests use strings with trailing white space to represent the final
4141
# document contents. For example
42-
# packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/languages/ruby/changeCondition.yml
43-
exclude: ^packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/.*/[^/]*\.yml$
42+
# data/fixtures/recorded/languages/ruby/changeCondition.yml
43+
exclude: ^data/fixtures/recorded/.*/[^/]*\.yml$|\.scope$|/generated/|^patches/
4444
- repo: local
4545
hooks:
4646
- id: eslint
@@ -61,26 +61,23 @@ repos:
6161
hooks:
6262
- id: format-recorded-tests
6363
name: format-recorded-tests
64-
files: ^packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/.*/[^/]*\.yml$
64+
files: ^data/fixtures/recorded/.*/[^/]*\.yml$
6565
language: system
66-
entry: pnpm exec tsx --conditions=cursorless:bundler packages/cursorless-engine/src/scripts/transformRecordedTests/index.ts
66+
entry: pnpm exec ./packages/common/scripts/my-ts-node.js packages/cursorless-engine/src/scripts/transformRecordedTests/index.ts
6767
- repo: local
6868
hooks:
6969
- id: check-recorded-test-marks
7070
name: check-recorded-test-marks
71-
files: ^packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/.*/[^/]*\.yml$
71+
files: ^data/fixtures/recorded/.*/[^/]*\.yml$
7272
language: system
73-
entry: pnpm exec tsx --conditions=cursorless:bundler packages/cursorless-engine/src/scripts/transformRecordedTests/index.ts --check-marks
74-
- repo: https://github.com/ikamensh/flynt/
75-
rev: "0.78"
73+
entry: pnpm exec ./packages/common/scripts/my-ts-node.js packages/cursorless-engine/src/scripts/transformRecordedTests/index.ts --check-marks
74+
- repo: https://github.com/ikamensh/flynt
75+
rev: "1.0.1"
7676
hooks:
7777
- id: flynt
78-
- repo: https://github.com/charliermarsh/ruff-pre-commit
79-
rev: "v0.0.260"
78+
- repo: https://github.com/astral-sh/ruff-pre-commit
79+
rev: v0.4.1
8080
hooks:
8181
- id: ruff
8282
args: [--fix, --exit-non-zero-on-fix]
83-
- repo: https://github.com/psf/black
84-
rev: 23.3.0
85-
hooks:
86-
- id: black
83+
- id: ruff-format

.prettierignore

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
**/vendor
2+
**/generated
23

34
# We use our own format for our recorded yaml tests to keep them compact
4-
/packages/cursorless-vscode-e2e/src/suite/fixtures/recorded/**/*.yml
5+
/data/fixtures/recorded/**/*.yml
56

67
pnpm-lock.yaml
78

.prettierrc

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
{
2-
"trailingComma": "all"
2+
"trailingComma": "all",
3+
"plugins": ["prettier-plugin-tailwindcss"]
34
}

.vscode/extensions.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
"dbaeumer.vscode-eslint",
88
"esbenp.prettier-vscode",
99
"jrieken.vscode-tree-sitter-query",
10-
"wenkokke.tree-sitter-talon"
10+
"wenkokke.tree-sitter-talon",
11+
"usernamehw.commands"
1112
]
1213
}

.vscode/launch.json

+8-8
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
"args": [
3535
"--profile=cursorlessDevelopment",
3636
"--extensionDevelopmentPath=${workspaceFolder}/packages/cursorless-vscode/dist",
37-
"--extensionTestsPath=${workspaceFolder}/packages/test-harness/out/runners/extensionTests"
37+
"--extensionTestsPath=${workspaceFolder}/packages/test-harness/dist/extensionTestsVscode.cjs"
3838
],
3939
"outFiles": ["${workspaceFolder}/**/out/**/*.js"],
4040
"preLaunchTask": "${defaultBuildTask}",
@@ -55,7 +55,7 @@
5555
"args": [
5656
"--profile=cursorlessDevelopment",
5757
"--extensionDevelopmentPath=${workspaceFolder}/packages/cursorless-vscode/dist",
58-
"--extensionTestsPath=${workspaceFolder}/packages/test-harness/out/runners/extensionTests"
58+
"--extensionTestsPath=${workspaceFolder}/packages/test-harness/dist/extensionTestsVscode.cjs"
5959
],
6060
"outFiles": ["${workspaceFolder}/**/out/**/*.js"],
6161
"preLaunchTask": "Prepare test subset",
@@ -68,7 +68,7 @@
6868
"name": "Talon tests",
6969
"type": "node",
7070
"request": "launch",
71-
"program": "${workspaceFolder}/packages/test-harness/out/scripts/runTalonTests",
71+
"program": "${workspaceFolder}/packages/test-harness/dist/runTalonTests.cjs",
7272
"env": {
7373
"CURSORLESS_TEST": "true",
7474
"CURSORLESS_REPO_ROOT": "${workspaceFolder}"
@@ -84,7 +84,7 @@
8484
"name": "Talon tests subset",
8585
"type": "node",
8686
"request": "launch",
87-
"program": "${workspaceFolder}/packages/test-harness/out/scripts/runTalonTests",
87+
"program": "${workspaceFolder}/packages/test-harness/dist/runTalonTests.cjs",
8888
"env": {
8989
"CURSORLESS_TEST": "true",
9090
"CURSORLESS_RUN_TEST_SUBSET": "true",
@@ -101,7 +101,7 @@
101101
"name": "Unit tests only",
102102
"type": "node",
103103
"request": "launch",
104-
"program": "${workspaceFolder}/packages/test-harness/out/scripts/runUnitTestsOnly",
104+
"program": "${workspaceFolder}/packages/test-harness/dist/runUnitTestsOnly.cjs",
105105
"env": {
106106
"CURSORLESS_TEST": "true",
107107
"CURSORLESS_REPO_ROOT": "${workspaceFolder}"
@@ -125,7 +125,7 @@
125125
"args": [
126126
"--profile=cursorlessDevelopment",
127127
"--extensionDevelopmentPath=${workspaceFolder}/packages/cursorless-vscode/dist",
128-
"--extensionTestsPath=${workspaceFolder}/packages/test-harness/out/runners/extensionTests"
128+
"--extensionTestsPath=${workspaceFolder}/packages/test-harness/dist/extensionTestsVscode.cjs"
129129
],
130130
"outFiles": ["${workspaceFolder}/**/out/**/*.js"],
131131
"preLaunchTask": "${defaultBuildTask}",
@@ -147,7 +147,7 @@
147147
"args": [
148148
"--profile=cursorlessDevelopment",
149149
"--extensionDevelopmentPath=${workspaceFolder}/packages/cursorless-vscode/dist",
150-
"--extensionTestsPath=${workspaceFolder}/packages/test-harness/out/runners/extensionTests"
150+
"--extensionTestsPath=${workspaceFolder}/packages/test-harness/dist/extensionTestsVscode.cjs"
151151
],
152152
"outFiles": ["${workspaceFolder}/**/out/**/*.js"],
153153
"preLaunchTask": "${defaultBuildTask}",
@@ -160,7 +160,7 @@
160160
"name": "Update fixtures, unit tests only",
161161
"type": "node",
162162
"request": "launch",
163-
"program": "${workspaceFolder}/packages/test-harness/out/scripts/runUnitTestsOnly",
163+
"program": "${workspaceFolder}/packages/test-harness/dist/runUnitTestsOnly.cjs",
164164
"env": {
165165
"CURSORLESS_TEST": "true",
166166
"CURSORLESS_TEST_UPDATE_FIXTURES": "true",

.vscode/settings.json

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// Place your settings in this file to overwrite default and user settings.
22
{
33
"[python]": {
4-
"editor.defaultFormatter": "ms-python.black-formatter"
4+
"editor.defaultFormatter": "charliermarsh.ruff"
55
},
66
"[scm]": {
77
"editor.defaultFormatter": "AndreasArvidsson.andreas-talon"
@@ -24,5 +24,6 @@
2424
],
2525
"files.eol": "\n",
2626
"typescript.enablePromptUseWorkspaceTsdk": true,
27-
"typescript.tsdk": "node_modules/typescript/lib"
27+
"typescript.tsdk": "node_modules/typescript/lib",
28+
"eslint.workingDirectories": [{ "pattern": "packages/*/" }]
2829
}

0 commit comments

Comments
 (0)