summaryrefslogtreecommitdiffstats
path: root/mode-key.c
diff options
context:
space:
mode:
authorNicholas Marriott <nicm@openbsd.org>2012-08-11 06:45:33 +0000
committerNicholas Marriott <nicm@openbsd.org>2012-08-11 06:45:33 +0000
commita3dec6becef3295e8bd376d5e5b017c538fb10fc (patch)
tree62d68c9d54a7ec8ff59f14f3245214423234b83c /mode-key.c
parentff4097e02cf35709e4b34aa62d227a54c5d7ddb5 (diff)
Instead of numbering choose mode items 0-9a-z and then nothing, number
them all and if there are more than 10 use a prompt when 0-9 is pressed. From Thomas Adam.
Diffstat (limited to 'mode-key.c')
-rw-r--r--mode-key.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/mode-key.c b/mode-key.c
index d6906d45..bae6650c 100644
--- a/mode-key.c
+++ b/mode-key.c
@@ -74,6 +74,7 @@ const struct mode_key_cmdstr mode_key_cmdstr_edit[] = {
/* Choice keys command strings. */
const struct mode_key_cmdstr mode_key_cmdstr_choice[] = {
+ { MODEKEYCHOICE_BACKSPACE, "backspace" },
{ MODEKEYCHOICE_CANCEL, "cancel" },
{ MODEKEYCHOICE_CHOOSE, "choose" },
{ MODEKEYCHOICE_DOWN, "down" },
@@ -81,6 +82,7 @@ const struct mode_key_cmdstr mode_key_cmdstr_choice[] = {
{ MODEKEYCHOICE_PAGEUP, "page-up" },
{ MODEKEYCHOICE_SCROLLDOWN, "scroll-down" },
{ MODEKEYCHOICE_SCROLLUP, "scroll-up" },
+ { MODEKEYCHOICE_STARTNUMBERPREFIX, "start-number-prefix" },
{ MODEKEYCHOICE_UP, "up" },
{ 0, NULL }
@@ -190,6 +192,16 @@ struct mode_key_tree mode_key_tree_vi_edit;
/* vi choice selection keys. */
const struct mode_key_entry mode_key_vi_choice[] = {
+ { '0', 0, MODEKEYCHOICE_STARTNUMBERPREFIX },
+ { '1', 0, MODEKEYCHOICE_STARTNUMBERPREFIX },
+ { '2', 0, MODEKEYCHOICE_STARTNUMBERPREFIX },
+ { '3', 0, MODEKEYCHOICE_STARTNUMBERPREFIX },
+ { '4', 0, MODEKEYCHOICE_STARTNUMBERPREFIX },
+ { '5', 0, MODEKEYCHOICE_STARTNUMBERPREFIX },
+ { '6', 0, MODEKEYCHOICE_STARTNUMBERPREFIX },
+ { '7', 0, MODEKEYCHOICE_STARTNUMBERPREFIX },
+ { '8', 0, MODEKEYCHOICE_STARTNUMBERPREFIX },
+ { '9', 0, MODEKEYCHOICE_STARTNUMBERPREFIX },
{ '\002' /* C-b */, 0, MODEKEYCHOICE_PAGEUP },
{ '\003' /* C-c */, 0, MODEKEYCHOICE_CANCEL },
{ '\005' /* C-e */, 0, MODEKEYCHOICE_SCROLLDOWN },
@@ -199,6 +211,7 @@ const struct mode_key_entry mode_key_vi_choice[] = {
{ 'j', 0, MODEKEYCHOICE_DOWN },
{ 'k', 0, MODEKEYCHOICE_UP },
{ 'q', 0, MODEKEYCHOICE_CANCEL },
+ { KEYC_BSPACE, 0, MODEKEYCHOICE_BACKSPACE },
{ KEYC_DOWN | KEYC_CTRL,0, MODEKEYCHOICE_SCROLLDOWN },
{ KEYC_DOWN, 0, MODEKEYCHOICE_DOWN },
{ KEYC_NPAGE, 0, MODEKEYCHOICE_PAGEDOWN },
@@ -317,6 +330,16 @@ struct mode_key_tree mode_key_tree_emacs_edit;
/* emacs choice selection keys. */
const struct mode_key_entry mode_key_emacs_choice[] = {
+ { '0', 0, MODEKEYCHOICE_STARTNUMBERPREFIX },
+ { '1', 0, MODEKEYCHOICE_STARTNUMBERPREFIX },
+ { '2', 0, MODEKEYCHOICE_STARTNUMBERPREFIX },
+ { '3', 0, MODEKEYCHOICE_STARTNUMBERPREFIX },
+ { '4', 0, MODEKEYCHOICE_STARTNUMBERPREFIX },
+ { '5', 0, MODEKEYCHOICE_STARTNUMBERPREFIX },
+ { '6', 0, MODEKEYCHOICE_STARTNUMBERPREFIX },
+ { '7', 0, MODEKEYCHOICE_STARTNUMBERPREFIX },
+ { '8', 0, MODEKEYCHOICE_STARTNUMBERPREFIX },
+ { '9', 0, MODEKEYCHOICE_STARTNUMBERPREFIX },
{ '\003' /* C-c */, 0, MODEKEYCHOICE_CANCEL },
{ '\016' /* C-n */, 0, MODEKEYCHOICE_DOWN },
{ '\020' /* C-p */, 0, MODEKEYCHOICE_UP },
@@ -325,6 +348,7 @@ const struct mode_key_entry mode_key_emacs_choice[] = {
{ '\r', 0, MODEKEYCHOICE_CHOOSE },
{ 'q', 0, MODEKEYCHOICE_CANCEL },
{ 'v' | KEYC_ESCAPE, 0, MODEKEYCHOICE_PAGEUP },
+ { KEYC_BSPACE, 0, MODEKEYCHOICE_BACKSPACE },
{ KEYC_DOWN | KEYC_CTRL,0, MODEKEYCHOICE_SCROLLDOWN },
{ KEYC_DOWN, 0, MODEKEYCHOICE_DOWN },
{ KEYC_NPAGE, 0, MODEKEYCHOICE_PAGEDOWN },