An experimental LSP implementation that is optimized for low memory usage and ~instant editor restarts.
This project aims to be 90% complete, being complete enough for day-to-day work without trying to be rust-analyzer 2.0.
See the project docs for more details.
Covered in docs.
This project is being built with heavy use of LLMs. LLMs are used as a tool, not as a brain replacement.
I do consider the code to be my, and I am spending a lot of time caring about the code quality. So I consider it to be rather readable and maintainable. It might not be the idiomatic example of compiler-adjacent tooling (I don't have that much domain experience), but I am working on improving it as I work on it.
So if it is slop, then it is my slop, and the best way to help is to tell me what's wrong. This way I will be able to learn something and hopefully make the project better.
rust-analyzer is an obvious inspiration, motivation, source of learning material and the place where I've hijacked a ton of ideas. Rust is lucky to have such a great LSP, and everyone working on it is awesome.
chalk turned out a really pleasant project to integrate, and it comes with lovely documentation.
Without jemalloc and tikv-jemallocator this project wouldn't have been possible. Not only it's awesome as an allocator, but it's also saved me hundreds of hours profiling allocations.
See CONTRIBUTING.md.
Licensed under either of:
- Apache License, Version 2.0 (LICENSE-APACHE)
- MIT license (LICENSE-MIT)
at your option.