MCPcopy Index your code
hub / github.com/cursorless-dev/cursorless

github.com/cursorless-dev/cursorless @0.25.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 0.25.0 ↗ · + Follow
739 symbols 1,643 edges 171 files 27 documented · 4%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Welcome to Cursorless!

Version Tests Documentation 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 cursorless-talon 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 cursorless-talon 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.

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

Change Log

See CHANGELOG.md.

Contributing

See CONTRIBUTING.md.


This README was partially generated with ❤️ by readme-md-generator

Extension points exported contracts — how you extend this code

Action (Interface)
(no doc) [24 implementers]
src/typings/Types.ts
Context (Interface)
* Context to pass to nested call [1 implementers]
src/processTargets/modifiers/surroundingPair/findSurroundingPairTextBased.ts
ReadOnlyHatMap (Interface)
(no doc) [2 implementers]
src/core/IndividualHatMap.ts
CommandOptions (Interface)
(no doc)
src/actions/CommandAction.ts
FixtureInput (Interface)
(no doc)
src/test/suite/fixtures/inferFullTargets.fixture.ts
CharacterTokenInfo (Interface)
(no doc)
src/util/addDecorationsToEditor.ts
SnippetScope (Interface)
(no doc)
src/typings/snippet.ts
Context (Interface)
* Context to pass to nested call [1 implementers]
src/processTargets/modifiers/surroundingPair/findSurroundingPairParseTreeBased.ts

Core symbols most depended-on inside this repo

get
called by 29
src/core/ThatMark.ts
matcher
called by 21
src/util/nodeMatchers.ts
constructDefaultTextFragmentExtractor
called by 15
src/languages/getTextFragmentExtractor.ts
run
called by 15
src/typings/Types.ts
displayPendingEditDecorations
called by 13
src/util/editDisplayUtils.ts
patternMatcher
called by 13
src/util/nodeMatchers.ts
toString
called by 11
src/typings/treeSitter.ts
childForFieldName
called by 11
src/typings/treeSitter.ts

Shape

Function 293
Method 227
Class 135
Interface 84

Languages

TypeScript100%
Java1%
Python1%

Modules by API surface

src/typings/treeSitter.ts44 symbols
src/typings/Types.ts35 symbols
src/actions/BringMoveSwap.ts22 symbols
src/util/nodeFinders.ts17 symbols
src/testUtil/TestCaseRecorder.ts15 symbols
src/core/IndividualHatMap.ts15 symbols
src/actions/InsertEmptyLines.ts15 symbols
src/util/nodeSelectors.ts14 symbols
src/core/Decorations.ts14 symbols
src/actions/Scroll.ts14 symbols
src/util/nodeMatchers.ts12 symbols
src/processTargets/processSelectionType.ts12 symbols

For agents

$ claude mcp add cursorless \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact