X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/eb99584832bca2d68aa9338148cd0479d2a7b445..c133e6ad3027e095811931f3e0d21b818865e0e8:/tools/mkdigraphs-vim diff --git a/tools/mkdigraphs-vim b/tools/mkdigraphs-vim index a94812f..b9ab426 100755 --- a/tools/mkdigraphs-vim +++ b/tools/mkdigraphs-vim @@ -1,13 +1,25 @@ #!/bin/sh -VERSION=1.00 +VERSION=1.01 + +if [ "$#" -ne 0 ] +then + echo "Usage: $0 >digraphs-vim.inc.pl" + echo 'Collect digraph data from vim, standard output as Perl hash.' + exit 64 # EX_USAGE +fi vim -e -c'echo version' -cdigraphs -cq | perl -CSD -nE ' if ($. == 1) { # head say "# digraphs list from vim version ", s/\s*\z//r; say "+{"; } else { # body - say "q{$1} => $3," while /\G(\S\S) (.[^ ]*) +([0-9]+)\s+/g; + while (/\G(\S\S) (.[^ ]*) +([0-9]+)\s+/g) { + my ($mnem, $chr, $cp) = ($1, $2, $3); + $mnem =~ s/(?=[\\}])/\\/g; # escape string delimiter + $chrstr = sprintf q("\x{%x}"), $cp; + say "q{$mnem} => $chrstr,"; + } } END { # foot say "}"; exit warn "only $. lines of :digraphs output\n" if $. < 6;