scopt

OptionParser

abstract case class OptionParser[C](programName: String) extends Product with Serializable

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[Unit]("verbose") action { (_, c) =>
    c.copy(verbose = true) } text("verbose is a flag")
  note("some notes.\n")
  help("help") text("prints this usage text")
  arg[File]("...") unbounded() optional() action { (x, c) =>
    c.copy(files = c.files :+ x) } text("optional unbounded args")
  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")
  )
}
// parser.parse returns Option[C]
parser.parse(args, Config()) map { config =>
  // do stuff
} getOrElse {
  // arguments are bad, usage message will have been displayed
}
Linear Supertypes
Serializable, Serializable, Product, Equals, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. OptionParser
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AnyRef
  7. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new OptionParser(programName: String)

Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. def arg[A](name: String)(implicit arg0: Read[A]): OptionDef[A, C]

    adds an argument invoked by an option without - or --.

    adds an argument invoked by an option without - or --.

    name

    name in the usage text

  7. def arguments: Seq[OptionDef[_, C]]

    Attributes
    protected
  8. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  9. def checkConfig(f: (C) ⇒ Either[String, Unit]): OptionDef[Unit, C]

    adds final check.

  10. def checks: Seq[OptionDef[_, C]]

    Attributes
    protected
  11. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  12. def cmd(name: String): OptionDef[Unit, C]

    adds a command invoked by an option without - or --.

    adds a command invoked by an option without - or --.

    name

    name of the command

  13. def commands: Seq[OptionDef[_, C]]

    Attributes
    protected
  14. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  15. def errorOnUnknownArgument: Boolean

  16. def failure(msg: String): Either[String, Unit]

    call this to express failure in custom validation.

  17. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  18. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  19. def head(xs: String*): OptionDef[Unit, C]

    adds usage text.

  20. def header: String

  21. def heads: Seq[OptionDef[_, C]]

    Attributes
    protected
  22. def help(name: String): OptionDef[Unit, C]

    adds an option invoked by --name that displays usage text and exits.

    adds an option invoked by --name that displays usage text and exits.

    name

    name of the option

  23. val helpOptions: ListBuffer[OptionDef[_, C]]

    Attributes
    protected
  24. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  25. def makeDef[A](kind: OptionDefKind, name: String)(implicit arg0: Read[A]): OptionDef[A, C]

    Attributes
    protected
  26. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  27. def nonArgs: Seq[OptionDef[_, C]]

    Attributes
    protected
  28. def note(x: String): OptionDef[Unit, C]

    adds usage text.

  29. final def notify(): Unit

    Definition Classes
    AnyRef
  30. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  31. def opt[A](x: Char, name: String)(implicit arg0: Read[A]): OptionDef[A, C]

    adds an option invoked by -x value or --name value.

    adds an option invoked by -x value or --name value.

    x

    name of the short option

    name

    name of the option

  32. def opt[A](name: String)(implicit arg0: Read[A]): OptionDef[A, C]

    adds an option invoked by --name x.

    adds an option invoked by --name x.

    name

    name of the option

  33. val options: ListBuffer[OptionDef[_, C]]

    Attributes
    protected
  34. def parse(args: Seq[String], init: C): Option[C]

    parses the given args.

  35. def parse(args: Seq[String])(implicit ev: Zero[C]): Boolean

    parses the given args.

    parses the given args.

    returns

    true if successful, false otherwise

  36. val programName: String

  37. def reportError(msg: String): Unit

  38. def reportWarning(msg: String): Unit

  39. def showHeader: Unit

  40. def showTryHelp: Unit

  41. def showUsage: Unit

  42. def showUsageAsError: Unit

  43. def showUsageOnError: Boolean

  44. def success: Either[String, Unit]

    call this to express success in custom validation.

  45. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  46. def usage: String

  47. def version(name: String): OptionDef[Unit, C]

    adds an option invoked by --name that displays header text and exits.

    adds an option invoked by --name that displays header text and exits.

    name

    name of the option

  48. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  49. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  50. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped