diff options
| author | aarne <aarne@cs.chalmers.se> | 2008-06-14 15:48:52 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2008-06-14 15:48:52 +0000 |
| commit | 7a065580d231a5c181442a63ca04f016e4ca6b7c (patch) | |
| tree | ec1c31deb77bb9a2f546a863233ad0f3add53677 /src-3.0/GFI.hs | |
| parent | 246f307b22fb02ccc2bdd37520fdc330715d44ee (diff) | |
some more command options and documentation
Diffstat (limited to 'src-3.0/GFI.hs')
| -rw-r--r-- | src-3.0/GFI.hs | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/src-3.0/GFI.hs b/src-3.0/GFI.hs index 681a54f39..e5352c30c 100644 --- a/src-3.0/GFI.hs +++ b/src-3.0/GFI.hs @@ -41,18 +41,21 @@ loop opts gfenv0 = do setCompletionFunction (Just (wordCompletion (commandenv gfenv0))) s <- fetchCommand (prompt env) let gfenv = gfenv0 {history = s : history gfenv0} - let loopNewCPU gfenv' = do cpu' <- getCPUTime - putStrLnFlush (show ((cpu' - cputime gfenv') `div` 1000000000) ++ " msec") - loop opts $ gfenv' {cputime = cpu'} + let loopNewCPU gfenv' = do + cpu' <- getCPUTime + putStrLnFlush (show ((cpu' - cputime gfenv') `div` 1000000000) ++ " msec") + loop opts $ gfenv' {cputime = cpu'} case words s of -- special commands, requiring source grammar in env "!":ws -> do system $ unwords ws loopNewCPU gfenv "cc":ws -> do - -- FIXME: add options parsing for cc arguments - let (style,term) = (TermPrintDefault, ws) - case pTerm (unwords term) >>= checkTerm sgr >>= computeTerm sgr of ---- make pipable + let + (style,term) = case ws of + ('-':w):ws2 -> (pTermPrintStyle w, ws2) + _ -> (TermPrintDefault, ws) + case pTerm (unwords term) >>= checkTerm sgr >>= computeTerm sgr of ---- pipe! Ok x -> putStrLn (showTerm style x) Bad s -> putStrLn s loopNewCPU gfenv @@ -67,6 +70,9 @@ loop opts gfenv0 = do "e":_ -> loopNewCPU $ gfenv { commandenv=env{multigrammar=emptyPGF}, sourcegrammar = emptyGrammar } + + ---- "eh":file:_ -> + "ph":_ -> mapM_ putStrLn (reverse (history gfenv0)) >> loopNewCPU gfenv "q":_ -> putStrLn "See you." >> return gfenv |
