local present, wk = pcall(require, "which-key") if not present then return end local options = { -- NOTE : this mode_opts table isnt in the default whichkey config -- Its added here so you could configure it in chadrc mode_opts = { n = { mode = "n", }, v = { mode = "v", }, i = { mode = "i", }, t = { mode = "t", }, }, icons = { breadcrumb = "»", -- symbol used in the command line area that shows your active key combo separator = "  ", -- symbol used between a key and it's label group = "+", -- symbol prepended to a group }, popup_mappings = { scroll_down = "", -- binding to scroll down inside the popup scroll_up = "", -- binding to scroll up inside the popup }, window = { border = "none", -- none/single/double/shadow }, layout = { spacing = 6, -- spacing between columns }, hidden = { "", "", "", "", "call", "lua", "^:", "^ " }, triggers_blacklist = { -- list of mode / prefixes that should never be hooked by WhichKey i = { "j", "k" }, v = { "j", "k" }, }, } require("plugins.configs.others").misc_mappings() local mappings = nvchad.load_config().mappings -- register mappings for mode, opt in pairs(options.mode_opts) do for key, _ in pairs(mappings) do if mappings[key][mode] then wk.register(mappings[key][mode], opt) end end end options = nvchad.load_override(options, "folke/which-key.nvim") wk.setup(options)