DefaultParsers

sbt.internal.util.complete.DefaultParsers

Provides common Parser implementations and helper methods.

Attributes

Graph
Supertypes
trait ParserMain
trait Parsers
class Object
trait Matchable
class Any
Self type

Members list

Type members

Inherited classlikes

object ~

See unapply.

See unapply.

Attributes

Inherited from:
ParserMain
Supertypes
class Object
trait Matchable
class Any

Value members

Concrete methods

def matches(p: Parser[_], s: String): Boolean

Applies parser p to input s and returns true if the parse was successful.

Applies parser p to input s and returns true if the parse was successful.

Attributes

def validID(s: String): Boolean

Returns true if s parses successfully according to ID.

Returns true if s parses successfully according to ID.

Attributes

Inherited methods

def IDStart: Parser[Char]

Parses the first Char in an sbt identifier, which must be a Letter.

Parses the first Char in an sbt identifier, which must be a Letter.

Attributes

Inherited from:
Parsers
def Uri(ex: Set[URI]): Parser[URI]

Parses a URI that is valid according to the single argument java.net.URI constructor, using ex as tab completion examples.

Parses a URI that is valid according to the single argument java.net.URI constructor, using ex as tab completion examples.

Attributes

Inherited from:
Parsers
def alphanum(c: Char): Boolean

Returns true if c is an ASCII letter or digit.

Returns true if c is an ASCII letter or digit.

Attributes

Inherited from:
Parsers
def apply[T](p: Parser[T])(s: String): Parser[T]

Applies parser p to input s.

Applies parser p to input s.

Attributes

Inherited from:
ParserMain
def charClass(f: Char => Boolean, label: String): Parser[Char]

Defines a Parser that parses a single character only if the predicate f returns true for that character. If this parser fails, label is used as the failure message.

Defines a Parser that parses a single character only if the predicate f returns true for that character. If this parser fails, label is used as the failure message.

Attributes

Inherited from:
ParserMain
def chars(legal: String): Parser[Char]

Defines a Parser that parses a single character only if it is contained in legal.

Defines a Parser that parses a single character only if it is contained in legal.

Attributes

Inherited from:
ParserMain
def completions(p: Parser[_], s: String, level: Int): Completions

Applies parser p to input s and returns the completions at verbosity level. The interpretation of level is up to parser definitions, but 0 is the default by convention, with increasing positive numbers corresponding to increasing verbosity. Typically no more than a few levels are defined.

Applies parser p to input s and returns the completions at verbosity level. The interpretation of level is up to parser definitions, but 0 is the default by convention, with increasing positive numbers corresponding to increasing verbosity. Typically no more than a few levels are defined.

Attributes

Inherited from:
ParserMain
def derive1[T](p: Parser[T], c: Char): Parser[T]

Applies parser p to a single character of input.

Applies parser p to a single character of input.

Attributes

Inherited from:
ParserMain
def examples[A](a: Parser[A], completions: ExampleSource, maxNumberOfExamples: Int, removeInvalidExamples: Boolean): Parser[A]

Type parameters

A

the type of values that are returned by the parser.

Value parameters

a

the parser to decorate with a source of examples. All validation and parsing is delegated to this parser, only Parser.completions is modified.

completions

the source of examples when displaying completions to the user.

maxNumberOfExamples

limits the number of examples that the source of examples should return. This can prevent lengthy pauses and avoids bad interactive user experience.

removeInvalidExamples

indicates whether completion examples should be checked for validity (against the given parser). An exception is thrown if the example source contains no valid completion suggestions.

Attributes

Inherited from:
ParserMain
def examples[A](a: Parser[A], completions: Set[String], check: Boolean): Parser[A]

Attributes

Inherited from:
ParserMain
def failure(msg: => String, definitive: Boolean): Parser[Nothing]

Defines a parser that always fails on any input with message msg. If definitive is true, any failures by later alternatives are discarded.

Defines a parser that always fails on any input with message msg. If definitive is true, any failures by later alternatives are discarded.

Attributes

Inherited from:
ParserMain
def fileParser(base: File): Parser[File]

Value parameters

base

the directory used for completion proposals (when the user presses the TAB key). Only paths under this directory will be proposed.

Attributes

Returns

the file that was parsed from the input string. The returned path may or may not exist.

