index: release v1.18 with only altgr index linked
[sheet.git] / tools / mkdigraphs-vim
index 5386010dd9c4479c551f5772a75fe093da8e97cc..ceea4b7a4aa0c102e978ac64e920bf809986ae67 100755 (executable)
@@ -1,16 +1,27 @@
 #!/bin/sh
 
-VERSION=1.00
+VERSION=1.02
 
-vim -e -c'echo version' -cdigraphs -cq | perl -CSD -nE '
+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='vim -RXZ -i NONE -u NONE -N -n'
+
+$VIM -e -c'echo version' -cdigraphs -cq | perl -CSD -nE '
        if ($. == 1) { # head
-               say "# digraphs list from vim version ", s/\s*\z//r;
+               say "# digraphs list from vim version ", m/(\d+)\s*\z/;
+               say "# automatically generated by '"$0"'";
                say "+{";
        } 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,";
+                       $chrstr = sprintf q("\x{%x}"), $cp;
+                       say "q{$mnem} => $chrstr,";
                }
        } END { # foot
                say "}";