diff --git a/.gitignore b/.gitignore index b2be92b..14a123d 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ result +cache-* diff --git a/lua/dot013/keymap.lua b/lua/dot013/keymap.lua new file mode 100644 index 0000000..93076f9 --- /dev/null +++ b/lua/dot013/keymap.lua @@ -0,0 +1,33 @@ +vim.keymap.set("n", "d", '"_d', { desc = "Delete to void" }) +vim.keymap.set("v", "d", '"_d', { desc = "Delete to void" }) + +vim.keymap.set("n", "w\\", ":vsplit", { desc = "Split the windows vertically" }) +vim.keymap.set("n", "w/", ":split", { desc = "Split the windows horizontally" }) + +vim.keymap.set("n", "s=", "z=", { desc = "Suggest spelling currection" }) +vim.keymap.set("n", "st", function() + vim.o.spell = not vim.o.spell +end, { desc = "Toggle spelling correction" }) + +vim.keymap.set("n", "ee", vim.diagnostic.open_float, { desc = "Open diagnostics" }) + +-- ------ + +vim.api.nvim_create_autocmd("LspAttach", { + callback = function(e) + vim.keymap.set("n", "r", vim.lsp.buf.rename, { desc = "[LSP] Rename", buffer = e.buf }) + vim.keymap.set("n", "a", vim.lsp.buf.code_action, { desc = "[LSP] Code action", buffer = e.buf }) + + vim.keymap.set("n", "gd", vim.lsp.buf.definition, { desc = "[LSP] Go to definition", buffer = e.buf }) + vim.keymap.set("n", "gD", vim.lsp.buf.declaration, { desc = "[LSP] Go to declaration", buffer = e.buf }) + vim.keymap.set("n", "gI", vim.lsp.buf.implementation, { desc = "[LSP] Go to implementation", buffer = e.buf }) + vim.keymap.set( + "n", + "D", + vim.lsp.buf.type_definition, + { desc = "[LSP] Go to type definition", buffer = e.buf } + ) + end, + group = vim.api.nvim_create_augroup("dot013_group", {}), +}) +