X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/71f5871eee199636350587c8be9596ccb8689d6f..03abf85a7ec9775993766a3fd10cd2876aef0b42:/tools/mkdigraphlist diff --git a/tools/mkdigraphlist b/tools/mkdigraphlist index 2e6c919..a0c5ab2 100755 --- a/tools/mkdigraphlist +++ b/tools/mkdigraphlist @@ -6,7 +6,7 @@ use utf8; use open OUT => ':utf8', ':std'; -our $VERSION = '1.05'; +our $VERSION = '1.06'; # import and combine various digraph data my $rfc = do 'data/digraphs-rfc.inc.pl' @@ -15,6 +15,8 @@ my $extra = do 'data/digraphs-shiar.inc.pl' or warn "could not include shiar proposals: ", $@ // $!; my $vim = do 'data/digraphs-vim.inc.pl' or warn "could not include vim extensions ", $@ // $!; +my $vimold = do 'data/digraphs-vim-74.inc.pl' + or warn "could not include vim compatibility ", $@ // $!; my $di = { %{$vim // {}}, %{$rfc}, %{$extra // {}} }; # optionally get unicode character information @@ -30,14 +32,17 @@ printf '(map {$_=>0} qw{%s}),'."\n", join(' ', grep { !defined $di->{$_} } map { substr($_, 1, 1).substr($_, 0, 1) } sort keys %{$di} ); -printf "q{%s}=>[%s],\n", $_, join(',', +printf "q{%s}=>[%s],\n", s/(?=[\\}])/\\/gr, join(',', ord $di->{$_}, # original code point map {"'$_'"} - $uninfo->{ $di->{$_} }->[1], # name - $vim->{$_} - ? $rfc->{$_} ? 'u-di' : 'u-prop' # vim+rfc or vim-only - : 'u-prop ex', # neither - $uninfo->{ $di->{$_} }->[0] =~ s/ u-di| u-prop| ex//gr, # class + $uninfo->{ $di->{$_} }->[1] // '', # name + join(' ', + $rfc->{$_} + ? $vim->{$_} ? 'l4' : 'l1' # vim+rfc or rfc only + : $vim->{$_} ? 'l3' : 'l2', # vim only or neither + $vimold && $vim->{$_} && !$vimold->{$_} ? 'ex' : (), # new vim feature + ), + ($uninfo->{ $di->{$_} }->[0] // '') =~ s/ u-di| u-prop| ex//gr, # class $uninfo->{ $di->{$_} }->[4] // (), # string ) for sort keys %{$di}; print "}\n";