on master help sign in
Prettify Formating of `CmdOptions.hs`.
2b79682Jan de Muijnck-Hughes
src/Idris/CmdOptions.hs+70−37
@@ -76,12 +76,15 @@ parser = runA $ proc () -> do
76
76
77parseFlags :: Parser [Opt]
77parseFlags :: Parser [Opt]
78parseFlags = many $
78parseFlags = many $
79− flag' NoBanner (long "nobanner" <> help "Suppress the banner")
79+ flag' NoBanner (long "nobanner" <> help "Suppress the banner")
80− <|> flag' Quiet (short 'q' <> long "quiet" <> help "Quiet verbosity")
80+ <|> flag' Quiet (short 'q' <> long "quiet" <> help "Quiet verbosity")
81+
81 -- IDE Mode Specific Flags
82 -- IDE Mode Specific Flags
82− <|> flag' Idemode (long "ide-mode" <> help "Run the Idris REPL with machine-readable syntax")
83+ <|> flag' Idemode (long "ide-mode" <> help "Run the Idris REPL with machine-readable syntax")
83 <|> flag' IdemodeSocket (long "ide-mode-socket" <> help "Choose a socket for IDE mode to listen on")
84 <|> flag' IdemodeSocket (long "ide-mode-socket" <> help "Choose a socket for IDE mode to listen on")
85+
84 <|> (Client <$> strOption (long "client"))
86 <|> (Client <$> strOption (long "client"))
87+
85 -- Logging Flags
88 -- Logging Flags
86 <|> (OLogging <$> option auto (long "log" <> metavar "LEVEL" <> help "Debugging log level"))
89 <|> (OLogging <$> option auto (long "log" <> metavar "LEVEL" <> help "Debugging log level"))
87 <|> (OLogCats <$> option (str >>= parseLogCats)
90 <|> (OLogCats <$> option (str >>= parseLogCats)
@@ -89,71 +92,101 @@ parseFlags = many $
89 <> metavar "CATS"
92 <> metavar "CATS"
90 <> help "Colon separated logging categories. Use --listlogcats to see list."))
93 <> help "Colon separated logging categories. Use --listlogcats to see list."))
91
94
92− -- Turn off Certain libraries.
95+ -- Turn off things
93 <|> flag' NoBasePkgs (long "nobasepkgs" <> help "Do not use the given base package")
96 <|> flag' NoBasePkgs (long "nobasepkgs" <> help "Do not use the given base package")
94− <|> flag' NoPrelude (long "noprelude" <> help "Do not use the given prelude")
97+ <|> flag' NoPrelude (long "noprelude" <> help "Do not use the given prelude")
95 <|> flag' NoBuiltins (long "nobuiltins" <> help "Do not use the builtin functions")
98 <|> flag' NoBuiltins (long "nobuiltins" <> help "Do not use the builtin functions")
99+
96− <|> flag' NoREPL (long "check" <> help "Typecheck only, don't start the REPL")
100+ <|> flag' NoREPL (long "check" <> help "Typecheck only, don't start the REPL")
101+
97 <|> (Output <$> strOption (short 'o' <> long "output" <> metavar "FILE" <> help "Specify output file"))
102 <|> (Output <$> strOption (short 'o' <> long "output" <> metavar "FILE" <> help "Specify output file"))
103+
98 -- <|> flag' TypeCase (long "typecase")
104 -- <|> flag' TypeCase (long "typecase")
99− <|> flag' Interface (long "interface" <> help "Generate interface files from ExportLists")
105+ <|> flag' Interface (long "interface" <> help "Generate interface files from ExportLists")
100− <|> flag' TypeInType (long "typeintype" <> help "Turn off Universe checking")
106+ <|> flag' TypeInType (long "typeintype" <> help "Turn off Universe checking")
101− <|> flag' DefaultTotal (long "total" <> help "Require functions to be total by default")
107+ <|> flag' DefaultTotal (long "total" <> help "Require functions to be total by default")
102 <|> flag' DefaultPartial (long "partial")
108 <|> flag' DefaultPartial (long "partial")
103− <|> flag' WarnPartial (long "warnpartial" <> help "Warn about undeclared partial functions")
109+ <|> flag' WarnPartial (long "warnpartial" <> help "Warn about undeclared partial functions")
104− <|> flag' WarnReach (long "warnreach" <> help "Warn about reachable but inaccessible arguments")
110+ <|> flag' WarnReach (long "warnreach" <> help "Warn about reachable but inaccessible arguments")
105− <|> flag' NoCoverage (long "nocoverage")
111+ <|> flag' NoCoverage (long "nocoverage")
106− <|> flag' ErrContext (long "errorcontext")
112+ <|> flag' ErrContext (long "errorcontext")
113+
107 -- Show things
114 -- Show things
108− <|> flag' ShowLoggingCats (long "listlogcats" <> help "Display logging categories")
115+ <|> flag' ShowLoggingCats (long "listlogcats" <> help "Display logging categories")
109− <|> flag' ShowLibs (long "link" <> help "Display link flags")
116+ <|> flag' ShowLibs (long "link" <> help "Display link flags")
110− <|> flag' ShowPkgs (long "listlibs" <> help "Display installed libraries")
117+ <|> flag' ShowPkgs (long "listlibs" <> help "Display installed libraries")
111− <|> flag' ShowLibdir (long "libdir" <> help "Display library directory")
118+ <|> flag' ShowLibdir (long "libdir" <> help "Display library directory")
112− <|> flag' ShowIncs (long "include" <> help "Display the includes flags")
119+ <|> flag' ShowIncs (long "include" <> help "Display the includes flags")
120+
113− <|> flag' Verbose (short 'V' <> long "verbose" <> help "Loud verbosity")
121+ <|> flag' Verbose (short 'V' <> long "verbose" <> help "Loud verbosity")
122+
114 <|> (IBCSubDir <$> strOption (long "ibcsubdir" <> metavar "FILE" <> help "Write IBC files into sub directory"))
123 <|> (IBCSubDir <$> strOption (long "ibcsubdir" <> metavar "FILE" <> help "Write IBC files into sub directory"))
115 <|> (ImportDir <$> strOption (short 'i' <> long "idrispath" <> help "Add directory to the list of import paths"))
124 <|> (ImportDir <$> strOption (short 'i' <> long "idrispath" <> help "Add directory to the list of import paths"))
125+
116 <|> flag' WarnOnly (long "warn")
126 <|> flag' WarnOnly (long "warn")
127+
117− <|> (Pkg <$> strOption (short 'p' <> long "package" <> help "Add package as a dependency"))
128+ <|> (Pkg <$> strOption (short 'p' <> long "package" <> help "Add package as a dependency"))
118 <|> (Port <$> strOption (long "port" <> metavar "PORT" <> help "REPL TCP port"))
129 <|> (Port <$> strOption (long "port" <> metavar "PORT" <> help "REPL TCP port"))
130+
119 -- Package commands
131 -- Package commands
120− <|> (PkgBuild <$> strOption (long "build" <> metavar "IPKG" <> help "Build package"))
132+ <|> (PkgBuild <$> strOption (long "build" <> metavar "IPKG" <> help "Build package"))
121− <|> (PkgInstall <$> strOption (long "install" <> metavar "IPKG" <> help "Install package"))
133+ <|> (PkgInstall <$> strOption (long "install" <> metavar "IPKG" <> help "Install package"))
122− <|> (PkgREPL <$> strOption (long "repl" <> metavar "IPKG" <> help "Launch REPL, only for executables"))
134+ <|> (PkgREPL <$> strOption (long "repl" <> metavar "IPKG" <> help "Launch REPL, only for executables"))
123− <|> (PkgClean <$> strOption (long "clean" <> metavar "IPKG" <> help "Clean package"))
135+ <|> (PkgClean <$> strOption (long "clean" <> metavar "IPKG" <> help "Clean package"))
124− <|> (PkgMkDoc <$> strOption (long "mkdoc" <> metavar "IPKG" <> help "Generate IdrisDoc for package"))
136+ <|> (PkgMkDoc <$> strOption (long "mkdoc" <> metavar "IPKG" <> help "Generate IdrisDoc for package"))
125− <|> (PkgCheck <$> strOption (long "checkpkg" <> metavar "IPKG" <> help "Check package only"))
137+ <|> (PkgCheck <$> strOption (long "checkpkg" <> metavar "IPKG" <> help "Check package only"))
126− <|> (PkgTest <$> strOption (long "testpkg" <> metavar "IPKG" <> help "Run tests for package"))
138+ <|> (PkgTest <$> strOption (long "testpkg" <> metavar "IPKG" <> help "Run tests for package"))
139+
127 -- Misc options
140 -- Misc options
128 <|> (BCAsm <$> strOption (long "bytecode"))
141 <|> (BCAsm <$> strOption (long "bytecode"))
142+
129− <|> flag' (OutputTy Raw) (short 'S' <> long "codegenonly" <> help "Do no further compilation of code generator output")
143+ <|> flag' (OutputTy Raw) (short 'S' <> long "codegenonly" <> help "Do no further compilation of code generator output")
130− <|> flag' (OutputTy Object) (short 'c' <> long "compileonly" <> help "Compile to object files rather than an executable")
144+ <|> flag' (OutputTy Object) (short 'c' <> long "compileonly" <> help "Compile to object files rather than an executable")
131− <|> flag' (OutputTy MavenProject) (long "mvn" <> help "Create a maven project (for Java codegen)")
145+ <|> flag' (OutputTy MavenProject) (long "mvn" <> help "Create a maven project (for Java codegen)")
146+
132 <|> (DumpDefun <$> strOption (long "dumpdefuns"))
147 <|> (DumpDefun <$> strOption (long "dumpdefuns"))
133 <|> (DumpCases <$> strOption (long "dumpcases"))
148 <|> (DumpCases <$> strOption (long "dumpcases"))
149+
150+ <|> ((\s -> UseCodegen $ parseCodegen s) <$> strOption (long "codegen"
151+ <> metavar "TARGET"
134− <|> ((\s -> UseCodegen $ parseCodegen s) <$> strOption (long "codegen" <> metavar "TARGET" <> help "Select code generator: C, Javascript, Node and bytecode are bundled with Idris"))
152+ <> help "Select code generator: C, Javascript, Node and bytecode are bundled with Idris"))
153+ <|> (CodegenArgs <$> strOption (long "cg-opt"
154+ <> metavar "ARG"
135− <|> (CodegenArgs <$> strOption (long "cg-opt" <> metavar "ARG" <> help "Arguments to pass to code generator"))
155+ <> help "Arguments to pass to code generator"))
156+
136 <|> (EvalExpr <$> strOption (long "eval" <> short 'e' <> metavar "EXPR" <> help "Evaluate an expression without loading the REPL"))
157 <|> (EvalExpr <$> strOption (long "eval" <> short 'e' <> metavar "EXPR" <> help "Evaluate an expression without loading the REPL"))
158+
137 <|> flag' (InterpretScript "Main.main") (long "execute" <> help "Execute as idris")
159 <|> flag' (InterpretScript "Main.main") (long "execute" <> help "Execute as idris")
138− <|> (InterpretScript <$> strOption (long "exec" <> metavar "EXPR" <> help "Execute as idris"))
160+ <|> (InterpretScript <$> strOption (long "exec" <> metavar "EXPR" <> help "Execute as idris"))
161+
162+ <|> ((\s -> Extension $ getExt s) <$> strOption (long "extension"
163+ <> short 'X'
164+ <> metavar "EXT"
139− <|> ((\s -> Extension $ getExt s) <$> strOption (long "extension" <> short 'X' <> metavar "EXT" <> help "Turn on language extension (TypeProviders or ErrorReflection)"))
165+ <> help "Turn on language extension (TypeProviders or ErrorReflection)"))
166+
140 -- Optimisation Levels
167 -- Optimisation Levels
141 <|> flag' (OptLevel 3) (long "O3")
168 <|> flag' (OptLevel 3) (long "O3")
142 <|> flag' (OptLevel 2) (long "O2")
169 <|> flag' (OptLevel 2) (long "O2")
143 <|> flag' (OptLevel 1) (long "O1")
170 <|> flag' (OptLevel 1) (long "O1")
144 <|> flag' (OptLevel 0) (long "O0")
171 <|> flag' (OptLevel 0) (long "O0")
172+
145 <|> flag' (AddOpt PETransform) (long "partial-eval")
173 <|> flag' (AddOpt PETransform) (long "partial-eval")
146 <|> flag' (RemoveOpt PETransform) (long "no-partial-eval" <> help "Switch off partial evaluation, mainly for debugging purposes")
174 <|> flag' (RemoveOpt PETransform) (long "no-partial-eval" <> help "Switch off partial evaluation, mainly for debugging purposes")
175+
147 <|> (OptLevel <$> option auto (short 'O' <> long "level"))
176 <|> (OptLevel <$> option auto (short 'O' <> long "level"))
177+
148 <|> (TargetTriple <$> strOption (long "target" <> metavar "TRIPLE" <> help "Select target triple (for llvm codegen)"))
178 <|> (TargetTriple <$> strOption (long "target" <> metavar "TRIPLE" <> help "Select target triple (for llvm codegen)"))
149− <|> (TargetCPU <$> strOption (long "cpu" <> metavar "CPU" <> help "Select target CPU e.g. corei7 or cortex-m3 (for LLVM codegen)"))
179+ <|> (TargetCPU <$> strOption (long "cpu" <> metavar "CPU" <> help "Select target CPU e.g. corei7 or cortex-m3 (for LLVM codegen)"))
180+
150 -- Colour Options
181 -- Colour Options
151− <|> flag' (ColourREPL True) (long "colour" <> long "color" <> help "Force coloured output")
182+ <|> flag' (ColourREPL True) (long "colour" <> long "color" <> help "Force coloured output")
152 <|> flag' (ColourREPL False) (long "nocolour" <> long "nocolor" <> help "Disable coloured output")
183 <|> flag' (ColourREPL False) (long "nocolour" <> long "nocolor" <> help "Disable coloured output")
153
184
154 <|> (UseConsoleWidth <$> option (str >>= parseConsoleWidth) (long "consolewidth" <> metavar "WIDTH" <> help "Select console width: auto, infinite, nat"))
185 <|> (UseConsoleWidth <$> option (str >>= parseConsoleWidth) (long "consolewidth" <> metavar "WIDTH" <> help "Select console width: auto, infinite, nat"))
186+
155 <|> flag' DumpHighlights (long "highlight" <> help "Emit source code highlighting")
187 <|> flag' DumpHighlights (long "highlight" <> help "Emit source code highlighting")
188+
156− <|> flag' NoElimDeprecationWarnings (long "no-elim-deprecation-warnings" <> help "Disable deprecation warnings for %elim")
189+ <|> flag' NoElimDeprecationWarnings (long "no-elim-deprecation-warnings" <> help "Disable deprecation warnings for %elim")
157 <|> flag' NoOldTacticDeprecationWarnings (long "no-tactic-deprecation-warnings" <> help "Disable deprecation warnings for the old tactic sublanguage")
190 <|> flag' NoOldTacticDeprecationWarnings (long "no-tactic-deprecation-warnings" <> help "Disable deprecation warnings for the old tactic sublanguage")
158
191
159 where
192 where