Add Emacs-style bindings to edit mode, where they didn't conflict.

This commit is contained in:
T. Kurt Bond 2024-07-07 14:58:59 -04:00
commit 23e77edb4e

14
h-m-m
View file

@ -1715,19 +1715,19 @@ function magic_readline(&$mm, $title)
return false;
}
elseif ($in==special_keys['arr_up'] || $in==special_keys['home'])
elseif ($in==special_keys['arr_up'] || $in==special_keys['home'] || $in==special_keys['ctrl_p'] || $in==special_keys['ctrl_a'])
$cursor = 1;
elseif ($in==special_keys['arr_right'])
elseif ($in==special_keys['arr_right'] || $in==special_keys['ctrl_f'])
$cursor = min( mb_strlen($title)+1, $cursor+1);
elseif ($in==special_keys['arr_down'] || $in==special_keys['end'])
elseif ($in==special_keys['arr_down'] || $in==special_keys['end'] || $in==special_keys['ctrl_n'] || $in==special_keys['ctrl_e'])
$cursor = mb_strlen($title)+1;
elseif ($in==special_keys['arr_left'])
elseif ($in==special_keys['arr_left'] || $in==special_keys['ctrl_b'])
$cursor = max(1, $cursor-1);
elseif ($in==special_keys['ctrl_arr_left'] || $in==special_keys['shift_arr_left'] || $in==special_keys['meta_arr_left'])
elseif ($in==special_keys['ctrl_arr_left'] || $in==special_keys['shift_arr_left'] || $in==special_keys['meta_arr_left'] || $in==special_keys['alt_b'])
$cursor =
$cursor < 3
? 1
@ -1741,7 +1741,7 @@ function magic_readline(&$mm, $title)
)
);
elseif ($in==special_keys['ctrl_arr_right'] || $in==special_keys['shift_arr_right'] || $in==special_keys['meta_arr_right'])
elseif ($in==special_keys['ctrl_arr_right'] || $in==special_keys['shift_arr_right'] || $in==special_keys['meta_arr_right'] || $in==special_keys['alt_f'])
$cursor =
$cursor > mb_strlen($title) -2
? mb_strlen($title) + 1
@ -1801,7 +1801,7 @@ function magic_readline(&$mm, $title)
}
}
elseif ($in==special_keys['ctrl_del'])
elseif ($in==special_keys['ctrl_del'] || $in==special_keys['alt_d'])
{
$len = mb_strlen($title);
$from =