Unnamed repository; edit this file 'description' to name the repository.
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.
bors 2024-02-26
parent 309e087 · parent 4060377 · commit 4585b46
-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 9e9ea25779..8bc11fd481 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.