From 693621ffbe9146f24ba75e073b6ce2e716c56a5e Mon Sep 17 00:00:00 2001 From: aarne Date: Tue, 6 Nov 2007 11:01:45 +0000 Subject: made command table independent of options --- src/GF/Devel/Shell.hs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'src/GF/Devel/Shell.hs') 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) -- cgit v1.2.3