aboutsummaryrefslogtreecommitdiff
path: root/.config/nvim/lsp/rls.lua
diff options
context:
space:
mode:
Diffstat (limited to '.config/nvim/lsp/rls.lua')
-rw-r--r--.config/nvim/lsp/rls.lua35
1 files changed, 35 insertions, 0 deletions
diff --git a/.config/nvim/lsp/rls.lua b/.config/nvim/lsp/rls.lua
new file mode 100644
index 0000000..3c48254
--- /dev/null
+++ b/.config/nvim/lsp/rls.lua
@@ -0,0 +1,35 @@
+---@brief
+---
+--- https://github.com/rust-lang/rls
+---
+--- rls, a language server for Rust
+---
+--- See https://github.com/rust-lang/rls#setup to setup rls itself.
+--- See https://github.com/rust-lang/rls#configuration for rls-specific settings.
+--- All settings listed on the rls configuration section of the readme
+--- must be set under settings.rust as follows:
+---
+--- ```lua
+--- vim.lsp.config('rls', {
+--- settings = {
+--- rust = {
+--- unstable_features = true,
+--- build_on_save = false,
+--- all_features = true,
+--- },
+--- },
+--- })
+--- ```
+---
+--- If you want to use rls for a particular build, eg nightly, set cmd as follows:
+---
+--- ```lua
+--- cmd = {"rustup", "run", "nightly", "rls"}
+--- ```
+
+---@type vim.lsp.Config
+return {
+ cmd = { 'rls' },
+ filetypes = { 'rust' },
+ root_markers = { 'Cargo.toml' },
+}