|
|
|
@@ -15,6 +15,7 @@ local keymap = vim.keymap
|
|
|
|
|
|
|
|
|
|
|
|
-- Reserved firs characters:
|
|
|
|
-- Reserved firs characters:
|
|
|
|
-- Update in ../plugins/which-key.lua
|
|
|
|
-- Update in ../plugins/which-key.lua
|
|
|
|
|
|
|
|
-- a - [A]I
|
|
|
|
-- c - [C]lear / [C]all
|
|
|
|
-- c - [C]lear / [C]all
|
|
|
|
-- d - [D]iagnostic
|
|
|
|
-- d - [D]iagnostic
|
|
|
|
-- e - File [E]xplorer
|
|
|
|
-- e - File [E]xplorer
|
|
|
|
@@ -27,11 +28,15 @@ local keymap = vim.keymap
|
|
|
|
-- t - [T]abs
|
|
|
|
-- t - [T]abs
|
|
|
|
-- u - [U]i
|
|
|
|
-- u - [U]i
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- [A]I
|
|
|
|
|
|
|
|
-- nickjvandyke/opencode.nvim
|
|
|
|
|
|
|
|
keymap.set({ "n", "x" }, "<leader>aa", function() require("opencode").ask("", { submit = true }) end, { desc = "[AI]: Ask opencode" })
|
|
|
|
|
|
|
|
keymap.set({ "n", "x" }, "<leader>ax", function() require("opencode").select() end, { desc = "[AI]: Execute action" })
|
|
|
|
|
|
|
|
keymap.set({ "n", "t" }, "<leader>at", function() require("opencode").toggle() end, { desc = "[AI]: Toggle opencode" })
|
|
|
|
|
|
|
|
|
|
|
|
-- [C]lear / [C]all
|
|
|
|
-- [C]lear / [C]all
|
|
|
|
keymap.set("n", "<leader>ch", ":nohl<CR>", { desc = "[C]lear: serch [h]ighlights" })
|
|
|
|
keymap.set("n", "<leader>ch", ":nohl<CR>", { desc = "[C]lear: serch [h]ighlights" })
|
|
|
|
keymap.set({ "n", "v" }, "<leader>cf", function()
|
|
|
|
keymap.set({ "n", "v" }, "<leader>cf", function() require("conform").format() end, { desc = "[C]all: [f]ormat" })
|
|
|
|
require("conform").format()
|
|
|
|
|
|
|
|
end, { desc = "[C]all: [f]ormat" })
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- [D]iagnostic
|
|
|
|
-- [D]iagnostic
|
|
|
|
keymap.set("n", "<leader>dl", vim.diagnostic.open_float, { desc = "[D]iagnostic: [l]ine" })
|
|
|
|
keymap.set("n", "<leader>dl", vim.diagnostic.open_float, { desc = "[D]iagnostic: [l]ine" })
|
|
|
|
@@ -39,23 +44,13 @@ keymap.set("n", "<leader>dl", vim.diagnostic.open_float, { desc = "[D]iagnostic:
|
|
|
|
keymap.set("n", "<leader>db", "<cmd>Telescope diagnostics bufnr=0<CR>", { desc = "[D]iagnostic: [b]uffer" })
|
|
|
|
keymap.set("n", "<leader>db", "<cmd>Telescope diagnostics bufnr=0<CR>", { desc = "[D]iagnostic: [b]uffer" })
|
|
|
|
-- folke/trouble.nvim
|
|
|
|
-- folke/trouble.nvim
|
|
|
|
keymap.set("n", "<leader>dw", "<cmd>Trouble diagnostics toggle<CR>", { desc = "[D]iagnostic: Trouble [w]orkspace" })
|
|
|
|
keymap.set("n", "<leader>dw", "<cmd>Trouble diagnostics toggle<CR>", { desc = "[D]iagnostic: Trouble [w]orkspace" })
|
|
|
|
keymap.set(
|
|
|
|
keymap.set("n", "<leader>dc", "<cmd>Trouble diagnostics toggle filter.buf=0<CR>", { desc = "[D]iagnostic: Trouble do[c]ument" })
|
|
|
|
"n",
|
|
|
|
|
|
|
|
"<leader>dc",
|
|
|
|
|
|
|
|
"<cmd>Trouble diagnostics toggle filter.buf=0<CR>",
|
|
|
|
|
|
|
|
{ desc = "[D]iagnostic: Trouble do[c]ument" }
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
keymap.set("n", "<leader>dq", "<cmd>Trouble quickfix toggle<CR>", { desc = "[D]iagnostic: Trouble [q]uickfix" })
|
|
|
|
keymap.set("n", "<leader>dq", "<cmd>Trouble quickfix toggle<CR>", { desc = "[D]iagnostic: Trouble [q]uickfix" })
|
|
|
|
|
|
|
|
|
|
|
|
-- File [E]xplorer
|
|
|
|
-- File [E]xplorer
|
|
|
|
-- nvim-tree/nvim-tree.lua
|
|
|
|
-- nvim-tree/nvim-tree.lua
|
|
|
|
keymap.set("n", "<leader>ee", "<cmd>NvimTreeToggle<CR>", { desc = "File [E]xplorer: Toggle file [e]xplorer" })
|
|
|
|
keymap.set("n", "<leader>ee", "<cmd>NvimTreeToggle<CR>", { desc = "File [E]xplorer: Toggle file [e]xplorer" })
|
|
|
|
keymap.set(
|
|
|
|
keymap.set("n", "<leader>ef", "<cmd>NvimTreeFindFileToggle<CR>", { desc = "File [E]xplorer: Toggle file explorer on current [f]ile" })
|
|
|
|
"n",
|
|
|
|
|
|
|
|
"<leader>ef",
|
|
|
|
|
|
|
|
"<cmd>NvimTreeFindFileToggle<CR>",
|
|
|
|
|
|
|
|
{ desc = "File [E]xplorer: Toggle file explorer on current [f]ile" }
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
keymap.set("n", "<leader>ec", "<cmd>NvimTreeCollapse<CR>", { desc = "File [E]xplorer: [C]ollapse" })
|
|
|
|
keymap.set("n", "<leader>ec", "<cmd>NvimTreeCollapse<CR>", { desc = "File [E]xplorer: [C]ollapse" })
|
|
|
|
keymap.set("n", "<leader>er", "<cmd>NvimTreeRefresh<CR>", { desc = "File [E]xplorer: [R]efresh" })
|
|
|
|
keymap.set("n", "<leader>er", "<cmd>NvimTreeRefresh<CR>", { desc = "File [E]xplorer: [R]efresh" })
|
|
|
|
|
|
|
|
|
|
|
|
@@ -68,9 +63,7 @@ keymap.set("n", "<leader>fc", "<cmd>Telescope grep_string<cr>", { desc = "[F]ind
|
|
|
|
-- folke/todo-comments.nvim
|
|
|
|
-- folke/todo-comments.nvim
|
|
|
|
keymap.set("n", "<leader>ft", "<cmd>TodoTelescope<cr>", { desc = "[F]ind: [t]odos" })
|
|
|
|
keymap.set("n", "<leader>ft", "<cmd>TodoTelescope<cr>", { desc = "[F]ind: [t]odos" })
|
|
|
|
-- folke/snacks.nvim
|
|
|
|
-- folke/snacks.nvim
|
|
|
|
keymap.set("n", "<leader>fq", function()
|
|
|
|
keymap.set("n", "<leader>fq", function() Snacks.picker.qflist() end, { desc = "[F]ind: [Q]uickfix list" })
|
|
|
|
Snacks.picker.qflist()
|
|
|
|
|
|
|
|
end, { desc = "[F]ind: [Q]uickfix list" })
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- [G]it
|
|
|
|
-- [G]it
|
|
|
|
-- lewis6991/gitsigns.nvim
|
|
|
|
-- lewis6991/gitsigns.nvim
|
|
|
|
@@ -83,42 +76,24 @@ keymap.set("n", "<leader>ghp", "<cmd>Gitsigns nav_hunk prev<CR>", { desc = "[G]i
|
|
|
|
keymap.set("n", "<leader>ghs", "<cmd>Gitsigns stage_hunk<CR>", { desc = "[G]it [H]unk: [s]tage" })
|
|
|
|
keymap.set("n", "<leader>ghs", "<cmd>Gitsigns stage_hunk<CR>", { desc = "[G]it [H]unk: [s]tage" })
|
|
|
|
keymap.set("n", "<leader>ghr", "<cmd>Gitsigns reset_hunk<CR>", { desc = "[G]it [H]unk: [r]eset" })
|
|
|
|
keymap.set("n", "<leader>ghr", "<cmd>Gitsigns reset_hunk<CR>", { desc = "[G]it [H]unk: [r]eset" })
|
|
|
|
keymap.set("n", "<leader>ghv", "<cmd>Gitsigns preview_hunk<CR>", { desc = "[G]it [H]unk: pre[v]iew" })
|
|
|
|
keymap.set("n", "<leader>ghv", "<cmd>Gitsigns preview_hunk<CR>", { desc = "[G]it [H]unk: pre[v]iew" })
|
|
|
|
keymap.set("v", "<leader>ghs", function()
|
|
|
|
keymap.set("v", "<leader>ghs", function() require("gitsigns").stage_hunk({ vim.fn.line("."), vim.fn.line("v") }) end, { desc = "[G]it [H]unk: [s]tage" })
|
|
|
|
require("gitsigns").stage_hunk({ vim.fn.line("."), vim.fn.line("v") })
|
|
|
|
keymap.set("v", "<leader>ghr", function() require("gitsigns").reset_hunk({ vim.fn.line("."), vim.fn.line("v") }) end, { desc = "[G]it [H]unk: [r]eset" })
|
|
|
|
end, { desc = "[G]it [H]unk: [s]tage" })
|
|
|
|
|
|
|
|
keymap.set("v", "<leader>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" }, "<leader>gh", "<cmd>Gitsigns select_hunk<CR>", { desc = "[G]it [H]unk: select" })
|
|
|
|
keymap.set({ "o", "x" }, "<leader>gh", "<cmd>Gitsigns select_hunk<CR>", { desc = "[G]it [H]unk: select" })
|
|
|
|
|
|
|
|
|
|
|
|
-- [H]istory
|
|
|
|
-- [H]istory
|
|
|
|
-- folke/snacks.nvim
|
|
|
|
-- folke/snacks.nvim
|
|
|
|
keymap.set("n", "<leader>hn", function()
|
|
|
|
keymap.set("n", "<leader>hn", function() Snacks.picker.notifications() end, { desc = "[H]istory: [N]otifications" })
|
|
|
|
Snacks.picker.notifications()
|
|
|
|
keymap.set("n", "<leader>hc", function() Snacks.picker.command_history() end, { desc = "[H]istory: [C]ommands" })
|
|
|
|
end, { desc = "[H]istory: [N]otifications" })
|
|
|
|
|
|
|
|
keymap.set("n", "<leader>hc", function()
|
|
|
|
|
|
|
|
Snacks.picker.command_history()
|
|
|
|
|
|
|
|
end, { desc = "[H]istory: [C]ommands" })
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- [L]SP
|
|
|
|
-- [L]SP
|
|
|
|
keymap.set({ "n", "v" }, "<leader>ld", vim.lsp.buf.hover, { desc = "[L]SP: Hover [D]ocumentation" })
|
|
|
|
keymap.set({ "n", "v" }, "<leader>ld", vim.lsp.buf.hover, { desc = "[L]SP: Hover [D]ocumentation" })
|
|
|
|
keymap.set({ "n", "v" }, "<leader>la", vim.lsp.buf.code_action, { desc = "[L]SP: avalible code [a]ctions" })
|
|
|
|
keymap.set({ "n", "v" }, "<leader>la", vim.lsp.buf.code_action, { desc = "[L]SP: avalible code [a]ctions" })
|
|
|
|
-- folke/snacks.nvim
|
|
|
|
-- folke/snacks.nvim
|
|
|
|
keymap.set("n", "<leader>lf", function()
|
|
|
|
keymap.set("n", "<leader>lf", function() Snacks.picker.lsp_definitions() end, { desc = "[L]SP: Goto De[f]initions" })
|
|
|
|
Snacks.picker.lsp_definitions()
|
|
|
|
keymap.set("n", "<leader>lc", function() Snacks.picker.lsp_declarations() end, { desc = "[L]SP: Goto De[c]larations" })
|
|
|
|
end, { desc = "[L]SP: Goto De[f]initions" })
|
|
|
|
keymap.set("n", "<leader>le", function() Snacks.picker.lsp_references() end, { desc = "[L]SP: R[e]ferences" })
|
|
|
|
keymap.set("n", "<leader>lc", function()
|
|
|
|
keymap.set("n", "<leader>li", function() Snacks.picker.lsp_implementations() end, { desc = "[L]SP: Goto [I]mplementations" })
|
|
|
|
Snacks.picker.lsp_declarations()
|
|
|
|
keymap.set("n", "<leader>ly", function() Snacks.picker.lsp_type_definitions() end, { desc = "[L]SP: Goto T[y]pe Definitions" })
|
|
|
|
end, { desc = "[L]SP: Goto De[c]larations" })
|
|
|
|
|
|
|
|
keymap.set("n", "<leader>le", function()
|
|
|
|
|
|
|
|
Snacks.picker.lsp_references()
|
|
|
|
|
|
|
|
end, { desc = "[L]SP: R[e]ferences" })
|
|
|
|
|
|
|
|
keymap.set("n", "<leader>li", function()
|
|
|
|
|
|
|
|
Snacks.picker.lsp_implementations()
|
|
|
|
|
|
|
|
end, { desc = "[L]SP: Goto [I]mplementations" })
|
|
|
|
|
|
|
|
keymap.set("n", "<leader>ly", function()
|
|
|
|
|
|
|
|
Snacks.picker.lsp_type_definitions()
|
|
|
|
|
|
|
|
end, { desc = "[L]SP: Goto T[y]pe Definitions" })
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- [P]anes
|
|
|
|
-- [P]anes
|
|
|
|
keymap.set("n", "<leader>pv", "<C-w>v", { desc = "[P]ane: split [v]ertically" })
|
|
|
|
keymap.set("n", "<leader>pv", "<C-w>v", { desc = "[P]ane: split [v]ertically" })
|
|
|
|
@@ -144,12 +119,8 @@ keymap.set("n", "<leader>tb", "<cmd>tabnew %<CR>", { desc = "[T]ab: Open current
|
|
|
|
|
|
|
|
|
|
|
|
-- [U]I
|
|
|
|
-- [U]I
|
|
|
|
-- folke/snacks.nvim
|
|
|
|
-- folke/snacks.nvim
|
|
|
|
keymap.set("n", "<leader>ug", function()
|
|
|
|
keymap.set("n", "<leader>ug", function() Snacks.lazygit() end, { desc = "[U]I: Open [L]azyGit" })
|
|
|
|
Snacks.lazygit()
|
|
|
|
keymap.set("n", "<leader>ud", function() Snacks.dashboard() end, { desc = "[U]I: Open [D]ashboard" })
|
|
|
|
end, { desc = "[U]I: Open [L]azyGit" })
|
|
|
|
|
|
|
|
keymap.set("n", "<leader>ud", function()
|
|
|
|
|
|
|
|
Snacks.dashboard()
|
|
|
|
|
|
|
|
end, { desc = "[U]I: Open [D]ashboard" })
|
|
|
|
|
|
|
|
-- folke/lazy.nvim
|
|
|
|
-- folke/lazy.nvim
|
|
|
|
keymap.set("n", "<leader>ul", "<cmd>Lazy<CR>", { desc = "[U]I: Open [L]azyVim" })
|
|
|
|
keymap.set("n", "<leader>ul", "<cmd>Lazy<CR>", { desc = "[U]I: Open [L]azyVim" })
|
|
|
|
-- mason-org/mason.nvim
|
|
|
|
-- mason-org/mason.nvim
|
|
|
|
@@ -157,8 +128,6 @@ keymap.set("n", "<leader>um", "<cmd>Mason<CR>", { desc = "[U]I: Open [M]ason" })
|
|
|
|
|
|
|
|
|
|
|
|
-- Misc
|
|
|
|
-- Misc
|
|
|
|
-- VonHeikemen/fine-cmdline.nvim
|
|
|
|
-- VonHeikemen/fine-cmdline.nvim
|
|
|
|
keymap.set("n", ":", "<cmd>FineCmdline<CR>", { desc = "Fine Command Line" })
|
|
|
|
keymap.set("n", ":", ":lua require('fine-cmdline').open()<CR>", { desc = "Fine Command Line" })
|
|
|
|
-- folke/which-key.nvim
|
|
|
|
-- folke/which-key.nvim
|
|
|
|
keymap.set("n", "<leader>?", function()
|
|
|
|
keymap.set("n", "<leader>?", function() require("which-key").show({ global = false }) end, { desc = "Buffer Local Keymaps (which-key)" })
|
|
|
|
require("which-key").show({ global = false })
|
|
|
|
|
|
|
|
end, { desc = "Buffer Local Keymaps (which-key)" })
|
|
|
|
|
|
|
|
|