refactor(nvim): rework whole configuration
This commit is contained in:
parent
64c6149fde
commit
710e8f6395
6 changed files with 90 additions and 45 deletions
|
@ -52,7 +52,7 @@ vim.opt.wildmode = 'lastused:full,list' -- enhance menu
|
|||
vim.opt.pumheight = 10
|
||||
vim.opt.pumwidth = 50
|
||||
vim.opt.pumblend = 10
|
||||
|
||||
vim.o.winborder = 'none'
|
||||
-- manage line break smartly
|
||||
vim.opt.wrap = true
|
||||
vim.opt.breakindent = true
|
||||
|
@ -103,24 +103,13 @@ vim.opt.wildignore = {
|
|||
'*.sw?'
|
||||
}
|
||||
|
||||
-- Key biding
|
||||
-- " ----------
|
||||
local opts = { noremap = true, silent = true}
|
||||
|
||||
vim.api.nvim_set_keymap('n', '<leader>/', ':nohlsearch<CR>', opts)
|
||||
|
||||
-- Move tabs with \[ and \]
|
||||
vim.api.nvim_set_keymap('n', '<Leader>]', ':tabnext<CR>', opts)
|
||||
vim.api.nvim_set_keymap('n', '<Leader>[', ':tabprev<CR>', opts)
|
||||
vim.api.nvim_set_keymap('n', '<leader>l', ':set list!<CR>', {silent = true})
|
||||
|
||||
-- disable lsplog
|
||||
-- This is not usefull on a daily basis and should positively impact performance
|
||||
vim.lsp.set_log_level("off")
|
||||
|
||||
-- define a timeout for match parens
|
||||
vim.g.matchparen_timeout = 2
|
||||
vim.g.matchparen_insert_timeout = 2
|
||||
vim.g.matchparen_timeout = 10
|
||||
vim.g.matchparen_insert_timeout = 10
|
||||
|
||||
-- activate virtual lines for diagnistics
|
||||
-- no more plugins needed
|
||||
|
@ -134,3 +123,73 @@ vim.diagnostic.config({
|
|||
-- },
|
||||
signs = { text = { [x.ERROR] = "", [x.WARN] = "", [x.INFO] = "", [x.HINT] = "" } },
|
||||
})
|
||||
|
||||
-- LSP
|
||||
vim.api.nvim_create_autocmd("LspAttach", {
|
||||
group = vim.api.nvim_create_augroup("UserLspConfig", {}),
|
||||
callback = function(ev)
|
||||
vim.bo[ev.buf].omnifunc = "v:lua.vim.lsp.omnifunc"
|
||||
|
||||
local opts = { buffer = ev.buf }
|
||||
local client = vim.lsp.get_client_by_id(ev.data.client_id)
|
||||
local bufnr = ev.buf
|
||||
local function desc(description)
|
||||
return { noremap = true, silent = true, buffer = bufnr, desc = description }
|
||||
end
|
||||
|
||||
vim.keymap.set("n", "gD", vim.lsp.buf.declaration, { buffer = ev.buf, desc = "Go to [D]eclaration" })
|
||||
vim.keymap.set("n", "gd", vim.lsp.buf.definition, { buffer = ev.buf, desc = "Go to [d]efinition" })
|
||||
vim.keymap.set("n", "gi", vim.lsp.buf.implementation, { buffer = ev.buf, desc = "Go to [i]mplementation" })
|
||||
vim.keymap.set("n", "gr", vim.lsp.buf.references, { buffer = ev.buf, desc = "Go to [r]eferences" })
|
||||
|
||||
vim.keymap.set(
|
||||
"n",
|
||||
"K",
|
||||
function()
|
||||
vim.lsp.buf.hover
|
||||
{ border = "rounded", max_width = 250 }
|
||||
end,
|
||||
opts)
|
||||
|
||||
vim.keymap.set(
|
||||
"n",
|
||||
"<C-k>",
|
||||
function()
|
||||
vim.lsp.buf.signature_help
|
||||
{ border = "rounded", max_width = 250 }
|
||||
end,
|
||||
{buffer = ev.buf, desc = "Signature help"}
|
||||
)
|
||||
|
||||
vim.keymap.set("n", "<leader>wa", vim.lsp.buf.add_workspace_folder, opts)
|
||||
vim.keymap.set("n", "<leader>wr", vim.lsp.buf.remove_workspace_folder, opts)
|
||||
|
||||
vim.keymap.set(
|
||||
"n",
|
||||
"<leader>wl",
|
||||
function()
|
||||
print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
|
||||
end,
|
||||
opts
|
||||
)
|
||||
|
||||
vim.keymap.set("n", "<leader>D", vim.lsp.buf.type_definition, { buffer = ev.buf, desc = "Type [D]efinition" })
|
||||
vim.keymap.set("n", "<leader>rn", vim.lsp.buf.rename, { buffer = ev.buf, desc = "LSP [r]e[n]ame" })
|
||||
vim.keymap.set("n", "<leader>ca", vim.lsp.buf.code_action, { buffer = ev.buf, desc = "Show [c]ode [a]ction"})
|
||||
|
||||
vim.keymap.set(
|
||||
"n",
|
||||
"<leader>F",
|
||||
function()
|
||||
require("conform").format({ bufnr = bufnr })
|
||||
end,
|
||||
{ buffer = ev.buf, desc = "[F]ormat file" }
|
||||
)
|
||||
|
||||
if client.server_capabilities.inlayHintProvider then
|
||||
vim.keymap.set("n", "<space>h", function()
|
||||
vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled())
|
||||
end, desc("LSP toggle inlay [h]ints"))
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue