diff --git a/home/programs/nvim.nix b/home/programs/nvim.nix index 39e777b..cc20b2a 100644 --- a/home/programs/nvim.nix +++ b/home/programs/nvim.nix @@ -129,6 +129,24 @@ in local capabilities = require("cmp_nvim_lsp").default_capabilities() + -- rustaceanvim auto-starts rust-analyzer on FileType rust, picking it up + -- from PATH -- so per-project rust-analyzer pins (e.g. from a project's + -- flake devShell/direnv) are used automatically without extra config here. + vim.g.rustaceanvim = { + server = { + capabilities = capabilities, + on_attach = function(_, bufnr) + local map = function(k, f) vim.keymap.set("n", k, f, { buffer = bufnr, silent = true }) end + map("gd", vim.lsp.buf.definition) + map("gr", vim.lsp.buf.references) + map("K", vim.lsp.buf.hover) + map("rn", vim.lsp.buf.rename) + map("ca", vim.lsp.buf.code_action) + map("f", function() vim.lsp.buf.format({ async = true }) end) + end, + }, + } + local bundles = vim.fn.glob( "${javaDebug}/share/vscode/extensions/vscjava.vscode-java-debug/server/com.microsoft.java.debug.plugin-*.jar", true, true)