Closed
Description
The problem
Today, cursorless only works within VSCode. We'd like cursorless to be usable in other editors, as well as outside of editors, eg in web browsers, anywhere on screen using OCR, etc.
The solution
Because cursorless is written in Typescript, we can abstract away the VSCode-specific code and package its core engine into a node.js server. Then clients in other editors, in a web browser, or within Talon itself (eg for OCR-based cursorless), can talk to this server to enable cursorless commands to operate on everything.
Questions
- Should VSCode talk to this server, or continue to use its own bundled cursorless engine? Would need to do some performance / reliability tests to see whether we lose anything by making it a server. It's not too different from a language server, and these seem to be fairly reliable / performant, so might be fine
Update (@pokey)
We will proceed by turning Cursorless into an lsp, as proposed in #946