summaryrefslogtreecommitdiff
path: root/src-3.0/tools/mkHelpFile.perl
diff options
context:
space:
mode:
Diffstat (limited to 'src-3.0/tools/mkHelpFile.perl')
-rw-r--r--src-3.0/tools/mkHelpFile.perl49
1 files changed, 49 insertions, 0 deletions
diff --git a/src-3.0/tools/mkHelpFile.perl b/src-3.0/tools/mkHelpFile.perl
new file mode 100644
index 000000000..91f434705
--- /dev/null
+++ b/src-3.0/tools/mkHelpFile.perl
@@ -0,0 +1,49 @@
+
+$infile = $#ARGV >= 0 ? '@'.join('@, @', @ARGV).'@' : '/the input file/';
+
+print <<EOF;
+----------------------------------------------------------------------
+-- |
+-- Module : HelpFile
+-- Maintainer : Aarne Ranta
+-- Stability : Stable (Autogenerated)
+-- Portability : Haskell 98
+--
+-- > CVS \$Date \$
+-- > CVS \$Author \$
+-- > CVS \$Revision \$
+--
+-- Help on shell commands. Generated from $infile by invoking the
+-- perl script \@mkHelpFile.perl\@.
+-- Automatically generated -- PLEASE DON'T EDIT THIS FILE,
+-- edit $infile instead.
+-----------------------------------------------------------------------------
+
+module HelpFile (txtHelpFileSummary, txtHelpCommand, txtHelpFile) where
+
+import Operations
+
+txtHelpFileSummary :: String
+txtHelpFileSummary =
+ unlines \$ map (concat . take 1 . lines) \$ paragraphs txtHelpFile
+
+txtHelpCommand :: String -> String
+txtHelpCommand c =
+ case lookup c [(takeWhile (/=',') p,p) | p <- paragraphs txtHelpFile] of
+ Just s -> s
+ _ -> "Command not found."
+
+txtHelpFile :: String
+txtHelpFile =
+EOF
+
+while (<>) {
+ chop;
+ s/([\"\\])/\\$1/g;
+ $pref = /^ / ? "\\n" : "\\n";
+ print " \"$pref$_\" ++\n";
+}
+
+print " []\n";
+
+