about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2024-02-26 10:32:30 +0000
committerbors <bors@rust-lang.org>2024-02-26 10:32:30 +0000
commit4585b461e5359674eaa5b7e0a92b709c919d7e56 (patch)
treec1c34a16e1378509e3cc6d7ca483daf6c3424536
parent309e087426adf25abe7f7a08591e36cdc50362b7 (diff)
parent4060377c07376d6cba51332341114accdb1ae0ef (diff)
downloadrust-4585b461e5359674eaa5b7e0a92b709c919d7e56.tar.gz
rust-4585b461e5359674eaa5b7e0a92b709c919d7e56.zip
Auto merge of #16670 - rikhuijzer:rh/inlay-hints-nvim, r=Veykril
Document nvim 0.10 `inlay_hint`

It took me a few hours to figure out how to enable inlay type hints on Nvim 0.10 with `lspconfig`. `rustaceanvim` has already dropped support for them (https://github.com/mrcjkb/rustaceanvim/discussions/46#discussioncomment-7518669) and most other plugins, like `rust-tools`, are depreciated in favor of `rustaceanvim`.

This PR documents how to enable the inlay hints on Neovim 0.10 and later. I've tested this and changing the `on_attach` function is the only step that is required.
-rw-r--r--docs/user/manual.adoc19
1 files changed, 16 insertions, 3 deletions
diff --git a/docs/user/manual.adoc b/docs/user/manual.adoc
index 9e9ea257790..8bc11fd481d 100644
--- a/docs/user/manual.adoc
+++ b/docs/user/manual.adoc
@@ -337,14 +337,14 @@ You can also pass LSP settings to the server:
 [source,vim]
 ----
 lua << EOF
-local nvim_lsp = require'lspconfig'
+local lspconfig = require'lspconfig'
 
 local on_attach = function(client)
     require'completion'.on_attach(client)
 end
 
-nvim_lsp.rust_analyzer.setup({
-    on_attach=on_attach,
+lspconfig.rust_analyzer.setup({
+    on_attach = on_attach,
     settings = {
         ["rust-analyzer"] = {
             imports = {
@@ -367,6 +367,19 @@ nvim_lsp.rust_analyzer.setup({
 EOF
 ----
 
+If you're running Neovim 0.10 or later, you can enable inlay hints via `on_attach`:
+
+[source,vim]
+----
+lspconfig.rust_analyzer.setup({
+    on_attach = function(client, bufnr)
+        vim.lsp.inlay_hint.enable(bufnr)
+    end
+})
+----
+
+Note that the hints are only visible after `rust-analyzer` has finished loading **and** you have to edit the file to trigger a re-render.
+
 See https://sharksforarms.dev/posts/neovim-rust/ for more tips on getting started.
 
 Check out https://github.com/mrcjkb/rustaceanvim for a batteries included rust-analyzer setup for Neovim.