on master help sign in
fix compatibility with optparse-applciative 0.10
73c481dsuhorng
idris.cabal+1−1
@@ -699,7 +699,7 @@ Library
699 , xml
699 , xml
700 , deepseq
700 , deepseq
701 , zlib
701 , zlib
702− , optparse-applicative >= 0.8
702+ , optparse-applicative >= 0.10
703 Extensions: MultiParamTypeClasses
703 Extensions: MultiParamTypeClasses
704 , DeriveFoldable
704 , DeriveFoldable
705 , DeriveTraversable
705 , DeriveTraversable
src/Idris/CmdOptions.hs+4−4
@@ -8,6 +8,7 @@ import IRTS.CodegenCommon
8
8
9import Options.Applicative
9import Options.Applicative
10import Options.Applicative.Arrows
10import Options.Applicative.Arrows
11+import Options.Applicative.Builder (prefs, idm)
11import Data.Char
12import Data.Char
12import Data.Maybe
13import Data.Maybe
13
14
@@ -57,7 +58,7 @@ runArgParser = do opts <- execParser $ info parser
57
58
58
59
59pureArgParser :: [String] -> [Opt]
60pureArgParser :: [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
61 Just opts -> preProcOpts opts []
62 Just opts -> preProcOpts opts []
62 Nothing -> []
63 Nothing -> []
63
64
@@ -74,7 +75,7 @@ parseFlags = many $
74 <|> flag' Ideslave (long "ideslave")
75 <|> flag' Ideslave (long "ideslave")
75 <|> flag' IdeslaveSocket (long "ideslave-socket")
76 <|> flag' IdeslaveSocket (long "ideslave-socket")
76 <|> (Client <$> strOption (long "client"))
77 <|> (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"))
78 <|> flag' NoBasePkgs (long "nobasepkgs")
79 <|> flag' NoBasePkgs (long "nobasepkgs")
79 <|> flag' NoPrelude (long "noprelude")
80 <|> flag' NoPrelude (long "noprelude")
80 <|> flag' NoBuiltins (long "nobuiltins")
81 <|> flag' NoBuiltins (long "nobuiltins")
@@ -120,7 +121,7 @@ parseFlags = many $
120 <|> flag' (OptLevel 2) (long "O2")
121 <|> flag' (OptLevel 2) (long "O2")
121 <|> flag' (OptLevel 1) (long "O1")
122 <|> flag' (OptLevel 1) (long "O1")
122 <|> flag' (OptLevel 0) (long "O0")
123 <|> flag' (OptLevel 0) (long "O0")
123− <|> (OptLevel <$> option (short 'O' <> long "level"))
124+ <|> (OptLevel <$> option auto (short 'O' <> long "level"))
124 <|> (TargetTriple <$> strOption (long "target" <> metavar "TRIPLE" <> help "Select target triple (for llvm codegen)"))
125 <|> (TargetTriple <$> strOption (long "target" <> metavar "TRIPLE" <> help "Select target triple (for llvm codegen)"))
125 <|> (TargetCPU <$> strOption (long "cpu" <> metavar "CPU" <> help "Select target CPU e.g. corei7 or cortex-m3 (for LLVM codegen)"))
126 <|> (TargetCPU <$> strOption (long "cpu" <> metavar "CPU" <> help "Select target CPU e.g. corei7 or cortex-m3 (for LLVM codegen)"))
126 <|> flag' (ColourREPL True) (long "colour" <> long "color" <> help "Force coloured output")
127 <|> flag' (ColourREPL True) (long "colour" <> long "color" <> help "Force coloured output")
@@ -144,4 +145,3 @@ preProcOpts (x:xs) ys = preProcOpts xs (x:ys)
144parseCodegen :: String -> Codegen
145parseCodegen :: String -> Codegen
145parseCodegen "bytecode" = Bytecode
146parseCodegen "bytecode" = Bytecode
146parseCodegen cg = Via (map toLower cg)
147parseCodegen cg = Via (map toLower cg)
147−