-- NOTE: Plugins can also be configured to run Lua code when they are loaded. -- -- This is often very useful to both group configuration, as well as handle -- lazy loading plugins that don't need to be loaded immediately at startup. -- -- For example, in the following configuration, we use: -- event = 'VimEnter' -- -- which loads which-key before all the UI elements are loaded. Events can be -- normal autocommands events (`:help autocmd-events`). -- -- Then, because we use the `config` key, the configuration only runs -- after the plugin has been loaded: -- config = function() ... end return { { -- Useful plugin to show you pending keybinds. 'folke/which-key.nvim', event = 'VimEnter', -- Sets the loading event to 'VimEnter' config = function() -- This is the function that runs, AFTER loading require('which-key').setup() -- Document existing key chains require('which-key').register { ['r'] = { name = '[R]ename', _ = 'which_key_ignore' }, ['s'] = { name = '[S]earch', _ = 'which_key_ignore' }, ['w'] = { name = '[W]orkspace', _ = 'which_key_ignore' }, ['g'] = { name = '[G]it/[G]lobal', _ = 'which_key_ignore' }, ['b'] = { name = '[B]uffer/[B]reakpoint', _ = 'which_key_ignore' }, ['c'] = { name = '[C]ode/[C]odeium/[C]hange', _ = 'which_key_ignore' }, ['cd'] = { name = '[D]irectory', _ = 'which_key_ignore' }, ['d'] = { name = '[D]ocument/[D]elete', _ = 'which_key_ignore' }, ['h'] = { name = 'Git [H]unk/[H]arpoon', _ = 'which_key_ignore' }, ['t'] = { name = '[T]oggle', _ = 'which_key_ignore' }, ['dn'] = { name = '[N]o', _ = 'which_key_ignore' }, ['l'] = { name = '[L]ist', _ = 'which_key_ignore' }, ['f'] = { name = '[F]ormat/[F]ile', _ = 'which_key_ignore' }, ['o'] = { name = '[O]verseer', _ = 'which_key_ignore' }, } -- register which-key VISUAL mode -- required for visual hs (hunk stage) to work require('which-key').register({ [''] = { name = 'VISUAL ' }, ['h'] = { 'Git [H]unk' }, ['d'] = { name = '[D]elete', _ = 'which_key_ignore' }, ['p'] = { name = '[P]aste', _ = 'which_key_ignore' }, ['t'] = { name = '[T]oggle', _ = 'which_key_ignore' }, ['dn'] = { name = '[N]o', _ = 'which_key_ignore' }, ['pn'] = { name = '[N]o', _ = 'which_key_ignore' }, ['l'] = { name = '[L]ist', _ = 'which_key_ignore' }, ['f'] = { name = '[F]ormat/[F]ile', _ = 'which_key_ignore' }, ['g'] = { name = '[G]lobal', _ = 'which_key_ignore' }, }, { mode = 'v' }) end, }, } -- vim: ts=2 sts=2 sw=2 et