Skip to content

cursorless-everywhere/cursorless-jetbrains

Repository files navigation

talon-jetbrains

Warning This plugin is under development and isn't yet suited for the general public -- it should be used only by people working on the Cursorless Everywhere project for now.

This is a new plugin for supporting JetBrains editors with Talon, using newer technologies. It also implements Cursorless support using the VS Code sidecar.

Interesting code locations

  • listeners/: this is where we wire up listeners for the various change events in the IDE (opening/closing projects/files, switching tabs, document insertions/deletions, cursor changes, scrolling, etc.) so we can react to them
  • StateWriter: this is where we write out statefiles for the editor in response to listener changes. These state files can be watched by Talon, or the Cursorless sidecar to reload the sidecar.

Cursorless:

  • CursorlessContainer: this is what renders the hats inside of the editor when using the Cursorless sidecar.
  • VSCodeClient: allows sending messages to the embedded Unix domain socket server inside of the Cursorless sidecar. This is used to control the sidecar/VS Code instance without having to focus it, as the traditional command client/server has to do.
  • CursorlessClient: Uses the VSCodeClient to actually run Cursorless commands in JetBrains.

Interfacing from Talon

  • ControlSocket: this exposes a Unix domain socket for Talon to control instances of JetBrains, rather than the embedded HTTP server of the old plugin. (Note: this will probably be replaced with an implementation of the more common command client/server)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published