From 67085827b5fe49075e29d94cfc58dfd99d1bfa38 Mon Sep 17 00:00:00 2001 From: Johannes Knopp Date: Mon, 22 Jun 2026 15:47:04 +0200 Subject: [PATCH] configure inlay typehints in nvim lsp --- roles/nvim/files/after/ftplugin/typescript.lua | 3 +++ roles/nvim/files/lazy-lock.json | 10 +++++----- .../files/lua/config/plugins/lsp/lspconfig.lua | 14 ++++++++++++++ 3 files changed, 22 insertions(+), 5 deletions(-) diff --git a/roles/nvim/files/after/ftplugin/typescript.lua b/roles/nvim/files/after/ftplugin/typescript.lua index adec580..8300204 100644 --- a/roles/nvim/files/after/ftplugin/typescript.lua +++ b/roles/nvim/files/after/ftplugin/typescript.lua @@ -1 +1,4 @@ vim.opt_local.shiftwidth = 2 +vim.opt_local.expandtab = true +vim.opt_local.softtabstop = 2 +vim.opt_local.tabstop = 2 diff --git a/roles/nvim/files/lazy-lock.json b/roles/nvim/files/lazy-lock.json index f0e4c51..bc36aea 100644 --- a/roles/nvim/files/lazy-lock.json +++ b/roles/nvim/files/lazy-lock.json @@ -20,23 +20,23 @@ "mason-lspconfig.nvim": { "branch": "main", "commit": "21c5b3ebeaa0412e28096bb0701434c51c1fbf76" }, "mason-tool-installer.nvim": { "branch": "main", "commit": "443f1ef8b5e6bf47045cb2217b6f748a223cf7dc" }, "mason.nvim": { "branch": "main", "commit": "2a6940af80375532e5e9e7c1f2fc6319a1b7a69d" }, - "mini.nvim": { "branch": "main", "commit": "a59a9b7fb0a42cbcf022938ee5f0724320b66f63" }, + "mini.nvim": { "branch": "main", "commit": "1345d191bb3da9c7b0e977f4387c5761f9bff68d" }, "monokai-nightasty.nvim": { "branch": "main", "commit": "1e9b92006782a1217d0a7a871b871768f1cbf5ed" }, "none-ls-extras.nvim": { "branch": "main", "commit": "27681d797a26f1b4d6119296df42f5204c88a2dc" }, "none-ls.nvim": { "branch": "main", "commit": "01f8e62ea11603e59ad9ff7afcfa94fd183f76d6" }, "nvim-autopairs": { "branch": "master", "commit": "7b9923abad60b903ece7c52940e1321d39eccc79" }, "nvim-cmp": { "branch": "main", "commit": "a1d504892f2bc56c2e79b65c6faded2fd21f3eca" }, "nvim-lsp-file-operations": { "branch": "master", "commit": "b9c795d3973e8eec22706af14959bc60c579e771" }, - "nvim-lspconfig": { "branch": "master", "commit": "a683e0ddf0cf64c6cd689e18ffb480ade3c162b7" }, + "nvim-lspconfig": { "branch": "master", "commit": "bfcc0171a43f22afa61d927ffe9fcb6cb85dc99e" }, "nvim-surround": { "branch": "main", "commit": "2e93e154de9ff326def6480a4358bfc149d5da2c" }, - "nvim-tree.lua": { "branch": "master", "commit": "fb343438d49fba8c35ecc4829d66fca7a1f0ed3d" }, + "nvim-tree.lua": { "branch": "master", "commit": "8e8be709c9a93e1ebefde7964884a8b564bfd3e0" }, "nvim-treesitter": { "branch": "main", "commit": "4916d6592ede8c07973490d9322f187e07dfefac" }, "nvim-ts-autotag": { "branch": "main", "commit": "88c1453db4ba7dd24131086fe51fdf74e587d275" }, "nvim-web-devicons": { "branch": "master", "commit": "dfbfaa967a6f7ec50789bead7ef87e336c1fa63c" }, "plenary.nvim": { "branch": "master", "commit": "74b06c6c75e4eeb3108ec01852001636d85a932b" }, - "render-markdown.nvim": { "branch": "main", "commit": "5adf0895310c1904e5abfaad40a2baad7fe44a07" }, + "render-markdown.nvim": { "branch": "main", "commit": "f422cb5c6855f150e2ddcfaf44e7157b98b34f6a" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "b25b749b9db64d375d782094e2b9dce53ad53a40" }, - "telescope.nvim": { "branch": "master", "commit": "7d324792b7943e4aa16ad007212e6acc6f9fe335" }, + "telescope.nvim": { "branch": "master", "commit": "9377230aa5305d9e9aca4ed8dadf1070fb4aa9fc" }, "vim-floaterm": { "branch": "master", "commit": "bb4ba7952e906408e1f83b215f55ffe57efcade6" }, "which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" } } diff --git a/roles/nvim/files/lua/config/plugins/lsp/lspconfig.lua b/roles/nvim/files/lua/config/plugins/lsp/lspconfig.lua index d8f3d4a..3e3a08d 100644 --- a/roles/nvim/files/lua/config/plugins/lsp/lspconfig.lua +++ b/roles/nvim/files/lua/config/plugins/lsp/lspconfig.lua @@ -28,6 +28,11 @@ return { return { desc = desc, buffer = ev.buf, silent = true } end + -- Render inlay hints (type/param/return) for servers that send them + if vim.lsp.inlay_hint then + vim.lsp.inlay_hint.enable(true, { bufnr = ev.buf }) + end + keymap.set('n', 'gd', 'Telescope lsp_definitions', opts('Go to definition')) keymap.set('n', 'gr', 'Telescope lsp_references', opts('Show LSP references')) keymap.set('n', 'gD', vim.lsp.buf.declaration, opts('Go to declaration')) @@ -73,6 +78,15 @@ return { init_options = { hostInfo = 'neovim', }, + settings = { + typescript = { + inlayHints = { + includeInlayVariableTypeHints = true, + includeInlayParameterNameHints = 'all', + includeInlayFunctionLikeReturnTypeHints = true, + } + } + } }) -- eslint: linting for JS/TS/React projects