summaryrefslogtreecommitdiff
path: root/src/GF/Devel/Shell.hs
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2007-11-06 11:01:45 +0000
committeraarne <aarne@cs.chalmers.se>2007-11-06 11:01:45 +0000
commit693621ffbe9146f24ba75e073b6ce2e716c56a5e (patch)
tree43f880829a17c7834fcdb179f5c468fa6c53fc05 /src/GF/Devel/Shell.hs
parentdb399191d926209d36c8496ba65d53dcaeb7855b (diff)
made command table independent of options
Diffstat (limited to 'src/GF/Devel/Shell.hs')
-rw-r--r--src/GF/Devel/Shell.hs12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/GF/Devel/Shell.hs b/src/GF/Devel/Shell.hs
index 9e6536087..1d88a24a0 100644
--- a/src/GF/Devel/Shell.hs
+++ b/src/GF/Devel/Shell.hs
@@ -1,6 +1,7 @@
module Main where
import GF.Command.Interpreter
+import GF.Command.Commands
import GF.GFCC.API
import System (getArgs)
import Data.Char (isDigit)
@@ -11,15 +12,16 @@ main :: IO ()
main = do
file:_ <- getArgs
grammar <- file2grammar file
+ let env = CommandEnv grammar (allCommands grammar)
printHelp grammar
- loop grammar
+ loop env
-loop :: MultiGrammar -> IO ()
-loop grammar = do
+loop :: CommandEnv -> IO ()
+loop env = do
s <- getLine
if s == "q" then return () else do
- interpretCommandLine grammar s
- loop grammar
+ interpretCommandLine env s
+ loop env
printHelp grammar = do
putStrLn $ "languages: " ++ unwords (languages grammar)