rust-lang / rust-lang/rust-analyzer
Neovim configuration support
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 16.9k
- Forks
- 2.2k
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 72
Description
I recently added a built-in language server client for neovim, and in the process we began https://github.com/neovim/nvim-lsp, which is aiming to be a reference database of how to work with LSP servers as a non-VSCode/third-party editor. It's written in Lua, but written in an abstracted way so as to easily be used as a reference and make it easy for contributors. Someone recently opened a PR to add support for it here and I wanted to notify you guys about the project so that we could make sure it's correct and see about improving the definition beyond the basics.
The enhancements are, for example:
- Adding a way to install rust-analyzer without superuser permissions. We provide a local directory to download binaries to or install code. As an example, we have this working with npm servers.
- We have support for
commandsdefinitions for custom rust-analyzer commands, if any. - We allow specifying default settings. We currently scrape the VSCode
package.jsonto generate documentation in the README right now, so that helps. You can see an example of these generated docs for rls here - We allow configuration for rust-analyzer specific quirks or enhancements regarding callbacks for client requests/server requests/notifications via
callbacks.
Any help would be appreciated. Thanks.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the referenced nvim-lsp project and its PR #43, then compare its rust-analyzer definition with the requested installation, commands, default settings, and callbacks support. Check the generated README documentation and the VSCode package.json scraping described in the issue. Done means agreeing on and implementing a defined set of compatible enhancements, but the issue does not identify rust-analyzer files or tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- lua, neovim, rust
- Domain
- developer-experience, devtools
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100