X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/92dc64088ef6dfdb273cf9cca397177d5c7e68c4..133e96335267b12bb7e97d9bbe551a3a043bd32a:/tools/mkdigraphlist?ds=inline diff --git a/tools/mkdigraphlist b/tools/mkdigraphlist index 5356987..5117b76 100755 --- a/tools/mkdigraphlist +++ b/tools/mkdigraphlist @@ -34,16 +34,41 @@ $table{$_} = 0 for ( $table{$_} = [ ord $di->{$_}, # original code point $uninfo->{ $di->{$_} }->[1] // '', # name - join(' ', + ( $rfc->{$_} - ? $vim->{$_} ? 'l4' : 'l1' # vim+rfc or rfc only + ? $vim->{$_} ? 'l5' : 'l1' # vim+rfc or rfc only + : $vimold && $vimold->{$_} ? 'l4' # compat vim if known : $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->{$_} }->[0] // '') =~ s/ u-di| u-prop//gr, # class $uninfo->{ $di->{$_} }->[4] // (), # string ] for sort keys %{$di}; -print JSON->new->ascii->canonical->encode(\%table); + +print JSON->new->ascii->canonical->encode({ + title => 'RFC-1345', + key => \%table, + intro => join("\n", + 'Character mnemonics following compose key â:', + 'i^k in Vim,', + '^u^\ in Emacs,', + '^a^v in Screen.', + 'Similar but different from X.Org.', + 'Also see common Unicode.
', + 'Unofficial proposals',
+ 'are available as ex commands.',
+ ),
+ flag => {
+ l5 => 'full support',
+ l4 => 'vim extension',
+ l3 => 'vim v8.0',
+ l2 => 'proposal',
+ l1 => 'not in vim',
+ },
+ flagclass => {
+ l5 => '', # common
+ l3 => 'u-l5', # rare
+ },
+});
__END__
@@ -53,14 +78,14 @@ mkdigraphlist - Output character list of combined digraph data
=head1 SYNOPSIS
- mkdigraphlist | jq -r '."DO"[0]' | perl -nE 'say chr' # $
+ mkdigraphlist | jq -r '.key."DO"[0]' | perl -nE 'say chr' # $
=head1 DESCRIPTION
Combines precompiled digraph includes of rfc (1345), vim, and shiar
and outputs a complete map including character details and usage classes.
-The value can either be a scalar string containing another
+The C