$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({
+ title => 'RFC-1345',
key => \%table,
+ intro => join("\n",
+ 'Character mnemonics following compose key ⎄:',
+ 'i^k in <a href="/vi">Vim</a>,',
+ '^u^\ in <a href="/readline">Emacs</a>,',
+ '^a^v in <a href="/screen">Screen</a>.',
+ 'Similar but different from <a href="/digraphs/xorg">X.Org</a>.',
+ 'Also see <a href="/unicode">common Unicode</a>.</p>',
+ '<p class="aside">Unofficial <span class="u-l2">proposals</span>',
+ 'are available as <a href="/digraphs.vim">ex commands</a>.',
+ ),
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__