on master help sign in
Merge pull request #768 from trillioneyes/extension-checking

Improved the parsing of `-XExtension` flags.

commit6808ce526f333b3a3591095ed996d7d56dfe05c4 authorEdwin Brady <edwin.brady@gmail.com> dateMon 6 Jan 2014, 15:39 (13 years ago) parent9a8b714d0e193c
1 file changed+5−2
src/Idris/REPL.hs+5−2
src/Idris/REPL.hs+5−2
@@ -1019,8 +1019,11 @@ parseArgs ("--dumpcases":n:ns) = DumpCases n : (parseArgs ns)
10191019parseArgs ("--codegen":n:ns) = UseCodegen (parseCodegen n) : (parseArgs ns)
10201020parseArgs ["--exec"] = InterpretScript "Main.main" : []
10211021parseArgs ("--exec":expr:ns) = InterpretScript expr : parseArgs ns
1022−parseArgs ("-XTypeProviders":ns) = Extension TypeProviders : (parseArgs ns)
1023−parseArgs ("-XErrorReflection":ns) = Extension ErrorReflection : (parseArgs ns)
1022+parseArgs (('-':'X':extName):ns) = case maybeRead extName of
1023+ Just ext -> Extension ext : parseArgs ns
1024+ -- Not sure what to do for the Nothing case
1025+ Nothing -> error ("Unknown extension " ++ extName)
1026+ where maybeRead = fmap fst . listToMaybe . reads
10241027parseArgs ("-O3":ns) = OptLevel 3 : parseArgs ns
10251028parseArgs ("-O2":ns) = OptLevel 2 : parseArgs ns
10261029parseArgs ("-O1":ns) = OptLevel 1 : parseArgs ns