version 1.24, 2009/11/13 07:00:54 |
version 1.25, 2009/12/03 22:50:10 |
|
|
/* Edit keys command strings. */ |
/* Edit keys command strings. */ |
struct mode_key_cmdstr mode_key_cmdstr_edit[] = { |
struct mode_key_cmdstr mode_key_cmdstr_edit[] = { |
{ MODEKEYEDIT_BACKSPACE, "backspace" }, |
{ MODEKEYEDIT_BACKSPACE, "backspace" }, |
{ MODEKEYEDIT_CANCEL, "cancel" }, |
{ MODEKEYEDIT_CANCEL, "cancel" }, |
{ MODEKEYEDIT_COMPLETE, "complete" }, |
{ MODEKEYEDIT_COMPLETE, "complete" }, |
{ MODEKEYEDIT_CURSORLEFT, "cursor-left" }, |
{ MODEKEYEDIT_CURSORLEFT, "cursor-left" }, |
{ MODEKEYEDIT_CURSORRIGHT, "cursor-right" }, |
{ MODEKEYEDIT_CURSORRIGHT, "cursor-right" }, |
|
|
|
|
{ 0, NULL } |
{ 0, NULL } |
}; |
}; |
|
|
/* Choice keys command strings. */ |
/* Choice keys command strings. */ |
struct mode_key_cmdstr mode_key_cmdstr_choice[] = { |
struct mode_key_cmdstr mode_key_cmdstr_choice[] = { |
{ MODEKEYCHOICE_CANCEL, "cancel" }, |
{ MODEKEYCHOICE_CANCEL, "cancel" }, |
|
|
{ KEYC_RIGHT, 0, MODEKEYCOPY_RIGHT }, |
{ KEYC_RIGHT, 0, MODEKEYCOPY_RIGHT }, |
{ KEYC_UP | KEYC_CTRL, 0, MODEKEYCOPY_SCROLLUP }, |
{ KEYC_UP | KEYC_CTRL, 0, MODEKEYCOPY_SCROLLUP }, |
{ KEYC_UP, 0, MODEKEYCOPY_UP }, |
{ KEYC_UP, 0, MODEKEYCOPY_UP }, |
|
|
{ 0, -1, 0 } |
{ 0, -1, 0 } |
}; |
}; |
struct mode_key_tree mode_key_tree_vi_copy; |
struct mode_key_tree mode_key_tree_vi_copy; |
|
|
/* emacs editing keys. */ |
/* emacs editing keys. */ |
const struct mode_key_entry mode_key_emacs_edit[] = { |
const struct mode_key_entry mode_key_emacs_edit[] = { |
{ '\001' /* C-a */, 0, MODEKEYEDIT_STARTOFLINE }, |
{ '\001' /* C-a */, 0, MODEKEYEDIT_STARTOFLINE }, |
{ '\002' /* C-b */, 0, MODEKEYEDIT_CURSORLEFT }, |
{ '\002' /* C-b */, 0, MODEKEYEDIT_CURSORLEFT }, |
{ '\003' /* C-c */, 0, MODEKEYEDIT_CANCEL }, |
{ '\003' /* C-c */, 0, MODEKEYEDIT_CANCEL }, |
{ '\004' /* C-d */, 0, MODEKEYEDIT_DELETE }, |
{ '\004' /* C-d */, 0, MODEKEYEDIT_DELETE }, |
|
|
{ '\031' /* C-y */, 0, MODEKEYEDIT_PASTE }, |
{ '\031' /* C-y */, 0, MODEKEYEDIT_PASTE }, |
{ '\033' /* Escape */, 0, MODEKEYEDIT_CANCEL }, |
{ '\033' /* Escape */, 0, MODEKEYEDIT_CANCEL }, |
{ '\r', 0, MODEKEYEDIT_ENTER }, |
{ '\r', 0, MODEKEYEDIT_ENTER }, |
{ 'm' | KEYC_ESCAPE, 0, MODEKEYEDIT_STARTOFLINE }, |
{ 'm' | KEYC_ESCAPE, 0, MODEKEYEDIT_STARTOFLINE }, |
{ KEYC_BSPACE, 0, MODEKEYEDIT_BACKSPACE }, |
{ KEYC_BSPACE, 0, MODEKEYEDIT_BACKSPACE }, |
{ KEYC_DC, 0, MODEKEYEDIT_DELETE }, |
{ KEYC_DC, 0, MODEKEYEDIT_DELETE }, |
{ KEYC_DOWN, 0, MODEKEYEDIT_HISTORYDOWN }, |
{ KEYC_DOWN, 0, MODEKEYEDIT_HISTORYDOWN }, |
|
|
{ KEYC_UP | KEYC_ESCAPE, 0, MODEKEYCOPY_HALFPAGEUP }, |
{ KEYC_UP | KEYC_ESCAPE, 0, MODEKEYCOPY_HALFPAGEUP }, |
{ KEYC_UP, 0, MODEKEYCOPY_UP }, |
{ KEYC_UP, 0, MODEKEYCOPY_UP }, |
|
|
{ 0, -1, 0 } |
{ 0, -1, 0 } |
}; |
}; |
struct mode_key_tree mode_key_tree_emacs_copy; |
struct mode_key_tree mode_key_tree_emacs_copy; |
|
|
|
|
mode_key_findtable(const char *name) |
mode_key_findtable(const char *name) |
{ |
{ |
const struct mode_key_table *mtab; |
const struct mode_key_table *mtab; |
|
|
for (mtab = mode_key_tables; mtab->name != NULL; mtab++) { |
for (mtab = mode_key_tables; mtab->name != NULL; mtab++) { |
if (strcasecmp(name, mtab->name) == 0) |
if (strcasecmp(name, mtab->name) == 0) |
return (mtab); |
return (mtab); |