Nvim: some code prettifying

This commit is contained in:
Marko Korhonen 2024-08-08 11:47:17 +03:00
parent 5baa4af474
commit 4046ef4e48
Signed by: FunctionalHacker
GPG key ID: A7F78BCB859CD890
3 changed files with 27 additions and 28 deletions

View file

@ -4,6 +4,7 @@ local m = {}
local lsp = vim.lsp
local diagnostic = vim.diagnostic
local k = vim.keymap.set
-- Maps LSP specific keybinds.
-- This makes them only available when LSP is running
@ -14,25 +15,25 @@ function m.map_keys()
{ "<leader>w", group = "Workspace" },
})
vim.keymap.set("n", "<leader>F", lsp.buf.format, { desc = "Format with LSP" })
vim.keymap.set("n", "<leader>ca", lsp.buf.code_action, { desc = "Code action" })
vim.keymap.set("n", "<leader>e", diagnostic.open_float, { desc = "Open diagnostics" })
vim.keymap.set("n", "<leader>k", lsp.buf.signature_help, { desc = "Signature help" })
vim.keymap.set("n", "<leader>rn", lsp.buf.rename, { desc = "Rename symbol" })
vim.keymap.set("n", "<leader>wa", lsp.buf.add_workspace_folder, { desc = "Add folder" })
vim.keymap.set("n", "<leader>wl", function()
k("n", "<leader>F", lsp.buf.format, { desc = "Format with LSP" })
k("n", "<leader>ca", lsp.buf.code_action, { desc = "Code action" })
k("n", "<leader>e", diagnostic.open_float, { desc = "Open diagnostics" })
k("n", "<leader>k", lsp.buf.signature_help, { desc = "Signature help" })
k("n", "<leader>rn", lsp.buf.rename, { desc = "Rename symbol" })
k("n", "<leader>wa", lsp.buf.add_workspace_folder, { desc = "Add folder" })
k("n", "<leader>wl", function()
print(vim.inspect(lsp.buf.list_workspace_folders()))
end, { desc = "List folders" })
vim.keymap.set("n", "<leader>wr", lsp.buf.remove_workspace_folder, { desc = "Remove folder" })
vim.keymap.set("n", "K", lsp.buf.hover, { desc = "Hover" })
vim.keymap.set("n", "[d", diagnostic.goto_prev, { desc = "Previous diagnostic" })
vim.keymap.set("n", "]d", diagnostic.goto_next, { desc = "Next diagnostic" })
vim.keymap.set("n", "gD", lsp.buf.declaration, { desc = "Declaration" })
vim.keymap.set("n", "gd", builtin.lsp_definitions, { desc = "Definition" })
vim.keymap.set("n", "gi", builtin.lsp_implementations, { desc = "Implementation" })
vim.keymap.set("n", "gr", builtin.lsp_references, { desc = "References" })
vim.keymap.set("n", "gs", builtin.lsp_document_symbols, { desc = "Symbols" })
vim.keymap.set("n", "gt", lsp.buf.type_definition, { desc = "Type definition" })
k("n", "<leader>wr", lsp.buf.remove_workspace_folder, { desc = "Remove folder" })
k("n", "K", lsp.buf.hover, { desc = "Hover" })
k("n", "[d", diagnostic.goto_prev, { desc = "Previous diagnostic" })
k("n", "]d", diagnostic.goto_next, { desc = "Next diagnostic" })
k("n", "gD", lsp.buf.declaration, { desc = "Declaration" })
k("n", "gd", builtin.lsp_definitions, { desc = "Definition" })
k("n", "gi", builtin.lsp_implementations, { desc = "Implementation" })
k("n", "gr", builtin.lsp_references, { desc = "References" })
k("n", "gs", builtin.lsp_document_symbols, { desc = "Symbols" })
k("n", "gt", lsp.buf.type_definition, { desc = "Type definition" })
end
-- Combine built-in LSP and cmp cabaibilities

View file

@ -1,6 +1,4 @@
local k = function(lhs, rhs, opts)
vim.keymap.set("", lhs, rhs, opts)
end
local k = vim.keymap.set
--- @type LazyPluginSpec
return {
@ -20,17 +18,17 @@ return {
local opts
-- Hunk navigation
k("[h", gs.prev_hunk, { desc = "Previous hunk" })
k("]h", gs.next_hunk, { desc = "Next hunk" })
k("n", "[h", gs.prev_hunk, { desc = "Previous hunk" })
k("n", "]h", gs.next_hunk, { desc = "Next hunk" })
-- Hunk actions
opts = { desc = "Hunk" }
k("<leader>grh", gs.reset_hunk, opts)
k("<leader>gah", gs.stage_hunk, opts)
k("n", "<leader>grh", gs.reset_hunk, opts)
k("n", "<leader>gah", gs.stage_hunk, opts)
-- Buffer actions
opts = { desc = "Buffer" }
k("<leader>gab", gs.stage_buffer, opts)
k("<leader>grb", gs.reset_buffer, opts)
k("n", "<leader>gab", gs.stage_buffer, opts)
k("n", "<leader>grb", gs.reset_buffer, opts)
end,
}

View file

@ -7,7 +7,7 @@ return {
"neovim/nvim-lspconfig",
"williamboman/mason-lspconfig.nvim",
-- Add MasonUpdateAll
{ "Zeioth/mason-extra-cmds", config = true },
{ "Zeioth/mason-extra-cmds", opts = {} },
-- Add lockfile support
{
"zapling/mason-lock.nvim",
@ -18,7 +18,7 @@ return {
-- Extended functionality for jdtls
"mfussenegger/nvim-jdtls",
-- Add support for LSP file operations
{ "antosha417/nvim-lsp-file-operations", config = true },
{ "antosha417/nvim-lsp-file-operations", opts = {} },
},
config = function()
require("mason").setup()