on master help sign in
Added missing documentation for the CLI.
e0861bbJan de Muijnck-Hughes
src/Idris/CmdOptions.hs+10−10
@@ -23,7 +23,8 @@ runArgParser = do opts <- execParser $ info parser
23 return $ preProcOpts opts []
23 return $ preProcOpts opts []
24 where
24 where
25 idrisHeader = PP.hsep [PP.text "Idris version", PP.text ver, PP.text ", (C) The Idris Community 2014"]
25 idrisHeader = PP.hsep [PP.text "Idris version", PP.text ver, PP.text ", (C) The Idris Community 2014"]
26+ idrisProgDesc = PP.vsep [PP.empty,
26− idrisProgDesc = PP.vsep [PP.text "Idris is a general purpose pure functional programming language with dependent",
27+ PP.text "Idris is a general purpose pure functional programming language with dependent",
27 PP.text "types. Dependent types allow types to be predicated on values, meaning that",
28 PP.text "types. Dependent types allow types to be predicated on values, meaning that",
28 PP.text "some aspects of a program’s behaviour can be specified precisely in the type.",
29 PP.text "some aspects of a program’s behaviour can be specified precisely in the type.",
29 PP.text "It is compiled, with eager evaluation. Its features are influenced by Haskell",
30 PP.text "It is compiled, with eager evaluation. Its features are influenced by Haskell",
@@ -43,8 +44,7 @@ runArgParser = do opts <- execParser $ info parser
43 "+ Cumulative universes",
44 "+ Cumulative universes",
44 "+ Simple foreign function interface (to C)",
45 "+ Simple foreign function interface (to C)",
45 "+ Hugs style interactive environment"
46 "+ Hugs style interactive environment"
46− ],
47+ ]]
47− PP.empty]
48 idrisFooter = PP.vsep [PP.text "It is important to note that Idris is first and foremost a research tool",
48 idrisFooter = PP.vsep [PP.text "It is important to note that Idris is first and foremost a research tool",
49 PP.text "and project. Thus the tooling provided and resulting programs created",
49 PP.text "and project. Thus the tooling provided and resulting programs created",
50 PP.text "should not necessarily be seen as production ready nor for industrial use.",
50 PP.text "should not necessarily be seen as production ready nor for industrial use.",
@@ -75,12 +75,12 @@ parseFlags = many $
75 <|> flag' IdeslaveSocket (long "ideslave-socket")
75 <|> flag' IdeslaveSocket (long "ideslave-socket")
76 <|> (Client <$> strOption (long "client"))
76 <|> (Client <$> strOption (long "client"))
77 <|> (OLogging <$> option auto (long "log" <> metavar "LEVEL" <> help "Debugging log level"))
77 <|> (OLogging <$> option auto (long "log" <> metavar "LEVEL" <> help "Debugging log level"))
78− <|> flag' NoBasePkgs (long "nobasepkgs")
78+ <|> flag' NoBasePkgs (long "nobasepkgs" <> help "Do not use the given base package")
79− <|> flag' NoPrelude (long "noprelude")
79+ <|> flag' NoPrelude (long "noprelude" <> help "Do not use the given prelude")
80− <|> flag' NoBuiltins (long "nobuiltins")
80+ <|> flag' NoBuiltins (long "nobuiltins" <> help "Do not use the builtin functions")
81 <|> flag' NoREPL (long "check" <> help "Typecheck only, don't start the REPL")
81 <|> flag' NoREPL (long "check" <> help "Typecheck only, don't start the REPL")
82 <|> (Output <$> strOption (short 'o' <> long "output" <> metavar "FILE" <> help "Specify output file"))
82 <|> (Output <$> strOption (short 'o' <> long "output" <> metavar "FILE" <> help "Specify output file"))
83−-- <|> flag' TypeCase (long "typecase")
83+ -- <|> flag' TypeCase (long "typecase")
84 <|> flag' TypeInType (long "typeintype")
84 <|> flag' TypeInType (long "typeintype")
85 <|> flag' DefaultTotal (long "total" <> help "Require functions to be total by default")
85 <|> flag' DefaultTotal (long "total" <> help "Require functions to be total by default")
86 <|> flag' DefaultPartial (long "partial")
86 <|> flag' DefaultPartial (long "partial")
@@ -96,12 +96,12 @@ parseFlags = many $
96 <|> (IBCSubDir <$> strOption (long "ibcsubdir" <> metavar "FILE" <> help "Write IBC files into sub directory"))
96 <|> (IBCSubDir <$> strOption (long "ibcsubdir" <> metavar "FILE" <> help "Write IBC files into sub directory"))
97 <|> (ImportDir <$> strOption (short 'i' <> long "idrispath" <> help "Add directory to the list of import paths"))
97 <|> (ImportDir <$> strOption (short 'i' <> long "idrispath" <> help "Add directory to the list of import paths"))
98 <|> flag' WarnOnly (long "warn")
98 <|> flag' WarnOnly (long "warn")
99− <|> (Pkg <$> strOption (short 'p' <> long "package"))
99+ <|> (Pkg <$> strOption (short 'p' <> long "package" <> help "Add package as a dependency"))
100 <|> (Port <$> strOption (long "port" <> metavar "PORT" <> help "REPL TCP port"))
100 <|> (Port <$> strOption (long "port" <> metavar "PORT" <> help "REPL TCP port"))
101 -- Package commands
101 -- Package commands
102 <|> (PkgBuild <$> strOption (long "build" <> metavar "IPKG" <> help "Build package"))
102 <|> (PkgBuild <$> strOption (long "build" <> metavar "IPKG" <> help "Build package"))
103 <|> (PkgInstall <$> strOption (long "install" <> metavar "IPKG" <> help "Install package"))
103 <|> (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"))
105 <|> (PkgClean <$> strOption (long "clean" <> metavar "IPKG" <> help "Clean package"))
105 <|> (PkgClean <$> strOption (long "clean" <> metavar "IPKG" <> help "Clean package"))
106 <|> (PkgMkDoc <$> strOption (long "mkdoc" <> metavar "IPKG" <> help "Generate IdrisDoc for package"))
106 <|> (PkgMkDoc <$> strOption (long "mkdoc" <> metavar "IPKG" <> help "Generate IdrisDoc for package"))
107 <|> (PkgCheck <$> strOption (long "checkpkg" <> metavar "IPKG" <> help "Check package only"))
107 <|> (PkgCheck <$> strOption (long "checkpkg" <> metavar "IPKG" <> help "Check package only"))
@@ -123,7 +123,7 @@ parseFlags = many $
123 <|> flag' (OptLevel 1) (long "O1")
123 <|> flag' (OptLevel 1) (long "O1")
124 <|> flag' (OptLevel 0) (long "O0")
124 <|> flag' (OptLevel 0) (long "O0")
125 <|> flag' (AddOpt PETransform) (long "partial-eval")
125 <|> 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")
127 <|> (OptLevel <$> option auto (short 'O' <> long "level"))
127 <|> (OptLevel <$> option auto (short 'O' <> long "level"))
128 <|> (TargetTriple <$> strOption (long "target" <> metavar "TRIPLE" <> help "Select target triple (for llvm codegen)"))
128 <|> (TargetTriple <$> strOption (long "target" <> metavar "TRIPLE" <> help "Select target triple (for llvm codegen)"))
129 <|> (TargetCPU <$> strOption (long "cpu" <> metavar "CPU" <> help "Select target CPU e.g. corei7 or cortex-m3 (for LLVM codegen)"))
129 <|> (TargetCPU <$> strOption (long "cpu" <> metavar "CPU" <> help "Select target CPU e.g. corei7 or cortex-m3 (for LLVM codegen)"))