cli
package cli
package
command line interface 命令行交互
移除 js,native,编译,jvm 版本,输出使用 logback
modify from https://github.com/scopt/scopt
commit id: a1c29eb00f40d256fe0aceea1987e9f19724884e
- Version
1.0
- Since
2018-10-30 14:52
- Alphabetic
- By Inheritance
- cli
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
- class OptionDef[A, C] extends AnyRef
-
abstract
class
OptionParser[C] extends StrictLogging
scopt.immutable.OptionParser
is instantiated within your object, set up by an (ordered) sequence of invocations of the various builder methods such asopt
method orarg
method.scopt.immutable.OptionParser
is instantiated within your object, set up by an (ordered) sequence of invocations of the various builder methods such asopt
method orarg
method.val parser = new scopt.OptionParser[Config]("scopt") { head("scopt", "3.x") opt[Int]('f', "foo").action( (x, c) => c.copy(foo = x) ).text("foo is an integer property") opt[File]('o', "out").required().valueName("<file>"). action( (x, c) => c.copy(out = x) ). text("out is a required file property") opt[(String, Int)]("max").action({ case ((k, v), c) => c.copy(libName = k, maxCount = v) }). validate( x => if (x._2 > 0) success else failure("Value <max> must be >0") ). keyValueName("<libname>", "<max>"). text("maximum count for <libname>") opt[Seq[File]]('j', "jars").valueName("<jar1>,<jar2>...").action( (x,c) => c.copy(jars = x) ).text("jars to include") opt[Map[String,String]]("kwargs").valueName("k1=v1,k2=v2...").action( (x, c) => c.copy(kwargs = x) ).text("other arguments") opt[Unit]("verbose").action( (_, c) => c.copy(verbose = true) ).text("verbose is a flag") opt[Unit]("debug").hidden().action( (_, c) => c.copy(debug = true) ).text("this option is hidden in the usage text") help("help").text("prints this usage text") arg[File]("<file>...").unbounded().optional().action( (x, c) => c.copy(files = c.files :+ x) ).text("optional unbounded args") note("some notes.".newline) cmd("update").action( (_, c) => c.copy(mode = "update") ). text("update is a command."). children( opt[Unit]("not-keepalive").abbr("nk").action( (_, c) => c.copy(keepalive = false) ).text("disable keepalive"), opt[Boolean]("xyz").action( (x, c) => c.copy(xyz = x) ).text("xyz is a boolean property"), opt[Unit]("debug-update").hidden().action( (_, c) => c.copy(debug = true) ).text("this option is hidden in the usage text"), checkConfig( c => if (c.keepalive && c.xyz) failure("xyz cannot keep alive") else success ) ) } // parser.parse returns Option[C] parser.parse(args, Config()) match { case Some(config) => // do stuff case None => // arguments are bad, error message will have been displayed }
-
trait
Read[A] extends AnyRef
options
options
- Version
1.0 2018-10-30 11:07
- trait RenderingMode extends AnyRef
- trait Zero[A] extends AnyRef
Value Members
- object Read extends PlatformReadInstances
- object RenderingMode
- object Validation
- object Zero