abstract class Parser[T] extends AnyRef
Parses arguments, resulting in a T
in case of success.
- Alphabetic
- By Inheritance
- Parser
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new Parser()
Type Members
Abstract Value Members
- abstract def args: Seq[Arg]
Arguments this parser accepts.
Arguments this parser accepts.
Used to generate help / usage messages.
- abstract def get(d: D, nameFormatter: Formatter[Name]): Either[Error, T]
Get the final result from the final intermediate value.
Get the final result from the final intermediate value.
Typically fails if some mandatory arguments were not specified, so are missing in
d
, preventing building aT
out of it.- returns
in case of success, a
T
wrapped in scala.Right; else, an error message, wrapped in caseapp.core.Error and scala.Left
- abstract def init: D
Initial value used to accumulate parsed arguments.
- abstract def step(args: List[String], index: Int, d: D, nameFormatter: Formatter[Name]): Either[(Error, Arg, List[String]), Option[(D, Arg, List[String])]]
Process the next argument.
Process the next argument.
If some arguments were successfully processed (third case in return below), the returned remaining argument sequence must be shorter than the passed
args
.This method doesn't fully process
args
. It tries just to parse *one* argument (typically one option--foo
and its valuebar
, so two elements fromargs
- it can also be only one element in case of a flag), if possible. If you want to fully process a sequence of arguments, seeparse
ordetailedParse
.- returns
if no argument were parsed,
Right(None)
; if an error occurred, an error message wrapped in caseapp.core.Error and scala.Left; else the next intermediate value and the remaining arguments wrapped in scala.Some and scala.Right.
- abstract def withDefaultOrigin(origin: String): Aux[T, D]
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def complete(args: Seq[String], index: Int, completer: Completer[T], stopAtFirstUnrecognized: Boolean, ignoreUnrecognized: Boolean): List[CompletionItem]
- def defaultIgnoreUnrecognized: Boolean
- def defaultNameFormatter: Formatter[Name]
- def defaultStopAtFirstUnrecognized: Boolean
- final def detailedParse(args: Seq[String], stopAtFirstUnrecognized: Boolean, ignoreUnrecognized: Boolean): Either[Error, (T, RemainingArgs)]
- final def detailedParse(args: Seq[String], stopAtFirstUnrecognized: Boolean): Either[Error, (T, RemainingArgs)]
- final def detailedParse(args: Seq[String]): Either[Error, (T, RemainingArgs)]
Keeps the remaining args before and after a possible -- separated
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def get(d: D): Either[Error, T]
Get the final result from the final intermediate value.
Get the final result from the final intermediate value.
Typically fails if some mandatory arguments were not specified, so are missing in
d
, preventing building aT
out of it.- returns
in case of success, a
T
wrapped in scala.Right; else, an error message, wrapped in caseapp.core.Error and scala.Left
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def ignoreUnrecognized: Aux[T, D]
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def map[U](f: (T) => U): Aux[U, D]
- def nameFormatter(f: Formatter[Name]): Aux[T, D]
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def parse(args: Seq[String]): Either[Error, (T, Seq[String])]
- final def scan(args: Seq[String], stopAtFirstUnrecognized: Boolean, ignoreUnrecognized: Boolean): (Either[(Error, Either[D, T]), (T, RemainingArgs)], List[Step])
- def step(args: List[String], index: Int, d: D): Either[(Error, Arg, List[String]), Option[(D, Arg, List[String])]]
- def stopAtFirstUnrecognized: Aux[T, D]
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def withFullHelp: Parser[WithFullHelp[T]]
- final def withHelp: Parser[WithHelp[T]]
Creates a Parser accepting help / usage arguments, out of this one.