update and optimize nvim
This commit is contained in:
@@ -11,7 +11,7 @@ vim.g.mapleader = " "
|
||||
vim.g.maplocalleader = ";"
|
||||
|
||||
-- Set Explorer keybind to leader-"e"
|
||||
vim.keymap.set("n","<leader>e", vim.cmd.Ex)
|
||||
vim.keymap.set("n", "<leader>e", vim.cmd.Ex)
|
||||
|
||||
-- Disable Space bar since it'll be used as the leader key
|
||||
nnoremap("<space>", "<nop>")
|
||||
@@ -37,98 +37,98 @@ nnoremap("<leader>cl", "<cmd>!wc -l %<cr>")
|
||||
-- LSP Keybinds (exports a function to be used in ../../after/plugin/lsp.lua b/c we need a reference to the current buffer) --
|
||||
M.map_lsp_keybinds = function(buffer_number)
|
||||
-- Rename variable
|
||||
nnoremap("<leader>rn", vim.lsp.buf.rename, { desc = "LSP: [R]e[n]ame", buffer = buffer_number })
|
||||
nnoremap("<leader>rn", vim.lsp.buf.rename, { desc = "LSP: [R]e[n]ame", buffer = buffer_number })
|
||||
|
||||
-- LSP code action
|
||||
nnoremap("<leader>ca", vim.lsp.buf.code_action, { desc = "LSP: [C]ode [A]ction", buffer = buffer_number })
|
||||
nnoremap("<leader>ca", vim.lsp.buf.code_action, { desc = "LSP: [C]ode [A]ction", buffer = buffer_number })
|
||||
|
||||
-- Goto definition
|
||||
nnoremap("gd", vim.lsp.buf.definition, { desc = "LSP: [G]oto [D]efinition", buffer = buffer_number })
|
||||
nnoremap("gd", vim.lsp.buf.definition, { desc = "LSP: [G]oto [D]efinition", buffer = buffer_number })
|
||||
|
||||
-- Telescope LSP keybinds --
|
||||
-- Telescope LSP keybinds --
|
||||
-- Goto reference
|
||||
nnoremap(
|
||||
"gr",
|
||||
require("telescope.builtin").lsp_references,
|
||||
{ desc = "LSP: [G]oto [R]eferences", buffer = buffer_number }
|
||||
)
|
||||
nnoremap(
|
||||
"gr",
|
||||
require("telescope.builtin").lsp_references,
|
||||
{ desc = "LSP: [G]oto [R]eferences", buffer = buffer_number }
|
||||
)
|
||||
|
||||
-- Goto implementation
|
||||
nnoremap(
|
||||
"gi",
|
||||
require("telescope.builtin").lsp_implementations,
|
||||
{ desc = "LSP: [G]oto [I]mplementation", buffer = buffer_number }
|
||||
)
|
||||
nnoremap(
|
||||
"gi",
|
||||
require("telescope.builtin").lsp_implementations,
|
||||
{ desc = "LSP: [G]oto [I]mplementation", buffer = buffer_number }
|
||||
)
|
||||
|
||||
-- List of symbols in the current buffer
|
||||
nnoremap(
|
||||
"<leader>bs",
|
||||
require("telescope.builtin").lsp_document_symbols,
|
||||
{ desc = "LSP: [B]uffer [S]ymbols", buffer = buffer_number }
|
||||
)
|
||||
nnoremap(
|
||||
"<leader>bs",
|
||||
require("telescope.builtin").lsp_document_symbols,
|
||||
{ desc = "LSP: [B]uffer [S]ymbols", buffer = buffer_number }
|
||||
)
|
||||
|
||||
-- List of symbols in the workspace
|
||||
nnoremap(
|
||||
"<leader>ps",
|
||||
require("telescope.builtin").lsp_workspace_symbols,
|
||||
{ desc = "LSP: [P]roject [S]ymbols", buffer = buffer_number }
|
||||
)
|
||||
nnoremap(
|
||||
"<leader>ps",
|
||||
require("telescope.builtin").lsp_workspace_symbols,
|
||||
{ desc = "LSP: [P]roject [S]ymbols", buffer = buffer_number }
|
||||
)
|
||||
|
||||
-- Hover documentation
|
||||
nnoremap("K", vim.lsp.buf.hover, { desc = "LSP: Hover Documentation", buffer = buffer_number })
|
||||
nnoremap("K", vim.lsp.buf.hover, { desc = "LSP: Hover Documentation", buffer = buffer_number })
|
||||
|
||||
-- Signature documentation
|
||||
nnoremap("<leader>k", vim.lsp.buf.signature_help, { desc = "LSP: Signature Documentation", buffer = buffer_number })
|
||||
inoremap("<C-k>", vim.lsp.buf.signature_help, { desc = "LSP: Signature Documentation", buffer = buffer_number })
|
||||
nnoremap("<leader>k", vim.lsp.buf.signature_help, { desc = "LSP: Signature Documentation", buffer = buffer_number })
|
||||
inoremap("<C-k>", vim.lsp.buf.signature_help, { desc = "LSP: Signature Documentation", buffer = buffer_number })
|
||||
|
||||
-- Goto declaration
|
||||
nnoremap("gD", vim.lsp.buf.declaration, { desc = "LSP: [G]oto [D]eclaration", buffer = buffer_number })
|
||||
-- Goto declaration
|
||||
nnoremap("gD", vim.lsp.buf.declaration, { desc = "LSP: [G]oto [D]eclaration", buffer = buffer_number })
|
||||
|
||||
-- Type definition
|
||||
nnoremap("td", vim.lsp.buf.type_definition, { desc = "LSP: [T]ype [D]efinition", buffer = buffer_number })
|
||||
nnoremap("td", vim.lsp.buf.type_definition, { desc = "LSP: [T]ype [D]efinition", buffer = buffer_number })
|
||||
end
|
||||
|
||||
-- Goto next diagnostic of any severity
|
||||
nnoremap("]d", function()
|
||||
vim.diagnostic.goto_next({})
|
||||
vim.api.nvim_feedkeys("zz", "n", false)
|
||||
vim.diagnostic.jump({ count = 1, float = true })
|
||||
vim.api.nvim_feedkeys("zz", "n", false)
|
||||
end)
|
||||
|
||||
-- Goto prev diagnostic of any severity
|
||||
nnoremap("[d", function()
|
||||
vim.diagnostic.goto_prev({})
|
||||
vim.api.nvim_feedkeys("zz", "n", false)
|
||||
vim.diagnostic.jump({ count = -1, float = true })
|
||||
vim.api.nvim_feedkeys("zz", "n", false)
|
||||
end)
|
||||
|
||||
-- Goto next error diagnostic
|
||||
nnoremap("]e", function()
|
||||
vim.diagnostic.goto_next({ severity = vim.diagnostic.severity.ERROR })
|
||||
vim.api.nvim_feedkeys("zz", "n", false)
|
||||
vim.diagnostic.jump({ severity = vim.diagnostic.severity.ERROR, count = 1, float = true })
|
||||
vim.api.nvim_feedkeys("zz", "n", false)
|
||||
end)
|
||||
|
||||
-- Goto previous error diagnostic
|
||||
nnoremap("[e", function()
|
||||
vim.diagnostic.goto_prev({ severity = vim.diagnostic.severity.ERROR })
|
||||
vim.api.nvim_feedkeys("zz", "n", false)
|
||||
vim.diagnostic.jump({ severity = vim.diagnostic.severity.ERROR, count = -1, float = true })
|
||||
vim.api.nvim_feedkeys("zz", "n", false)
|
||||
end)
|
||||
|
||||
-- Goto next warning diagnostic
|
||||
nnoremap("]w", function()
|
||||
vim.diagnostic.goto_next({ severity = vim.diagnostic.severity.WARN })
|
||||
vim.api.nvim_feedkeys("zz", "n", false)
|
||||
vim.diagnostic.jump({ severity = vim.diagnostic.severity.WARN, count = 1, float = true })
|
||||
vim.api.nvim_feedkeys("zz", "n", false)
|
||||
end)
|
||||
|
||||
-- Goto previous warning diagnostic
|
||||
nnoremap("[w", function()
|
||||
vim.diagnostic.goto_prev({ severity = vim.diagnostic.severity.WARN })
|
||||
vim.api.nvim_feedkeys("zz", "n", false)
|
||||
vim.diagnostic.jump({ severity = vim.diagnostic.severity.WARN, count = -1, float = true })
|
||||
vim.api.nvim_feedkeys("zz", "n", false)
|
||||
end)
|
||||
|
||||
-- Open diagnostic window
|
||||
nnoremap("<leader>d", function()
|
||||
vim.diagnostic.open_float({
|
||||
border = "rounded",
|
||||
})
|
||||
vim.diagnostic.open_float({
|
||||
border = "rounded",
|
||||
})
|
||||
end)
|
||||
|
||||
return M
|
||||
|
||||
Reference in New Issue
Block a user