Inherited from:
Parsers
def flag[T](p: Parser[T]): Parser[Boolean]

Applies p and uses true as the result if it succeeds and turns failure into a result of false.

Applies p and uses true as the result if it succeeds and turns failure into a result of false.

Attributes

Inherited from:
Parsers
def homParser[A](a: Parser[A], b: Parser[A]): Parser[A]

Attributes

Inherited from:
ParserMain
def identifier(start: Parser[Char], rep: Parser[Char]): Parser[String]

Parses a String that starts with start and is followed by zero or more characters parsed by rep.

Parses a String that starts with start and is followed by zero or more characters parsed by rep.

Attributes

Inherited from:
Parsers
def invalid(msgs: => Seq[String], definitive: Boolean): Parser[Nothing]

Defines a parser that always fails on any input with messages msgs. If definitive is true, any failures by later alternatives are discarded.

Defines a parser that always fails on any input with messages msgs. If definitive is true, any failures by later alternatives are discarded.

Attributes

Inherited from:
ParserMain
def isDelimiter(c: Char): Boolean

Attributes

Inherited from:
Parsers
def isIDChar(c: Char): Boolean

Returns true if c is a dash -, a letter, digit, or an underscore _.

Returns true if c is a dash -, a letter, digit, or an underscore _.

Attributes

Inherited from:
Parsers
def isOpChar(c: Char): Boolean

Returns true if c an operator character.

Returns true if c an operator character.

Attributes

Inherited from:
Parsers
def isOpType(cat: Int): Boolean

Attributes

Inherited from:
Parsers
def isScalaIDChar(c: Char): Boolean

Returns true if c is a letter, digit, or an underscore _.

Returns true if c is a letter, digit, or an underscore _.

Attributes

Inherited from:
Parsers
def mapOrFail[S, T](p: Parser[S])(f: S => T): Parser[T]

Applies f to the result of p, transforming any exception when evaluating f into a parse failure with the exception toString as the message.

Applies f to the result of p, transforming any exception when evaluating f into a parse failure with the exception toString as the message.

Attributes

Inherited from:
Parsers
def matched(t: Parser[_], seen: Vector[Char], partial: Boolean): Parser[String]

Attributes

Inherited from:
ParserMain
def not(p: Parser[_], failMessage: String): Parser[Unit]

Attributes

Inherited from:
ParserMain
def oneOf[T](p: Seq[Parser[T]]): Parser[T]

Attributes

Inherited from:
ParserMain
def opOrIDSpaced(s: String): Parser[Char]

Attributes

Inherited from:
Parsers
def parse[T](str: String, parser: Parser[T]): Either[String, T]

Parses input str using parser. If successful, the result is provided wrapped in Right. If unsuccessful, an error message is provided in Left.

Parses input str using parser. If successful, the result is provided wrapped in Right. If unsuccessful, an error message is provided in Left.

Attributes

Inherited from:
ParserMain
def range(r: NumericRange[Char], label: String): Parser[Char]

Presents a Char range as a Parser. A single Char is parsed only if it is in the given range.

Presents a Char range as a Parser. A single Char is parsed only if it is in the given range.

Attributes

Inherited from:
ParserMain
def rep1sep[T](rep: Parser[T], sep: Parser[_]): Parser[Seq[T]]

Applies rep one or more times, separated by sep. The result is the non-empty sequence of results from the multiple rep applications. The sep results are discarded.

Applies rep one or more times, separated by sep. The result is the non-empty sequence of results from the multiple rep applications. The sep results are discarded.

Attributes

Inherited from:
Parsers
def repeatDep[A](p: Seq[A] => Parser[A], sep: Parser[Any]): Parser[Seq[A]]

Defines a sequence parser where the parser used for each part depends on the previously parsed values. p is applied to the (possibly empty) sequence of already parsed values to obtain the next parser to use. The parsers obtained in this way are separated by sep, whose result is discarded and only the sequence of values from the parsers returned by p is used for the result.

Defines a sequence parser where the parser used for each part depends on the previously parsed values. p is applied to the (possibly empty) sequence of already parsed values to obtain the next parser to use. The parsers obtained in this way are separated by sep, whose result is discarded and only the sequence of values from the parsers returned by p is used for the result.

