return { -- Create key bindings that stick. WhichKey is a lua plugin for Neovim 0.5 that displays -- a popup with possible keybindings of the command you started typing. "folke/which-key.nvim", lazy = true, event = "VeryLazy", opts_extend = { "spec" }, opts = { preset = "helix", defaults = {}, spec = { mode = { "n", "v" }, { "", group = "tabs" }, { "c", group = "code" }, { "d", group = "debug" }, { "dp", group = "profiler" }, { "f", group = "file/find" }, { "g", group = "git" }, { "h", group = "haunt" }, { "q", group = "quit/session" }, { "s", group = "search" }, { "u", group = "ui", icon = { icon = "󰙵 ", color = "cyan" } }, { "x", group = "diagnostics/quickfix", icon = { icon = "󱖫 ", color = "green" } }, { "[", group = "prev" }, { "]", group = "next" }, { "g", group = "goto" }, { "gs", group = "surround" }, { "z", group = "fold" }, { "b", group = "buffer", expand = function() return require("which-key.extras").expand.buf() end, }, { "w", group = "windows", proxy = "", expand = function() return require("which-key.extras").expand.win() end, }, -- better descriptions { "gx", desc = "Open with system app" }, }, }, keys = { { "?", function() require("which-key").show { global = false } end, desc = "Buffer Local Keymaps (which-key)", }, { "", function() require("which-key").show { keys = "", loop = true } end, desc = "Window Hydra Mode (which-key)", }, }, }