local utils = require("dnsc.utils") return { "folke/which-key.nvim", event = "VeryLazy", opts = { icons = { mappings = false }, }, keys = { { "o", group = "open", mode = "n" }, { "ot", ":e ~/notes/todo.txt", desc = "Open todos", mode = "n" }, { "od", ":80 vsplit | :VimwikiMakeDiaryNote", desc = "Open diary note in split", mode = "n" }, { ".", "FzfLua files", desc = "Find file in dir", mode = "n" }, { "", "FzfLua git_files", desc = "Find git file", mode = "n" }, { "B", "FzfLua buffers", desc = "Opens buffers", mode = "n" }, { "b", group = "buffer", mode = "n" }, { "bb", "FzfLua buffers", desc = "Switches buffers", mode = "n" }, { "b,", "BufferMovePrevious", desc = "Move buffer back", mode = "n" }, { "b.", "BufferMoveNext", desc = "Move buffer forward", mode = "n", }, { "bD", "BufferCloseAllButCurrent", desc = "Delete all buffers but current", mode = "n", }, { "bd", "BufferClose", desc = "Delete current buffer", mode = "n", }, { "bh", "BufferPrevious", desc = "Go to previous buffer", mode = "n", }, { "bl", "BufferNext", desc = "Go to next buffer", mode = "n", }, { "bp", "BufferPick", desc = "Pick a buffer", mode = "n" }, { "bx", "BufferCloseAllButPinned", desc = "Delete all buffers", mode = "n", }, { "c", group = "code/compile", mode = "n" }, { "cr", function() utils.compile_project() end, desc = "Run current project", mode = "n", }, { "ca", "FzfLua lsp_code_actions", desc = "Code actions", mode = "n" }, { "cd", "FzfLua diagnostics_document", desc = "Show diagnostics", mode = "n" }, { "cf", "FzfLua lsp_references", desc = "Show references", mode = "n", }, { "q", "wq", desc = "Close window and buffer", mode = "n", }, { "f", group = "file", mode = "n" }, { "fn", "enew", desc = "Create a new file", mode = "n", }, { "fr", "FzfLua oldfiles", desc = "Open Recent File", mode = "n" }, { "fs", "w", desc = "Save currently opened file", mode = "n", }, { "q", "qa!", desc = "Leave neovim", mode = "n" }, { "s", group = "search", mode = "n" }, { "ss", "FzfLua live_grep_native", desc = "Live Grep", mode = "n" }, { "sp", "FzfLua grep_project", desc = "Grep in project", mode = "n" }, { "sw", "FzfLua grep_cword", desc = "Search current word", mode = "n", }, { "t", group = "diagnostics (lsp)", mode = "n" }, { "td", "FzfLua diagnostics_document", desc = "Show LSP 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", "bd", desc = "Delete buffer and window", 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" }, }, }