1% A simple emacs-emulation for SLrline
2
3require ("rline/complete");
4require ("rline/editfuns");
5
6rline_unsetkey ("^@");
7foreach $1 ([1:255])
8{
9   $2 = char (-$1);		       %  byte-semantics
10   rline_unsetkey ($2);
11   rline_setkey ("self_insert", $2);
12}
13
14rline_setkey ("bdel",			"^?");
15rline_setkey ("bol",			"^A");
16rline_setkey ("left",			"^B");
17rline_setkey ("kbd_quit",		"^C");
18rline_setkey ("del",			"^D");
19rline_setkey ("eol",			"^E");
20rline_setkey ("right",			"^F");
21rline_setkey ("kbd_quit",		"^G");
22rline_setkey ("bdel",			"^H");
23rline_setkey ("enter",			"\n");
24rline_setkey (&rline_kill_eol,		"^K");
25rline_setkey ("redraw",			"^L");
26rline_setkey ("enter",			"\r");
27rline_setkey ("down",			"^N");
28rline_setkey ("up",			"^P");
29rline_setkey ("quoted_insert",		"^Q");
30rline_setkey (&rline_kill_bol,		"^U");
31rline_setkey (&rline_kill_region,	"^W");
32rline_setkey (&rline_yank,		"^Y");
33rline_setkey ("trim",			"\e\\");
34rline_setkey (&rline_bskip_word,	"\eb");
35rline_setkey (&rline_skip_word,		"\ef");
36rline_setkey (&rline_copy_region,	"\ew");
37rline_setkey ("complete",		"\t");
38
39#ifdef UNIX VMS
40rline_setkey (&rline_set_mark,		"^@");
41rline_setkey ("up",			"\e[A");
42rline_setkey ("down",			"\e[B");
43rline_setkey ("right",			"\e[C");
44rline_setkey ("left",			"\e[D");
45rline_setkey ("up",			"\eOA");
46rline_setkey ("down",			"\eOB");
47rline_setkey ("right",			"\eOC");
48rline_setkey ("left",			"\eOD");
49#else
50rline_setkey (&rline_set_mark,		"^@^C");
51rline_setkey ("up",			"^@H");
52rline_setkey ("down",			"^@P");
53rline_setkey ("right",			"^@M");
54rline_setkey ("left",			"^@K");
55rline_setkey ("del",			"^@S");
56rline_setkey ("eol",			"^@O");
57rline_setkey ("bol",			"^@G");
58
59rline_setkey ("up",			"\xE0H");
60rline_setkey ("down",			"\xE0P");
61rline_setkey ("right",			"\xE0M");
62rline_setkey ("left",			"\xE0K");
63rline_setkey ("del",			"\xE0S");
64rline_setkey ("eol",			"\xE0O");
65rline_setkey ("bol",			"\xE0G");
66#endif
67
68