on master help sign in
fix compatibility with optparse-applciative 0.10

- the `option` API is changed - `execParserMaybe` is deprecated

commit73c481d0e98688e7333739acddc39b0140d0e364 authorsuhorng <suhorng@gmail.com> dateMon 1 Sep 2014, 23:46 (12 years ago) parent4dc73a0
2 files changed+5−5
idris.cabal+1−1 src/Idris/CmdOptions.hs+4−4
idris.cabal+1−1
@@ -699,7 +699,7 @@ Library
699699 , xml
700700 , deepseq
701701 , zlib
702− , optparse-applicative >= 0.8
702+ , optparse-applicative >= 0.10
703703 Extensions: MultiParamTypeClasses
704704 , DeriveFoldable
705705 , DeriveTraversable
src/Idris/CmdOptions.hs+4−4
@@ -8,6 +8,7 @@ import IRTS.CodegenCommon
88
99import Options.Applicative
1010import Options.Applicative.Arrows
11+import Options.Applicative.Builder (prefs, idm)
1112import Data.Char
1213import Data.Maybe
1314
@@ -57,7 +58,7 @@ runArgParser = do opts <- execParser $ info parser
5758
5859
5960pureArgParser :: [String] -> [Opt]
60−pureArgParser args = case execParserMaybe (info parser idm) args of
61+pureArgParser args = case getParseResult $ execParserPure (prefs idm) (info parser idm) args of
6162 Just opts -> preProcOpts opts []
6263 Nothing -> []
6364
@@ -74,7 +75,7 @@ parseFlags = many $
7475 <|> flag' Ideslave (long "ideslave")
7576 <|> flag' IdeslaveSocket (long "ideslave-socket")
7677 <|> (Client <$> strOption (long "client"))
77− <|> (OLogging <$> option (long "log" <> metavar "LEVEL" <> help "Debugging log level"))
78+ <|> (OLogging <$> option auto (long "log" <> metavar "LEVEL" <> help "Debugging log level"))
7879 <|> flag' NoBasePkgs (long "nobasepkgs")
7980 <|> flag' NoPrelude (long "noprelude")
8081 <|> flag' NoBuiltins (long "nobuiltins")
@@ -120,7 +121,7 @@ parseFlags = many $
120121 <|> flag' (OptLevel 2) (long "O2")
121122 <|> flag' (OptLevel 1) (long "O1")
122123 <|> flag' (OptLevel 0) (long "O0")
123− <|> (OptLevel <$> option (short 'O' <> long "level"))
124+ <|> (OptLevel <$> option auto (short 'O' <> long "level"))
124125 <|> (TargetTriple <$> strOption (long "target" <> metavar "TRIPLE" <> help "Select target triple (for llvm codegen)"))
125126 <|> (TargetCPU <$> strOption (long "cpu" <> metavar "CPU" <> help "Select target CPU e.g. corei7 or cortex-m3 (for LLVM codegen)"))
126127 <|> flag' (ColourREPL True) (long "colour" <> long "color" <> help "Force coloured output")
@@ -144,4 +145,3 @@ preProcOpts (x:xs) ys = preProcOpts xs (x:ys)
144145parseCodegen :: String -> Codegen
145146parseCodegen "bytecode" = Bytecode
146147parseCodegen cg = Via (map toLower cg)
147−