Skip to content

mattroberts297/claper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CLAPer

Build status Coverage status Maven central

A Command Line Argument Parser without the boiler plate.

Getting Started

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))

Usage

See ClaperSpec for full usage.

Features

  • Support for case classes (products)
  • Support for default values
  • Support for Linux style arguments

Future Features

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)