Attributes

Inherited from:
Parsers
def repsep[T](rep: Parser[T], sep: Parser[_]): Parser[Seq[T]]

Applies rep zero or more times, separated by sep. The result is the (possibly empty) sequence of results from the multiple rep applications. The sep results are discarded.

Applies rep zero or more times, separated by sep. The result is the (possibly empty) sequence of results from the multiple rep applications. The sep results are discarded.

Attributes

Inherited from:
Parsers
def result[T](p: Parser[T], s: String): Either[() => (Seq[String], Int), T]

Attributes

Inherited from:
ParserMain
def sample(str: String, parser: Parser[_], completions: Boolean): Unit

Convenience method to use when developing a parser. parser is applied to the input str. If completions is true, the available completions for the input are displayed. Otherwise, the result of parsing is printed using the result's toString method. If parsing fails, the error message is displayed.

Convenience method to use when developing a parser. parser is applied to the input str. If completions is true, the available completions for the input are displayed. Otherwise, the result of parsing is printed using the result's toString method. If parsing fails, the error message is displayed.

See also sampleParse and sampleCompletions.

Attributes

Inherited from:
ParserMain
def sampleCompletions(str: String, parser: Parser[_], level: Int): Unit

Convenience method to use when developing a parser. parser is applied to the input str and the available completions are displayed on separate lines. If parsing fails, the error message is displayed.

Convenience method to use when developing a parser. parser is applied to the input str and the available completions are displayed on separate lines. If parsing fails, the error message is displayed.

Attributes

Inherited from:
ParserMain
def sampleParse(str: String, parser: Parser[_]): Unit

Convenience method to use when developing a parser. parser is applied to the input str and the result of parsing is printed using the result's toString method. If parsing fails, the error message is displayed.

Convenience method to use when developing a parser. parser is applied to the input str and the result of parsing is printed using the result's toString method. If parsing fails, the error message is displayed.

Attributes

Inherited from:
ParserMain
def seq[T](p: Seq[Parser[T]]): Parser[Seq[T]]

Attributes

Inherited from:
ParserMain
def seq0[T](p: Seq[Parser[T]], errors: => Seq[String]): Parser[Seq[T]]

Attributes

Inherited from:
ParserMain
def some[T](p: Parser[T]): Parser[Option[T]]

Wraps the result of p in Some.

Wraps the result of p in Some.

Attributes

Inherited from:
Parsers
def spaceDelimited(display: String): Parser[Seq[String]]

Parses a space-delimited, possibly empty sequence of arguments. The arguments may use quotes and escapes according to StringBasic.

Parses a space-delimited, possibly empty sequence of arguments. The arguments may use quotes and escapes according to StringBasic.

Attributes

Inherited from:
Parsers
def stringLiteral(s: String, start: Int): Parser[String]

Attributes

Inherited from:
ParserMain
def success[T](value: T): Parser[T]

Defines a parser that always succeeds on empty input with the result value.

Defines a parser that always succeeds on empty input with the result value.

Attributes

Inherited from:
ParserMain
def token[T](t: Parser[T], complete: TokenCompletions): Parser[T]

Attributes

Inherited from:
ParserMain
def token[T](t: Parser[T], description: String): Parser[T]

Establishes delegate parser t as a single token of tab completion. When tab completion of part of this token is requested, description is displayed for suggestions and no completions are ever performed.

Establishes delegate parser t as a single token of tab completion. When tab completion of part of this token is requested, description is displayed for suggestions and no completions are ever performed.

Attributes

Inherited from:
ParserMain
def token[T](t: Parser[T], hide: Int => Boolean): Parser[T]

Establishes delegate parser t as a single token of tab completion. When tab completion of part of this token is requested, no completions are returned if hide returns true for the current tab completion level. Otherwise, the completions provided by the delegate t or a later derivative are appended to the prefix String already seen by this parser.

Establishes delegate parser t as a single token of tab completion. When tab completion of part of this token is requested, no completions are returned if hide returns true for the current tab completion level. Otherwise, the completions provided by the delegate t or a later derivative are appended to the prefix String already seen by this parser.

Attributes

Inherited from:
ParserMain
def token[T](t: Parser[T]): Parser[T]

