From 14c2442e1a0971f10f0483c9246bd416af51cf31 Mon Sep 17 00:00:00 2001 From: Frank Terbeck Date: Sat, 19 Jan 2008 22:23:52 +0100 Subject: [PATCH] reindenting to 4spaces; cleanups --- Makefile | 9 +- genrefcard.pl | 630 +++++++++++++++++++++++++----------------------- grml-zsh-refcard.tex.in | 24 -- 3 files changed, 338 insertions(+), 325 deletions(-) diff --git a/Makefile b/Makefile index 123bf5a..3d5b0f0 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,12 @@ ZSHRCS=../grml-etc-core/etc/zsh/zshrc ../grml-etc-core/etc/skel/.zshrc all: grml-zsh-refcard.tex -grml-zsh-refcard.tex: grml-zsh-refcard.tex.in genrefcard.pl +grml-zsh-refcard.tex: grml-zsh-refcard.tex.in genrefcard.pl $(ZSHRCS) cat $(ZSHRCS) | ./genrefcard.pl > grml-zsh-refcard.tex + clean: - rm -f grml-zsh-refcard.tex + rm -f grml-zsh-refcard.tex *~ + rm -f *.aux *.log *.out *.pdf pdf-stamp + +test: grml-zsh-refcard.tex + make -f ../grml-zsh-refcard/Makefile diff --git a/genrefcard.pl b/genrefcard.pl index daaa877..fb32657 100755 --- a/genrefcard.pl +++ b/genrefcard.pl @@ -43,302 +43,333 @@ use strict; ### variables {{{ my $refin = "./grml-zsh-refcard.tex.in"; if (defined($ARGV[0]) && $ARGV[0] =~ m!^[^+]!) { - $refin = shift; + $refin = shift; } + my $MAX_INPUT=10000; my $verbose = 0; + if (defined($ARGV[0])) { $verbose = length($ARGV[0]); } my @secmap = ( - "default", #0 - "system", #1 - "user", #2 - "debian", #3 - "search", #4 - "shortcuts", #5 - "services" #6 + "default", #0 + "system", #1 + "user", #2 + "debian", #3 + "search", #4 + "shortcuts", #5 + "services" #6 ); my ( - $i, - $ln, - $inc, # global counter for input lines - @input, - %data, # HoA - %other, # @@INSERT-other-*@@ - %splits # if lists get long, we might need to split them. HoA + $i, + $ln, + $inc, # global counter for input lines + @input, + %data, # HoA + %other, # @@INSERT-other-*@@ + %splits # if lists get long, we might need to split them. HoA ); + my $splitstring="\\commandlistend\n\\pagebreak\n\\commandlistbegin"; ###}}} ### subroutines {{{ -sub dumpdata() { - my ($key, $entry); - if ($verbose < 5) { return; } - xprint(5, " --- Data ---\n"); - foreach $key (sort keys(%other)) { - xprint(5, " \@\@INSERT-other-$key\@\@ -> $other{$key}\n"); - } - foreach $key (sort keys(%data)) { - xprint(5, " \@\@INSERT-$key\@\@ =>\n"); - foreach $entry (sort @{ $data{$key} }) { - xprint(5, "$entry\n"); - } - } - foreach $key (sort keys(%splits)) { - xprint(5, " List-Splitting Offset for $key:\n"); - foreach $entry (@{ $splits{$key} }) { - xprint(5, "$entry\n"); - } - } - xprint(5, " --- Dump ---\n"); +sub dumpdata { + my ($key, $entry); + + if ($verbose < 5) { return; } + xprint(5, " --- Data ---\n"); + foreach $key (sort keys(%other)) { + xprint(5, " \@\@INSERT-other-$key\@\@ -> $other{$key}\n"); + } + foreach $key (sort keys(%data)) { + xprint(5, " \@\@INSERT-$key\@\@ =>\n"); + foreach $entry (sort @{ $data{$key} }) { + xprint(5, "$entry\n"); + } + } + foreach $key (sort keys(%splits)) { + xprint(5, " List-Splitting Offset for $key:\n"); + foreach $entry (@{ $splits{$key} }) { + xprint(5, "$entry\n"); + } + } + xprint(5, " --- Dump ---\n"); } sub xprint { - my $level = shift; - if ($verbose >= $level) { - print STDERR @_; - } + my $level = shift; + + if ($verbose >= $level) { + print STDERR @_; + } } -sub escape_string($) { - my $in = shift; - $in =~ s!([\\\{\}\*\&~\$_])!\\$1!g; - return($in) +sub escape_string { + my ($in) = @_; + + $in =~ s!([\\\{\}\*\&~\$_])!\\$1!g; + return($in) } -sub demystify_keys($) { - # what an ugly hack :-) - my $keys = shift; - my @tok = split(/(\\e[^\^]|\^.)/, $keys); - my ($k, $out); +sub demystify_keys { + # what an ugly hack :-) + my ($keys) = @_; + my ($k, $out, @tok); + + @tok = split(/(\\e[^\^]|\^.)/, $keys); + $out = ''; + foreach $k (@tok) { + if ($k eq '') { next; } - $out = ''; - foreach $k (@tok) { - if ($k eq '') { next; } - if ($k =~ m!^[^\\\^]!) { - $k =~ s!(.)! $1!g; + if ($k =~ m!^[^\\\^]!) { + $k =~ s!(.)! $1!g; + } + else { + $k =~ s!\\e!ESC-!g; + $k =~ s!\^I!TAB!g; + $k =~ s!\^[jJmM]!return!g; + $k =~ s!\^!CTRL-!g; + } + $out .= $k; } - else { - $k =~ s!\\e!ESC-!g; - $k =~ s!\^I!TAB!g; - $k =~ s!\^[jJmM]!return!g; - $k =~ s!\^!CTRL-!g; + + return($out); +} + +sub insert { + my ($linenum, $cat, $sec) = @_; + my ($entry, $count); + + if ($sec eq '') { $sec = 'default'; } + if (!defined($data{"$cat-$sec"})) { + warn("Unknown insertion tag in line $linenum (\@\@INSERT-$cat-$sec\@\@). IGNORING.\n"); + return; } - $out .= $k; - } + xprint(1, "inserting: category($cat) section($sec), line: $linenum\n"); + $count = 0; + foreach $entry (sort @{ $data{"$cat-$sec"} }) { + my $is; - return($out); + foreach $is (@{ $splits{"$cat-$sec"} } ) { + if ($count == $is) { + print("$splitstring\n"); + last; + } + } + print("$entry\n"); + $count++; + } } -sub insert($$$) { - my $linenum=shift; my $cat=shift; my $sec=shift; - my ($entry, $count); - if ($sec eq '') { $sec = 'default'; } - if (!defined($data{"$cat-$sec"})) { - warn("Unknown insertion tag in line $linenum (\@\@INSERT-$cat-$sec\@\@). IGNORING.\n"); - return; - } - xprint(1, "inserting: category($cat) section($sec), line: $linenum\n"); - $count = 0; - foreach $entry (sort @{ $data{"$cat-$sec"} }) { - my $is; - foreach $is (@{ $splits{"$cat-$sec"} } ) { - if ($count == $is) { - print("$splitstring\n"); - last; - } - } - print("$entry\n"); - $count++; - } +sub handle_hashdir { + my ($sec, $desc) = @_; + my ($dir, $value); + + if ($sec eq '') { $sec=0; } + + xprint(1, "Handling hashed dir (section: $secmap[$sec]) in line $ln ($desc)\n"); + + $ln++; + while ($ln <= $i) { + if ($input[$ln] =~ m!^\s*\#d[0-9]*\#!) { + xprint(1, "Ending hashed dir handling in line $ln.\n"); + $ln++; + return; + } + if ($input[$ln] =~ m!\s*hash\s+-d\s+([^=]+)=(.*)!) { + $dir=$1; $value=&escape_string($2); + push(@{ $data{"hasheddirs-$secmap[$sec]"} }, "\\command\{$dir\}\{$value\}"); + } + else { + warn("Broken hashed dir in line $ln. IGNORING.\n"); + } + $ln++; + } +} + +sub handle_abbrev { + my ($sec, $desc) = @_; + my ($abbrev, $value, $doc); + + if ($sec eq '') { $sec=0; } + + xprint(1, "Handling abbreviation (section: $secmap[$sec]) in line $ln ($desc)\n"); + + $ln++; + while ($ln <= $i) { # the global $i + if ($input[$ln] =~ m!^\s*\#A[0-9]*\#!) { + xprint(1, "Ending abbreviation handling in line $ln.\n"); + $ln++; + return; + } + $doc = ''; + if ($input[$ln] =~ s/\s+\#d\s*([^#]*)$//) { $doc = $1; } + if ($input[$ln] =~ m!\s*['"]([^"']*)['"]\s\$?['"]([^"']*)['"]!) { + $abbrev = $1; $value = &escape_string($2); + xprint(2, "ab: $abbrev -> $value ($doc);\n"); + push(@{ $data{"abbrev-$secmap[$sec]"} }, "\\command\{$abbrev\}\{\\kbd\{$value" . ($doc ne '' ? "\}\\quad $doc" : "\}") . "\}"); + } + else { + warn("Broken abbreviation in line $ln. IGNORING.\n"); + } + $ln++; + } } -sub handle_hashdir($$) { - my $sec = shift ; my $desc = shift; - my ($dir, $value); - if ($sec eq '') { $sec=0; } - xprint(1, "Handling hashed dir (section: $secmap[$sec]) in line $ln ($desc)\n"); - $ln++; - while ($ln <= $i) { - if ($input[$ln] =~ m!^\s*\#d[0-9]*\#!) { - xprint(1, "Ending hashed dir handling in line $ln.\n"); - $ln++; - return; - } - if ($input[$ln] =~ m!\s*hash\s+-d\s+([^=]+)=(.*)!) { - $dir=$1; $value=&escape_string($2); - push(@{ $data{"hasheddirs-$secmap[$sec]"} }, "\\command\{$dir\}\{$value\}"); +sub handle_function { + my ($sec, $desc) = @_; + + if ($sec eq '') { $sec=0; } + + xprint(1, "Handling function (section: $secmap[$sec]) in line $ln ($desc)\n"); + + $ln++; + if ($input[$ln] =~ m!\s*(function)?\s*([^(\s]*)!) { + xprint(2, " - $2()\n"); + push(@{ $data{"functions-$secmap[$sec]"} }, "\\command\{$2()\}\{$desc\}"); } else { - warn("Broken hashed dir in line $ln. IGNORING.\n"); + warn("Parsing function line $ln ($input[$ln]) failed. IGNORING.\n"); } - $ln++; - } } -sub handle_abbrev($$) { - my $sec = shift ; my $desc = shift; - my ($abbrev, $value, $doc); - if ($sec eq '') { $sec=0; } - xprint(1, "Handling abbreviation (section: $secmap[$sec]) in line $ln ($desc)\n"); - $ln++; - while ($ln <= $i) { # the global $i - if ($input[$ln] =~ m!^\s*\#A[0-9]*\#!) { - xprint(1, "Ending abbreviation handling in line $ln.\n"); - $ln++; - return; - } - $doc = ''; - if ($input[$ln] =~ s!\s+\#d\s*([^#]*)$!!) { $doc = $1; } - if ($input[$ln] =~ m!\s*['"]([^"']*)['"]\s\$?['"]([^"']*)['"]!) { - $abbrev = $1; $value = &escape_string($2); - xprint(2, "ab: $abbrev -> $value ($doc);\n"); - push(@{ $data{"abbrev-$secmap[$sec]"} }, "\\command\{$abbrev\}\{\\kbd\{$value" . ($doc ne '' ? "\}\\quad $doc" : "\}") . "\}"); +sub handle_alias { + my ($sec, $desc) = @_; + my ($alias, $value); + + if ($sec eq '') { $sec=0; } + + xprint(1, "Handling alias (section: $secmap[$sec]) in line $ln ($desc)\n"); + + $ln++; + if ($input[$ln] =~ m!\s*alias (-[haocC] +)*([^=]*)=["'](.*)["']!) { + $alias=$2; $value=&escape_string($3); + $desc =~ s!\@a\@!$value!; + push(@{ $data{"aliases-$secmap[$sec]"} }, "\\command\{$alias\}\{$desc\}"); } else { - warn("Broken abbreviation in line $ln. IGNORING.\n"); + warn("Parsing alias line $ln ($input[$ln]) failed. IGNORING.\n"); } - $ln++; - } } -sub handle_function($$) { - my $sec = shift ; my $desc = shift; - if ($sec eq '') { $sec=0; } - xprint(1, "Handling function (section: $secmap[$sec]) in line $ln ($desc)\n"); - $ln++; - if ($input[$ln] =~ m!\s*(function)?\s*([^(\s]*)!) { - xprint(2, " - $2()\n"); - push(@{ $data{"functions-$secmap[$sec]"} }, "\\command\{$2()\}\{$desc\}"); - } - else { - warn("Parsing function line $ln ($input[$ln]) failed. IGNORING.\n"); - } -} +sub handle_other { + my ($sec, $desc) = @_; -sub handle_alias($$) { - my $sec = shift ; my $desc = shift; - my ($alias, $value); - if ($sec eq '') { $sec=0; } - xprint(1, "Handling alias (section: $secmap[$sec]) in line $ln ($desc)\n"); - $ln++; - if ($input[$ln] =~ m!\s*alias (-[haocC] +)*([^=]*)=["'](.*)["']!) { - $alias=$2; $value=&escape_string($3); - $desc =~ s!\@a\@!$value!; - push(@{ $data{"aliases-$secmap[$sec]"} }, "\\command\{$alias\}\{$desc\}"); - } - else { - warn("Parsing alias line $ln ($input[$ln]) failed. IGNORING.\n"); - } + $desc =~ m!([^\s]+)\s+(.*)!; + xprint(1, "Handling 'other' tag in line $ln ($1 -> $2))\n"); + $other{$1} = $2; + $ln++; } -sub handle_other($$) { - my $sec = shift ; my $desc = shift; - $desc =~ m!([^\s]+)\s+(.*)!; - xprint(1, "Handling 'other' tag in line $ln ($1 -> $2))\n"); - $other{$1} = $2; - $ln++; -} +sub handle_keybinding { + my ($sec, $desc) = @_; + my ($kbd, $value); + + if ($sec eq '') { $sec=0; } + + xprint(1, "Handling keybinding (section: $secmap[$sec]) in line $ln ($desc)\n"); -sub handle_keybinding($$) { - my $sec = shift ; my $desc = shift; - my ($kbd, $value); - if ($sec eq '') { $sec=0; } - xprint(1, "Handling keybinding (section: $secmap[$sec]) in line $ln ($desc)\n"); - $ln++; - if ($input[$ln] =~ m!^.*bindkey\s+[^'"]*(.*)['"]\s+([\w-]*)\#?.*!) { - $value=&escape_string($2); - $kbd = $1; - $kbd =~ s!^["']!!; - $kbd =~ s!["']$!!; - $kbd=&demystify_keys($kbd); - $desc =~ s!\@k\@!$value!; - #xprint(0, "!-> DEBUG: kbd: $kbd - value: $value - desc: $desc\n"); - push(@{ $data{"keybindings-$secmap[$sec]"} }, "\\command\{$kbd\}\{$desc\}"); - } - else { - warn("Parsing keybinding line $ln ($input[$ln]) failed. IGNORING.\n"); - } + $ln++; + if ($input[$ln] =~ m!^.*bindkey\s+[^'"]*(.*)['"]\s+([\w-]*)\#?.*!) { + $value=&escape_string($2); + $kbd = $1; + $kbd =~ s!^["']!!; + $kbd =~ s/["']$//; + $kbd=&demystify_keys($kbd); + $desc =~ s!\@k\@!$value!; + #xprint(0, "!-> DEBUG: kbd: $kbd - value: $value - desc: $desc\n"); + push(@{ $data{"keybindings-$secmap[$sec]"} }, "\\command\{$kbd\}\{$desc\}"); + } + else { + warn("Parsing keybinding line $ln ($input[$ln]) failed. IGNORING.\n"); + } } -sub handle_variable($$) { - my $sec = shift ; my $desc = shift; - my ($var, $value); - if ($sec eq '') { $sec=0; } - xprint(1, "Handling variable (section: $secmap[$sec]) in line $ln ($desc)\n"); - $ln++; - if ($input[$ln] =~ m!^.*\s+(\w*)=(.*)$!) { - $var = $1 ; $value = $2; - $value =~ s!^\$\{\w*:-(.*)\}!$1!; - $value =~ s!^['"]!!; - $value =~ s!['"]$!!; - $value = &escape_string($value); - push(@{ $data{"variables-$secmap[$sec]"} }, "\\command\{$var\}\{\\kbd\{$value" . ($desc ne '' ? "\}\\quad $desc" : "\}") . "\}"); - } - else { - warn("Parsing variable line $ln ($input[$ln]) failed. IGNORING.\n"); - } +sub handle_variable { + my ($sec, $desc) = @_; + my ($var, $value); + + if ($sec eq '') { $sec=0; } + + xprint(1, "Handling variable (section: $secmap[$sec]) in line $ln ($desc)\n"); + + $ln++; + if ($input[$ln] =~ m/\s*(\S+)=(.+)$/) { + $var = $1 ; $value = $2; + $value =~ s!^\$\{\w*:-(.*)\}!$1!; + $value =~ s!^['"]!!; + $value =~ s/['"]$//; + $value = &escape_string($value); + push(@{ $data{"variables-$secmap[$sec]"} }, "\\command\{$var\}\{\\kbd\{$value" . ($desc ne '' ? "\}\\quad $desc" : "\}") . "\}"); + } + else { + warn("Parsing variable line $ln ($input[$ln]) failed. IGNORING.\n"); + } } -sub handle_manual($$$) { - # this is different than the other handle_*() subs. - my $code = shift ; my $key = shift ; my $value = shift; - my $sec; - xprint(1, "Handling manual entry (code: $code) in line $ln ($key -> $value)\n"); - $sec = ( (length($code) > 1) ? substr($code, 1) : 0); - if (substr($code, 0, 1) eq 'a') { - push(@{ $data{"aliases-$secmap[$sec]"} }, "\\command\{$key\}\{$value\}"); - } - elsif (substr($code, 0, 1) eq 'A') { - push(@{ $data{"abbrev-$secmap[$sec]"} }, "\\command\{$key\}\{$value\}"); - } - elsif (substr($code, 0, 1) eq 'd') { - push(@{ $data{"hasheddirs-$secmap[$sec]"} }, "\\command\{$key\}\{$value\}"); - } - elsif (substr($code, 0, 1) eq 'f') { - push(@{ $data{"functions-$secmap[$sec]"} }, "\\command\{$key\}\{$value\}"); - } - elsif (substr($code, 0, 1) eq 'k') { - push(@{ $data{"keybindings-$secmap[$sec]"} }, "\\command\{$key\}\{$value\}"); - } - elsif (substr($code, 0, 1) eq 'o') { - push(@{ $data{"other-$secmap[$sec]"} }, "\\command\{$key\}\{$value\}"); - } - elsif (substr($code, 0, 1) eq 'v') { - push(@{ $data{"variables-$secmap[$sec]"} }, "\\command\{$key\}\{$value\}"); - } - else { - warn("Unknown doc-definition character in manual-line $ln ($1). IGNORING.\n"); +sub handle_manual { + # this is different than the other handle_*() subs. + my ($code, $key, $value) = @_; + my ($sec); + + xprint(1, "Handling manual entry (code: $code) in line $ln ($key -> $value)\n"); + + $sec = ( (length($code) > 1) ? substr($code, 1) : 0); + if (substr($code, 0, 1) eq 'a') { + push(@{ $data{"aliases-$secmap[$sec]"} }, "\\command\{$key\}\{$value\}"); + } + elsif (substr($code, 0, 1) eq 'A') { + push(@{ $data{"abbrev-$secmap[$sec]"} }, "\\command\{$key\}\{$value\}"); + } + elsif (substr($code, 0, 1) eq 'd') { + push(@{ $data{"hasheddirs-$secmap[$sec]"} }, "\\command\{$key\}\{$value\}"); + } + elsif (substr($code, 0, 1) eq 'f') { + push(@{ $data{"functions-$secmap[$sec]"} }, "\\command\{$key\}\{$value\}"); + } + elsif (substr($code, 0, 1) eq 'k') { + push(@{ $data{"keybindings-$secmap[$sec]"} }, "\\command\{$key\}\{$value\}"); + } + elsif (substr($code, 0, 1) eq 'o') { + push(@{ $data{"other-$secmap[$sec]"} }, "\\command\{$key\}\{$value\}"); + } + elsif (substr($code, 0, 1) eq 'v') { + push(@{ $data{"variables-$secmap[$sec]"} }, "\\command\{$key\}\{$value\}"); + } + else { + warn("Unknown doc-definition character in manual-line $ln ($1). IGNORING.\n"); + $ln++; + } $ln++; - } - $ln++; } -sub set_option($) { - my $optstring = shift; - my ($opt, $val); - $ln++; - if ($optstring =~ m!([a-zA-Z0-9_-]+)\s+(.*)!) { - $opt = $1; - $val = $2; - if ($opt eq 'split') { - if ($val =~ m!([a-zA-Z0-9_-]+)\s+(.*)!) { - my $what = $1; - my $when = $2; - xprint(2, " splitting values (for $what): " . join(' ', split(/,/, $when)) . "\n"); - @{ $splits{"$what"} } = split(/,/, $when); - } - else { - warn("Parsing split option failed in line $ln. IGNORING.\n"); - } +sub set_option { + my ($optstring) = @_; + my ($opt, $val); + + $ln++; + if ($optstring =~ m!([a-zA-Z0-9_-]+)\s+(.*)!) { + $opt = $1; + $val = $2; + if ($opt eq 'split') { + if ($val =~ m!([a-zA-Z0-9_-]+)\s+(.*)!) { + my $what = $1; + my $when = $2; + xprint(2, " splitting values (for $what): " . join(' ', split(/,/, $when)) . "\n"); + @{ $splits{"$what"} } = split(/,/, $when); + } + else { + warn("Parsing split option failed in line $ln. IGNORING.\n"); + } + } + else { + warn("Unknown option ($opt) in line $ln. IGNORING.\n"); + } } else { - warn("Unknown option ($opt) in line $ln. IGNORING.\n"); + warn("Parsing option in line $ln failed. IGNORING.\n"); } - } - else { - warn("Parsing option in line $ln failed. IGNORING.\n"); - } } ###}}} @@ -348,54 +379,55 @@ sub set_option($) { $i = 0; $input[0]='index==linenumber :-)'; while () { - $i++; - if ($i > $MAX_INPUT) { - die "Sorry dude, input lines exeeded maximum ($MAX_INPUT)}\n"; - } - chomp; - push(@input, $_); + $i++; + if ($i > $MAX_INPUT) { + die "Sorry dude, input lines exeeded maximum ($MAX_INPUT)}\n"; + } + chomp; + push(@input, $_); } + $ln = 1; while ($ln <= $i) { - if ($input[$ln] =~ m!^\#\@\#\s*(.*)$!) { - &set_option($1); - next; - } - if ($input[$ln] =~ m!^\s*\#([a-zA-Z])([0-9]*)\#\s*(.*)$!) { - if ($1 eq 'a') { - &handle_alias($2, $3); - } - elsif ($1 eq 'A') { - &handle_abbrev($2, $3); + if ($input[$ln] =~ m/^\#\@\#\s*(.*)$/) { + &set_option($1); + next; } - elsif ($1 eq 'd') { - &handle_hashdir($2, $3); - } - elsif ($1 eq 'f') { - &handle_function($2, $3); - } - elsif ($1 eq 'k') { - &handle_keybinding($2, $3); - } - elsif ($1 eq 'o') { - &handle_other($2, $3); - } - elsif ($1 eq 'v') { - &handle_variable($2, $3); - } - elsif ($1 eq 'm') { - my $arg = $3; - $arg =~ m!^\s*([a-zA-Z][0-9]*)\s+(\S+)\s+(.*)!; - &handle_manual($1, $2, $3); + if ($input[$ln] =~ m/^\s*\#([a-zA-Z])([0-9]*)\#\s*(.*)$/) { + if ($1 eq 'a') { + &handle_alias($2, $3); + } + elsif ($1 eq 'A') { + &handle_abbrev($2, $3); + } + elsif ($1 eq 'd') { + &handle_hashdir($2, $3); + } + elsif ($1 eq 'f') { + &handle_function($2, $3); + } + elsif ($1 eq 'k') { + &handle_keybinding($2, $3); + } + elsif ($1 eq 'o') { + &handle_other($2, $3); + } + elsif ($1 eq 'v') { + &handle_variable($2, $3); + } + elsif ($1 eq 'm') { + my $arg = $3; + $arg =~ m!^\s*([a-zA-Z][0-9]*)\s+(\S+)\s+(.*)!; + &handle_manual($1, $2, $3); + } + else { + warn("Unknown doc-definition character in line $ln ($1). IGNORING.\n"); + $ln++; + } } else { - warn("Unknown doc-definition character in line $ln ($1). IGNORING.\n"); - $ln++; + $ln++; } - } - else { - $ln++; - } } #}}} @@ -404,19 +436,19 @@ while ($ln <= $i) { open(IN, "<$refin") or die "could not open $refin: $!\n"; $i=0; while () { #{{{ output loop - $i++; - while (m!\@\@INSERT-other-[^@]+\@\@!) { - s!\@\@INSERT-other-([^@]+)\@\@!$other{$1}!; - xprint(2, "Inserting \@\@INSERT-other-$1\@\@ -> $other{$1}\n"); - } - if (m!^\@\@INSERT-([^-]*)-?(.*)\@\@!) { - if ($1 eq '') { - die "malformed insertion tag in line $i ($_). ABORT\n"; - } - &insert($i, $1, $2); - } - else { - print; - } + $i++; + while (m!\@\@INSERT-other-[^@]+\@\@!) { + s!\@\@INSERT-other-([^@]+)\@\@!$other{$1}!; + xprint(2, "Inserting \@\@INSERT-other-$1\@\@ -> $other{$1}\n"); + } + if (m!^\@\@INSERT-([^-]*)-?(.*)\@\@!) { + if ($1 eq '') { + die "malformed insertion tag in line $i ($_). ABORT\n"; + } + &insert($i, $1, $2); + } + else { + print; + } }#}}} close(IN); diff --git a/grml-zsh-refcard.tex.in b/grml-zsh-refcard.tex.in index 89ff86c..ba11f0b 100644 --- a/grml-zsh-refcard.tex.in +++ b/grml-zsh-refcard.tex.in @@ -370,30 +370,6 @@ just like this as well. %\pagebreak -%% Global Aliases are disabled ATM. -%\subsection*{Global Aliases} -% -%Global Aliases are expanded {\it everywhere} on the command line, not -%only if they are at the first position. Example: 'cat foo bar C' is the -%same as running 'cat foo bar | wc -l'. -% -%\commandlistbegin -%\command{BG}{\kbd{\& exit}} -%\command{C}{\kbd{| wc -l}} -%\command{G}{\kbd{| grep}} -%\command{H}{\kbd{| head}} -%\command{Hl}{\kbd{-{}-help |\& less -r} \quad(display help in pager)} -%\command{K}{\kbd{| keep}} -%\command{L}{\kbd{| less}} -%\command{M}{\kbd{| most}} -%\command{N}{\kbd{\&>/dev/null} \quad(No Output)} -%\command{R}{\kbd{| tr A-z N-za-m} \quad(ROT13)} -%\command{SL}{\kbd{| sort | less}} -%\command{S}{\kbd{| sort}} -%\command{T}{\kbd{| tail}} -%\command{V}{\kbd{| vim -}} -%\commandlistend - \subsection*{Functions for user (grml)} \textbf{Searching} -- 2.1.4