From 31bf84122b21efb444aa8d055472e166ffb90783 Mon Sep 17 00:00:00 2001 From: aarne Date: Tue, 20 May 2008 11:47:44 +0000 Subject: moved all old source code to src-2.9 ; src will be for GF 3 development --- src-2.9/tools/MkHelpFile.hs | 61 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 src-2.9/tools/MkHelpFile.hs (limited to 'src-2.9/tools/MkHelpFile.hs') diff --git a/src-2.9/tools/MkHelpFile.hs b/src-2.9/tools/MkHelpFile.hs new file mode 100644 index 000000000..a0fafa918 --- /dev/null +++ b/src-2.9/tools/MkHelpFile.hs @@ -0,0 +1,61 @@ +---------------------------------------------------------------------- +-- | +-- Maintainer : AR +-- Stability : (stable) +-- Portability : (portable) +-- +-- > CVS $Date: 2005/05/12 10:03:34 $ +-- > CVS $Author: aarne $ +-- > CVS $Revision: 1.9 $ +-- +-- Compile @HelpFile.hs@ from the text file @HelpFile@. +----------------------------------------------------------------------------- + +module Main (main) where + +main = do + s <- readFile "HelpFile" + let s' = mkHsFile (lines s) + writeFile "GF/Shell/HelpFile.hs" s' + +mkHsFile ss = + helpHeader ++ + "module GF.Shell.HelpFile where\n\n" ++ + "import GF.Data.Operations\n\n" ++ + "txtHelpFileSummary =\n" ++ + " unlines $ map (concat . take 1 . lines) $ paragraphs txtHelpFile\n\n" ++ + "txtHelpCommand c =\n" ++ + " case lookup c [(takeWhile (/=',') p,p) | p <- paragraphs txtHelpFile] of\n" ++ + " Just s -> s\n" ++ + " _ -> \"Command not found.\"\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 + | fromEnum c > 127 = "\\" ++show (fromEnum c)++escs cs + escs (c:cs) = c:escs cs + +helpHeader = unlines [ + "----------------------------------------------------------------------", + "-- |", + "-- Module : GF.Shell.HelpFile", + "-- Maintainer : Aarne Ranta", + "-- Stability : (stable)", + "-- Portability : (portable)", + "--", + "-- > CVS $Date: 2005/05/12 10:03:34 $", + "-- > CVS $Author: aarne $", + "-- > CVS $Revision: 1.9 $", + "--", + "-- Help on shell commands. Generated from HelpFile by 'make help'.", + "-- PLEASE DON'T EDIT THIS FILE.", + "-----------------------------------------------------------------------------", + "", + "" + ] \ No newline at end of file -- cgit v1.2.3