Establishes delegate parser t as a single token of tab completion. When tab completion of part of this token is requested, the completions provided by the delegate t or a later derivative are appended to the prefix String already seen by this parser.

Establishes delegate parser t as a single token of tab completion. When tab completion of part of this token is requested, the completions provided by the delegate t or a later derivative are appended to the prefix String already seen by this parser.

Attributes

Inherited from:
ParserMain
def tokenDisplay[T](t: Parser[T], display: String): Parser[T]

Establishes delegate parser t as a single token of tab completion. When tab completion of part of this token is requested, display is used as the printed suggestion, but the completions from the delegate parser t are used to complete if unambiguous.

Establishes delegate parser t as a single token of tab completion. When tab completion of part of this token is requested, display is used as the printed suggestion, but the completions from the delegate parser t are used to complete if unambiguous.

Attributes

Inherited from:
ParserMain
def trimmed(p: Parser[String]): Parser[String]

Applies String.trim to the result of p.

Applies String.trim to the result of p.

Attributes

Inherited from:
Parsers

Inherited fields

lazy val BackslashChar: Char

Backslash character.

Backslash character.

Attributes

Inherited from:
Parsers
lazy val Bool: Parser[Boolean]

Parses the lower-case values true and false into their corresponding Boolean values.

Parses the lower-case values true and false into their corresponding Boolean values.

Attributes

Inherited from:
Parsers
lazy val CapitalizedID: Parser[String]

Parses a non-symbolic Scala-like identifier. The identifier must start with Upper and contain zero or more ScalaIDChars after that.

Parses a non-symbolic Scala-like identifier. The identifier must start with Upper and contain zero or more ScalaIDChars after that.

Attributes

Inherited from:
Parsers
lazy val DQuoteChar: Char

Double quote character.

Double quote character.

Attributes

Inherited from:
Parsers
lazy val DQuoteClass: Parser[Char]

Matches a single double quote.

Matches a single double quote.

Attributes

Inherited from:
Parsers
lazy val Digit: Parser[Char]

Parses any single digit and provides that digit as a Char as the result.

Parses any single digit and provides that digit as a Char as the result.

Attributes

Inherited from:
Parsers
lazy val DigitSet: Set[String]

Set that contains each digit in a String representation.

Set that contains each digit in a String representation.

Attributes

Inherited from:
Parsers
lazy val EOF: Parser[Unit]

Matches the end of input, providing no useful result on success.

Matches the end of input, providing no useful result on success.

Attributes

Inherited from:
Parsers
lazy val EscapeSequence: Parser[Char]

Parses a single escape sequence into the represented Char. Escapes start with a backslash and are followed by u for a UnicodeEscape or by b, t, n, f, r, ", ', \ for standard escapes.

Parses a single escape sequence into the represented Char. Escapes start with a backslash and are followed by u for a UnicodeEscape or by b, t, n, f, r, ", ', \ for standard escapes.

Attributes

Inherited from:
Parsers
lazy val HexDigit: Parser[Char]

Parses a single hexadecimal digit (0-9, a-f, A-F).

Parses a single hexadecimal digit (0-9, a-f, A-F).

Attributes

Inherited from:
Parsers
lazy val HexDigitSet: Set[Char]

Set containing Chars for hexadecimal digits 0-9 and A-F (but not a-f).

Set containing Chars for hexadecimal digits 0-9 and A-F (but not a-f).

Attributes

Inherited from:
Parsers
lazy val ID: Parser[String]

Parses an identifier String, which must start with IDStart and contain zero or more IDChars after that.

Parses an identifier String, which must start with IDStart and contain zero or more IDChars after that.

Attributes

Inherited from:
Parsers
lazy val IDChar: Parser[Char]

Parses an identifier Char other than the first character. This includes letters, digits, dash -, and underscore _.

Parses an identifier Char other than the first character. This includes letters, digits, dash -, and underscore _.

Attributes

Inherited from:
Parsers
lazy val IntBasic: Parser[Int]

Parses a signed integer.

Parses a signed integer.

Attributes

Inherited from:
Parsers
lazy val Letter: Parser[Char]

Parses a single letter, according to Char.isLetter, into a Char.

Parses a single letter, according to Char.isLetter, into a Char.

Attributes

Inherited from:
Parsers
lazy val Lower: Parser[Char]

