/* foreground representation */
#digraphs .u-l3 {color: #080} /* partial */
+#digraphs .u-l3.ex {color: #4C0} /* experimental */
#digraphs .u-l2 {color: #A44; color: rgba(128, 0, 0, .6)} /* unofficial proposal */
#digraphs .u-l1 {color: #D00; color: rgba(255, 0, 0, .8)} /* minimal or invalid */
.l3:hover {background: #FF8}
.l4:hover {background: #CF8}
.l5:hover {background: #8F8}
-.u-l3:hover {outline: 1px solid #0F0}
+.u-l3:hover {outline: 1px solid #080}
+.u-l3.ex:hover {outline: 1px solid #8F0}
.u-l2:hover {outline: 1px solid #800}
.u-l1:hover {outline: 1px solid #F00}
<table class="glyphs"><tr>
<td class="X u-l4">full support
<td class="X u-l3">vim extension
+ <td class="X u-l3 ex">vim v8.0
<td class="X u-l2">proposal
<td class="X u-l1">not in vim
</table>
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
ord $di->{$_}, # original code point
map {"'$_'"}
$uninfo->{ $di->{$_} }->[1] // '', # name
- $rfc->{$_}
- ? $vim->{$_} ? 'l4' : 'l1' # vim+rfc or rfc only
- : $vim->{$_} ? 'l3' : 'l2', # vim only or neither
+ 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};