diff --git a/config/nvim/lua/keymaps.lua b/config/nvim/lua/keymaps.lua index 1e3f3b6b..33289f3f 100644 --- a/config/nvim/lua/keymaps.lua +++ b/config/nvim/lua/keymaps.lua @@ -60,7 +60,7 @@ local normal_mode_maps = { -- { key = 'a', map = [[lua vim.lsp.buf.document_highlight()]] }, -- { key = 'c', map = [[lua vim.lsp.buf.clear_references()]] }, { key = '"', map = [["+]] }, - { key = 'F', map = [[lua vim.lsp.buf.formatting()]] }, + { key = 'F', map = [[lua vim.lsp.buf.format { async = true }]] }, { key = 'T', map = [[lua require'lsp_extensions'.inlay_hints()]] }, -- { key = '', map = [[vsplit]] }, diff --git a/config/nvim/lua/setup/rust-tools.lua b/config/nvim/lua/setup/rust-tools.lua index e53217b6..18ae6b88 100644 --- a/config/nvim/lua/setup/rust-tools.lua +++ b/config/nvim/lua/setup/rust-tools.lua @@ -5,6 +5,8 @@ local codelldb_path = '/Users/fs0c131y/.vscode/extensions/vadimcn.vscode-lldb-1.6.9/adapter/codelldb' local liblldb_path = '/Users/fs0c131y/.vscode/extensions/vadimcn.vscode-lldb-1.6.9/lldb/lib/liblldb.dylib' local rt = require('rust-tools') +local lspstatus = require('lsp-status') +local coq = require('coq') local opts = { tools = { -- rust-tools options @@ -179,12 +181,37 @@ local opts = { -- setting it to false may improve startup time standalone = true, - on_attach = function(_, bufnr) + settings = { + ["rust-analyzer"] = { + imports = { + enforce = true, + prefix = "self", + granularity = { + group = "module", + }, + importPrefix = "self", + }, + cargo = { + loadOutDirsFromCheck = true, + }, + procMacro = { + enable = true, + }, + checkOnSave = { + command = "clippy", + }, + }, + }, + + on_attach = function(client, bufnr) -- Hover actions vim.keymap.set("n", "", rt.hover_actions.hover_actions, { buffer = bufnr }) -- Code action groups vim.keymap.set("n", "a", rt.code_action_group.code_action_group, { buffer = bufnr }) + + lspstatus.on_attach(client) end, + capabilities = coq.lsp_ensure_capabilities(lspstatus.capabilities), }, -- rust-analyer options