FlagArgParser

case class FlagArgParser[T](description: String, parse: (Option[String], Int, Int) => Either[Error, T]) extends ArgParser[T]
Companion:
object
trait Product
trait Equals
class ArgParser[T]
class Object
trait Matchable
class Any

Value members

Concrete methods

def apply(current: Option[T], index: Int, span: Int, value: String): Either[Error, T]

Parses a value.

Parses a value.

value must be consumed. Corresponds to cases like --foo=bar.

Value parameters:
current:

latest parsed value wrapped in scala.Some if any, scala.None else

value:

scala.Predef.String to parse

Returns:

in case of success, a T, wrapped in scala.Right; else, and error message, wrapped in caseapp.core.Error and scala.Left

override def apply(current: Option[T], index: Int): Either[Error, T]

Called when the corresponding argument was specified with no value.

Called when the corresponding argument was specified with no value.

Can happen if the option was enabled as very last argument, like --bar in --foo 1 other --bar.

Value parameters:
current:

latest parsed value wrapped in scala.Some if any, scala.None else

Returns:

a T wrapped in scala.Right in case of success, or an error message wrapped in caseapp.core.Error and scala.Left else

Definition Classes
override def isFlag: Boolean

Whether the parsed value corresponds to a flag.

Whether the parsed value corresponds to a flag.

Prevents telling corresponding arguments expect a value in help messages.

Definition Classes
override def optional(current: Option[T], index: Int, span: Int, value: String): (Consumed, Either[Error, T])

Parses a value.

Parses a value.

Unlike apply above, value may or may not be consumed. Corresponds to cases like --foo bar.

Use of value or not must be returned via the caseapp.core.argparser.Consumed value.

Value parameters:
current:

latest parsed value wrapped in scala.Some if any, scala.None else

value:

scala.Predef.String to parse

Returns:

in case of success, whether value was consumed and a T, wrapped in scala.Right; else, and error message, wrapped in caseapp.core.Error and scala.Left

Definition Classes

Inherited methods

Inherited from:
Product
final def xmap[U](from: U => T, to: T => U): ArgParser[U]
Inherited from:
ArgParser
final def xmapError[U](from: U => T, to: T => Either[Error, U]): ArgParser[U]
Inherited from:
ArgParser