ACC SHELL
% A simple emacs-emulation for SLrline
require ("rline/complete");
require ("rline/editfuns");
rline_unsetkey ("^@");
foreach $1 ([1:255])
{
$2 = char (-$1); % byte-semantics
rline_unsetkey ($2);
rline_setkey ("self_insert", $2);
}
rline_setkey ("bdel", "^?");
rline_setkey ("bol", "^A");
rline_setkey ("left", "^B");
rline_setkey ("kbd_quit", "^C");
rline_setkey ("del", "^D");
rline_setkey ("eol", "^E");
rline_setkey ("right", "^F");
rline_setkey ("kbd_quit", "^G");
rline_setkey ("bdel", "^H");
rline_setkey (&rline_kill_eol, "^K");
rline_setkey ("redraw", "^L");
rline_setkey ("enter", "^M");
rline_setkey ("down", "^N");
rline_setkey ("up", "^P");
rline_setkey ("quoted_insert", "^Q");
rline_setkey (&rline_kill_bol, "^U");
rline_setkey (&rline_kill_region, "^W");
rline_setkey (&rline_yank, "^Y");
rline_setkey ("trim", "\e\\");
rline_setkey (&rline_copy_region, "\ew");
rline_setkey ("complete", "\t");
#ifndef IBMPC_SYSTEM
rline_setkey (&rline_set_mark, "^@");
rline_setkey ("up", "\e[A");
rline_setkey ("down", "\e[B");
rline_setkey ("right", "\e[C");
rline_setkey ("left", "\e[D");
rline_setkey ("up", "\eOA");
rline_setkey ("down", "\eOB");
rline_setkey ("right", "\eOC");
rline_setkey ("left", "\eOD");
#else
rline_setkey (&rline_set_mark, "^@^C");
rline_setkey ("up", "^@H");
rline_setkey ("down", "^@P");
rline_setkey ("right", "^@M");
rline_setkey ("left", "^@K");
rline_setkey ("del", "^@S");
rline_setkey ("eol", "^@O");
rline_setkey ("bol", "^@G");
rline_setkey ("up", "\xE0H");
rline_setkey ("down", "\xE0P");
rline_setkey ("right", "\xE0M");
rline_setkey ("left", "\xE0K");
rline_setkey ("del", "\xE0S");
rline_setkey ("eol", "\xE0O");
rline_setkey ("bol", "\xE0G");
#endif
ACC SHELL 2018