return function() local icons = { ui = require("modules.utils.icons").get("ui"), misc = require("modules.utils.icons").get("misc"), git = require("modules.utils.icons").get("git", true), cmp = require("modules.utils.icons").get("cmp", true), } require("modules.utils").load_plugin("which-key", { preset = "classic", delay = vim.o.timeoutlen, triggers = { { "", mode = "nixso" }, }, plugins = { marks = true, registers = true, spelling = { enabled = true, suggestions = 20, }, presets = { motions = false, operators = false, text_objects = true, windows = true, nav = true, z = true, g = true, }, }, win = { border = "none", padding = { 1, 2 }, wo = { winblend = 0 }, }, expand = 1, icons = { group = "", rules = false, colors = false, breadcrumb = icons.ui.Separator, separator = icons.misc.Vbar, keys = { C = "C-", M = "A-", S = "S-", BS = " ", CR = " ", NL = " ", Esc = " ", Tab = " ", Up = " ", Down = " ", Left = " ", Right = " ", Space = " ", ScrollWheelUp = " ", ScrollWheelDown = " ", }, }, spec = { { "g", group = icons.git.Git .. "Git" }, { "d", group = icons.ui.Bug .. " Debug" }, { "s", group = icons.cmp.tmux .. "Session" }, { "b", group = icons.ui.Buffer .. " Buffer" }, { "S", group = icons.ui.Search .. " Search" }, { "W", group = icons.ui.Window .. " Window" }, { "p", group = icons.ui.Package .. " Package" }, { "l", group = icons.misc.LspAvailable .. " Lsp" }, { "f", group = icons.ui.Telescope .. " Fuzzy Find" }, { "n", group = icons.ui.FolderOpen .. " Nvim Tree" }, }, }) end