local icons = require("lib.icons") return { "folke/which-key.nvim", event = "UIEnter", opts = { preset = "helix", icons = { breadcrumb = icons.ui.ArrowOpen, separator = icons.ui.Arrow, group = "", keys = { Space = icons.ui.Rocket, }, rules = false, -- enable auto icon rules }, triggers = { { "", mode = "nixsotc" }, { "", mode = { "n", "v" } }, }, spec = { mode = { "n", "v" }, { "[", group = " Previous" }, { "]", group = " Next" }, { "b", group = " Debug" }, { "c", group = " Code" }, { "C", group = " Comment" }, { "d", group = " Database" }, { "e", group = " Edit" }, { "f", group = " Find" }, { "i", group = " Insert" }, { "j", group = " Jump" }, { "k", group = " Keys" }, { "l", group = " LSP" }, { "m", group = "󰠠 Misc" }, { "n", group = " Notes" }, { "q", group = " Quit" }, { "r", group = " Run" }, { "s", group = " Split" }, { "t", group = " Terminal" }, { "u", group = " Test" }, { "v", group = " Select" }, { "w", group = " Writing" }, { "x", group = "󰁨 Diagnostics/Quickfix" }, { "y", group = " Yank" }, }, }, keys = { { "?", function() require("which-key").show({ global = false }) end, desc = " Buffer Local Keymaps (which-key)", }, -- other keymaps { "cR", "ReloadConfig", desc = "Reload Configs" }, { "cd", "RootDir", desc = "Root Directory" }, { "cc", ":g/^\\s*$/d", desc = "Clean Empty Lines" }, { "co", "Dashboard", desc = "Dashboard" }, { "cr", "Telescope reloader", desc = "Reload Module" }, --edit { "ea", "b#", desc = "Alternate File" }, { "ec", "e $MYVIMRC", desc = "Config" }, { "ed", 'lua require("telescope.builtin").find_files({cwd = vim.fn.stdpath("config")})', desc = "Config Dir", }, { "em", "e README.md", desc = "Readme" }, { "en", "enew", desc = "New File" }, -- split { "s+", "resize +10", desc = "Increase window height" }, { "s-", "vertical resize -20", desc = "Decrease window width" }, { "s/", "s", desc = "Split Below" }, { "s=", "vertical resize +20", desc = "Increase window width" }, { "sH", "vertical resize -10", desc = "Decrease window width" }, { "sJ", "resize -5", desc = "Decrease window height" }, { "sK", "resize +5", desc = "Increase window height" }, { "sL", "vertical resize +10", desc = "Increase window width" }, { "s\\", "v", desc = "Split Right" }, { "s_", "resize -10", desc = "Decrease window height" }, { "s`", "p", desc = "Previous Window" }, { "sa", "split", desc = "Horizontal Split" }, { "sc", "tabclose", desc = "Close Tab" }, { "sf", "tabfirst", desc = "First Tab" }, { "sh", "h", desc = "Move Left" }, { "sj", "j", desc = "Move Down" }, { "sk", "k", desc = "Move Up" }, { "sl", "l", desc = "Move Right" }, { "sp", "NavigatorPrevious", desc = "Previous Pane" }, { "sq", "c", desc = "Close Split" }, { "ss", "vsplit", desc = "Vertical Split" }, -- select { "vB", "vab", desc = "Around Bracket" }, { "vP", "vap", desc = "Around Para" }, { "vQ", "vaq", desc = "Around Quote" }, { "vb", "vib", desc = "Bracket" }, { "vp", "vip", desc = "Paragraph" }, { "vq", "viq", desc = "Quote" }, -- writing { "wc", "set spell!", desc = "Spellcheck" }, { "wf", "lua require'utils'.sudo_write()", desc = "Force Write" }, { "wj", "]s", desc = "Next Misspell" }, { "wk", "[s", desc = "Prev Misspell" }, { "wq", "wq", desc = "Write and Quit" }, { "ws", "Telescope spell_suggest", desc = "Suggestions" }, { "ww", "w", desc = "Write and Quit" }, { "x", "x", desc = " Save and Quit" }, --quit { "qa", "qall", desc = "Quit All" }, { "qc", "bw", desc = "Close Buffer" }, { "qd", "bdelete", desc = "Delete Buffer" }, { "qf", "qall!", desc = "Force Quit" }, { "qo", ":%bdelete|b#|bdelete#", desc = "Close Others" }, { "qq", "q", desc = "Quit" }, { "qs", "c", desc = "Close Split" }, { "qw", "wq", desc = "Write and Quit" }, -- insert { "iP", "put %:p", desc = "Absolute Path" }, { "id", "put =strftime('## %a, %d %b, %Y, %r')", desc = "Date" }, { "ie", "Telescope symbols", desc = "Emojis" }, { "if", "put =expand('%:t')", desc = "File Name" }, { "in", "Nerdy", desc = "Nerd Glyphs" }, { "ip", "put %", desc = "Relative Path" }, { "ir", "Telescope registers", desc = "Registers" }, { "it", "put =strftime('## %r')", desc = "Time" }, -- Visiual Mode { "cS", ":sort!", mode = "v", desc = "Sort Desc" }, { "ci", ":sort i", mode = "v", desc = "Sort Case Insensitive" }, { "cs", ":sort", mode = "v", desc = "Sort Asc" }, { "cu", ":!uniq", mode = "v", desc = "Unique" }, { "la", mode = "v", desc = "Lspsaga range_code_action" }, -- no leader { "[B", "bfirst", desc = "First Buffer" }, { "[b", "bprevious", desc = "Buffer" }, { "[d", "Lspsaga diagnostic_jump_prev", desc = "Diagnostic" }, { "[e", "g;", desc = "Edit" }, { "[j", "", desc = "Jump" }, { "]", group = " Next" }, { "]B", "blast", desc = "Buffer" }, { "]b", "bnext", desc = "Buffer" }, { "]d", "Lspsaga diagnostic_jump_next", desc = "Diagnostic" }, { "]e", "g,", desc = "Edit" }, { "]j", "", desc = "Jump" }, { "", "resize -10", desc = "Decrease window height" }, { "", "vertical resize -10", desc = "Decrease window width" }, { "", "vertical resize +10", desc = "Increase window width" }, { "", "resize +10", desc = "Increase window height" }, { "", "Telescope find_files", desc = "Find Files" }, { "", "Telescope file_browser", desc = "Find browser" }, { "", "h", desc = "Move Left" }, { "", "j", desc = "Move Down" }, { "", "k", desc = "Move Up" }, { "", "l", desc = "Move Right" }, { "", "p", desc = "Previous Pane" }, { "", "bprevious", desc = "Previous Buffer" }, { "", "bnext", desc = "Next Buffer" }, { "K", "Lspsaga hover_doc", desc = "LSP Hover" }, { "Q", "qall!", desc = "Force Quit!" }, { "U", "redo", desc = "Redo" }, }, }