From 4e1baf7dd0bd8b9f632a5ca00377b5136c1890c8 Mon Sep 17 00:00:00 2001 From: Mischa POSLAWSKY Date: Fri, 18 May 2018 23:36:55 +0200 Subject: [PATCH] vi: specific version and extension classes --- Shiar_Sheet/Keyboard.pm | 2 + readline.eng.inc.pl | 40 +++--- vi.eng.inc.pl | 262 ++++++++++++++++++++-------------------- 3 files changed, 153 insertions(+), 151 deletions(-) diff --git a/Shiar_Sheet/Keyboard.pm b/Shiar_Sheet/Keyboard.pm index 98c5a40..c627d6d 100644 --- a/Shiar_Sheet/Keyboard.pm +++ b/Shiar_Sheet/Keyboard.pm @@ -130,6 +130,8 @@ sub print_key { ' onclick="setmode(%s)"', $1 eq '' ? '' : sprintf(q{'mode%s'}, escapeclass($1)) ); + $flags =~ s/\bx\w+/ext/; + $flags =~ s/\bv\d+/new/; $flags .= ' chr'.ord(substr $key, -1) if $key ne '^0'; print qq{\t\t$keytxt}; diff --git a/readline.eng.inc.pl b/readline.eng.inc.pl index 4b28885..2964563 100644 --- a/readline.eng.inc.pl +++ b/readline.eng.inc.pl @@ -94,8 +94,8 @@ flag => { g9 => [mode => "Additional key functionality (click to view)."], arg => ["key" => "Commands with a dot need a char argument afterwards."], - new => [">v2.0" => "Unavailable before readline version 2.1 (1997)."], - ext => ["bash" => "Default assignment in Bash shells, but not common readline."], + 'v21 new' => [">v2.0" => "Unavailable before readline version 2.1 (1997)."], + 'xbash ext' => ["bash" => "Default assignment in Bash shells, but not common readline."], }, def => { @@ -103,37 +103,37 @@ def => { "\e" => 'g8', '+<' => 'g4', - '+=' => '=+?', #TODO: new # emacs, not in v2.0 + '+=' => '=+?', #TODO: v21 # emacs, not in v2.0 '+>' => 'g4', '^?' => '=^h', '+?' => 'g1', - '^@' => 'g8 new', # not in v2.0 + '^@' => 'g8 v21', # not in v2.0 - '+#' => 'g6 new', # not in v2.0 + '+#' => 'g6 v21', # not in v2.0 '+&' => 'g6', - '+*' => 'g6 new', # not in v2.0 + '+*' => 'g6 v21', # not in v2.0 '+.' => 'g4', '+~' => '=+&', # emacs '^[' => 'g8', '^+['=> '=^i', '+\\'=> 'g7', - '^]' => 'g2 arg new', # not in v2.0 - '^+]'=> 'g2 arg new', # not in v2.0 + '^]' => 'g2 arg v21', # not in v2.0 + '^+]'=> 'g2 arg v21', # not in v2.0 '^_' => 'g4', '+_' => '=+.', - '+~' => 'g6 ext', # common emacs => '=+&' - '+!' => 'g6 ext', - '+@' => 'g6 ext', - '+$' => 'g6 ext', - '+^' => 'g4 ext', - '+/' => 'g1 ext', + '+~' => 'g6 xbash', # common emacs => '=+&' + '+!' => 'g6 xbash', + '+@' => 'g6 xbash', + '+$' => 'g6 xbash', + '+^' => 'g4 xbash', + '+/' => 'g1 xbash', '^a' => 'g2', '^b' => 'g2', '+b' => 'g2', - '^c' => 'g8 ext', + '^c' => 'g8 xbash', '+c' => 'g6', '^d' => 'g7', '+d' => 'g7 ring', @@ -156,7 +156,7 @@ def => { '^+m'=> '=^+j', '^n' => 'g4', '+n' => 'g4', - '^o' => 'g4 ext', + '^o' => 'g4 xbash', '^p' => 'g4', '+p' => 'g4', '^q' => '=^v', @@ -174,7 +174,7 @@ def => { '^y' => 'g4', '+y' => 'g4 ring', '^+y'=> "yank arg", - '^z' => 'g8 ext', + '^z' => 'g8 xbash', }, '^x' => { @@ -185,13 +185,13 @@ def => { '(' => 'g8', ')' => 'g8', 'e' => 'g8', - '^e' => 'g6 ext linkvi', + '^e' => 'g6 xbash linkvi', '^g' => '=^g', '^h' => '=^u', '^r' => 'g8', '^u' => '=^_', - '^x' => 'g2 new', # not in v2.0 - '^v' => 'g1 ext', + '^x' => 'g2 v21', # not in v2.0 + '^v' => 'g1 xbash', '^?' => '=^x^h', }, }, diff --git a/vi.eng.inc.pl b/vi.eng.inc.pl index 5d75a58..09a132d 100644 --- a/vi.eng.inc.pl +++ b/vi.eng.inc.pl @@ -480,7 +480,7 @@ flag => { arg => ["key", "Commands with a dot need a char argument afterwards."], motion => ["key", "Requires a motion afterwards, operates between cursor and destination."], - 'vim6 new' => ["vim", "Not in original Vi (assessment incomplete)."], + 'v6 new' => ["vim", "Not in original Vi (assessment incomplete)."], }, def => { @@ -488,12 +488,12 @@ def => { '~' => "g4 undo", '!' => "g4 argm undo modec", '@' => "g4 arg undo", - '#' => "g2 vim6 new", + '#' => "g2 v6", '$' => "g2", '%' => "g2", '^' => "g2", '&' => "g4 undo", - '*' => "g2 vim6 new", + '*' => "g2 v6", '(' => 'g2', ')' => 'g2', '_' => "g2", @@ -548,7 +548,7 @@ def => { '^h'=> "=h", 'i' => "g6 undo modei", 'I' => "g6 undo modei", - '^i'=> "g2 vim6 new", + '^i'=> "g2 v6", 'j' => "g2", 'J' => "g4 undo", '^j'=> "=j", @@ -565,7 +565,7 @@ def => { '^n'=> "=j", 'o' => "g6 undo modei", 'O' => "g6 undo modei", - '^o'=> "g2 vim6 new", + '^o'=> "g2 v6", 'p' => "g4 undo", 'P' => "g4 undo", '^p'=> "=k", @@ -574,7 +574,7 @@ def => { '^q'=> "g1", # or ^v 'r' => "g4 arg undo", 'R' => "g6 undo modei", - '^r'=> "g4 undo vim6 new", + '^r'=> "g4 undo v6", 's' => "g6 undo modei", 'S' => "g6 undo modei", '^s'=> "g1", @@ -586,7 +586,7 @@ def => { '^u'=> "g3", 'v' => "g8 modev", 'V' => "g8 modev", - '^v'=> "g8 modev vim6 new", + '^v'=> "g8 modev v6", 'w' => "g2", 'W' => "g2", '^w'=> "g9 arg mode^w", @@ -606,65 +606,65 @@ def => { "\e"=> "g7 mode", - '~' => "g4 argm vim6 new", - '@' => "g4 vim7 new", - '#' => "g2 vim6 new", + '~' => "g4 argm v6", + '@' => "g4 v7", + '#' => "g2 v6", '$' => "g2", - '^' => "g2 vim6 new", + '^' => "g2 v6", '&' => "g4", - '*' => "g2 vim6 new", - '_' => "g2 vim6 new", - '+' => "g4 vim7 new", - '`' => "g2 vim6 new arg", + '*' => "g2 v6", + '_' => "g2 v6", + '+' => "g4 v7", + '`' => "g2 v6 arg", '8' => "g1", - '0' => "g2 vim6 new", - '-' => "g4 vim7 new", + '0' => "g2 v6", + '-' => "g4 v7", '^['=> "g7 mode", ']' => "g3", '^]'=> "g3", ';' => "g2", - "'" => "g2 vim6 new arg", - '<' => "g4 vim7 new", - '?' => "g4 argm vim6 new", + "'" => "g2 v6 arg", + '<' => "g4 v7", + '?' => "g4 argm v6", ',' => "g2", 'a' => "g1", '^a'=> "g1", - 'd' => "g2 vim6 new", - 'D' => "g2 vim6 new", + 'd' => "g2 v6", + 'D' => "g2 v6", 'e' => "g2", 'E' => "g2", - 'f' => "g4 vim6 new", - 'F' => "g4 vim7 new", + 'f' => "g4 v6", + 'F' => "g4 v7", 'g' => "g2", '^g'=> "g1 vim6", 'h' => "g8 modev", 'H' => "g8 modev", - '^h'=> "g8 modev vim6 new", + '^h'=> "g8 modev v6", 'i' => "g6 undo modei", 'I' => "g6 undo modei", - 'j' => "g2 vim6 new", + 'j' => "g2 v6", 'J' => "g4", - 'k' => "g2 vim6 new", - 'm' => "g2 vim6 new", - 'n' => "g8 vim7 new modev", - 'N' => "g8 vim7 new modev", + 'k' => "g2 v6", + 'm' => "g2 v6", + 'n' => "g8 v7 modev", + 'N' => "g8 v7 modev", 'o' => "g2", 'p' => "g4 undo", 'P' => "g4", 'q' => "g4 argm", - 'Q' => "g7 vim6 new", + 'Q' => "g7 v6", 'r' => "g4 arg", 'R' => "g6 undo modei", - 's' => "g1 vim6 new", - 't' => "g3 vim7 new", - 'T' => "g3 vim7 new", - 'u' => "g4 argm vim6 new", # XXX undo? - 'U' => "g4 undo argm vim6 new", + 's' => "g1 v6", + 't' => "g3 v7", + 'T' => "g3 v7", + 'u' => "g4 argm v6", # XXX undo? + 'U' => "g4 undo argm v6", 'v' => 'g8 modev', 'V' => "g4", - 'w' => "g4 argm vim7 new", - 'x' => "g4 vim7 new", + 'w' => "g4 argm v7", + 'x' => "g4 v7", }, # mode g Z => { @@ -673,7 +673,7 @@ def => { "\e"=> "g7 mode", '^['=> "=\e", - 'Q' => "g4 vim6 new", + 'Q' => "g4 v6", 'Z' => "g4", }, # mode Z @@ -685,47 +685,47 @@ def => { '^' => "g3", '+' => "g3", '-' => "g3", - '=' => "g4 vim7 new", + '=' => "g4 v7", '.' => "g3", '^['=> "=\e", - 'a' => "g4 vim6 new folding", - 'A' => "g4 vim6 new folding", + 'a' => "g4 v6 folding", + 'A' => "g4 v6 folding", 'b' => "g3", - 'c' => "g4 vim6 new folding", - 'C' => "g4 vim6 new folding", - 'd' => "g4 vim6 new folding", - 'D' => "g4 vim6 new folding", + 'c' => "g4 v6 folding", + 'C' => "g4 v6 folding", + 'd' => "g4 v6 folding", + 'D' => "g4 v6 folding", 'e' => "g3", - 'E' => "g4 vim6 new folding", - 'f' => "g4 argm vim6 new folding", - 'F' => "g4 vim6 new folding", - 'g' => "g4 vim7 new", - 'G' => "g4 vim7 new", + 'E' => "g4 v6 folding", + 'f' => "g4 argm v6 folding", + 'F' => "g4 v6 folding", + 'g' => "g4 v7", + 'G' => "g4 v7", 'h' => "g3", 'H' => "g3", - 'i' => "g4 vim6 new folding", - 'j' => "g2 vim6 new folding", - 'k' => "g2 vim6 new folding", + 'i' => "g4 v6 folding", + 'j' => "g2 v6 folding", + 'k' => "g2 v6 folding", 'l' => "g3", 'L' => "g3", '^m'=> "g3", - 'm' => "g4 vim6 new folding", - 'M' => "g4 vim6 new folding", - 'n' => "g4 vim6 new folding", - 'N' => "g4 vim6 new folding", - 'o' => "g4 vim6 new folding", - 'O' => "g4 vim6 new folding", - 'r' => "g4 vim6 new folding", - 'R' => "g4 vim6 new folding", + 'm' => "g4 v6 folding", + 'M' => "g4 v6 folding", + 'n' => "g4 v6 folding", + 'N' => "g4 v6 folding", + 'o' => "g4 v6 folding", + 'O' => "g4 v6 folding", + 'r' => "g4 v6 folding", + 'R' => "g4 v6 folding", 's' => "g3", 't' => "g3", - 'u' => "g4 arg vim7 new", - 'v' => "g4 vim6 new folding", - 'w' => "g4 vim7 new", - 'W' => "g4 vim7 new", - 'x' => "g4 vim6 new folding", - 'X' => "g4 vim6 new folding", + 'u' => "g4 arg v7", + 'v' => "g4 v6 folding", + 'w' => "g4 v7", + 'W' => "g4 v7", + 'x' => "g4 v6 folding", + 'X' => "g4 v6 folding", 'z' => "g3", }, # mode z @@ -734,12 +734,12 @@ def => { "\e"=> "g7 mode", - "`" => "g2 vim6 new", + "`" => "g2 v6", '#' => "g2", '(' => "g2", '*' => "=[/", '/' => "g2", - "'" => "=[` ^", # vim6 new + "'" => "=[` ^", # v6 '{' => "g2", '[' => "g2", '^['=> "=\e", @@ -756,9 +756,9 @@ def => { 'm' => "g2", 'p' => "g4", 'P' => "g4", - 's' => "g3 vim7 new", - 'S' => "g3 vim7 new", - 'z' => "g2 vim6 new folding", + 's' => "g3 v7", + 'S' => "g3 v7", + 'z' => "g2 v6 folding", }, # mode [ ']' => { @@ -766,11 +766,11 @@ def => { "\e"=> "g7 mode", - "`" => "g2 vim6 new", + "`" => "g2 v6", '#' => "g2", ')' => "g2", '*' => "=]/", - "'" => "=]` ^", # vim6 new + "'" => "=]` ^", # v6 '/' => "g2", '[' => "g2", '^['=> "=\e", @@ -788,9 +788,9 @@ def => { 'm' => "g2", 'p' => "g4", 'P' => "=[p", - 's' => "g3 vim7 new", - 'S' => "g3 vim7 new", - 'z' => "g2 vim6 new folding", + 's' => "g3 v7", + 'S' => "g3 v7", + 'z' => "g2 v6 folding", }, # mode ] '^w' => { @@ -815,7 +815,7 @@ def => { '^c'=> "g7 mode", 'd' => "g3", 'f' => "g4", - 'F' => "g4 vim7 new", + 'F' => "g4 v7", 'g' => "g9 arg mode^wg", 'h' => "g3", 'H' => "g3", @@ -836,7 +836,7 @@ def => { 's' => "g3", 'S' => "=^ws", 't' => "g3", - 'T' => "g3 vim7 new", + 'T' => "g3 v7", 'v' => "g3", 'w' => "g3", 'W' => "g3", @@ -852,8 +852,8 @@ def => { ']' => "g3", '}' => "g3", '^]'=> "g3", - 'f' => "g4 vim7 new", - 'F' => "g4 vim7 new", + 'f' => "g4 v7", + 'F' => "g4 v7", }, # mode ^w g v => { @@ -867,24 +867,24 @@ def => { '<' => "g4", '=' => 'g4 undo', '>' => 'g4', - '~' => "g4 vim6 new", + '~' => "g4 v6", '^['=> "=\e", '^]'=> "g3", '^\\'=>'^\\', - 'a' => 'g9 modeva arg vim6 new', - 'A' => 'g6 modei vim6 new', - '^a'=> 'g4 undo vim8 new', - 'c' => 'g6 modei vim6 new', - 'C' => 'g6 modei vim6 new', + 'a' => 'g9 modeva arg v6', + 'A' => 'g6 modei v6', + '^a'=> 'g4 undo v8', + 'c' => 'g6 modei v6', + 'C' => 'g6 modei v6', '^c'=> "g7 mode", - 'd' => "g4 vim6 new", - 'D' => "g4 vim6 new", + 'd' => "g4 v6", + 'D' => "g4 v6", 'g' => "g9 arg modevg", '^g'=> "g8", '^h'=> 'g4', - 'i' => "g9 modeva arg vim6 new", - 'I' => "g6 modei vim6 new", # block + 'i' => "g9 modeva arg v6", + 'I' => "g6 modei v6", # block 'J' => "g4", 'K' => 'g4', 'o' => "g2", @@ -897,15 +897,15 @@ def => { 'R' => "=vS", # "might change in future" '^s'=> "=^s", 's' => "=vc", - 'S' => 'g6 modei vim6 new', - 'u' => "g4 vim6 new", - 'U' => "g4 vim6 new", + 'S' => 'g6 modei v6', + 'u' => "g4 v6", + 'U' => "g4 v6", 'v' => "g8", 'V' => "g8", - '^v'=> "g8 vim6 new", + '^v'=> "g8 v6", 'x' => "=vd", 'X' => "=vD", - '^x'=> 'g4 undo vim8 new', + '^x'=> 'g4 undo v8', 'y' => "g4", 'Y' => "g4", @@ -922,14 +922,14 @@ def => { "\e"=> "g8 modev", '^['=> "=\e", - '?' => "g4 vim6 new", - '^a'=> 'g4 undo vim8 new', + '?' => "g4 v6", + '^a'=> 'g4 undo v8', '^g' => "g1 vim6", - 'J' => 'g4 vim6 new', - 'q' => "g4 vim6 new", + 'J' => 'g4 v6', + 'q' => "g4 v6", 'v' => "=gv", - 'w' => 'g4 vim7 new', - '^x'=> 'g4 undo vim8 new', + 'w' => 'g4 v7', + '^x'=> 'g4 undo v8', }, # mode v g va => { @@ -938,23 +938,23 @@ def => { '(' => "=vab", ')' => "=vab", '`' => "=va'", - "'" => 'g2 vim7 new', + "'" => 'g2 v7', '"' => "=va'", - '<' => 'g2 vim6 new', + '<' => 'g2 v6', '>' => "=va<", - '[' => 'g2 vim6 new', + '[' => 'g2 v6', '{' => "=vaB", '^['=> "=\e", ']' => "=va[", '}' => "=vaB", - 'b' => 'g2 vim6 new', - 'B' => 'g2 vim6 new', - 'p' => 'g2 vim6 new', - 's' => 'g2 vim6 new', - 't' => 'g2 vim7 new', - 'w' => 'g2 vim6 new', - 'W' => 'g2 vim6 new', + 'b' => 'g2 v6', + 'B' => 'g2 v6', + 'p' => 'g2 v6', + 's' => 'g2 v6', + 't' => 'g2 v7', + 'w' => 'g2 v6', + 'W' => 'g2 v6', }, # mode v a #c => { @@ -975,7 +975,7 @@ def => { # '^n' => "", #todo # '^p' => "", #todo # '^r' => "=i^r", # and then some... - # ## ["g4 arg vim6 new"], + # ## ["g4 arg v6"], # '^q' => "=^q", # '^u' => "=i^u", # '^v' => "=i^v", @@ -987,38 +987,38 @@ def => { "\e" => "g7 mode", '^@' => "g4", - '^^' => "g4 vim6 new", + '^^' => "g4 v6", '^['=> "=\e", - '^]' => "g4 vim6 new", - '^_' => "g4 vim6 new", + '^]' => "g4 v6", + '^_' => "g4 v6", '^\\'=>'^\\', - '^a' => "g4 vim6 new", - '^b' => "no vim6 new", + '^a' => "g4 v6", + '^b' => "no v6", '^c' => "g7 mode", '^d' => 'g4', - '^e' => "g4 vim6 new", + '^e' => "g4 v6", '^f' => 'g4', '^g' => "g9 modei^g arg", '^h' => "g4", '^i' => "g4", '^j' => "g4", - '^k' => 'g4 arg arg vim6 new linkdigraphs', - '^l' => "g7 mode vim6 new", # insertmode only + '^k' => 'g4 arg arg v6 linkdigraphs', + '^l' => "g7 mode v6", # insertmode only '^m' => "g4", - '^n' => "g2 vim6 new", + '^n' => "g2 v6", '^o' => 'g4', - '^p' => "g2 vim6 new", + '^p' => "g2 v6", '^q' => "=^q", # or i^v - '^r' => 'g4 arg vim6 new', + '^r' => 'g4 arg v6', '^s' => "=^s", '^t' => "g4", '^u' => "g4", '^v' => 'g4 linkcharset', '^w' => "g4", - '^x' => 'g9 arg modei^x vim6 new', - '^y' => "g4 vim6 new", - '^z' => "g1 vim6 new", # insertmode only + '^x' => 'g9 arg modei^x v6', + '^y' => "g4 v6", + '^z' => "g1 v6", # insertmode only }, # modei 'i^g' => { @@ -1029,7 +1029,7 @@ def => { 'k' => 'g2', 'j' => 'g2', 'u' => 'g4', - 'U' => 'g4 vim8 new', + 'U' => 'g4 v8', # other keys (even esc) are not recognized }, # mode i ^g @@ -1047,12 +1047,12 @@ def => { '^k' => 'g4', '^l' => 'g4', '^n' => 'g4', - '^o' => 'g4 vim7 new', + '^o' => 'g4 v7', '^p' => 'g4', '^s' => 'g4', 's' => "=i^x^s", '^t' => 'g4', - '^u' => 'g4 vim7 new', + '^u' => 'g4 v7', '^v' => 'g4', '^y' => "g3", }, # mode i ^x -- 2.30.0