cmdr
package cmdr
- Alphabetic
- By Inheritance
- cmdr
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- type Arg[A] = () => A
An argument accessor is a function that returns an argument, assuming that parsing was successful.
- class ArgParser extends SettingsParser
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. (This behaviour may be changed by subclassing and redefining the
check()
method).Example
val parser = cmdr.ArgumentParser("appname", "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()) println(p2())
- trait Reader[A] extends AnyRef
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.
- Annotations
- @implicitNotFound("Don't know how to read a ${A} from a command line argument. Try implementing your own cmdr.Reader[$A].")
- trait SettingsParser extends AnyRef
- case class dirs(name: String, system: Boolean = false) extends Product with Serializable
Common directories for an application of a given name.
Common directories for an application of a given name.
The directories here are implemented as a mix of the XDG Base Directory Specification, macOS adaptations and a fallback to classic unix directories for system applications.
Applications are encouraged to use these directories instead of creating their own hierarchies. They are particularly well-suited for use as parameter defaults, for example:
val parser = cmdr.ArgParser() val cache = parser.param[os.Path]( "--cache-dir", default = cmdr.dirs("myapp").cache
- name
the name of the application
- system
use system-wide paths instead of user-specific ones
Deprecated Type Members
Value Members
- val ArgumentParser: ArgParser.type
- val argsv: Array[String]
Get the system arguments eagerly, this allows using them in a constructor, outside of main().
Get the system arguments eagerly, this allows using them in a constructor, outside of main().
This may be somewhat of a hack.
- object ArgParser
- object BashCompletion
- object Parser
Low-level parsing functionality.
Low-level parsing functionality. See ArgParser for a user-friendly API.
- object PredefReader
- object Reader
- object dirs extends Serializable
- object term
Properties of the current terminal.
- object xdg
Common directories for *user* applications, as specified by the [XDG Base Directory Specification](https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html), with some adaptations made on macOS.
Common directories for *user* applications, as specified by the [XDG Base Directory Specification](https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html), with some adaptations made on macOS.
- See also
dirs for conventional directories for an application of a given name, including system services.