Commit Graph

143 Commits

Author SHA1 Message Date
Pokey Rule
2a56990b94
Bump docusaurus 3.0.0 => 3.0.1 (#2088)
Removes dependency on wait-on, which has security warning

## Checklist

- [ ] I have added
[tests](https://www.cursorless.org/docs/contributing/test-case-recorder/)
- [ ] I have updated the
[docs](https://github.com/cursorless-dev/cursorless/tree/main/docs) and
[cheatsheet](https://github.com/cursorless-dev/cursorless/tree/main/cursorless-talon/src/cheatsheet)
- [ ] I have not broken the cheatsheet
2023-12-05 12:05:28 +00:00
Pokey Rule
b941a3a111
Cleanup docusaurus config (#2027)
And ensure linter is actually running on it

## Checklist

- [-] I have added
[tests](https://www.cursorless.org/docs/contributing/test-case-recorder/)
- [-] I have updated the
[docs](https://github.com/cursorless-dev/cursorless/tree/main/docs) and
[cheatsheet](https://github.com/cursorless-dev/cursorless/tree/main/cursorless-talon/src/cheatsheet)
- [-] I have not broken the cheatsheet
2023-11-13 16:13:10 +00:00
Pokey Rule
2603f74cf3
Bump typescript-eslint to 6.10.0 (#2025)
- Fixes #2024

## Checklist

- [ ] I have added
[tests](https://www.cursorless.org/docs/contributing/test-case-recorder/)
- [ ] I have updated the
[docs](https://github.com/cursorless-dev/cursorless/tree/main/docs) and
[cheatsheet](https://github.com/cursorless-dev/cursorless/tree/main/cursorless-talon/src/cheatsheet)
- [ ] I have not broken the cheatsheet
2023-11-13 15:31:24 +00:00
Pokey Rule
7efcbfd91d
bump typescript => 5.2.2 (#1979)
## Checklist

- [-] I have added
[tests](https://www.cursorless.org/docs/contributing/test-case-recorder/)
- [-] I have updated the
[docs](https://github.com/cursorless-dev/cursorless/tree/main/docs) and
[cheatsheet](https://github.com/cursorless-dev/cursorless/tree/main/cursorless-talon/src/cheatsheet)
- [x] I have not broken the cheatsheet
- [x] Check source maps are working for extension
- [x] Check source maps are working in test files
- [x] Don't depend on esbuild in all packages?
- [x] Try running vsix from CI locally
- [-] Use two .. for update recorded tests script

---------

Co-authored-by: Andreas Arvidsson <andreas.arvidsson87@gmail.com>
2023-11-13 13:30:21 +00:00
Pokey Rule
2df07ac0d8
Bump prettier and typescript-eslint (#1989)
- In preparation for #1979

## Checklist

- [ ] I have added
[tests](https://www.cursorless.org/docs/contributing/test-case-recorder/)
- [ ] I have updated the
[docs](https://github.com/cursorless-dev/cursorless/tree/main/docs) and
[cheatsheet](https://github.com/cursorless-dev/cursorless/tree/main/cursorless-talon/src/cheatsheet)
- [ ] I have not broken the cheatsheet
2023-11-03 22:44:37 +00:00
Pokey Rule
718ab994a3
Bump next.js to 13.5.4 (#1937)
## Checklist

- [ ] I have added
[tests](https://www.cursorless.org/docs/contributing/test-case-recorder/)
- [ ] I have updated the
[docs](https://github.com/cursorless-dev/cursorless/tree/main/docs) and
[cheatsheet](https://github.com/cursorless-dev/cursorless/tree/main/cursorless-talon/src/cheatsheet)
- [ ] I have not broken the cheatsheet
2023-10-13 15:03:54 +00:00
Pokey Rule
318d3ba05c
deps: Upgrade @pnpm/meta-updater to 1.0.0 (#1791)
## Checklist

- [ ] I have added
[tests](https://www.cursorless.org/docs/contributing/test-case-recorder/)
- [ ] I have updated the
[docs](https://github.com/cursorless-dev/cursorless/tree/main/docs) and
[cheatsheet](https://github.com/cursorless-dev/cursorless/tree/main/cursorless-talon/src/cheatsheet)
- [ ] I have not broken the cheatsheet
2023-08-15 11:05:45 +00:00
Pokey Rule
8bfe58a152
bump pnpm to 8.6.12 (#1759)
## Checklist

- [ ] I have added
[tests](https://www.cursorless.org/docs/contributing/test-case-recorder/)
- [ ] I have updated the
[docs](https://github.com/cursorless-dev/cursorless/tree/main/docs) and
[cheatsheet](https://github.com/cursorless-dev/cursorless/tree/main/cursorless-talon/src/cheatsheet)
- [ ] I have not broken the cheatsheet
2023-08-09 14:58:36 +00:00
Pokey Rule
20c995ba33
upgrade typescript to 5.1.6 (#1761)
## Checklist

- [ ] I have added
[tests](https://www.cursorless.org/docs/contributing/test-case-recorder/)
- [ ] I have updated the
[docs](https://github.com/cursorless-dev/cursorless/tree/main/docs) and
[cheatsheet](https://github.com/cursorless-dev/cursorless/tree/main/cursorless-talon/src/cheatsheet)
- [ ] I have not broken the cheatsheet
2023-08-09 14:58:16 +00:00
Pokey Rule
16973f8f32
Bump docusaurus to 3.0.0-alpha.0 (#1745)
We have some security warnings on a couple packages that are
dependencies of docusaurus, so I decided to upgrade to the latest to
remove those dependencies. Docusaurus uses their nightly version on
their own docs, and things seem to work for us on this version with no
issue, so I think it's ok. In addition, we were violating their peer
dependencies by using react 18; we now no longer need to do that. Also,
this version allows us to use mdx v2, which has a lot of niceties that
we'll probably want as we do our big docs refactor
(https://github.com/cursorless-dev/cursorless/issues/867)

- depends on https://github.com/cursorless-dev/cursorless/pull/1750 to
fix typedoc failure

## Checklist

- [ ] I have added
[tests](https://www.cursorless.org/docs/contributing/test-case-recorder/)
- [ ] I have updated the
[docs](https://github.com/cursorless-dev/cursorless/tree/main/docs) and
[cheatsheet](https://github.com/cursorless-dev/cursorless/tree/main/cursorless-talon/src/cheatsheet)
- [ ] I have not broken the cheatsheet
2023-08-09 13:40:09 +00:00
David Vo
bd965dec44
Update to prettier 3.0.0 (#1697)
https://prettier.io/blog/2023/07/05/3.0.0.html

## Checklist

- [ ] I have added
[tests](https://www.cursorless.org/docs/contributing/test-case-recorder/)
- [ ] I have updated the
[docs](https://github.com/cursorless-dev/cursorless/tree/main/docs) and
[cheatsheet](https://github.com/cursorless-dev/cursorless/tree/main/cursorless-talon/src/cheatsheet)
- [ ] I have not broken the cheatsheet

---------

Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2023-07-30 18:52:59 +00:00
Andreas Arvidsson
7781732919
Added compile clean script (#1556)
## Checklist

- [ ] I have added
[tests](https://www.cursorless.org/docs/contributing/test-case-recorder/)
- [ ] I have updated the
[docs](https://github.com/cursorless-dev/cursorless/tree/main/docs) and
[cheatsheet](https://github.com/cursorless-dev/cursorless/tree/main/cursorless-talon/src/cheatsheet)
- [ ] I have not broken the cheatsheet
2023-07-08 17:08:39 +00:00
Pokey Rule
e37762f6ca
Merge cursorless-vscode-core into cursorless-vscode (#1421)
- Depends on #1393

## Checklist

- [ ] I have added
[tests](https://www.cursorless.org/docs/contributing/test-case-recorder/)
- [ ] I have updated the
[docs](https://github.com/cursorless-dev/cursorless/tree/main/docs) and
[cheatsheet](https://github.com/cursorless-dev/cursorless/tree/main/cursorless-talon/src/cheatsheet)
- [ ] I have not broken the cheatsheet
2023-04-14 22:03:16 +00:00
Pokey Rule
570f16230e
Add recorded test formatter to pre-commit (#1423)
## Checklist

- [ ] I have added
[tests](https://www.cursorless.org/docs/contributing/test-case-recorder/)
- [ ] I have updated the
[docs](https://github.com/cursorless-dev/cursorless/tree/main/docs) and
[cheatsheet](https://github.com/cursorless-dev/cursorless/tree/main/cursorless-talon/src/cheatsheet)
- [ ] I have not broken the cheatsheet

---------

Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2023-04-14 12:15:11 +00:00
Pokey Rule
14c3dec9e5
Clean up package.json scripts (#1413)
- Sort scripts
- Rename fixers to start with `fix:`
- Add a couple fixers
- Remove old scripts

## Checklist

- [ ] I have added
[tests](https://www.cursorless.org/docs/contributing/test-case-recorder/)
- [ ] I have updated the
[docs](https://github.com/cursorless-dev/cursorless/tree/main/docs) and
[cheatsheet](https://github.com/cursorless-dev/cursorless/tree/main/cursorless-talon/src/cheatsheet)
- [ ] I have not broken the cheatsheet
2023-04-13 19:18:53 +00:00
Pokey Rule
c91b389716
Upgrade prettier and eslint (#1412)
## Checklist

- [ ] I have added
[tests](https://www.cursorless.org/docs/contributing/test-case-recorder/)
- [ ] I have updated the
[docs](https://github.com/cursorless-dev/cursorless/tree/main/docs) and
[cheatsheet](https://github.com/cursorless-dev/cursorless/tree/main/cursorless-talon/src/cheatsheet)
- [ ] I have not broken the cheatsheet

---------

Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2023-04-11 14:56:43 +00:00
David Vo
e8035b8e0f
Lint *.tsx from top-level lint script (#1403)
The website `*.tsx` files weren't being linted in CI, as `pnpm test`
isn't doing a recursive `pnpm lint`:


68ba545520/package.json (L18)

A single `eslint` run should be enough to lint the entire TypeScript
codebase with the correct configs, I think.

## Checklist

- [ ] I have added
[tests](https://www.cursorless.org/docs/contributing/test-case-recorder/)
- [ ] I have updated the
[docs](https://github.com/cursorless-dev/cursorless/tree/main/docs) and
[cheatsheet](https://github.com/cursorless-dev/cursorless/tree/main/cursorless-talon/src/cheatsheet)
- [ ] I have not broken the cheatsheet
2023-04-10 16:12:02 +00:00
Pokey Rule
047a09e3a5
typescript 4.9.5 => 5.0.3 (#1377)
## Checklist

- [ ] I have added
[tests](https://www.cursorless.org/docs/contributing/test-case-recorder/)
- [ ] I have updated the
[docs](https://github.com/cursorless-dev/cursorless/tree/main/docs) and
[cheatsheet](https://github.com/cursorless-dev/cursorless/tree/main/cursorless-talon/src/cheatsheet)
- [ ] I have not broken the cheatsheet
2023-04-03 13:42:51 +00:00
Pokey Rule
0d7b536c37
Bump pnpm: 7.29.1 => 8.1.0 (#1373)
## Checklist

- [ ] I have added
[tests](https://www.cursorless.org/docs/contributing/test-case-recorder/)
- [ ] I have updated the
[docs](https://github.com/cursorless-dev/cursorless/tree/main/docs) and
[cheatsheet](https://github.com/cursorless-dev/cursorless/tree/main/cursorless-talon/src/cheatsheet)
- [ ] I have not broken the cheatsheet
2023-03-31 16:00:46 +00:00
Pokey Rule
f90f49677d
Migrate to a pnpm monorepo (#1281)
- closes https://github.com/cursorless-dev/cursorless/issues/945
- closes https://github.com/cursorless-dev/cursorless/issues/1044
- depends on https://github.com/cursorless-dev/cursorless/pull/1322
- depends on https://github.com/cursorless-dev/cursorless/pull/1327

## Checklist

- [x] Split into smaller PRs for ease of review
- [x] Try DX tests again
https://github.com/cursorless-dev/cursorless/discussions/1289
- [x] I have updated the
[docs](https://github.com/cursorless-dev/cursorless/tree/main/docs) and
[cheatsheet](https://github.com/cursorless-dev/cursorless/tree/main/cursorless-talon/src/cheatsheet)
- [x] File issue for speeding up cheatsheet / making it not optional
locally https://github.com/cursorless-dev/cursorless/issues/1307
- [x] Set package manager in package.json
https://nodejs.org/api/packages.html#packagemanager
- [x] Re-add lint rule to prevent api types from importing anything
- [x] Try local install
  - [x] Make sure cheatsheet works
- [x] Make sure local extension build depends on building cheatsheet, or
allows no cheatsheet
- [x] Figure out why we're getting so many extra `internal` modules
- [x] Update https://github.com/cursorless-dev/cursorless/issues/931 to
indicate we're now patching instead of swizzling
- [x] Make sure lint rules are actually running in CI
- [x] Check that we've addressed everything in
https://github.com/cursorless-dev/cursorless/issues/945
- [x] Incorporate changes from
https://github.com/cursorless-dev/cursorless/pull/1166
- [x] ~~Make sure this PR doesn't break doc links; see
https://github.com/cursorless-dev/cursorless/pull/942#discussion_r968556276~~
There's no way to avoid these links getting broken if we upgrade
typedoc; filed https://github.com/cursorless-dev/cursorless/issues/1304
to track
- [x] Revert https://github.com/cursorless-dev/cursorless/pull/1284
- [x] I have added
[tests](https://www.cursorless.org/docs/contributing/test-case-recorder/)
- [x] I have not broken the cheatsheet
- [x] Generate cursorless-vscode package.json automatically, and change
the name we use to `@cursorless/cursorless-vscode` in the `package.json`
checked into source control
- [x] Be sure to update meta-updater to check for that instead of name
`cursorless` (see fixme in its `index.ts`)

## Desiderata

- From https://github.com/cursorless-dev/cursorless/discussions/1289

### Correctly flagging errors

- [x] `D1`: It is a compile error to import external packages that are
not listed in `package.json`
   - [x] `D1.1`: `vscode` (for some reason this one behaves strangely)
   - [x] `D1.2`: Other packages
- [x] `D2`: It is **not** a compile error to import from local packages
that you depend on, using our preferred syntax (eg `@cursorless/foo`)
- [x] `D3`: It is a compile error to import from local packages that you
depend on, **not** using our preferred syntax (eg `../foo`)
- [x] `D4`: It is a compile error to import from local packages that you
do **not** depend on, either
- [x] `D4.1`: using our non-preferred syntax (eg `../packages/foo`), or
  - [x] `D4.2`: using preferred syntax (eg `@cursorless/foo`)
- [ ] `D5`: It is a compile error to import from anything other than
`index.ts` in another module
  - [x] `D5.1`: **no** `@cursorless/foo/bar`
  - [x] `D5.2`: **no** `../foo/bar`
  - [x] `a`: Even if you depend on the module
- [ ] `b`: Even if `bar` was re-exported in `foo/index.ts`. In that case
it should be required to import `@cursorless/foo`. Untested, but
probably works, and I ran out of steam 😅
- [x] `D6`: It is **not** a compile error to import external packages
listed in `package.json`
   - [x] `D6.1`: `vscode` (for some reason this one behaves strangely)
   - [x] `D6.2`: Other packages

### Auto-import
- [x] `D7`: Auto-import doesn't import from external packages not listed
in `package.json`
   - [x] `D7.1`: `vscode` (for some reason this one behaves strangely)
   - [x] `D7.2`: Other packages
- [x] `D8`: Auto-import imports from external packages listed in
`package.json`
   - [x] `D8.1`: `vscode` (for some reason this one behaves strangely)
   - [x] `D8.2`: Other packages
- [x] `D9`: Auto-import imports from local packages that you depend on,
using our preferred syntax (eg `@cursorless/foo`)
- [x] `D10`: Auto-import doesn't import from local packages that you
don't depend on
- [x] `D11`: Auto-import doesn't import from anything other than
`index.ts` in another package (eg **no** `@cursorless/foo/bar`)
   - [x] `D11.1`: When you depend on the package
   - [x] `D11.2`: When you don't depend on the package

### Other DX
- [x] `D12`: Find references across projects when no file from the
referencing project is open
- [x] `D13`: Rename across projects when no file from the referencing
project is open
- [x] `D14`: Jump to definition across projects
- [ ] `D15`: It is easy to move a file from one package to another
- [ ] `D16`: It is easy to create a new package
- [ ] `D17`: Breakpoints work in Cursorless extension
- [x] `D18`: Breakpoints work on Cursorless root website
- [ ] `D19`: Breakpoints work on Cursorless docs website
2023-03-21 13:28:05 +00:00
Pokey Rule
1b18e38efe
Restructure directories in preparation for move to pnpm workspace (#1275)
This PR does a massive restructure of our directories in preparation for
splitting up into separate packages for #945. Here is the new layout:

<img width="286" alt="image"
src="https://user-images.githubusercontent.com/755842/220430713-56d211fe-043a-46ae-b802-449cd0693cd5.png">


## Checklist

- [x] I have added
[tests](https://www.cursorless.org/docs/contributing/test-case-recorder/)
- [x] I have updated the
[docs](https://github.com/cursorless-dev/cursorless/tree/main/docs) and
[cheatsheet](https://github.com/cursorless-dev/cursorless/tree/main/cursorless-talon/src/cheatsheet)
- [x] I have not broken the cheatsheet

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-02-23 15:09:07 +01:00
Pokey Rule
597fd4a935
Remove vscode references from test case recorder (#1272)
Also simplifies workflow for adding a new directory to recorded test
case dir by adding an inline option:

<img width="870" alt="image"
src="https://user-images.githubusercontent.com/755842/219060655-8a8d3a1d-5989-403e-b56e-80ede9f5526f.png">

## Checklist

- [ ] I have added
[tests](https://www.cursorless.org/docs/contributing/test-case-recorder/)
- [ ] I have updated the
[docs](https://github.com/cursorless-dev/cursorless/tree/main/docs) and
[cheatsheet](https://github.com/cursorless-dev/cursorless/tree/main/cursorless-talon/src/cheatsheet)
- [ ] I have not broken the cheatsheet

---------

Co-authored-by: Andreas Arvidsson <andreas.arvidsson87@gmail.com>
2023-02-16 14:02:34 +01:00
Pokey Rule
9ee77715fe
Reintroduce stable hats (#1252) 2023-02-10 09:55:46 -07:00
Pokey Rule
bac6592da7
Revert "Stable hats (#1225)" (#1251)
This reverts commit 9406cd30a7.

## Checklist

- [ ] I have added
[tests](https://www.cursorless.org/docs/contributing/test-case-recorder/)
- [ ] I have updated the
[docs](https://github.com/cursorless-dev/cursorless/tree/main/docs) and
[cheatsheet](https://github.com/cursorless-dev/cursorless/tree/main/cursorless-talon/src/cheatsheet)
- [ ] I have not broken the cheatsheet

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-02-04 16:55:59 +00:00
Pokey Rule
9406cd30a7
Stable hats (#1225)
- Fixes #432 

## Checklist

- [ ] I have added
[tests](https://www.cursorless.org/docs/contributing/test-case-recorder/)
- [ ] Add test for case where enabled hat styles change, both adding or
removing an enabled hat style
- [ ] I have updated the
[docs](https://github.com/cursorless-dev/cursorless/tree/main/docs) and
[cheatsheet](https://github.com/cursorless-dev/cursorless/tree/main/cursorless-talon/src/cheatsheet)
- [ ] I have not broken the cheatsheet

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-02-04 17:21:37 +01:00
Andreas Arvidsson
4dc746c3e3
Update editor config indent (#1126)
## Checklist

- [ ] I have added
[tests](https://www.cursorless.org/docs/contributing/test-case-recorder/)
- [ ] I have updated the
[docs](https://github.com/cursorless-dev/cursorless/tree/main/docs) and
[cheatsheet](https://github.com/cursorless-dev/cursorless/tree/main/cursorless-talon/src/cheatsheet)
- [ ] I have not broken the cheatsheet

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-12-21 12:07:32 +00:00
David Vo
62d4238574
[keyboard] Add some missing scopes (#1189) 2022-12-17 15:11:53 +00:00
Simeon Cheeseman
c9e06d765c
Fix test fixture upgrade scripts (#942)
Fixed the v1 to v2 script to preserve order and not drop any values.

- [ ] ~~Use normalisation code for updating fixtures in
a4cee9611f/src/test/suite/recorded.test.ts (L130-L138~~)
(filed https://github.com/cursorless-dev/cursorless/issues/1168 to
follow up on this one)

Co-authored-by: Pokey Rule <755842+pokey@users.noreply.github.com>
Co-authored-by: David Vo <auscompgeek@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-12-12 11:11:46 +00:00
Pokey Rule
541832fa24
Initial basic keyboard actions (#958)
See
https://deploy-preview-958--cursorless.netlify.app/docs/user/experimental/keyboard/modal/

## Checklist

- [x] I have added
[tests](https://www.cursorless.org/docs/contributing/test-case-recorder/)
- [x] Figure out why it fails if cursorless test case recorder is active
- [x] Figure out why it won't let go of `type` once it hits an error, eg
test case recorder error
2022-12-08 12:35:44 +01:00
Phil Cohen
371e74e44e
eslint: make --fix remove unused imports (#1076)
I noticed that `eslint --fix` didn't remove unused imports and `eslint
src --ext ts` complained with a warning about an existing unused one:

```
$ eslint src --ext ts
.../src/core/commandVersionUpgrades/canonicalizeAndValidateCommand.ts
  1:10  warning  'window' is defined but never used. Allowed unused vars must match /^_/u  @typescript-eslint/no-unused-vars
```

I imagine this is because most people are fixing this up using the
Visual Studio Code action, but it's nice to have everything working from
the command line. Also JetBrains will only do it if `eslint --fix` does,
hence my motivation :)

This adds the configuration such that `eslint src --ext ts --fix`
removed unused imports, and fixes the existing unused imports in the
codebase. Let me know if I made a mistake.

## Checklist

- [ ] I have added
[tests](https://www.cursorless.org/docs/contributing/test-case-recorder/)
- [ ] I have updated the
[docs](https://github.com/cursorless-dev/cursorless/tree/main/docs) and
[cheatsheet](https://github.com/cursorless-dev/cursorless/tree/main/cursorless-talon/src/cheatsheet_html)

Co-authored-by: Pokey Rule <755842+pokey@users.noreply.github.com>
2022-11-18 08:08:25 -08:00
Andreas Arvidsson
94dadfc898
Implement our own types instead of vscode (#1128)
* Started working on our own replacement for vscode types

* remove unused imports

* More workl

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* more changes

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* More stuff

* Stuff stuff

* Some super secret clean up stuff

* Additional changes beyond human comprehension

* clean up

* Trans dimensional super fixes

* Mind boggling changes

* Hopefully done with this suffering

* Fixed circular dependencies

* Updated fake ide

* Added test for position

* Added range test

* Added getter to vscode editable editor implementation

* Convert position

* Added text line implementation

* Better handling of selections

* group  document by uri

* Remove on use to vscode converter

* Clean up tests

* Make sure functions use arrow format

* Use weak map to keep track of text editors

* cleanup

* empty

* use arrow functions

* updated lock file

* restore normal methods for position and range

* Remove arrow expressions as method

* added is active on the text editor

* Error when trying to deselect all selections

* added types

* Make use of `@cursorless` imports

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Moved vscode utilities

* update

* Fixed stupid bug

* empty

* stuff

* stuff

* Added to empty range on position

* cleaned up vscode edit

* clean up

* clean up vscode focus editor

* move creation of text editors into ide

* cleanup

* moved get node at location into editor

* empty

* remove spread

* Add license reference

* use full vscode implementation

* Revert "moved get node at location into editor"

This reverts commit 4c2ec1cfab.

* remove location type

* Switch `getNodeAtLocation` to use document

* Use editable editor for performing edits

* Add `ide` reference to editable text editor

* docs

* Tweak

* tweak

* Fix bug with id / editor generation

* Remove unnecessary functions

* Tweak name

* merged vscode text editor implementations

* Add back comments about range adjustment

* Tweak docstrings

* docs

* add a couple tests

* Updated line behavior

* Test tweaks

* updated behavior

* added selection isEqual

* `isEqual` => `isRangeEqual`

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* cleanup

* Capture more unit tests in launch config

* move `openNewEditor`

* Basic `TextLine` test

* Selection + more range tests

* yarn.lock tweak

* more line tests

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Pokey Rule <755842+pokey@users.noreply.github.com>
2022-11-16 17:52:12 +01:00
Pokey Rule
7a1e8150a6
Move ide out of graph and into its own module (#1102)
* Move  out of  and into its own module

* Empty commit

* Remove unused import

* PR feedback

* Fix CI
2022-11-10 16:55:44 +00:00
Pokey Rule
1294e2259f
Switch NestedScopeHandler to generator (#1099)
* Switch `NestedScopeHandler` to generator

* Cleanup docs
2022-10-29 22:39:16 +02:00
Andreas Arvidsson
ba9644becb
Add word separator setting (#1078)
* Added word separator setting. Removed language specific regex components.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Updated tests

* Word separator is now a list

* Update documentation

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Mock word separators for tests

* Minor tweaks

* Update src/core/tokenizerConfiguration.ts

Co-authored-by: Pokey Rule <755842+pokey@users.noreply.github.com>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Revert "Minor tweaks"

This reverts commit b7f3695975.

* cleanup

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Use join to create key

* Update src/core/tokenizer.ts

Co-authored-by: Pokey Rule <755842+pokey@users.noreply.github.com>

* Update docs

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Pokey Rule <755842+pokey@users.noreply.github.com>
2022-10-24 20:17:42 +01:00
Pokey Rule
4c72cde4aa
Switch to chai for assertions (#1034)
Co-authored-by: Andreas Arvidsson <andreas.arvidsson87@gmail.com>
2022-10-14 13:11:11 +02:00
Pokey Rule
b474f22cdd
Improve cheatsheet update machinery (#1010)
* Improve cheatsheet update machinery

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Tweak

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-10-05 08:30:03 +02:00
Pokey Rule
9efff2154b
Prefer ui side (#973) 2022-09-21 11:24:36 +01:00
Pokey Rule
af15ae2c05
Fix special chars without accents (#907)
* Add some tests for special chars

* Tweak naming

* Remove `preserveAccents` setting

* `accentsToPreserve` => `lettersToPreserve`

* Fixes

* Update doc string

* Fix `æ`

* Improve tests

Co-authored-by: Andreas Arvidsson <andreas.arvidsson87@gmail.com>
2022-08-04 08:44:44 +02:00
Ben Rollin
b57115684d
Add a status bar item for cursorless (#881)
* first pass at status bar item

* capitalize cursorless

Co-authored-by: Pokey Rule <755842+pokey@users.noreply.github.com>

* add showDocumentation command

Co-authored-by: Pokey Rule <755842+pokey@users.noreply.github.com>
2022-08-03 17:15:41 +01:00
Pokey Rule
1c968f62d0
Add grapheme Unicode normalization support for hats (#899)
* Allow case-sensitive targets (lowercase AND uppercase)
Fixes #896

* Support #276

* Fix typo

* Start implementing generic IDE

* Add tests

* Attempt to normalise unknown graphemes

* Try to fix

* Fix tokenizer; add tests

* Attempt at Swedish character preservation

* Fix Swedish

* More fixes

* Tweak

* Stronger typing

* Tweak config

* More cleanup

* Doc string

* Make unknown symbol spoken for configurable

* Tweak formatting

* Fix dependency loop in graph

* Add docs

* Imports fix

* Doc tweak

* Update src/core/TokenGraphemeSplitter.ts

Co-authored-by: David Vo <auscompgeek@users.noreply.github.com>

* Tweaks from PR review

* Fix char modifier

* Cleanup

* Tweak naming

Co-authored-by: David Vo <auscompgeek@users.noreply.github.com>
2022-08-02 15:30:29 +01:00
Andreas Arvidsson
5694551d3d
Reworked weak target (#888)
* Renamed weak target, Renamed is weak, Added explicit range attribute

* Don't remove leading or trailing delimited ranges for empty selection

* Added clone parameters

* Updated comment

* Always create continuous range

* Renamed UnTypedRangeTarget to UnTypedTarget

* Process targets before test recorded command hook

* Added tests

* Renamed to ifUntyped

* Added item tests

* Cleanup

* Update src/typings/targetDescriptor.types.ts

Co-authored-by: Pokey Rule <755842+pokey@users.noreply.github.com>

* Update src/typings/targetDescriptor.types.ts

Co-authored-by: Pokey Rule <755842+pokey@users.noreply.github.com>

* Cleanup

* Cleanup

* Added tests

* Cleanup

* Added tests

* added tests

* Use undefined return value in error test cases

* Docstring

* Better error type for no inside / bounds

* Remove code sharing from ThatStage and CursorStage

* Doc strings

* Switch test subset

* Fix docstring link

* Record alternate "leading funk" test

* Record some more tests

* Add a bunch of tests

* Cleaned up from review

* Docstring

* More tests

* One more test

* Another test

* Rollback imports to avoid circular import

* Improve test

* Revert "Rollback imports to avoid circular import"

This reverts commit 9ad7e9fdf9.

* Fix imports

* Add tests; fix bug with `"every block"`

* Minor tweak

* Fix doc

* Docstrings

Co-authored-by: Pokey Rule <755842+pokey@users.noreply.github.com>
2022-07-28 10:21:24 +02:00
Pokey Rule
83519e1497
Add more extension fields to package.json (#869) 2022-07-15 17:00:46 +01:00
Pokey Rule
24af088053
Reimplement cheatsheet using html (#619)
* Cheatsheet nx html generation

* HTML cheatsheet talon side

* HTML cheatsheet VSCode extension-side

* Tweak deploy

* identifier => id

* Tweaks from PR feedback

* Rename dir

* update defaults.json

* Remove nx-welcome.tsx
2022-07-07 15:35:23 +01:00
Paul
d7ada0cc70
Sort VSCode settings to put common settings first (#813)
* Add order field to most-used settings

* Fix typo

Co-authored-by: Pokey Rule <755842+pokey@users.noreply.github.com>
2022-07-04 14:02:26 +01:00
Pokey Rule
b781dc6071
Stop updating licenses automatically (#793)
Co-authored-by: Andreas Arvidsson <andreas.arvidsson87@gmail.com>
2022-06-27 16:40:37 +02:00
Pokey Rule
256d656b2e
Bump prettier (#779) 2022-06-22 15:18:31 +01:00
Pokey Rule
cba8a8218f
Upgrade vscode test package version (#774)
* Upgrade vscode test package version

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* licenses

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-06-16 19:16:06 +01:00
Will Sommers
b18fc44e8c
Add sponsorship link to extension (#765) 2022-06-14 17:44:17 +01:00
Pokey Rule
c55c281245
Fix Notebook CI failures; pin vscode version (#768)
* Pin vscode version

* Bump pin

* Wrap old focus notebook code in legacy function

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fix notebook focusing

* Test on later version of VSCode

* revert licences csv

* Change Github action setup

* Add NB

* Fix import

* Remove unused code

* Add function to check legacy notebook version

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-06-14 17:18:23 +01:00
Pokey Rule
2ee7ca137e
Support fully compositional modifiers (#672)
* Fixed bug in removal range for range target

* A dead delimiter highlight to range target

* Added token context to all marks

* Added correct token context too regex

* Don't unifi ranges on content only removal

* Update the test

* Added feature to run single recorded test

* Updated tests

* Fallback on token context for containing scope

* Updated target inference

* general refactoring of removable ranges

* Updated unify removal targets

* Fixed that mark bug on set selection

* Fixed is reverse bug on vertical range targets

* Fixed is reverse bug on vertical range targets

* Set empty delimiter on end of and start of positions

* Updated test

* Fixed last tests

* Added description to run single recorded test

* At dead tests for bring before and after file

* Update to removal ranges

* Mark cleanup

* Added interior only and exclude interior as proper modifiers

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Added support for every line

* Only select lines with content

* Added take every paragraph

* Added every file line and block tests

* Added take every token

* Added every too regex stages

* Cleanup

* Moved example of custom test transformation to docs

* Update src/core/commandVersionUpgrades/upgradeV1ToV2/commandV1.types.ts

Co-authored-by: Pokey Rule <755842+pokey@users.noreply.github.com>

* Update src/core/commandVersionUpgrades/upgradeV1ToV2/upgradeV1ToV2.ts

Co-authored-by: Pokey Rule <755842+pokey@users.noreply.github.com>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Added OO targets

* Fixed merge conflict

* Reversed order of migration modifiers

* Default to array

* Cleaned up inference code

* Added paragraph target

* Better updates of new range

* oo targets past all test

* Added line and paragraph tests

* Highlight update

* Added script to show unused exports

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Added line 2 unused export

* Default modifiers to empty array

* Don't use hat map

* Modifiers default to undefined

* Fixed is implicit inference

* Removed get tokens function

* Update src/core/commandVersionUpgrades/upgradeV1ToV2/commandV1.types.ts

Co-authored-by: Pokey Rule <755842+pokey@users.noreply.github.com>

* Update src/core/inferFullTargets.ts

Co-authored-by: Pokey Rule <755842+pokey@users.noreply.github.com>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* General cleanup

* Added notebook cell target

* Support delimiter based edit newline (#684)

* Added delimiter based edit line

* Added support for arbitrary delimiters

* Added tests

* Renamed is above to is before

* Better handling of empty lines

* Cleanup

* Added default delimiters for some common scope types

* Run yarn

* Attempt to fix raw delimiter

* Fixed delimiter

* Revert "Attempt to fix raw delimiter"

This reverts commit 0de07989dc.

* Revert "Fixed delimiter"

This reverts commit a035390f78.

* Use low dash unique with

* Made base target abstract

* Updated tests

* Added return type

* Fixed compilation errors

* Updated position

* Add empty string as default delimiter for sub tokens

* Updated bugs

* Cleanup

* Added tests

* Updated inference of implicit target

* Updated spoken forms in test

* Utilize getters

* Refactored getters and setters for targets

* Implemented get final stages

* Added final stages to process targets

* Cleanup

* Converted command action into object with associated arguments

* Switch to complex scope types

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Remove scope type type from base target

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Updated to edit new context

* Added bring statement test

* Change behavior of pour line

* Use weak containing line stage for edit new

* Updated edit new

* Get targets in correct order

* Updated selection for editor

* Cleanup

* New attempt at EditNew

* Added rich targets

* Updated edit new with proper line handling

* Only used single edit

* Added comment

* Added comment

* Cleanup

* Added derived target

* Moved weak target into base target class

* Cleanup

* Updated action form

* Updated scope type for tests

* Fix upgrade path with ordinal range

* Pass leading and trailing delimiters to super constructor

* Learn to spell

* Updated more tests

* Cleanup

* Fixed bug taking matching pair in error code

* Added block tests

* Fixed test

* Added support for custom delimiters in copy lines

* Fix package json

* Fix one test

* Updated tests

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Disabled phrase snapshot on recorded test runner

* Updated test and upgrade path

* Fixed failing hat map tests

* Added sleep option to recorded tests

* Verbosity for the win

* Tweak modify of week stage

* Minor python cleanup

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Don't de duplicate that mark

* Use utility function to set selection that deduplicates

* Make document content range the entire file including white lines

* Added source mark to wrap action

* Added source mark to actions wrap and rewrap

* Updated error messages

* Updated tests

* Don't focus editor on notebook cell insertion

* Cleanup

* Don't update selection on notebook cell insertion

* Add comment

* Various fixes

* More renames and stuff

* Fix bug with missing delimiters in weak targets

* Update src/processTargets/processTargets.ts

Co-authored-by: Will Sommers <will.sommers@gmail.com>

* Unify implementation of copy lines and edit new actions

* Rename

* Started working on lazy removal

* Clarify processPrimitiveTarget

* Tweak

* Tweak again

* Imports fix

* All tests pass

* Updated highlights

* Highlight updates on continuous range target

* Moved edit decorations into graph

* Added decorations to test recorder and runner

* Updated to highlight recorder test

* Added decorations test

* Added decorations test

* Added leading and trailing delimiters as separate stage and target

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Create edits in actual targets

* Use object oriented targets to construct edits

* Enabled bring before and after without to

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fix

* Support fully compositional modifiers
Fixes #69

* Getting started

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Start using InsertionRemovalBehavior

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Cleanup

* Tweak

* More cleanup

* More tweaks

* Tweaks

* More cleanup

* Cleanup

* Removed padding from float and drop

* Updated that mark on pour action

* Lots of stuff

* Fixed removal behavior on scope type target

* Hide panel on recorded test sweet startup

* More stuff

* More stuff

* Cleanup

* Some stuff clean up whatever don't care

* Committed some stuff

* Stuff

* Updated tests

* Support chuck after and chuck before

* Add hack for "paste to to"

* Add run single test launch config

* Add comment about running a single test to contributing docs

* Update cursorless-talon/src/csv_overrides.py

* Update cursorless-talon/src/positional_target.py

Co-authored-by: Pokey Rule <755842+pokey@users.noreply.github.com>

* Update cursorless-talon/src/positional_target.py

Co-authored-by: Pokey Rule <755842+pokey@users.noreply.github.com>

* Use plain target in clear action

* Initial modifier unification work

* Unify simple modifiers

* docstring

* Clean up position code

* At a couple comments

* Creates separate file for target descriptor types

* Separate notebook cell edit new from regular edit new

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fixed that mark on notebook cells

* Cleanup

* More positional tweaks on talon side

* Removes support for chuck after and chuck before

* Clean up names

* Use proper error for syntax scope not found

* Record tests for leading trailing before and after

* Add chuck before after to upgrade

* Failed attempt at trying to simplify edit new

* Revert "Failed attempt at trying to simplify edit new"

This reverts commit 52193ae651.

* Cleanup vscode ignore

* Fixed regression in vertical range target (#735)

* Revert generic insert empty lines code

* Add broken float and puff tests

* Add working puff float drop tests

* Switch to mocha grep syntax for running subset of tests

* Make subdir for insert empty lines tests

* Support updating fixture decorations

* Add decorations to float drop puff tests

* Cleanup test case recorder docs

* Add bunch of clone tests

* Move files

* More cleanup

* `PartialTargetDesc` => `PartialTargetDescriptor`

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Re-add provenance file

* Comments

* Bump package version

* Attempt to fix docs link

Co-authored-by: Andreas Arvidsson <andreas.arvidsson87@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Will Sommers <will.sommers@gmail.com>
2022-06-07 13:58:44 +01:00