@@ -23,7 +23,8 @@ runArgParser = do opts <- execParser $ info parser
2323 return $ preProcOpts opts []
2424 where
2525 idrisHeader = PP.hsep [PP.text "Idris version", PP.text ver, PP.text ", (C) The Idris Community 2014"]
26− idrisProgDesc = PP.vsep [PP.text "Idris is a general purpose pure functional programming language with dependent",
26+ idrisProgDesc = PP.vsep [PP.empty,
27+ PP.text "Idris is a general purpose pure functional programming language with dependent",
2728 PP.text "types. Dependent types allow types to be predicated on values, meaning that",
2829 PP.text "some aspects of a program’s behaviour can be specified precisely in the type.",
2930 PP.text "It is compiled, with eager evaluation. Its features are influenced by Haskell",
@@ -43,8 +44,7 @@ runArgParser = do opts <- execParser $ info parser
4344 "+ Cumulative universes",
4445 "+ Simple foreign function interface (to C)",
4546 "+ Hugs style interactive environment"
46− ],
47− PP.empty]
47+ ]]
4848 idrisFooter = PP.vsep [PP.text "It is important to note that Idris is first and foremost a research tool",
4949 PP.text "and project. Thus the tooling provided and resulting programs created",
5050 PP.text "should not necessarily be seen as production ready nor for industrial use.",
@@ -75,12 +75,12 @@ parseFlags = many $
7575 <|> flag' IdeslaveSocket (long "ideslave-socket")
7676 <|> (Client <$> strOption (long "client"))
7777 <|> (OLogging <$> option auto (long "log" <> metavar "LEVEL" <> help "Debugging log level"))
78− <|> flag' NoBasePkgs (long "nobasepkgs")
79− <|> flag' NoPrelude (long "noprelude")
80− <|> flag' NoBuiltins (long "nobuiltins")
78+ <|> flag' NoBasePkgs (long "nobasepkgs" <> help "Do not use the given base package")
79+ <|> flag' NoPrelude (long "noprelude" <> help "Do not use the given prelude")
80+ <|> flag' NoBuiltins (long "nobuiltins" <> help "Do not use the builtin functions")
8181 <|> flag' NoREPL (long "check" <> help "Typecheck only, don't start the REPL")
8282 <|> (Output <$> strOption (short 'o' <> long "output" <> metavar "FILE" <> help "Specify output file"))
83−-- <|> flag' TypeCase (long "typecase")
83+ -- <|> flag' TypeCase (long "typecase")
8484 <|> flag' TypeInType (long "typeintype")
8585 <|> flag' DefaultTotal (long "total" <> help "Require functions to be total by default")
8686 <|> flag' DefaultPartial (long "partial")
@@ -96,12 +96,12 @@ parseFlags = many $
9696 <|> (IBCSubDir <$> strOption (long "ibcsubdir" <> metavar "FILE" <> help "Write IBC files into sub directory"))
9797 <|> (ImportDir <$> strOption (short 'i' <> long "idrispath" <> help "Add directory to the list of import paths"))
9898 <|> flag' WarnOnly (long "warn")
99− <|> (Pkg <$> strOption (short 'p' <> long "package"))
99+ <|> (Pkg <$> strOption (short 'p' <> long "package" <> help "Add package as a dependency"))
100100 <|> (Port <$> strOption (long "port" <> metavar "PORT" <> help "REPL TCP port"))
101101 -- Package commands
102102 <|> (PkgBuild <$> strOption (long "build" <> metavar "IPKG" <> help "Build package"))
103103 <|> (PkgInstall <$> strOption (long "install" <> metavar "IPKG" <> help "Install package"))
104− <|> (PkgREPL <$> strOption (long "repl"))
104+ <|> (PkgREPL <$> strOption (long "repl" <> metavar "IPKG" <> help "Launch REPL, only for executables"))
105105 <|> (PkgClean <$> strOption (long "clean" <> metavar "IPKG" <> help "Clean package"))
106106 <|> (PkgMkDoc <$> strOption (long "mkdoc" <> metavar "IPKG" <> help "Generate IdrisDoc for package"))
107107 <|> (PkgCheck <$> strOption (long "checkpkg" <> metavar "IPKG" <> help "Check package only"))
@@ -123,7 +123,7 @@ parseFlags = many $
123123 <|> flag' (OptLevel 1) (long "O1")
124124 <|> flag' (OptLevel 0) (long "O0")
125125 <|> flag' (AddOpt PETransform) (long "partial-eval")
126− <|> flag' (RemoveOpt PETransform) (long "no-partial-eval")
126+ <|> flag' (RemoveOpt PETransform) (long "no-partial-eval" <> help "Switch off partial evaluation, mainly for debugging purposes")
127127 <|> (OptLevel <$> option auto (short 'O' <> long "level"))
128128 <|> (TargetTriple <$> strOption (long "target" <> metavar "TRIPLE" <> help "Select target triple (for llvm codegen)"))
129129 <|> (TargetCPU <$> strOption (long "cpu" <> metavar "CPU" <> help "Select target CPU e.g. corei7 or cortex-m3 (for LLVM codegen)"))