claper


License

License

MIT
GroupId

GroupId

io.mattroberts
ArtifactId

ArtifactId

claper_2.10
Last Version

Last Version

0.5.0
Release Date

Release Date

Type

Type

jar
Description

Description

claper
claper
Project URL

Project URL

https://github.com/mattroberts297/claper
Project Organization

Project Organization

io.mattroberts
Source Code Management

Source Code Management

https://github.com/mattroberts297/claper

Download claper_2.10

How to add to project

<!-- https://jarcasting.com/artifacts/io.mattroberts/claper_2.10/ -->
<dependency>
    <groupId>io.mattroberts</groupId>
    <artifactId>claper_2.10</artifactId>
    <version>0.5.0</version>
</dependency>
// https://jarcasting.com/artifacts/io.mattroberts/claper_2.10/
implementation 'io.mattroberts:claper_2.10:0.5.0'
// https://jarcasting.com/artifacts/io.mattroberts/claper_2.10/
implementation ("io.mattroberts:claper_2.10:0.5.0")
'io.mattroberts:claper_2.10:jar:0.5.0'
<dependency org="io.mattroberts" name="claper_2.10" rev="0.5.0">
  <artifact name="claper_2.10" type="jar" />
</dependency>
@Grapes(
@Grab(group='io.mattroberts', module='claper_2.10', version='0.5.0')
)
libraryDependencies += "io.mattroberts" % "claper_2.10" % "0.5.0"
[io.mattroberts/claper_2.10 "0.5.0"]

Dependencies

compile (2)

Group / Artifact Type Version
org.scala-lang : scala-library jar 2.10.7
com.chuusai : shapeless_2.10 jar 2.3.3

test (1)

Group / Artifact Type Version
org.scalatest : scalatest_2.10 jar 3.2.1

Project Modules

There are no modules declared in this project.

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)

Versions

Version
0.5.0
0.4.0