sync-ls
Sync LSP server inspired by async-lsp, primarily for tinymist. The author of this crate thinks that async-lsp is better than sync-ls, so please use async-lsp whenever possible unless you have a good reason to use sync-ls. Some random points:
- The
req_queueandtransportare extracted from the rust-analyzer project. - The sync-ls should have better performance on stdio transport than async-lsp, especially on windows, but the author have forgotten the idea.
- The sync-ls handlers can get a mutable reference to the state, which is not possible in
tower-lsp. - The sync-ls supports both LSP and DAP with a common codebase.
Debugging with input mirroring
You can record the input during running the editors with binary. You can then replay the input to debug the language server.
# Record the input
# Replay the input
This is much more useful when devloping a dap server.
Usage
Starts a LSP server with stdio transport:
?;