return { "folke/which-key.nvim", event = "VeryLazy", init = function() vim.o.timeout = true vim.o.timeoutlen = 300 end, opts = { preset = "helix", plugins = { marks = true, registers = true, spelling = { enabled = true, suggestions = 20, }, presets = { operators = false, motions = false, text_objects = false, windows = false, nav = false, z = false, g = false, }, }, win = { border = "rounded", no_overlap = false, padding = { 0, 2 }, -- extra window padding [top/bottom, right/left] title = false, title_pos = "center", zindex = 1000, }, show_help = false, show_keys = false, disable = { buftypes = {}, }, }, config = function(_, opts) local wk = require("which-key") wk.setup(opts) -- Document existing key chains using new spec format wk.add({ { "c", group = "code" }, { "e", group = "explorer" }, { "f", group = "find" }, { "l", group = "LSP" }, { "r", group = "rename/restart" }, { "D", desc = "Buffer diagnostics" }, { "d", desc = "Line diagnostics" }, -- { "fg", group = "git" }, -- { "n", group = "numbers" }, -- { "s", group = "split" }, -- { "t", group = "tab" }, }) end, }