#!/bin/sh
-vim -e -cdigraphs -cq | perl -CSD -nE '
- BEGIN {
+
+VERSION=1.00
+
+vim -e -c'echo version' -cdigraphs -cq | perl -CSD -nE '
+ if ($. == 1) { # head
+ say "# digraphs list from vim version ", s/\s*\z//r;
say "+{";
- }
- say "q{$1} => $3," while /\G(\S\S) (.[^ ]*) +([0-9]+)\s+/g;
- END {
+ } else { # body
+ while (/\G(\S\S) (.[^ ]*) +([0-9]+)\s+/g) {
+ my ($mnem, $chr, $cp) = ($1, $2, $3);
+ $mnem =~ s/(?=[\\}])/\\/g; # escape string delimiter
+ say "q{$mnem} => $cp,";
+ }
+ } END { # foot
say "}";
+ exit warn "only $. lines of :digraphs output\n" if $. < 6;
}
'