@@ -558,162 +558,113 @@ vim.keymap.set("v", "<C-g>wt", ":<C-u>'<,'>GpWhisperTabnew<cr>", keymapOptions("
558
558
Or go more fancy by using [ which-key.nvim] ( https://github.com/folke/which-key.nvim ) plugin:
559
559
560
560
``` 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" },
604
597
},
605
- -- ...
606
- }, {
607
- mode = " v" , -- VISUAL mode
608
- prefix = " " ,
609
- buffer = nil ,
610
- silent = true ,
611
- noremap = true ,
612
- nowait = true ,
613
- })
614
598
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" },
656
632
},
657
- -- ...
658
- }, {
659
- mode = " n" , -- NORMAL mode
660
- prefix = " " ,
661
- buffer = nil ,
662
- silent = true ,
663
- noremap = true ,
664
- nowait = true ,
665
- })
666
633
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" },
708
667
},
709
- -- ...
710
- }, {
711
- mode = " i" , -- INSERT mode
712
- prefix = " " ,
713
- buffer = nil ,
714
- silent = true ,
715
- noremap = true ,
716
- nowait = true ,
717
668
})
718
669
```
719
670
0 commit comments