X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/d4937c088ffb429c8b3fdf1b3d35b8cbc78d1290..14e719f07fcb43c9a0ada3f9f9f018ff5a20a1cf:/vim.plp diff --git a/vim.plp b/vim.plp index 183a04a..a14793f 100644 --- a/vim.plp +++ b/vim.plp @@ -5,29 +5,19 @@ use warnings; no warnings 'qw'; # you know what you doing no warnings 'uninitialized'; # save some useless checks for more legible code -our $VERSION = '1.2'; - -our $ascii = 0; -if (exists $get{ascii}) { - $ascii = $get{ascii} ne '0'; # manual override -} elsif (defined $ENV{HTTP_ACCEPT_CHARSET}) { - $ascii = 1; - for (split q{,}, $ENV{HTTP_ACCEPT_CHARSET}) { - $ascii = 0, last if $_ eq '*' or m{utf-?8}i; - } -} - -my $charset = $ascii ? 'us-ascii' : 'utf-8'; -my $ctype = "text/html; charset=$charset"; -$header{content_type} = $ctype; +use Shiar_Sheet::KeySigns qw(%sign); # dependant on $get{ascii} + +our $VERSION = 'v1.2'; + +$header{content_type} = "text/html; charset=$sign{charset}"; :> + vi cheat sheet - <: @@ -38,11 +28,10 @@ $header{content_type} = $ctype; ) for keys %styles; our $showkeys = exists $get{keys} && $get{keys} ne '0'; - print "\n" unless $showkeys; - print "\n" + print "\n".'' unless $showkeys; + print "\n".'' if $showkeys and $get{keys} eq 'ghost'; :> - @@ -55,30 +44,16 @@ $header{content_type} = $ctype;
  • <: -our %sign = ( - arg => $ascii ? '.' : '·', # described as 'dot' - motion => $ascii ? '|' : '↕', - alias => $ascii ? 'see: ' : '»', - up => $ascii ? 'up' : '▲', - right => $ascii ? 'right' : '▶', - down => $ascii ? 'down' : '▼', - left => $ascii ? 'left' : '◀', - sep => $ascii ? '*' : '•', - _ => exists $get{ascii} && !$ascii ? "\x{200b}" : '', - # use the correct ZWNJ only when unicode is forced on - # default to use unofficial html for best support -); - use Shiar_Sheet::Keyboard; my $keys = Shiar_Sheet::Keyboard->new({do 'vim.inc.pl'}); $keys->map($get{map}) or undef $get{map}; -$keys->print_rows($get{static}); +$keys->print_rows($get{rows}); :> @@ -112,9 +87,9 @@ $keys->print_rows($get{static});
    Commands with a dot need a char argument afterwards.
    key<:= $sign{motion} :>
    Requires a motion afterwards, operates between cursor and destination. -
    vim +
    vim
    Not in original Vi (assessment incomplete). -
    vim7 +
    vim7
    New in vim version 7.x. @@ -122,8 +97,8 @@ $keys->print_rows($get{static});
  • keyboard map is <:= $get{map} ? 'set to ' : '' :><:= $keys->{map} :>
  • ascii mode is - <:= exists $get{ascii} && 'forced ' :><:= - $ascii ? 'on' : 'off' :> + <:= defined $sign{-ascii} && 'forced ' :><:= + $sign{-ascii} ? 'on' : 'off' :>
  • keys are <:= $showkeys ? 'always shown' : 'hidden if unassigned' :><:= !exists $get{keys} && ' by default' :> @@ -134,15 +109,11 @@ $keys->print_rows($get{static});