Package

fmv1992

scala_cli_parser

Permalink

package scala_cli_parser

Provide utilities to parse, check and manipulate CLI arguments.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. scala_cli_parser
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. case class Arg(longName: String, value: Seq[String]) extends Argument with Product with Serializable

    Permalink

    General (non GNU as of now) argument.

    General (non GNU as of now) argument.

    Requirements are assured by the parser.

  2. trait Argument extends AnyRef

    Permalink

    General trait for an argument.

  3. trait CLIConfigTestableMain extends TestableMain

    Permalink

    Testable main trait with a configurable file CLI implementation.

    Testable main trait with a configurable file CLI implementation.

    Combine testability with modularity.

  4. trait CLIParser extends AnyRef

    Permalink

    CLI parser most general trait.

  5. trait ConfigFileParser extends CLIParser

    Permalink

    Configuration file based CLI parser.

  6. case class GNUArg(longName: String, value: Seq[String]) extends Argument with Product with Serializable

    Permalink

    GNU style argument.

    GNU style argument. Requirements are assured by the parser.

  7. case class GNUParser(format: Map[String, Map[String, String]]) extends StandardParser with Product with Serializable

    Permalink

    GNU Compliant argument parser.

  8. type Parser = (String) ⇒ Option[Map[String, String]]

    Permalink
  9. class StandardParser extends ConfigFileParser

    Permalink

    Standard parser.

  10. trait TestableMain extends AnyRef

    Permalink

    Provide a testable main interface: Read lines, process and output lines.

Value Members

  1. object Arg extends Serializable

    Permalink

    Companion object for Arg.

  2. object ConfCLIParser

    Permalink
  3. object GNUArg extends Serializable

    Permalink

    Companion object for GNUArg.

  4. object GNUParser extends Serializable

    Permalink

    Companion object for GNUParser.

  5. object Main extends CLIConfigTestableMain

    Permalink
  6. object ParserCombinator

    Permalink
  7. object ParserPrimitives

    Permalink

    New design of parsers:

    New design of parsers:

    1. KISS principle.

    1. Proof of concept stage.

    1. Parsers must be able to be combined to form more advanced parsers.

    1. In this case a parser is a String => Option[Map[String, String]].

    1. A parser can fail. Maybe Option[String] is a better approach.

    1. In this the types are:

    a. Empty line.

    b. Comment line (starts with a #).

    c. Sequence of non spaces terminated with ": " followed by a string.

  8. object StandardParser

    Permalink

    Companion object for StandardParser.

Inherited from AnyRef

Inherited from Any

Ungrouped