Replaces AstroNvim v5 with from-scratch Neovim 0.12 config using vim.lsp.config()/vim.lsp.enable() natively, lazy.nvim, blink.cmp, and smart-splits tmux integration. tmux: new C-Space prefix, hjkl pane nav, resize key table, tpm plugins. kitty: add allow_remote_control for smart-splits.
41 lines
1.1 KiB
Lua
41 lines
1.1 KiB
Lua
vim.lsp.config("rust_analyzer", {
|
|
settings = {
|
|
["rust-analyzer"] = {
|
|
cargo = {
|
|
allFeatures = true,
|
|
loadOutDirsFromCheck = true,
|
|
runBuildScripts = true,
|
|
},
|
|
checkOnSave = {
|
|
allFeatures = true,
|
|
command = "clippy",
|
|
extraArgs = { "--no-deps" },
|
|
},
|
|
procMacro = {
|
|
enable = true,
|
|
ignored = {
|
|
["async-trait"] = { "async_trait" },
|
|
["napi-derive"] = { "napi" },
|
|
["async-recursion"] = { "async_recursion" },
|
|
},
|
|
},
|
|
inlayHints = {
|
|
bindingModeHints = { enable = false },
|
|
closingBraceHints = { minLines = 25 },
|
|
lifetimeElisionHints = { enable = "never" },
|
|
typeHints = { enable = true },
|
|
},
|
|
},
|
|
},
|
|
})
|
|
|
|
-- Support project-local override (e.g. Tauri: root_dir = src-tauri/)
|
|
local local_cfg_path = vim.fn.getcwd() .. "/.nvim.lua"
|
|
local local_cfg = vim.secure.read(local_cfg_path)
|
|
if local_cfg then
|
|
local ok, err = pcall(loadstring(local_cfg))
|
|
if not ok then
|
|
vim.notify("rust_analyzer local config error: " .. tostring(err), vim.log.levels.WARN)
|
|
end
|
|
end
|