Packages

p

cli

package cli

package

command line interface 命令行交互

移除 js,native,编译,jvm 版本,输出使用 logback

modify from https://github.com/scopt/scopt

commit id: a1c29eb00f40d256fe0aceea1987e9f19724884e

Source
package.scala
Version

1.0

Since

2018-10-30 14:52

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. cli
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. class OptionDef[A, C] extends AnyRef
  2. 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 as opt method or arg method.

    scopt.immutable.OptionParser is instantiated within your object, set up by an (ordered) sequence of invocations of the various builder methods such as opt method or arg 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("").
        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  must be >0") ).
        keyValueName("", "").
        text("maximum count for ")
    
      opt[Seq[File]]('j', "jars").valueName(",...").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]("...").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
    }
  3. trait Read[A] extends AnyRef

    options

    options

    Version

    1.0 2018-10-30 11:07

  4. trait RenderingMode extends AnyRef
  5. trait Zero[A] extends AnyRef

Value Members

  1. object Read extends PlatformReadInstances
  2. object RenderingMode
  3. object Validation
  4. object Zero

Inherited from AnyRef

Inherited from Any

Ungrouped