Skip to content

Commit abd1f45

Browse files
authored
Merge pull request #173 from vigoo/rename-default
Rename 'default' to 'example'
2 parents bbe59ae + 6563ab5 commit abd1f45

File tree

2 files changed

+24
-7
lines changed

2 files changed

+24
-7
lines changed

clipp-core/src/main/scala/io/github/vigoo/clipp/clipp.scala

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,26 @@ import io.github.vigoo.clipp.errors.ParserError
1111
import scala.util.Try
1212

1313

14+
/**
15+
* Type class for parsing a command line argument to type T
16+
* @tparam T
17+
*/
1418
trait ParameterParser[T] {
19+
/**
20+
* Parse the command line argument into type T or fail with an error message
21+
* @param value command line argument
22+
* @return Either failure or the parsed value
23+
*/
1524
def parse(value: String): Either[String, T]
16-
def default: T
25+
26+
/**
27+
* An example of the parsed value, used by the usage graph generator to simulate
28+
* the execution of the parser.
29+
*
30+
* It is never used as a result of the parser when it is executed on
31+
* real input.
32+
*/
33+
def example: T
1734
}
1835

1936
case class ParameterParserMetadata(programName: String, description: Option[String])
@@ -171,25 +188,25 @@ object parsers {
171188
implicit val stringParameterParser: ParameterParser[String] = new ParameterParser[String] {
172189
override def parse(value: String): Either[String, String] = Right(value)
173190

174-
override def default: String = ""
191+
override def example: String = ""
175192
}
176193

177194
implicit val intParameterParser: ParameterParser[Int] = new ParameterParser[Int] {
178195
override def parse(value: String): Either[String, Int] = Try(value.toInt).toEither.left.map(_.getMessage)
179196

180-
override def default: Int = 0
197+
override def example: Int = 0
181198
}
182199

183200
implicit val doubleParameterParser: ParameterParser[Double] = new ParameterParser[Double] {
184201
override def parse(value: String): Either[String, Double] = Try(value.toDouble).toEither.left.map(_.getMessage)
185202

186-
override def default: Double = 0.0
203+
override def example: Double = 0.0
187204
}
188205

189206
implicit val fileParameterParser: ParameterParser[File] = new ParameterParser[File] {
190207
override def parse(value: String): Either[String, File] = Right(new File(value))
191208

192-
override def default: File = new File("x")
209+
override def example: File = new File("x")
193210
}
194211
}
195212

clipp-core/src/main/scala/io/github/vigoo/clipp/usageinfo/UsageInfoExtractor.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,9 @@ object UsageInfoExtractor {
4040
case flag: Flag =>
4141
impl.flag(flag)
4242
case namedParameter: NamedParameter[_] =>
43-
impl.namedParameter(namedParameter, namedParameter.parameterParser.default)
43+
impl.namedParameter(namedParameter, namedParameter.parameterParser.example)
4444
case simpleParameter: SimpleParameter[_] =>
45-
impl.simpleParameter(simpleParameter, simpleParameter.parameterParser.default)
45+
impl.simpleParameter(simpleParameter, simpleParameter.parameterParser.example)
4646
case command: Command =>
4747
impl.command(command)
4848
case Optional(parameter) =>

0 commit comments

Comments
 (0)