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
- All
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], d: D, nameFormatter: Formatter[Name]): Either[(Error, List[String]), Option[(D, 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.
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( ... ) @native()
- def defaultNameFormatter: Formatter[Name]
- def defaultStopAtFirstUnrecognized: Boolean
- 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: Any): 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[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def map[U](f: (T) ⇒ U): Aux[U, D]
- def nameFormatter(f: Formatter[Name]): Parser[T]
-
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
step(args: List[String], d: D): Either[(Error, List[String]), Option[(D, 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.
- def stopAtFirstUnrecognized: Parser[T]
-
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( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
withHelp: Parser[WithHelp[T]]
Creates a Parser accepting help / usage arguments, out of this one.