diff --git a/nvim/lua/config/keymaps.lua b/nvim/lua/config/keymaps.lua index abeb36f..1fc80e4 100644 --- a/nvim/lua/config/keymaps.lua +++ b/nvim/lua/config/keymaps.lua @@ -14,7 +14,7 @@ local keymap = vim.keymap -- o Operator pending mode map. Defined using ':omap' or ':onoremap'. -- Reserved firs characters: --- +/- - numbers +-- Update in ../plugins/which-key.lua -- c - [C]lear / [C]all -- d - [D]iagnostic -- e - File [E]xplorer @@ -22,7 +22,6 @@ local keymap = vim.keymap -- g - [G]it -- h - [H]istory -- l - [L]SP --- n - [N]otifications -- p - [P]anes -- s - [S]ession -- t - [T]abs @@ -30,7 +29,9 @@ local keymap = vim.keymap -- [C]lear / [C]all keymap.set("n", "ch", ":nohl", { desc = "[C]lear: serch [h]ighlights" }) -keymap.set({"n", "v"}, "cf", function() require("conform").format() end, { desc = "[C]all: [f]ormat" }) +keymap.set({ "n", "v" }, "cf", function() + require("conform").format() +end, { desc = "[C]all: [f]ormat" }) -- [D]iagnostic keymap.set("n", "dl", vim.diagnostic.open_float, { desc = "[D]iagnostic: [l]ine" }) @@ -38,13 +39,23 @@ keymap.set("n", "dl", vim.diagnostic.open_float, { desc = "[D]iagnostic: keymap.set("n", "db", "Telescope diagnostics bufnr=0", { desc = "[D]iagnostic: [b]uffer" }) -- folke/trouble.nvim keymap.set("n", "dw", "Trouble diagnostics toggle", { desc = "[D]iagnostic: Trouble [w]orkspace" }) -keymap.set("n", "dc", "Trouble diagnostics toggle filter.buf=0", { desc = "[D]iagnostic: Trouble do[c]ument" }) +keymap.set( + "n", + "dc", + "Trouble diagnostics toggle filter.buf=0", + { desc = "[D]iagnostic: Trouble do[c]ument" } +) keymap.set("n", "dq", "Trouble quickfix toggle", { desc = "[D]iagnostic: Trouble [q]uickfix" }) -- File [E]xplorer -- nvim-tree/nvim-tree.lua keymap.set("n", "ee", "NvimTreeToggle", { desc = "File [E]xplorer: Toggle file [e]xplorer" }) -keymap.set("n", "ef", "NvimTreeFindFileToggle", { desc = "File [E]xplorer: Toggle file explorer on current [f]ile" }) +keymap.set( + "n", + "ef", + "NvimTreeFindFileToggle", + { desc = "File [E]xplorer: Toggle file explorer on current [f]ile" } +) keymap.set("n", "ec", "NvimTreeCollapse", { desc = "File [E]xplorer: [C]ollapse" }) keymap.set("n", "er", "NvimTreeRefresh", { desc = "File [E]xplorer: [R]efresh" }) @@ -57,7 +68,9 @@ keymap.set("n", "fc", "Telescope grep_string", { desc = "[F]ind -- folke/todo-comments.nvim keymap.set("n", "ft", "TodoTelescope", { desc = "[F]ind: [t]odos" }) -- folke/snacks.nvim -keymap.set("n", "fq", function() Snacks.picker.qflist() end, { desc = "[F]ind: [Q]uickfix list" }) +keymap.set("n", "fq", function() + Snacks.picker.qflist() +end, { desc = "[F]ind: [Q]uickfix list" }) -- [G]it -- lewis6991/gitsigns.nvim @@ -70,24 +83,42 @@ keymap.set("n", "ghp", "Gitsigns nav_hunk prev", { desc = "[G]i keymap.set("n", "ghs", "Gitsigns stage_hunk", { desc = "[G]it [H]unk: [s]tage" }) keymap.set("n", "ghr", "Gitsigns reset_hunk", { desc = "[G]it [H]unk: [r]eset" }) keymap.set("n", "ghv", "Gitsigns preview_hunk", { desc = "[G]it [H]unk: pre[v]iew" }) -keymap.set("v", "ghs", function() require("gitsigns").stage_hunk({ vim.fn.line("."), vim.fn.line("v") }) end, { desc = "[G]it [H]unk: [s]tage" }) -keymap.set("v", "ghr", function() require("gitsigns").reset_hunk({ vim.fn.line("."), vim.fn.line("v") }) end, { desc = "[G]it [H]unk: [r]eset" }) +keymap.set("v", "ghs", function() + require("gitsigns").stage_hunk({ vim.fn.line("."), vim.fn.line("v") }) +end, { desc = "[G]it [H]unk: [s]tage" }) +keymap.set("v", "ghr", function() + require("gitsigns").reset_hunk({ vim.fn.line("."), vim.fn.line("v") }) +end, { desc = "[G]it [H]unk: [r]eset" }) keymap.set({ "o", "x" }, "gh", "Gitsigns select_hunk", { desc = "[G]it [H]unk: select" }) -- [H]istory -- folke/snacks.nvim -keymap.set("n", "hn", function() Snacks.picker.notifications() end, { desc = "[H]istory: [N]otifications" } ) -keymap.set("n", "hc", function() Snacks.picker.command_history() end, { desc = "[H]istory: [C]ommands" } ) +keymap.set("n", "hn", function() + Snacks.picker.notifications() +end, { desc = "[H]istory: [N]otifications" }) +keymap.set("n", "hc", function() + Snacks.picker.command_history() +end, { desc = "[H]istory: [C]ommands" }) -- [L]SP keymap.set({ "n", "v" }, "ld", vim.lsp.buf.hover, { desc = "[L]SP: Hover [D]ocumentation" }) keymap.set({ "n", "v" }, "la", vim.lsp.buf.code_action, { desc = "[L]SP: avalible code [a]ctions" }) -- folke/snacks.nvim -keymap.set("n", "lf", function() Snacks.picker.lsp_definitions() end, { desc = "[L]SP: Goto De[f]initions" }) -keymap.set("n", "lc", function() Snacks.picker.lsp_declarations() end, { desc = "[L]SP: Goto De[c]larations" }) -keymap.set("n", "le", function() Snacks.picker.lsp_references() end, { desc = "[L]SP: R[e]ferences" }) -keymap.set("n", "li", function() Snacks.picker.lsp_implementations() end, { desc = "[L]SP: Goto [I]mplementations" }) -keymap.set("n", "ly", function() Snacks.picker.lsp_type_definitions() end, { desc = "[L]SP: Goto T[y]pe Definitions" }) +keymap.set("n", "lf", function() + Snacks.picker.lsp_definitions() +end, { desc = "[L]SP: Goto De[f]initions" }) +keymap.set("n", "lc", function() + Snacks.picker.lsp_declarations() +end, { desc = "[L]SP: Goto De[c]larations" }) +keymap.set("n", "le", function() + Snacks.picker.lsp_references() +end, { desc = "[L]SP: R[e]ferences" }) +keymap.set("n", "li", function() + Snacks.picker.lsp_implementations() +end, { desc = "[L]SP: Goto [I]mplementations" }) +keymap.set("n", "ly", function() + Snacks.picker.lsp_type_definitions() +end, { desc = "[L]SP: Goto T[y]pe Definitions" }) -- [P]anes keymap.set("n", "pv", "v", { desc = "[P]ane: split [v]ertically" }) @@ -113,8 +144,12 @@ keymap.set("n", "tb", "tabnew %", { desc = "[T]ab: Open current -- [U]I -- folke/snacks.nvim -keymap.set("n", "ug", function() Snacks.lazygit() end, { desc = "[U]I: Open [L]azyGit" }) -keymap.set("n", "ud", function() Snacks.dashboard() end, { desc = "[U]I: Open [D]ashboard" }) +keymap.set("n", "ug", function() + Snacks.lazygit() +end, { desc = "[U]I: Open [L]azyGit" }) +keymap.set("n", "ud", function() + Snacks.dashboard() +end, { desc = "[U]I: Open [D]ashboard" }) -- folke/lazy.nvim keymap.set("n", "ul", "Lazy", { desc = "[U]I: Open [L]azyVim" }) -- mason-org/mason.nvim @@ -124,4 +159,6 @@ keymap.set("n", "um", "Mason", { desc = "[U]I: Open [M]ason" }) -- VonHeikemen/fine-cmdline.nvim keymap.set("n", ":", "FineCmdline", { desc = "Fine Command Line" }) -- folke/which-key.nvim -keymap.set("n", "?", function() require("which-key").show({ global = false }) end, { desc = "Buffer Local Keymaps (which-key)" }) +keymap.set("n", "?", function() + require("which-key").show({ global = false }) +end, { desc = "Buffer Local Keymaps (which-key)" }) diff --git a/nvim/lua/plugins/which-key.lua b/nvim/lua/plugins/which-key.lua index 00dec08..a77e460 100644 --- a/nvim/lua/plugins/which-key.lua +++ b/nvim/lua/plugins/which-key.lua @@ -1,14 +1,27 @@ -- https://github.com/folke/which-key.nvim return { - "folke/which-key.nvim", - event = "VeryLazy", - init = function() - vim.o.timeout = true - vim.o.timeoutlen = 500 - end, - opts = { - -- your configuration comes here - -- or leave it empty to use the default settings - -- refer to the configuration section below - } + "folke/which-key.nvim", + event = "VeryLazy", + init = function() + vim.o.timeout = true + vim.o.timeoutlen = 500 + end, + opts = { + -- your configuration comes here + -- or leave it empty to use the default settings + -- refer to the configuration section below + spec = { + { "c", group = "[C]lear / [C]all" }, + { "d", group = "[D]iagnostic" }, + { "e", group = "File [E]xplorer" }, + { "f", group = "[F]ind" }, + { "g", group = "[G]it" }, + { "h", group = "[H]istory" }, + { "l", group = "[L]SP" }, + { "p", group = "[P]anes" }, + { "s", group = "[S]ession" }, + { "t", group = "[T]abs" }, + { "u", group = "[U]i" }, + }, + }, }