From 800cd11bec46c84a8187b9180f0a7684e7be7d1c Mon Sep 17 00:00:00 2001 From: Mischa POSLAWSKY Date: Sat, 24 Feb 2024 14:43:18 +0100 Subject: [PATCH] digraphs: translate vim support levels to appropriate fg classes Emulate styling before renumbering in commit v1.17-57-g8f93eb6627 (2024-03-06) [prepare xorg comparison in prebuilt data]. --- digraphs.plp | 5 +++-- tools/mkdigraphlist | 18 +++++++++++------- tools/mkdigraphs-xorg | 2 +- 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/digraphs.plp b/digraphs.plp index 6e0608c..05d9241 100644 --- a/digraphs.plp +++ b/digraphs.plp @@ -83,7 +83,8 @@ for my $c1group (@chars) { utf8::upgrade($glyph); # prevent latin1 output my $desc = $mnem . ($name && " ($name)"); my @class = ('X', grep {$_} $script); - push @class, $cmp ? $support : "u-$support" if $support; + push @class, $cmp ? $support : + $di->{flagclass}->{$support} // "u-$support" if $support; $glyph = EscapeHTML($glyph); $glyph = "$glyph" if $script =~ /\bZs\b/; @@ -122,7 +123,7 @@ print '
' if exists $get{split}; <: } :> <: - printf qq(\n\t
%s), (!$cmp && 'u-').$_, $di->{flag}->{$_} + printf qq(\n\t%s), $cmp ? $_ : $di->{flagclass}{$_} // "u-$_", $di->{flag}->{$_} for sort keys %{ $di->{flag} }; :>
diff --git a/tools/mkdigraphlist b/tools/mkdigraphlist index 2f6acc8..5117b76 100755 --- a/tools/mkdigraphlist +++ b/tools/mkdigraphlist @@ -34,13 +34,13 @@ $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}; @@ -58,12 +58,16 @@ print JSON->new->ascii->canonical->encode({ 'are available as ex commands.', ), flag => { - l4 => 'full support', - l3 => 'vim extension', - 'l3 ex' => 'vim v8.0', + l5 => 'full support', + l4 => 'vim extension', + l3 => 'vim v8.0', l2 => 'proposal', l1 => 'not in vim', }, + flagclass => { + l5 => '', # common + l3 => 'u-l5', # rare + }, }); __END__ diff --git a/tools/mkdigraphs-xorg b/tools/mkdigraphs-xorg index edef62d..67c60a6 100755 --- a/tools/mkdigraphs-xorg +++ b/tools/mkdigraphs-xorg @@ -39,7 +39,7 @@ while ($_ = readline) { my $comparison = ( !$vidi->{key}->{$mnem} ? 'l3' : # free $vidi->{key}->{$mnem}->[0] != $cp ? 'l1' : # conflict - $vidi->{key}->{$mnem}->[2] eq 'l4' ? 'l5' : # rfc + $vidi->{key}->{$mnem}->[2] eq 'l5' ? 'l5' : # rfc 'l4' # any ); $table{$mnem} = [ -- 2.30.0