Which-key mapping conflict

Okay, so the issue was more than that actually. There were error messages that I missed. But I resolved key conflict warnings like so:

vim.keymap.del('n', 'gbc')
vim.keymap.del('n', 'gc')
vim.keymap.del('n', 'y<C-G>')

deleting mapping for y doesn’t work.

Other errors were because of deprecated functionality that I hadn’t updated:

-- document existing key chains
require('which-key').register {
  ['<leader>c'] = { name = '[C]ode', _ = 'which_key_ignore' },
  ['<leader>d'] = { name = '[D]ocument', _ = 'which_key_ignore' },
  ['<leader>g'] = { name = '[G]it', _ = 'which_key_ignore' },
  ['<leader>h'] = { name = 'Git [H]unk', _ = 'which_key_ignore' },
  ['<leader>r'] = { name = '[R]ename', _ = 'which_key_ignore' },
  ['<leader>s'] = { name = '[S]earch', _ = 'which_key_ignore' },
  ['<leader>t'] = { name = '[T]oggle', _ = 'which_key_ignore' },
  ['<leader>w'] = { name = '[W]orkspace', _ = 'which_key_ignore' },
}
-- register which-key VISUAL mode
-- required for visual <leader>hs (hunk stage) to work
require('which-key').register({
  ['<leader>'] = { name = 'VISUAL <leader>' },
  ['<leader>h'] = { 'Git [H]unk' },
}, { mode = 'v' })

replaced that with:

-- document existing key chains
require('which-key').add {
  { '<leader>c',  name = '[C]ode' },
  { '<leader>d', name = '[D]ocument' },
  { '<leader>g', name = '[G]it' },
  { '<leader>h', group = 'Git [H]unk', mode = { 'n', 'v' } },
  { '<leader>r', name = '[R]ename' },
  { '<leader>s', name = '[S]earch' },
  { '<leader>t', name = '[T]oggle' },
  { '<leader>w', name = '[W]orkspace' },

  -- register which-key VISUAL mode
  -- required for visual <leader>hs (hunk stage) to work
  { '<leader>', name = 'VISUAL <leader>', mode = { 'v' } },
}
3 Likes