summaryrefslogtreecommitdiff
path: root/src-3.0/GFI.hs
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2008-06-14 15:48:52 +0000
committeraarne <aarne@cs.chalmers.se>2008-06-14 15:48:52 +0000
commit7a065580d231a5c181442a63ca04f016e4ca6b7c (patch)
treeec1c31deb77bb9a2f546a863233ad0f3add53677 /src-3.0/GFI.hs
parent246f307b22fb02ccc2bdd37520fdc330715d44ee (diff)
some more command options and documentation
Diffstat (limited to 'src-3.0/GFI.hs')
-rw-r--r--src-3.0/GFI.hs18
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