Updated which-key description + small config changed + changed file search keybind

This commit is contained in:
Dreaded_X 2025-01-26 05:29:40 +01:00
parent 53aaf53bde
commit bbe09a41e6
Signed by: Dreaded_X
GPG Key ID: FA5F485356B0D2D4
9 changed files with 53 additions and 81 deletions

View File

@ -1,23 +1,23 @@
-- https://github.com/ojroques/nvim-bufdel -- https://github.com/ojroques/nvim-bufdel
return { return {
'ojroques/nvim-bufdel', "ojroques/nvim-bufdel",
cmd = { "BufDel", "BuffDelOthers" }, cmd = { "BufDel", "BuffDelOthers" },
keys = { keys = {
{ {
'<leader>bd', "<leader>bd",
function() function()
require('bufdel').delete_buffer_expr(nil, false) require("bufdel").delete_buffer_expr(nil, false)
end, end,
silent = true, silent = true,
desc = '[B]uffer [d]elete' desc = "Buffer delete",
}, },
{ {
'<leader>bD', "<leader>bD",
function() function()
require('bufdel').delete_buffer_others(false) require("bufdel").delete_buffer_others(false)
end, end,
silent = true, silent = true,
desc = '[B]uffer [D]elete others' desc = "Buffer delete others",
}, },
}, },
} }

View File

