Repo for playing around with writing a custom LSP in Rust. The overall goal is to make the from "zero" to something useful pretty easy.
I'd like to:
- better understand the LSP protocol
- implement diagnostics for custom functionality
- implement a basic code action
- Language Server Protocol Spec (Spec Repo)
- tower-lsp - A crate that wraps Tower and provides a nice language server trait that we can implement to get off the ground floor very easily.
- lsp-types - A crate that provides basically all of the types needed to work with LSPs.
You must opt-in to server capabilities that you need in order to do
anything useful in the language server. By default, it seems that the only
hooks that are called without explicitly opting in to are initialize
(which
is where you should actually do the "opting in") and shutdown
.