-
Notifications
You must be signed in to change notification settings - Fork 27
Open
Description
Currently Pikelet is implemented in a very traditional way - ie. it consumes a source string, does some processing, and spits something out. This isn't a very good approach when wanting to support interactive editing, however, but the more more modern, query-driven approaches to language implementation are still sparsley documented.
One way to make some of the requirements for this more concrete is to try our hands at implementing a language server communicating via the LSP to a VS Code extension. This could help direct these efforts, before we accumulate too much tech debt!
Plan
- create a skeleton language extension for VS Code
- implement a syntax highlighter
- build a rudimentary language server using languageserver-types and codespan-lsp, possibly upstreaming helpful stuff to codespan. Others are currently working on similar problems (which is a good thing!), so we should coordinate our work on the codespan Gitter and on Support for the Language Server Protocol brendanzab/codespan#8.
- Add integration tests for the language server
TODO: Improve this plan!
Resources
- Language Extension Guidelines
- Example - Language Server
- Language Server Protocol Specification
- Pikelet Book: Implementation
- Current Rust LSPs:
- Other interesting projects
Metadata
Metadata
Assignees
Labels
No labels