local utils = require("dnsc.utils") return { "folke/which-key.nvim", event = "VeryLazy", config = function() local wk = require("which-key") ---@class wk.Opts local opts = { icons = { mappings = false }, win = { border = "rounded" }, } wk.setup(opts) wk.add({ { "o", group = "+open", mode = "n" }, { "od", "vsplit | lua vim.lsp.buf.definition()", desc = "Go to definition in other window", mode = "n", }, { "b", group = "+buffer", mode = "n" }, { "bd", "bd!", desc = "Delete current buffer", mode = "n", }, { "bn", "bn", desc = "Move to next buffer", mode = "n", }, { "bp", "bp", desc = "Move to previous buffer", mode = "n", }, { "c", group = "+code", mode = "n" }, { "cr", function() utils.compile_project() end, desc = "Compile project", mode = "n", }, { "f", group = "+file", mode = "n" }, { "fn", "enew", desc = "Create a new file", mode = "n", }, { "fs", "w", desc = "Save currently opened file", mode = "n", }, { "qq", "qa!", desc = "Leave neovim", mode = "n" }, { "s", group = "+search", mode = "n" }, { "g", group = "+git", mode = "n" }, { "t", group = "+diagnostics", mode = "n" }, { "ta", "TodoQuickFix", desc = "Show all todo comments", mode = "n" }, { "w", group = "+window", mode = "n" }, { "w+", ":vertical resize +4", desc = "Increase window size", mode = "n", }, { "w-", ":vertical resize -4", desc = "Decrease window size", mode = "n", }, { "wx", "q", desc = "Close active window", mode = "n", }, { "wx", ":bd", desc = "Kill active window and buffer", mode = "n", }, { "wh", "h", desc = "Move to window on left", mode = "n", }, { "wj", "j", desc = "Move to window on bottom", mode = "n", }, { "wk", "k", desc = "Move to window on top", mode = "n", }, { "wl", "l", desc = "Move to window on right", mode = "n", }, { "ws", "sp", desc = "Split windows horizontally", mode = "n", }, { "wv", "vsp", desc = "Split windows vertically", mode = "n", }, { "wd", "close", desc = "Delete window only", mode = "n", }, { "x", group = "+config", mode = "n" }, { "xn", "set number relativenumber", desc = "Show relative numbers", mode = "n", }, { "xr", "source $MYVIMRC", desc = "Reload config", mode = "n" }, }) end, }