@ -24,10 +24,10 @@ return {
-- Setup keybinds to move buffers around -- Setup keybinds to move buffers around
vim.keymap.set("n", "<leader>b[", function() vim.keymap.set("n", "<leader>b[", function()
bufferline.move(-1) bufferline.move(-1)
end, { silent = true, desc = "[B]uffer to the [ left" }) end, { silent = true, desc = "Move buffer to left" })
vim.keymap.set("n", "<leader>b]", function() vim.keymap.set("n", "<leader>b]", function()
bufferline.move(1) bufferline.move(1)
end, { silent = true, desc = "[B]uffer to the ] right" }) end, { silent = true, desc = "Move buffer to right" })
bufferline.setup({ bufferline.setup({
options = { options = {

View File

@ -59,23 +59,23 @@ return {
end, { desc = "Step out" }) end, { desc = "Step out" })
vim.keymap.set("n", "<Leader>bp", function() vim.keymap.set("n", "<Leader>bp", function()
require("dap").toggle_breakpoint() require("dap").toggle_breakpoint()
end, { desc = "[B]reak[P]oint" }) end, { desc = "Breakpoint" })
-- vim.keymap.set("n", "<Leader>lp", function() -- vim.keymap.set("n", "<Leader>lp", function()
-- require("dap").set_breakpoint(nil, nil, vim.fn.input("Log point message: ")) -- require("dap").set_breakpoint(nil, nil, vim.fn.input("Log point message: "))
-- end) -- end)
vim.keymap.set("n", "<Leader>dr", function() vim.keymap.set("n", "<Leader>dr", function()
require("dap").repl.open() require("dap").repl.open()
end, { desc = "[D]ebug [R]epl" }) end, { desc = "Debug repl" })
-- vim.keymap.set("n", "<Leader>dl", function() -- vim.keymap.set("n", "<Leader>dl", function()
-- require("dap").run_last() -- require("dap").run_last()
-- end) -- end)
vim.keymap.set({ "n", "v" }, "<Leader>dh", function() vim.keymap.set({ "n", "v" }, "<Leader>dh", function()
require("dap.ui.widgets").hover() require("dap.ui.widgets").hover()
end, { desc = "[D]ebug [H]over" }) end, { desc = "Debug hover" })
vim.keymap.set("n", "<Leader>df", function() vim.keymap.set("n", "<Leader>df", function()
local widgets = require("dap.ui.widgets") local widgets = require("dap.ui.widgets")
widgets.centered_float(widgets.frames) widgets.centered_float(widgets.frames)
end, { desc = "[D]ebug [F]rames" }) end, { desc = "Debug frames" })
vim.api.nvim_create_autocmd("FileType", { vim.api.nvim_create_autocmd("FileType", {
pattern = "dap-float", pattern = "dap-float",

View File

@ -26,37 +26,27 @@ return {
}, },
}, },
init = function() init = function()
vim.keymap.set("n", "<leader>gs", require("gitsigns.actions").stage_hunk, { desc = "[G]it [S]tage hunk" }) vim.keymap.set("n", "<leader>gs", require("gitsigns.actions").stage_hunk, { desc = "Stage hunk" })
vim.keymap.set("v", "<leader>gs", function() vim.keymap.set("v", "<leader>gs", function()
require("gitsigns.actions").stage_hunk({ vim.fn.line("."), vim.fn.line("v") }) require("gitsigns.actions").stage_hunk({ vim.fn.line("."), vim.fn.line("v") })
end, { desc = "[G]it [S]tage selection" }) end, { desc = "Stage selection" })
vim.keymap.set( vim.keymap.set("n", "<leader>gS", require("gitsigns.actions").undo_stage_hunk, { desc = "Undo stage hunk" })
"n",
"<leader>gS",
require("gitsigns.actions").undo_stage_hunk,
{ desc = "[G]it undo [S]tage hunk" }
)
vim.keymap.set("n", "<leader>gd", require("gitsigns.actions").preview_hunk, { desc = "[G]it [D]iff hunk" }) vim.keymap.set("n", "<leader>gd", require("gitsigns.actions").preview_hunk, { desc = "Diff hunk" })
vim.keymap.set( vim.keymap.set("n", "<leader>gb", require("gitsigns.actions").toggle_current_line_blame, { desc = "Blame" })
"n",
"<leader>gb",
require("gitsigns.actions").toggle_current_line_blame,
{ desc = "[G]it [B]lame" }
)
vim.keymap.set("n", "<leader>gr", require("gitsigns.actions").reset_hunk, { desc = "[G]it [R]eset hunk" }) vim.keymap.set("n", "<leader>gr", require("gitsigns.actions").reset_hunk, { desc = "Reset hunk" })
vim.keymap.set("v", "<leader>gr", function() vim.keymap.set("v", "<leader>gr", function()
require("gitsigns.actions").reset_hunk({ vim.fn.line("."), vim.fn.line("v") }) require("gitsigns.actions").reset_hunk({ vim.fn.line("."), vim.fn.line("v") })
end, { desc = "[G]it [R]eset selection" }) end, { desc = "Reset selection" })
vim.keymap.set("n", "]g", function() vim.keymap.set("n", "]g", function()
require("gitsigns.actions").nav_hunk("next") require("gitsigns.actions").nav_hunk("next")
end, { desc = "Go to next hunk" }) end, { desc = "Next hunk" })
vim.keymap.set("n", "[g", function() vim.keymap.set("n", "[g", function()
require("gitsigns.actions").nav_hunk("prev") require("gitsigns.actions").nav_hunk("prev")
end, { desc = "Go to previous hunk" }) end, { desc = "Previous hunk" })
end, end,
} }

View File

@ -1,10 +1,10 @@
-- https://github.com/NMAC427/guess-indent.nvim -- https://github.com/NMAC427/guess-indent.nvim
return { return {
-- Adds a command to automatically detect the identation settings -- Adds a command to automatically detect the indentation settings
-- Prefer to use .editorconfig for projects and modeline for files -- Prefer to use .editorconfig for projects and modeline for files
'NMAC427/guess-indent.nvim', "NMAC427/guess-indent.nvim",
keys = { keys = {
{ "<leader>gi", "<cmd>GuessIndent<cr>", desc = "[G]uess [I]ndentation" }, { "<leader>gi", "<cmd>GuessIndent<cr>", desc = "Guess indentation" },
}, },
opts = { opts = {
auto_cmd = false, auto_cmd = false,

View File

@ -56,23 +56,23 @@ return {
vim.keymap.set("n", keys, func, { buffer = event.buf, desc = "LSP:" .. desc }) vim.keymap.set("n", keys, func, { buffer = event.buf, desc = "LSP:" .. desc })
end end
map("gd", vim.lsp.buf.definition, "[G]oto [D]efinition") map("gd", vim.lsp.buf.definition, "Goto definition")
map("gr", require("telescope.builtin").lsp_references, "[G]oto [R]eferences") map("gr", require("telescope.builtin").lsp_references, "Goto references")
map("gI", require("telescope.builtin").lsp_implementations, "[G]oto [I]mplementation") map("gI", require("telescope.builtin").lsp_implementations, "Goto implementation")
map("<leader>D", vim.lsp.buf.type_definition, "Type [D]efinition") map("<leader>D", vim.lsp.buf.type_definition, "Type definition")
map("<leader>ds", require("telescope.builtin").lsp_document_symbols, "[D]ocument [S]symbols") map("<leader>ds", require("telescope.builtin").lsp_document_symbols, "Document symbols")
map("<leader>ws", require("telescope.builtin").lsp_dynamic_workspace_symbols, "[W]orkspace [S]symbols") map("<leader>ws", require("telescope.builtin").lsp_dynamic_workspace_symbols, "Workspace symbols")
vim.keymap.set("n", "<leader>rn", function() vim.keymap.set("n", "<leader>rn", function()
return ":IncRename " .. vim.fn.expand("<cword>") return ":IncRename " .. vim.fn.expand("<cword>")
end, { buffer = event.buf, expr = true, desc = "LSP: [R]e[N]ame" }) end, { buffer = event.buf, expr = true, desc = "Rename" })
-- TODO: Do we need this to work in visal mode? -- TODO: Do we need this to work in visal mode?
vim.keymap.set( vim.keymap.set(
{ "v", "n" }, { "v", "n" },
"<leader>ca", "<leader>ca",
vim.lsp.buf.code_action, vim.lsp.buf.code_action,
{ buffer = event.buf, desc = "LSP: [C]ode [A]ction", remap = true } { buffer = event.buf, desc = "Code actions", remap = true }
) )
-- Signature help -- Signature help
@ -80,7 +80,7 @@ return {
map("<C-k>", vim.lsp.buf.signature_help, "Signature Documentation") map("<C-k>", vim.lsp.buf.signature_help, "Signature Documentation")
-- Lesser used LSP functionality -- Lesser used LSP functionality
map("gD", vim.lsp.buf.declaration, "[G]oto [D]eclaration") map("gD", vim.lsp.buf.declaration, "Goto declaration")
local client = vim.lsp.get_client_by_id(event.data.client_id) local client = vim.lsp.get_client_by_id(event.data.client_id)
-- Turn of lsp based syntax highlighting -- Turn of lsp based syntax highlighting

View File

@ -47,46 +47,36 @@ return {
require("telescope").load_extension("fzf") require("telescope").load_extension("fzf")
require("telescope").load_extension("ui-select") require("telescope").load_extension("ui-select")
vim.keymap.set( vim.keymap.set("n", "<leader>.", require("telescope.builtin").oldfiles, { desc = "Find recently opened files" })
"n", vim.keymap.set("n", "<leader>sb", require("telescope.builtin").buffers, { desc = "Buffers" })
"<leader>.",
require("telescope.builtin").oldfiles,
{ desc = "[.] Find recently opened files" }
)
vim.keymap.set(
"n",
"<leader><space>",
require("telescope.builtin").buffers,
{ desc = "[ ] Find existing buffers" }
)
vim.keymap.set("n", "<leader>/", function() vim.keymap.set("n", "<leader>/", function()
require("telescope.builtin").current_buffer_fuzzy_find({ require("telescope.builtin").current_buffer_fuzzy_find({
-- Show matches in the order they appear in the document -- Show matches in the order they appear in the document
sorting_strategy = "ascending", sorting_strategy = "ascending",
}) })
end, { desc = "[/] Fuzzily search in current buffer" }) end, { desc = "Fuzzily search in current buffer" })
vim.keymap.set("n", "<leader>s/", function() vim.keymap.set("n", "<leader>s/", function()
require("telescope.builtin").live_grep({ require("telescope.builtin").live_grep({
grep_open_files = true, grep_open_files = true,
prompt_title = "Live Grep in Open Files", prompt_title = "Live Grep in Open Files",
}) })
end, { desc = "[S]earch [/] in Open Files" }) end, { desc = "Grep in open files" })
vim.keymap.set("n", "<leader>sf", require("telescope.builtin").find_files, { desc = "[S]earch [F]iles" }) vim.keymap.set("n", "<leader><space>", require("telescope.builtin").find_files, { desc = "Find files" })
vim.keymap.set("n", "<leader>sh", require("telescope.builtin").help_tags, { desc = "[S]earch [H]elp" }) vim.keymap.set("n", "<leader>sh", require("telescope.builtin").help_tags, { desc = "Help" })
vim.keymap.set("n", "<leader>sw", function() vim.keymap.set("n", "<leader>sw", function()
require("telescope.builtin").grep_string({ require("telescope.builtin").grep_string({
-- Show matches in the order they appear in the document -- Show matches in the order they appear in the document
sorting_strategy = "ascending", sorting_strategy = "ascending",
}) })
end, { desc = "[S]earch current [W]ord" }) end, { desc = "Current word" })
vim.keymap.set("n", "<leader>sg", require("telescope.builtin").live_grep, { desc = "[S]earch by [G]rep" }) vim.keymap.set("n", "<leader>sg", require("telescope.builtin").live_grep, { desc = "Grep" })
vim.keymap.set("n", "<leader>sd", require("telescope.builtin").diagnostics, { desc = "[S]earch [D]iagnostics" }) vim.keymap.set("n", "<leader>sd", require("telescope.builtin").diagnostics, { desc = "Diagnostics" })
vim.keymap.set("n", "<leader>sr", require("telescope.builtin").resume, { desc = "[S]earch [R]esume" }) vim.keymap.set("n", "<leader>sr", require("telescope.builtin").resume, { desc = "Resume" })
vim.keymap.set("n", "<leader>sk", require("telescope.builtin").keymaps, { desc = "[S]earch [K]eymaps" }) vim.keymap.set("n", "<leader>sk", require("telescope.builtin").keymaps, { desc = "Keymaps" })
vim.keymap.set("n", "<leader>sn", function() vim.keymap.set("n", "<leader>sn", function()
require("telescope.builtin").find_files({ cwd = vim.fn.stdpath("config") }) require("telescope.builtin").find_files({ cwd = vim.fn.stdpath("config") })
end, { desc = "[S]earch [N]eovim files" }) end, { desc = "Neovim files" })
end, end,
} }

View File

@ -23,7 +23,7 @@ return {
vim.keymap.set("n", "<F4>", "<cmd>TroubleToggle todo<cr>", { desc = "Next todo comment" }) vim.keymap.set("n", "<F4>", "<cmd>TroubleToggle todo<cr>", { desc = "Next todo comment" })
end end
if pcall(require, "telescope") then if pcall(require, "telescope") then
vim.keymap.set("n", "<leader>st", "<cmd>TodoTelescope<cr>", { desc = "[S]earch [T]odo" }) vim.keymap.set("n", "<leader>st", "<cmd>TodoTelescope<cr>", { desc = "Search todo" })
end end
require("todo-comments").setup({ require("todo-comments").setup({

View File

@ -41,24 +41,16 @@ return {
F12 = "<F12> ", F12 = "<F12> ",
}, },
}, },
expand = 1,
sort = { "alphanum" },
}, },
init = function() init = function()
-- TODO: Only make a category show up if there actually are any keybinds under it -- TODO: Only make a category show up if there actually are any keybinds under it
require("which-key").add({ require("which-key").add({
{ "<leader>b", group = "[B]buffer" }, { "<leader>b", group = "Buffer" },
{ "<leader>b_", hidden = true }, { "<leader>d", group = "Document" },
{ "<leader>c", group = "[C]ode" }, { "<leader>g", group = "Git" },
{ "<leader>c_", hidden = true }, { "<leader>s", group = "Search" },
{ "<leader>d", group = "[D]ocument" },
{ "<leader>d_", hidden = true },
{ "<leader>g", group = "[G]it" },
{ "<leader>g_", hidden = true },
{ "<leader>r", group = "[R]e[N]ame" },
{ "<leader>r_", hidden = true },
{ "<leader>s", group = "[S]earch" },
{ "<leader>s_", hidden = true },
{ "<leader>w", group = "[W]orkspace" },
{ "<leader>w_", hidden = true },
}) })
end, end,
} }