Don't let the cursor slow you down
Go to file
Andreas Arvidsson 72c46b7edb
Don't use multiline pairs for head/tail modifier. (#2659)
`change tail` did the wrong thing in this case
```py
"""|foo
 bar
"""
```


## Checklist

- [x] 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
2024-09-18 06:51:16 +00:00
.github Try to fix luajit ci test (#2660) 2024-09-10 07:30:36 +00:00
.meta-updater Migrate to a pnpm monorepo (#1281) 2023-03-21 13:28:05 +00:00
.vscode feat: Add lua-language-server to CI (#2611) 2024-08-01 01:14:43 +00:00
changelog Support arbitrary scope and insertion delimiter for drop, float and puff (#2646) 2024-08-11 22:49:01 +00:00
cursorless-everywhere-talon cursorless everywhere: add the ability to asynchronous values from Python (#2649) 2024-08-09 08:27:08 +00:00
cursorless-snippets Add Go support to snippets (#1591) 2023-07-07 08:09:44 +00:00
cursorless-talon Changed order surrounding pair lists were combined for spoken scope forms (#2658) 2024-09-10 08:31:21 +00:00
cursorless-talon-dev Don't error if "user.any_alphanumeric_key" is missing from the registry (#2630) 2024-08-04 19:13:39 +00:00
cursorless.nvim neovim: Add issue templates to discourage PRs on deploy repo (#2591) 2024-07-27 11:12:45 +00:00
data Don't use multiline pairs for head/tail modifier. (#2659) 2024-09-18 06:51:16 +00:00
fonts Update Cursorless icon in status bar (#2078) 2023-12-02 09:33:33 +00:00
images images/hats: close subpath in hole.svg (#2167) 2024-01-10 14:50:24 +00:00
packages Don't use multiline pairs for head/tail modifier. (#2659) 2024-09-18 06:51:16 +00:00
patches bump docusauruas => 3.1.0 (#2176) 2024-01-18 06:32:17 +00:00
queries Add support for Kotlin. (#2432) 2024-08-04 16:12:02 +00:00
schemas Switch statement subject (#2046) 2023-11-23 11:29:04 +00:00
scripts feat: Add lua-language-server to CI (#2611) 2024-08-01 01:14:43 +00:00
typings Changes for tree-sitter 0.21 (#2409) 2024-06-14 09:52:22 +00:00
.editorconfig Fixtures data (#2276) 2024-04-05 15:38:18 +00:00
.envrc Add nix flake (#1908) 2024-06-28 14:15:21 +00:00
.eslintrc.json consistent-type-imports rule (#2619) 2024-08-02 06:34:35 +00:00
.git-blame-ignore-revs Update .git-blame-ignore-revs to exclude 4dc746c (#1198) 2022-12-22 10:02:23 +00:00
.gitignore Add .DS_Store to .gitignore for cursorless-talon (#2653) 2024-08-12 21:59:10 +00:00
.luacheckrc Cursorless in neovim / terminal (#2256) 2024-07-26 12:45:59 +00:00
.luarc.json feat: Add lua-language-server to CI (#2611) 2024-08-01 01:14:43 +00:00
.npmrc Migrate to a pnpm monorepo (#1281) 2023-03-21 13:28:05 +00:00
.nvmrc Fix Windows CI by pinning node version (#2297) 2024-04-18 19:16:43 +00:00
.pre-commit-config.yaml Add global pre-commit exclude for data/playground (#2581) 2024-08-01 18:33:25 +00:00
.prettierignore Fixtures data (#2276) 2024-04-05 15:38:18 +00:00
.prettierrc Add prettier-plugin-tailwindcss (#2245) 2024-03-25 19:50:54 +00:00
.syncpackrc.json Migrate to a pnpm monorepo (#1281) 2023-03-21 13:28:05 +00:00
CHANGELOG.md knausj => community (#1914) 2023-09-28 10:31:22 +00:00
CONTRIBUTING.md Serve docs folder and API reference on GitHub pages (#477) 2022-03-16 23:23:03 +00:00
flake.lock Cursorless in neovim / terminal (#2256) 2024-07-26 12:45:59 +00:00
flake.nix feat: Add lua-language-server to CI (#2611) 2024-08-01 01:14:43 +00:00
init.lua Cursorless in neovim / terminal (#2256) 2024-07-26 12:45:59 +00:00
LICENSE Add license 2021-05-04 12:07:25 +01:00
netlify.toml Migrate to a pnpm monorepo (#1281) 2023-03-21 13:28:05 +00:00
NOTICE.md Clean up badges; add ratings badge (#488) 2022-01-17 14:06:49 +00:00
package.json Lint to prevent floating promises (#2497) 2024-07-30 16:01:46 +00:00
pnpm-lock.yaml Lint to prevent floating promises (#2497) 2024-07-30 16:01:46 +00:00
pnpm-workspace.yaml Migrate to a pnpm monorepo (#1281) 2023-03-21 13:28:05 +00:00
pyproject.toml Fix or suppress all Python type errors (#2307) 2024-04-28 15:11:52 +00:00
README.md bump maintenance badge (#2230) 2024-02-08 13:16:49 +00:00
SECURITY.md Create SECURITY.md (#1184) 2022-12-15 18:44:28 +01:00
third-party-licenses.csv Create local extension sandbox (#691) 2022-05-25 19:46:15 +01:00
tsconfig.base.json Use new $configDir setting in tsconfig (#2532) 2024-07-19 05:46:24 +00:00
tsconfig.json Cursorless everywhere in Talon (#2503) 2024-07-29 16:29:53 +00:00

Welcome to Cursorless!

Rating Documentation Tests Maintenance License: MIT

Cursorless is a spoken language for structural code editing, enabling developers to code by voice at speeds not possible with a keyboard. Cursorless decorates every token on the screen and defines a spoken language for rapid, high-level semantic manipulation of structured text.

Checkout the docs and videos to learn more. See installation for installation instructions.

And I heard you like GIFs?

Curly repack ox Move arg air and each to after drum Chuck tail red pipe slice past end of file

Installation

Currently depends on Talon, though a keyboard version is planned.

See installation for installation instructions.

Extension Settings

This extension contributes the following settings:

  • cursorless.showOnStart: Whether decorations should appear on workspace start
  • cursorless.hatSizeAdjustment: Percentage to increase or decrease hat size; positive increases size
  • cursorless.hatVerticalOffset: How much to vertically shift the hats as a percentage of font size; positive is up
  • cursorless.hatEnablement.colors: Whether to enable particular hat colors.
  • cursorless.hatEnablement.shapes: Whether to enable particular hat shapes.
  • cursorless.hatPenalties.colors: How much to penalize each hat color. You will probably want to set this one to the number of syllables in the given style. Cursorless will then sort every style combination by number of syllables to refer to it.
  • cursorless.hatPenalties.shapes: How much to penalize each hat shape. You will probably want to set this one to the number of syllables in the given style. Cursorless will then sort every style combination by number of syllables to refer to it.
  • cursorless.maximumHatStylePenalty: The maximum allowed penalty for a hat style. Any hat style whose penalty is greater than this amount will not be used. A hat style penalty is defined to be the shape penalty plus the colour penalty. Setting this value less than or equal to zero is treated as no maximum.

Known Issues

  • Cursorless calculates the position of the hats based on the characteristics of your font. If you find that the hats are off center you can try running this command: cursorless.recomputeDecorationStyles

Contributing

See contributing.

Change Log

See CHANGELOG.md.

Attributions

See NOTICE.md.