Skip to content

Commit 7d6ca53

Browse files
authored
docs: update which-key snippet
1 parent 7c9e632 commit 7d6ca53

File tree

1 file changed

+102
-151
lines changed

1 file changed

+102
-151
lines changed

README.md

Lines changed: 102 additions & 151 deletions
Original file line numberDiff line numberDiff line change
@@ -558,162 +558,113 @@ vim.keymap.set("v", "<C-g>wt", ":<C-u>'<,'>GpWhisperTabnew<cr>", keymapOptions("
558558
Or go more fancy by using [which-key.nvim](https://github.com/folke/which-key.nvim) plugin:
559559

560560
```lua
561-
-- VISUAL mode mappings
562-
-- s, x, v modes are handled the same way by which_key
563-
require("which-key").register({
564-
-- ...
565-
["<C-g>"] = {
566-
c = { ":<C-u>'<,'>GpChatNew<cr>", "Visual Chat New" },
567-
p = { ":<C-u>'<,'>GpChatPaste<cr>", "Visual Chat Paste" },
568-
t = { ":<C-u>'<,'>GpChatToggle<cr>", "Visual Toggle Chat" },
569-
570-
["<C-x>"] = { ":<C-u>'<,'>GpChatNew split<cr>", "Visual Chat New split" },
571-
["<C-v>"] = { ":<C-u>'<,'>GpChatNew vsplit<cr>", "Visual Chat New vsplit" },
572-
["<C-t>"] = { ":<C-u>'<,'>GpChatNew tabnew<cr>", "Visual Chat New tabnew" },
573-
574-
r = { ":<C-u>'<,'>GpRewrite<cr>", "Visual Rewrite" },
575-
a = { ":<C-u>'<,'>GpAppend<cr>", "Visual Append (after)" },
576-
b = { ":<C-u>'<,'>GpPrepend<cr>", "Visual Prepend (before)" },
577-
i = { ":<C-u>'<,'>GpImplement<cr>", "Implement selection" },
578-
579-
g = {
580-
name = "generate into new ..",
581-
p = { ":<C-u>'<,'>GpPopup<cr>", "Visual Popup" },
582-
e = { ":<C-u>'<,'>GpEnew<cr>", "Visual GpEnew" },
583-
n = { ":<C-u>'<,'>GpNew<cr>", "Visual GpNew" },
584-
v = { ":<C-u>'<,'>GpVnew<cr>", "Visual GpVnew" },
585-
t = { ":<C-u>'<,'>GpTabnew<cr>", "Visual GpTabnew" },
586-
},
587-
588-
n = { "<cmd>GpNextAgent<cr>", "Next Agent" },
589-
s = { "<cmd>GpStop<cr>", "GpStop" },
590-
x = { ":<C-u>'<,'>GpContext<cr>", "Visual GpContext" },
591-
592-
w = {
593-
name = "Whisper",
594-
w = { ":<C-u>'<,'>GpWhisper<cr>", "Whisper" },
595-
r = { ":<C-u>'<,'>GpWhisperRewrite<cr>", "Whisper Rewrite" },
596-
a = { ":<C-u>'<,'>GpWhisperAppend<cr>", "Whisper Append (after)" },
597-
b = { ":<C-u>'<,'>GpWhisperPrepend<cr>", "Whisper Prepend (before)" },
598-
p = { ":<C-u>'<,'>GpWhisperPopup<cr>", "Whisper Popup" },
599-
e = { ":<C-u>'<,'>GpWhisperEnew<cr>", "Whisper Enew" },
600-
n = { ":<C-u>'<,'>GpWhisperNew<cr>", "Whisper New" },
601-
v = { ":<C-u>'<,'>GpWhisperVnew<cr>", "Whisper Vnew" },
602-
t = { ":<C-u>'<,'>GpWhisperTabnew<cr>", "Whisper Tabnew" },
603-
},
561+
require("which-key").add({
562+
-- VISUAL mode mappings
563+
-- s, x, v modes are handled the same way by which_key
564+
{
565+
mode = { "v" },
566+
nowait = true,
567+
remap = false,
568+
{ "<C-g><C-t>", ":<C-u>'<,'>GpChatNew tabnew<cr>", desc = "ChatNew tabnew" },
569+
{ "<C-g><C-v>", ":<C-u>'<,'>GpChatNew vsplit<cr>", desc = "ChatNew vsplit" },
570+
{ "<C-g><C-x>", ":<C-u>'<,'>GpChatNew split<cr>", desc = "ChatNew split" },
571+
{ "<C-g>a", ":<C-u>'<,'>GpAppend<cr>", desc = "Visual Append (after)" },
572+
{ "<C-g>b", ":<C-u>'<,'>GpPrepend<cr>", desc = "Visual Prepend (before)" },
573+
{ "<C-g>c", ":<C-u>'<,'>GpChatNew<cr>", desc = "Visual Chat New" },
574+
{ "<C-g>g", group = "generate into new .." },
575+
{ "<C-g>ge", ":<C-u>'<,'>GpEnew<cr>", desc = "Visual GpEnew" },
576+
{ "<C-g>gn", ":<C-u>'<,'>GpNew<cr>", desc = "Visual GpNew" },
577+
{ "<C-g>gp", ":<C-u>'<,'>GpPopup<cr>", desc = "Visual Popup" },
578+
{ "<C-g>gt", ":<C-u>'<,'>GpTabnew<cr>", desc = "Visual GpTabnew" },
579+
{ "<C-g>gv", ":<C-u>'<,'>GpVnew<cr>", desc = "Visual GpVnew" },
580+
{ "<C-g>i", ":<C-u>'<,'>GpImplement<cr>", desc = "Implement selection" },
581+
{ "<C-g>n", "<cmd>GpNextAgent<cr>", desc = "Next Agent" },
582+
{ "<C-g>p", ":<C-u>'<,'>GpChatPaste<cr>", desc = "Visual Chat Paste" },
583+
{ "<C-g>r", ":<C-u>'<,'>GpRewrite<cr>", desc = "Visual Rewrite" },
584+
{ "<C-g>s", "<cmd>GpStop<cr>", desc = "GpStop" },
585+
{ "<C-g>t", ":<C-u>'<,'>GpChatToggle<cr>", desc = "Visual Toggle Chat" },
586+
{ "<C-g>w", group = "Whisper" },
587+
{ "<C-g>wa", ":<C-u>'<,'>GpWhisperAppend<cr>", desc = "Whisper Append" },
588+
{ "<C-g>wb", ":<C-u>'<,'>GpWhisperPrepend<cr>", desc = "Whisper Prepend" },
589+
{ "<C-g>we", ":<C-u>'<,'>GpWhisperEnew<cr>", desc = "Whisper Enew" },
590+
{ "<C-g>wn", ":<C-u>'<,'>GpWhisperNew<cr>", desc = "Whisper New" },
591+
{ "<C-g>wp", ":<C-u>'<,'>GpWhisperPopup<cr>", desc = "Whisper Popup" },
592+
{ "<C-g>wr", ":<C-u>'<,'>GpWhisperRewrite<cr>", desc = "Whisper Rewrite" },
593+
{ "<C-g>wt", ":<C-u>'<,'>GpWhisperTabnew<cr>", desc = "Whisper Tabnew" },
594+
{ "<C-g>wv", ":<C-u>'<,'>GpWhisperVnew<cr>", desc = "Whisper Vnew" },
595+
{ "<C-g>ww", ":<C-u>'<,'>GpWhisper<cr>", desc = "Whisper" },
596+
{ "<C-g>x", ":<C-u>'<,'>GpContext<cr>", desc = "Visual GpContext" },
604597
},
605-
-- ...
606-
}, {
607-
mode = "v", -- VISUAL mode
608-
prefix = "",
609-
buffer = nil,
610-
silent = true,
611-
noremap = true,
612-
nowait = true,
613-
})
614598

615-
-- NORMAL mode mappings
616-
require("which-key").register({
617-
-- ...
618-
["<C-g>"] = {
619-
c = { "<cmd>GpChatNew<cr>", "New Chat" },
620-
t = { "<cmd>GpChatToggle<cr>", "Toggle Chat" },
621-
f = { "<cmd>GpChatFinder<cr>", "Chat Finder" },
622-
623-
["<C-x>"] = { "<cmd>GpChatNew split<cr>", "New Chat split" },
624-
["<C-v>"] = { "<cmd>GpChatNew vsplit<cr>", "New Chat vsplit" },
625-
["<C-t>"] = { "<cmd>GpChatNew tabnew<cr>", "New Chat tabnew" },
626-
627-
r = { "<cmd>GpRewrite<cr>", "Inline Rewrite" },
628-
a = { "<cmd>GpAppend<cr>", "Append (after)" },
629-
b = { "<cmd>GpPrepend<cr>", "Prepend (before)" },
630-
631-
g = {
632-
name = "generate into new ..",
633-
p = { "<cmd>GpPopup<cr>", "Popup" },
634-
e = { "<cmd>GpEnew<cr>", "GpEnew" },
635-
n = { "<cmd>GpNew<cr>", "GpNew" },
636-
v = { "<cmd>GpVnew<cr>", "GpVnew" },
637-
t = { "<cmd>GpTabnew<cr>", "GpTabnew" },
638-
},
639-
640-
n = { "<cmd>GpNextAgent<cr>", "Next Agent" },
641-
s = { "<cmd>GpStop<cr>", "GpStop" },
642-
x = { "<cmd>GpContext<cr>", "Toggle GpContext" },
643-
644-
w = {
645-
name = "Whisper",
646-
w = { "<cmd>GpWhisper<cr>", "Whisper" },
647-
r = { "<cmd>GpWhisperRewrite<cr>", "Whisper Inline Rewrite" },
648-
a = { "<cmd>GpWhisperAppend<cr>", "Whisper Append (after)" },
649-
b = { "<cmd>GpWhisperPrepend<cr>", "Whisper Prepend (before)" },
650-
p = { "<cmd>GpWhisperPopup<cr>", "Whisper Popup" },
651-
e = { "<cmd>GpWhisperEnew<cr>", "Whisper Enew" },
652-
n = { "<cmd>GpWhisperNew<cr>", "Whisper New" },
653-
v = { "<cmd>GpWhisperVnew<cr>", "Whisper Vnew" },
654-
t = { "<cmd>GpWhisperTabnew<cr>", "Whisper Tabnew" },
655-
},
599+
-- NORMAL mode mappings
600+
{
601+
mode = { "n" },
602+
nowait = true,
603+
remap = false,
604+
{ "<C-g><C-t>", "<cmd>GpChatNew tabnew<cr>", desc = "New Chat tabnew" },
605+
{ "<C-g><C-v>", "<cmd>GpChatNew vsplit<cr>", desc = "New Chat vsplit" },
606+
{ "<C-g><C-x>", "<cmd>GpChatNew split<cr>", desc = "New Chat split" },
607+
{ "<C-g>a", "<cmd>GpAppend<cr>", desc = "Append (after)" },
608+
{ "<C-g>b", "<cmd>GpPrepend<cr>", desc = "Prepend (before)" },
609+
{ "<C-g>c", "<cmd>GpChatNew<cr>", desc = "New Chat" },
610+
{ "<C-g>f", "<cmd>GpChatFinder<cr>", desc = "Chat Finder" },
611+
{ "<C-g>g", group = "generate into new .." },
612+
{ "<C-g>ge", "<cmd>GpEnew<cr>", desc = "GpEnew" },
613+
{ "<C-g>gn", "<cmd>GpNew<cr>", desc = "GpNew" },
614+
{ "<C-g>gp", "<cmd>GpPopup<cr>", desc = "Popup" },
615+
{ "<C-g>gt", "<cmd>GpTabnew<cr>", desc = "GpTabnew" },
616+
{ "<C-g>gv", "<cmd>GpVnew<cr>", desc = "GpVnew" },
617+
{ "<C-g>n", "<cmd>GpNextAgent<cr>", desc = "Next Agent" },
618+
{ "<C-g>r", "<cmd>GpRewrite<cr>", desc = "Inline Rewrite" },
619+
{ "<C-g>s", "<cmd>GpStop<cr>", desc = "GpStop" },
620+
{ "<C-g>t", "<cmd>GpChatToggle<cr>", desc = "Toggle Chat" },
621+
{ "<C-g>w", group = "Whisper" },
622+
{ "<C-g>wa", "<cmd>GpWhisperAppend<cr>", desc = "Whisper Append (after)" },
623+
{ "<C-g>wb", "<cmd>GpWhisperPrepend<cr>", desc = "Whisper Prepend (before)" },
624+
{ "<C-g>we", "<cmd>GpWhisperEnew<cr>", desc = "Whisper Enew" },
625+
{ "<C-g>wn", "<cmd>GpWhisperNew<cr>", desc = "Whisper New" },
626+
{ "<C-g>wp", "<cmd>GpWhisperPopup<cr>", desc = "Whisper Popup" },
627+
{ "<C-g>wr", "<cmd>GpWhisperRewrite<cr>", desc = "Whisper Inline Rewrite" },
628+
{ "<C-g>wt", "<cmd>GpWhisperTabnew<cr>", desc = "Whisper Tabnew" },
629+
{ "<C-g>wv", "<cmd>GpWhisperVnew<cr>", desc = "Whisper Vnew" },
630+
{ "<C-g>ww", "<cmd>GpWhisper<cr>", desc = "Whisper" },
631+
{ "<C-g>x", "<cmd>GpContext<cr>", desc = "Toggle GpContext" },
656632
},
657-
-- ...
658-
}, {
659-
mode = "n", -- NORMAL mode
660-
prefix = "",
661-
buffer = nil,
662-
silent = true,
663-
noremap = true,
664-
nowait = true,
665-
})
666633

667-
-- INSERT mode mappings
668-
require("which-key").register({
669-
-- ...
670-
["<C-g>"] = {
671-
c = { "<cmd>GpChatNew<cr>", "New Chat" },
672-
t = { "<cmd>GpChatToggle<cr>", "Toggle Chat" },
673-
f = { "<cmd>GpChatFinder<cr>", "Chat Finder" },
674-
675-
["<C-x>"] = { "<cmd>GpChatNew split<cr>", "New Chat split" },
676-
["<C-v>"] = { "<cmd>GpChatNew vsplit<cr>", "New Chat vsplit" },
677-
["<C-t>"] = { "<cmd>GpChatNew tabnew<cr>", "New Chat tabnew" },
678-
679-
r = { "<cmd>GpRewrite<cr>", "Inline Rewrite" },
680-
a = { "<cmd>GpAppend<cr>", "Append (after)" },
681-
b = { "<cmd>GpPrepend<cr>", "Prepend (before)" },
682-
683-
g = {
684-
name = "generate into new ..",
685-
p = { "<cmd>GpPopup<cr>", "Popup" },
686-
e = { "<cmd>GpEnew<cr>", "GpEnew" },
687-
n = { "<cmd>GpNew<cr>", "GpNew" },
688-
v = { "<cmd>GpVnew<cr>", "GpVnew" },
689-
t = { "<cmd>GpTabnew<cr>", "GpTabnew" },
690-
},
691-
692-
x = { "<cmd>GpContext<cr>", "Toggle GpContext" },
693-
s = { "<cmd>GpStop<cr>", "GpStop" },
694-
n = { "<cmd>GpNextAgent<cr>", "Next Agent" },
695-
696-
w = {
697-
name = "Whisper",
698-
w = { "<cmd>GpWhisper<cr>", "Whisper" },
699-
r = { "<cmd>GpWhisperRewrite<cr>", "Whisper Inline Rewrite" },
700-
a = { "<cmd>GpWhisperAppend<cr>", "Whisper Append (after)" },
701-
b = { "<cmd>GpWhisperPrepend<cr>", "Whisper Prepend (before)" },
702-
p = { "<cmd>GpWhisperPopup<cr>", "Whisper Popup" },
703-
e = { "<cmd>GpWhisperEnew<cr>", "Whisper Enew" },
704-
n = { "<cmd>GpWhisperNew<cr>", "Whisper New" },
705-
v = { "<cmd>GpWhisperVnew<cr>", "Whisper Vnew" },
706-
t = { "<cmd>GpWhisperTabnew<cr>", "Whisper Tabnew" },
707-
},
634+
-- INSERT mode mappings
635+
{
636+
mode = { "i" },
637+
nowait = true,
638+
remap = false,
639+
{ "<C-g><C-t>", "<cmd>GpChatNew tabnew<cr>", desc = "New Chat tabnew" },
640+
{ "<C-g><C-v>", "<cmd>GpChatNew vsplit<cr>", desc = "New Chat vsplit" },
641+
{ "<C-g><C-x>", "<cmd>GpChatNew split<cr>", desc = "New Chat split" },
642+
{ "<C-g>a", "<cmd>GpAppend<cr>", desc = "Append (after)" },
643+
{ "<C-g>b", "<cmd>GpPrepend<cr>", desc = "Prepend (before)" },
644+
{ "<C-g>c", "<cmd>GpChatNew<cr>", desc = "New Chat" },
645+
{ "<C-g>f", "<cmd>GpChatFinder<cr>", desc = "Chat Finder" },
646+
{ "<C-g>g", group = "generate into new .." },
647+
{ "<C-g>ge", "<cmd>GpEnew<cr>", desc = "GpEnew" },
648+
{ "<C-g>gn", "<cmd>GpNew<cr>", desc = "GpNew" },
649+
{ "<C-g>gp", "<cmd>GpPopup<cr>", desc = "Popup" },
650+
{ "<C-g>gt", "<cmd>GpTabnew<cr>", desc = "GpTabnew" },
651+
{ "<C-g>gv", "<cmd>GpVnew<cr>", desc = "GpVnew" },
652+
{ "<C-g>n", "<cmd>GpNextAgent<cr>", desc = "Next Agent" },
653+
{ "<C-g>r", "<cmd>GpRewrite<cr>", desc = "Inline Rewrite" },
654+
{ "<C-g>s", "<cmd>GpStop<cr>", desc = "GpStop" },
655+
{ "<C-g>t", "<cmd>GpChatToggle<cr>", desc = "Toggle Chat" },
656+
{ "<C-g>w", group = "Whisper" },
657+
{ "<C-g>wa", "<cmd>GpWhisperAppend<cr>", desc = "Whisper Append (after)" },
658+
{ "<C-g>wb", "<cmd>GpWhisperPrepend<cr>", desc = "Whisper Prepend (before)" },
659+
{ "<C-g>we", "<cmd>GpWhisperEnew<cr>", desc = "Whisper Enew" },
660+
{ "<C-g>wn", "<cmd>GpWhisperNew<cr>", desc = "Whisper New" },
661+
{ "<C-g>wp", "<cmd>GpWhisperPopup<cr>", desc = "Whisper Popup" },
662+
{ "<C-g>wr", "<cmd>GpWhisperRewrite<cr>", desc = "Whisper Inline Rewrite" },
663+
{ "<C-g>wt", "<cmd>GpWhisperTabnew<cr>", desc = "Whisper Tabnew" },
664+
{ "<C-g>wv", "<cmd>GpWhisperVnew<cr>", desc = "Whisper Vnew" },
665+
{ "<C-g>ww", "<cmd>GpWhisper<cr>", desc = "Whisper" },
666+
{ "<C-g>x", "<cmd>GpContext<cr>", desc = "Toggle GpContext" },
708667
},
709-
-- ...
710-
}, {
711-
mode = "i", -- INSERT mode
712-
prefix = "",
713-
buffer = nil,
714-
silent = true,
715-
noremap = true,
716-
nowait = true,
717668
})
718669
```
719670

0 commit comments

Comments
 (0)