ParsersApi

class Object
trait Matchable
class Any
trait Api
object default

Type members

Classlikes

class ArgumentParser(val description: String, val enableHelpFlag: Boolean, val enableBashCompletionFlag: Boolean, val stdout: PrintStream, val stderr: PrintStream, val env: Map[String, String]) extends ParserExtra

A simple command line argument parser.

A simple command line argument parser.

Usage:

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

  2. Call parse() 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.ArgumentParser("0.1.0")

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

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

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

enableBashCompletionFlag

Include a --bash-completion flag which generate a bash completion script.

enableHelpFlag

Include a --help flag which will print a generated help message.

env

The environment.

stdout

The standard error stream.

Companion
object
Companion
class

Inherited classlikes

object Reader
Inherited from
TypesApi
@implicitNotFound("No Reader[${A}] found. A reader is required to parse a command line argument from a string to a ${A}. ".+("Please define a Reader[${A}]."))
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.

Inherited from
TypesApi

Value members

Concrete methods

def bashCompletionFlag: String

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 the empty string to disable bash-completion entirely.

def checkStyle(paramDefs: Iterable[ParamDef], stderr: PrintStream): Unit

Check the style of parameters.

Check the style of parameters.

This is intended to nudge developers into building command line applications that integrate seamlessly into other system utilities and provide a pleasant user experience.

This is subjective, and you may disable style-checking by overriding this method.

protected def exit(code: Int): Nothing
def help(description: String, params: Seq[ParamInfo], commands: Seq[CommandInfo]): 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.

Inherited methods

inline def findMains[A]: List[Entrypoint[A]]

Find all methods annotated with @argparse.main declared in the container A.

Find all methods annotated with @argparse.main declared in the container A.

class Container() {
Inherited from
MainArgsApi
inline def main[A](container: => A, args: Array[String]): Unit

Generate a main method for a single entry point.

Generate a main method for a single entry point.

Once annotation macros become available in scala 3, and when container is static, this method should become obsolete.

Inherited from
MainArgsApi

Implicits

Inherited implicits

implicit val StringReader: Reader[String]
Inherited from
TypesApi