use EscapeHTML() from PLP v3.23
[sheet.git] / readline.inc.pl
index f6172183a3007edb171bcf54ab959fd67494d359..5271cf22f9d7f094a3cb0e3ed3e03e05bdf82f3d 100644 (file)
@@ -3,22 +3,26 @@ use utf8;
 '' => {
        desc => "emacs mode",
 
-       '+\\'=> ["delete whitesp$sign{_}ace", 'mo'],
-       '+_' => '+.',
-       '+>' => ["history end", 'co'],
        '+<' => ["history start", 'co'],
-       '+.' => ["insert last", 'co'],
-       '+#' => ["prefix comm$sign{_}en$sign{_}t", 'mi'],
-       '+*' => ["complet$sign{_}e all", 'mi'],
-       '^]' => ["find char", 'pm arg'],
-       '^+]'=> ["rev find char", 'pm arg'],
+       '+=' => '+?', #TODO: new # emacs, not in v2.0
+       '+>' => ["history end", 'co'],
        '^?' => '^h',
        '+?' => ["list complet$sign{_}ion$sign{_}s", 'ci'],
-       '+=' => '+?', # emacs
-       '^@' => ["set mark", 'mv'],
+       '^@' => ["set mark", 'mv new'], # not in v2.0
+
+       '+#' => ["prefix comm$sign{_}en$sign{_}t", 'mi new'], # not in v2.0
        '+&' => ["tilde expand", 'mi'],
-       '+~' => '+&', # emacs
+       '+*' => ["complet$sign{_}e all", 'mi new'], # not in v2.0
+       '+.' => ["insert last", 'co'],
+       '+~' => '+&amp;', # emacs
+
+       '^[' => ["meta", 'mv'],
+       '^+['=> '^i',
+       '+\\'=> ["delete whitesp$sign{_}ace", 'mo'],
+       '^]' => ["find char", 'pm arg new'], # not in v2.0
+       '^+]'=> ["rev find char", 'pm arg new'], # not in v2.0
        '^_' => ["undo", 'co'],
+       '+_' => '+.',
 
        '+~' => ["user$sign{_}name exp$sign{_}and", 'mi ext'], # common emacs => '+&'
        '+!' => ["cmd expand", 'mi ext'],
@@ -30,6 +34,7 @@ use utf8;
        '^a' => ["begin of line", 'pm'],
        '^b' => ["char back$sign{_}w$sign{_}ard$sign{_}s", 'pm'],
        '+b' => ["word back$sign{_}w$sign{_}ard$sign{_}s", 'pm'],
+       '^c' => ["cancel comm$sign{_}and", 'mv ext'],
        '+c' => ["capital$sign{_}ise word", 'mi'],
        '^d' => ["delete char", 'mo'],
        '+d' => ["delete word rem$sign{_}ain$sign{_}der", 'mo ring'],
@@ -38,14 +43,18 @@ use utf8;
        '^f' => ["char forward", 'pm'],
        '+f' => ["word forward", 'pm'],
        '^g' => ["abort cmd, bell", 'mv'],
+       '^+g'=> '^g',
        '^h' => ["back$sign{_}space", 'mo'],
+       '^+h'=> ["delete bound word", 'mo ring'], #TODO
        '^i' => ["auto$sign{_}complet$sign{_}e", 'mi', '(tab)'],
+       '^+i'=> '^v^i',
        '^j' => '^m',
-       '^+j'=> ["vim mode", 'me'],
+       '^+j'=> ["vim mode", 'me'], #TODO: mode^+j
        '^k' => ["delete till eol", 'mo ring'],
        '^l' => ["clear screen", 'ci'],
        '+l' => ["lowcase word", 'mi'],
        '^m' => ["enter line", 'co', '(enter)'],
+       '^+m'=> '^+j',
        '^n' => ["history next", 'co'],
        '+n' => ["match history", 'co'],
        '^o' => ["enter and next", 'co ext'],
@@ -54,6 +63,7 @@ use utf8;
        '^q' => '^v', # Quote
        '^r' => ["reverse history", 'co'],
        '+r' => ["full undo", 'co', 'Revert'],
+       '^+r'=> '+r',
        '^s' => ["search history", 'co'],
        '^t' => ["move char forw$sign{_}ard", 'mi', 'Transpose char'],
        '+t' => ["move word forw$sign{_}ard", 'mi', 'Transpose word'],
@@ -61,10 +71,27 @@ use utf8;
        '+u' => ["upcase word", 'mi'],
        '^v' => ["verbatim char", 'mv'],
        '^w' => ["delete word", 'mo ring'], # unix
-#      '^xBS' => ["delete till bol", 'mo'],
-       '^x' => ["extend$sign{_}ed", 'me arg'],
+       '^x' => ["extend$sign{_}ed", 'me arg mode^x'],
        '^y' => ["yank top", 'co'],
        '+y' => ["rotate yank", 'co ring'],
        '^+y'=> ["yank arg"],
+       '^z' => ["back$sign{_}ground", 'mv ext'],
+},
+
+'^x' => {
+       lead => $ascii ? "'x"  : "x̂",
+       desc => 'emacs ctrl-x bindings',
+
+       '('  => ["start macro", 'mv'],
+       ')'  => ["end macro", 'mv'],
+       'e'  => ["run macro", 'mv', 'Execute'],
+       '^e' => ["editor", 'mi ext linkvim'],
+       '^g' => '^g',
+       '^h' => '^u',
+       '^r' => ["reload inputrc", 'mv'],
+       '^u' => '^_',
+       '^x' => ["swap cursor", 'pm new', 'eXchange'], # not in v2.0
+       '^v' => ["shell version", 'ci ext'],
+       '^?' => '^x^h',
 },