From: Mischa POSLAWSKY Date: Sat, 17 Jul 2010 17:44:27 +0000 (+0200) Subject: vi: generic declaration of the escape key (\e) X-Git-Tag: v1.4~124 X-Git-Url: http://git.shiar.nl/sheet.git/commitdiff_plain/79d144c6834749e1e61c8ed1a9a60c8e4cc30a0d vi: generic declaration of the escape key (\e) --- diff --git a/Shiar_Sheet/Keyboard.pm b/Shiar_Sheet/Keyboard.pm index 7713009..936b811 100644 --- a/Shiar_Sheet/Keyboard.pm +++ b/Shiar_Sheet/Keyboard.pm @@ -5,7 +5,7 @@ use warnings; no warnings 'uninitialized'; # save some useless checks for more legible code use Carp; -our $VERSION = 'v2.01'; +our $VERSION = 'v2.02'; my @casedesc = (undef, qw/shift ctrl meta/, 'shift meta'); my @rowdesc = qw(numeric top home bottom); @@ -99,7 +99,7 @@ sub print_key { } # $key = $keytrans{$key} if defined $keytrans{$key}; - my $keytxt = $self->{def}{$mode}{lead} . escapehtml($key) if $key ne '^0'; + my $keytxt = $key eq "\e" ? 'Esc' : $self->{def}{$mode}{lead} . escapehtml($key) if $key ne '^0'; $keytxt .= $self->{sign}->{$1} while $flags =~ s/(?:^| )(arg[a-ln-z]?)\b//; # arguments $keytxt .= "$self->{sign}->{motion}" if $flags =~ s/ ?\bargm\b//; # motion argument $keytxt =~ s{\^(?=.)}{^}; # element around ctrl-identifier @@ -127,11 +127,11 @@ sub print_rows { my $defrows = shift || [2, 1, 0]; my @modes = sort keys %{ $self->{def} }; - for (my $row = 0; $row <= $#{ $keyrows{$self->{map}} }; $row++) { - my $keyrow = $keyrows{$self->{map}}->[$row]; + for (my $row = -1; $row <= $#{ $keyrows{$self->{map}} }; $row++) { + my $keyrow = $row < 0 ? [["\e"]] : $keyrows{$self->{map}}->[$row]; - print qq{