Parses a single letter, according to Char.isLower, into a Char.

Parses a single letter, according to Char.isLower, into a Char.

Attributes

Inherited from:
Parsers
lazy val NatBasic: Parser[Int]

Parses an unsigned integer.

Parses an unsigned integer.

Attributes

Inherited from:
Parsers

Matches any character except a double quote or backslash.

Matches any character except a double quote or backslash.

Attributes

Inherited from:
Parsers
lazy val NotDQuoteSpaceClass: Parser[Char]

Matches any character except a double quote or whitespace.

Matches any character except a double quote or whitespace.

Attributes

Inherited from:
Parsers
lazy val NotQuoted: Parser[String]

Parses an unquoted, non-empty String value that cannot start with a double quote and cannot contain whitespace.

Parses an unquoted, non-empty String value that cannot start with a double quote and cannot contain whitespace.

Attributes

Inherited from:
Parsers
lazy val NotQuotedThenQuoted: Parser[String]

Parses a non-empty String value that cannot start with a double quote, but includes double quotes.

Parses a non-empty String value that cannot start with a double quote, but includes double quotes.

Attributes

Inherited from:
Parsers
lazy val NotSpace: Parser[String]

Matches a non-empty String consisting of non-whitespace characters.

Matches a non-empty String consisting of non-whitespace characters.

Attributes

Inherited from:
Parsers
lazy val NotSpaceClass: Parser[Char]

Matches a single character that is not a whitespace character.

Matches a single character that is not a whitespace character.

Attributes

Inherited from:
Parsers
lazy val Op: Parser[String]

Parses a non-empty operator String, which consists only of characters allowed by OpChar.

Parses a non-empty operator String, which consists only of characters allowed by OpChar.

Attributes

Inherited from:
Parsers
lazy val OpChar: Parser[Char]

Parses a single operator Char, as allowed by isOpChar.

Parses a single operator Char, as allowed by isOpChar.

Attributes

Inherited from:
Parsers
lazy val OpOrID: Parser[String]

Parses either an operator String defined by Op or a non-symbolic identifier defined by ID.

Parses either an operator String defined by Op or a non-symbolic identifier defined by ID.

Attributes

Inherited from:
Parsers
lazy val OptNotSpace: Parser[String]

Matches a possibly empty String consisting of non-whitespace characters.

Matches a possibly empty String consisting of non-whitespace characters.

Attributes

Inherited from:
Parsers
lazy val OptSpace: Parser[Seq[Char]]

Matches a possibly empty String consisting of whitespace characters. The suggested tab completion is a single, constant space character.

Matches a possibly empty String consisting of whitespace characters. The suggested tab completion is a single, constant space character.

Attributes

Inherited from:
Parsers
lazy val Port: Parser[Int]

Parses a port number. Currently, this accepts any integer and presents a tab completion suggestion of <port>.

Parses a port number. Currently, this accepts any integer and presents a tab completion suggestion of <port>.

Attributes

Inherited from:
Parsers
lazy val ScalaID: Parser[String]

Parses a non-symbolic Scala-like identifier. The identifier must start with IDStart and contain zero or more ScalaIDChars after that.

Parses a non-symbolic Scala-like identifier. The identifier must start with IDStart and contain zero or more ScalaIDChars after that.

Attributes

Inherited from:
Parsers
lazy val ScalaIDChar: Parser[Char]

Parses a single, non-symbolic Scala identifier Char. Valid characters are letters, digits, and the underscore character _.

Parses a single, non-symbolic Scala identifier Char. Valid characters are letters, digits, and the underscore character _.

Attributes

Inherited from:
Parsers
lazy val Size: Parser[Long]

Parses a size unit string. For example, 128K parsers to 128L * 1024, and 1.25g parses to 1024L * 1024 * 1024 * 5 / 4.

Parses a size unit string. For example, 128K parsers to 128L * 1024, and 1.25g parses to 1024L * 1024 * 1024 * 5 / 4.

Attributes

Inherited from:
Parsers
lazy val Space: Parser[Seq[Char]]

Matches a non-empty String consisting of whitespace characters. The suggested tab completion is a single, constant space character.

Matches a non-empty String consisting of whitespace characters. The suggested tab completion is a single, constant space character.

Attributes

