MacroApi

argparse.core.MacroApi
trait MacroApi extends TypesApi with ParsersApi with OutputApi

Attributes

Graph
Supertypes
trait OutputApi
trait Printers
trait TypesApi
class Object
trait Matchable
class Any
Known subtypes
trait Api
object default.type

Members list

Concise view

Type members

Classlikes

class command() extends StaticAnnotation

Attributes

Graph
Supertypes
trait StaticAnnotation
class Annotation
class Object
trait Matchable
class Any
class unknownCommand() extends StaticAnnotation

Attributes

Graph
Supertypes
trait StaticAnnotation
class Annotation
class Object
trait Matchable
class Any

Inherited classlikes

class ArgumentParser(val description: String, val helpFlags: Seq[String], val bashCompletionFlags: Seq[String])

A simple command line argument parser.

A simple command line argument parser.

Usage:

  1. Define parameters with param, requiredParam and repeatedParam. Each of these methods gives back a handle to a future argument value.

  2. Call parseOrExit() with actual arguments.

  3. If parsing succeeds, the arguments will be available in the handles defined in step 1.

If parsing fails, error descriptions are printed and the program exits with 2.

Example:

val parser = argparse.default.ArgumentParser()

val p1 = parser.param[String]("--this-is-a-named-param", default = "default value")
val p2 = parser.param[Int]("positional-param", default = 2)

parser.parseOrExit(Seq("--this-is-a-named-param=other", 5))
println(p1.value)
println(p2.value)

Attributes

bashCompletionFlag

Use these flags to print a sourceable bash-completion script. Set to empty to disable.

description

A short description of this command. Used in help messages.

helpFlags

Use these flags to print the help message. Set to empty to disable.

Inherited from:
ParsersApi
Graph
Supertypes
class Object
trait Matchable
class Any

Attributes

Inherited from:
ParsersApi
Graph
Supertypes
class Object
trait Matchable
class Any
trait Printer[A]

Attributes

Inherited from:
OutputApi
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object Reader

Attributes

Inherited from:
TypesApi
Graph
Supertypes
class Object
trait Matchable
class Any
trait Reader[A]

A typeclass that defines how to convert a string from a single command line argument to a given type.

A typeclass that defines how to convert a string from a single command line argument to a given type.

Attributes

Inherited from:
TypesApi
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object BooleanReader.type
object DoubleReader.type
object DurationReader.type
object FloatReader.type
trait FsPathReader[A]
object FilePathReader.type
object JavaFileReader.type
object JavaPathReader.type
object PathReader.type
object RelPathReader.type
object SubPathReader.type
object InputStreamReader.type
object InstantReader.type
object LocalDateReader.type
object LocalTime.type
object OutputStreamReader.type
object RangeReader.type
object ReadableReader.type
object given_Printer_Array extends Printer[Array[Byte]]

Attributes

Inherited from:
Printers
Graph
Supertypes
trait Printer[Array[Byte]]
class Object
trait Matchable
class Any
object given_Printer_Unit extends Printer[Unit]

Attributes

Inherited from:
Printers
Graph
Supertypes
trait Printer[Unit]
class Object
trait Matchable
class Any
object given_Printer_Writable extends Printer[Writable]

Attributes

Inherited from:
Printers
Graph
Supertypes
trait Printer[Writable]
class Object
trait Matchable
class Any

Types

type alias = alias
type env = env
type name = name

Value members

Inherited methods

The name of the flag to use for generating standalone bash-completion.

The name of the flag to use for generating standalone bash-completion.

Set this to empty to disable bash-completion entirely.

Note that individual argument parsers may override this.

Attributes

Inherited from:
ParsersApi
def defaultHelpFlags: Seq[String]

The name of the flag to use for printing help messages.

The name of the flag to use for printing help messages.

Set this to empty to disable help entirely.

Note that individual argument parsers may override this.

Attributes

Inherited from:
ParsersApi
def defaultHelpMessage(parser: ArgumentParser): String

Generate a help message from parameters.

Generate a help message from parameters.

This message will be used by ArgumentParsers. Overriding this allows you to customize the help message of all ArgumentParsers.

Attributes

Inherited from:
ParsersApi
protected def exit(code: Int): Nothing

Called by parseOrExit in case of error.

Called by parseOrExit in case of error.

Overriding this can be useful in situations where you do not want to exit, for example in tests.

Attributes

Inherited from:
ParsersApi
def handleError(t: Throwable): Nothing

Top-level error handler for command line applications using the annotation API.

Top-level error handler for command line applications using the annotation API.

You can override this to change what should be done on errors.

The default implementation prints the exception's message unless the DEBUG environment variable is set, in which case the whole stack trace is printed. Then, it exits with error code 1.

Attributes

Inherited from:
OutputApi

Concrete fields

val alias: alias.type
val env: env.type
val name: name.type

Givens

Inherited givens

given anyPrinter[A]: anyPrinter[A]

Attributes

Inherited from:
LowPrioPrinters

Attributes

Inherited from:
Printers
given given_Printer_Future[A](using p: Printer[A]): given_Printer_Future[A]

Attributes

Inherited from:
Printers
given given_Printer_Generator[A](using p: Printer[A]): given_Printer_Generator[A]

Attributes

Inherited from:
Printers

Attributes

Inherited from:
Printers

Attributes

Inherited from:
Printers
given nonProductListPrinter[A <: Iterable[B], B](using elemPrinter: Printer[B]): nonProductListPrinter[A, B]

Attributes

Inherited from:
Printers
inline given productListPrinter[A <: Iterable[B], B <: Product](using m: ProductLabels[B]): productListPrinter[A, B]

Attributes

Inherited from:
Printers

Implicits

Inherited implicits

implicit val StringReader: Reader[String]

Attributes

Inherited from:
TypesApi