summaryrefslogtreecommitdiff
path: root/src/tools/MkHelpFile.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/MkHelpFile.hs')
-rw-r--r--src/tools/MkHelpFile.hs20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/tools/MkHelpFile.hs b/src/tools/MkHelpFile.hs
new file mode 100644
index 000000000..9355a688e
--- /dev/null
+++ b/src/tools/MkHelpFile.hs
@@ -0,0 +1,20 @@
+module Main where
+
+main = do
+ s <- readFile "HelpFile"
+ let s' = mkHsFile (lines s)
+ writeFile "HelpFile.hs" s'
+
+mkHsFile ss =
+ "module HelpFile where\n\n" ++
+ "txtHelpFile =\n" ++
+ unlines (map mkOne ss) ++
+ " []"
+
+mkOne s = " \"" ++ pref s ++ (escs s) ++ "\" ++"
+ where
+ pref (' ':_) = "\\n"
+ pref _ = "\\n" ---
+ escs [] = []
+ escs (c:cs) | elem c "\"\\" = '\\':c:escs cs
+ escs (c:cs) = c:escs cs