Inherited from:
Parsers
lazy val SpaceClass: Parser[Char]

Matches a single whitespace character, as determined by Char.isWhitespace.

Matches a single whitespace character, as determined by Char.isWhitespace.

Attributes

Inherited from:
Parsers
lazy val StringBasic: Parser[String]

Parses a potentially quoted String value. The value may be verbatim quoted (StringVerbatim), quoted with interpreted escapes (StringEscapable), or unquoted (NotQuoted).

Parses a potentially quoted String value. The value may be verbatim quoted (StringVerbatim), quoted with interpreted escapes (StringEscapable), or unquoted (NotQuoted).

Attributes

Inherited from:
Parsers
lazy val StringEscapable: Parser[String]

Parses a string value, interpreting escapes and discarding the surrounding quotes in the result. See EscapeSequence for supported escapes.

Parses a string value, interpreting escapes and discarding the surrounding quotes in the result. See EscapeSequence for supported escapes.

Attributes

Inherited from:
Parsers
lazy val StringVerbatim: Parser[String]

Parses a verbatim quoted String value, discarding the quotes in the result. This kind of quoted text starts with triple quotes """ and ends at the next triple quotes and may contain any character in between.

Parses a verbatim quoted String value, discarding the quotes in the result. This kind of quoted text starts with triple quotes """ and ends at the next triple quotes and may contain any character in between.

Attributes

Inherited from:
Parsers
lazy val URIChar: Parser[Char]

Matches a single character that is valid somewhere in a URI.

Matches a single character that is valid somewhere in a URI.

Attributes

Inherited from:
Parsers
lazy val URIClass: Parser[String]

Parses a non-empty String that contains only valid URI characters, as defined by URIChar.

Parses a non-empty String that contains only valid URI characters, as defined by URIChar.

Attributes

Inherited from:
Parsers
lazy val UnicodeEscape: Parser[Char]

Parses a single unicode escape sequence into the represented Char. A unicode escape begins with a backslash, followed by a u and 4 hexadecimal digits representing the unicode value.

Parses a single unicode escape sequence into the represented Char. A unicode escape begins with a backslash, followed by a u and 4 hexadecimal digits representing the unicode value.

Attributes

Inherited from:
Parsers
lazy val Upper: Parser[Char]

Parses a single letter, according to Char.isUpper, into a Char.

Parses a single letter, according to Char.isUpper, into a Char.

Attributes

Inherited from:
Parsers
lazy val VerbatimDQuotes: String

Triple-quotes, as used for verbatim quoting.

Triple-quotes, as used for verbatim quoting.

Attributes

Inherited from:
Parsers
lazy val any: Parser[Char]

Parses any single character and provides that character as the result.

Parses any single character and provides that character as the result.

Attributes

Inherited from:
Parsers
lazy val basicUri: Parser[URI]

Parses a URI that is valid according to the single argument java.net.URI constructor.

Parses a URI that is valid according to the single argument java.net.URI constructor.

Attributes

Inherited from:
Parsers

Extensions

Inherited extensions

extension (s: String)
def *(n: Int): String

Attributes

Inherited from:
ParserMain

Implicits

Inherited implicits

implicit def literal(s: String): Parser[String]

Presents a literal String s as a Parser that only parses that exact text and provides it as the result.

Presents a literal String s as a Parser that only parses that exact text and provides it as the result.

Attributes

Inherited from:
ParserMain
implicit def literal(ch: Char): Parser[Char]

Presents a single Char ch as a Parser that only parses that exact character.

Presents a single Char ch as a Parser that only parses that exact character.

Attributes

Inherited from:
ParserMain
implicit def literalRichCharParser(c: Char): RichParser[Char]

Attributes

Inherited from:
ParserMain
implicit def literalRichStringParser(s: String): RichParser[String]

Attributes

Inherited from:
ParserMain
implicit def range(r: NumericRange[Char]): Parser[Char]

Presents a Char range as a Parser. A single Char is parsed only if it is in the given range.

Presents a Char range as a Parser. A single Char is parsed only if it is in the given range.

Attributes

Inherited from:
ParserMain
implicit def richParser[A](a: Parser[A]): RichParser[A]

Provides combinators for Parsers.

Provides combinators for Parsers.

Attributes

Inherited from:
ParserMain