digraphs: mkdigraphs-vim: escape mnemonics
[sheet.git] / tools / mkdigraphs-vim
1 #!/bin/sh
2
3 VERSION=1.00
4
5 vim -e -c'echo version' -cdigraphs -cq | perl -CSD -nE '
6         if ($. == 1) { # head
7                 say "# digraphs list from vim version ", s/\s*\z//r;
8                 say "+{";
9         } else { # body
10                 while (/\G(\S\S) (.[^ ]*) +([0-9]+)\s+/g) {
11                         my ($mnem, $chr, $cp) = ($1, $2, $3);
12                         $mnem =~ s/(?=[\\}])/\\/g;  # escape string delimiter
13                         say "q{$mnem} => $cp,";
14                 }
15         } END { # foot
16                 say "}";
17                 exit warn "only $. lines of :digraphs output\n" if $. < 6;
18         }
19 '