diff options
Diffstat (limited to 'src/tools/MkHelpFile.hs')
| -rw-r--r-- | src/tools/MkHelpFile.hs | 20 |
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 |
