A Command Line Argument Parser without the boiler plate.
Add the library as a dependency in your project's build.sbt
file:
scalaVersion := "2.12.1"
libraryDependencies ++= Seq(
"io.mattroberts" %% "claper" % "0.3.0"
)
Then use it to parse command line arguments:
import io.mattroberts.Claper
case class Args(alpha: String, beta: Int, charlie: Boolean)
val args = List("--alpha", "alpha", "--beta", "1", "--charlie")
val parsed = Claper[Args].parse(args)
println(parsed) // Right(Args("alpha", 1, true))
See ClaperSpec for full usage.
- Support for case classes (products)
- Support for default values
- Support for Linux style arguments
In the future I might:
- Add coproduct support
- Add short Linux style arguments
- Add support for list arguments (delimited)
- Add support for enumerations
- Add support for ClaperApp (like App)