trait InlineParsers extends BaseParsers
A parser for inline markdown, markdown escapes and XML escapes. This is used by the result classes of the block parsers to handle Markdown within a block.
- Alphabetic
- By Inheritance
- InlineParsers
- BaseParsers
- RegexParsers
- Parsers
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- type Elem = Char
- Definition Classes
- RegexParsers → Parsers
- case class Error extends NoSuccess with Product with Serializable
- Definition Classes
- Parsers
- case class Failure extends NoSuccess with Product with Serializable
- Definition Classes
- Parsers
- case class InlineContext(map: LinkMap, tags: VisitedTags) extends Product with Serializable
Keeps track of visited tags and provides a lookup for link ids.
- type Input = Reader[Elem]
- Definition Classes
- Parsers
- type LinkMap = Map[String, LinkDefinition]
Defines a lookup map for link definitions.
- sealed abstract class NoSuccess extends ParseResult[Nothing]
- Definition Classes
- Parsers
- trait OnceParser[+T] extends Parser[T]
- Definition Classes
- Parsers
- sealed abstract class ParseResult[+T] extends AnyRef
- Definition Classes
- Parsers
- abstract class Parser[+T] extends (Input) => ParseResult[T]
- Definition Classes
- Parsers
- case class Success[+T] extends ParseResult[T] with Product with Serializable
- Definition Classes
- Parsers
- type VisitedTags = Set[String]
A set of tags we have already created.
A set of tags we have already created. Used to prevent nesting a link in a link or an emphasis in an emphasis.
- case class ~[+a, +b] extends Product with Serializable
- Definition Classes
- Parsers
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def OnceParser[T](f: (Input) => ParseResult[T]): Parser[T] with OnceParser[T]
- Definition Classes
- Parsers
- def Parser[T](f: (Input) => ParseResult[T]): Parser[T]
- Definition Classes
- Parsers
- def aChar: Parser[String]
- Definition Classes
- BaseParsers
- def accept[U](expected: String, f: PartialFunction[Elem, U]): Parser[U]
- Definition Classes
- Parsers
- def accept[ES](es: ES)(implicit f: (ES) => List[Elem]): Parser[List[Elem]]
- Definition Classes
- Parsers
- implicit def accept(e: Elem): Parser[Elem]
- Definition Classes
- Parsers
- def acceptIf(p: (Elem) => Boolean)(err: (Elem) => String): Parser[Elem]
- Definition Classes
- Parsers
- def acceptMatch[S, T](f: PartialFunction[S, T])(p: Parser[S]): Parser[T]
Succeeds if the given parsers succeeds and the given function is defined at the parse result.
Succeeds if the given parsers succeeds and the given function is defined at the parse result. Returns the result of the method applied to the given parsers result.
- Definition Classes
- BaseParsers
- def acceptMatch[U](expected: String, f: PartialFunction[Elem, U]): Parser[U]
- Definition Classes
- Parsers
- def acceptSeq[ES](es: ES)(implicit f: (ES) => Iterable[Elem]): Parser[List[Elem]]
- Definition Classes
- Parsers
- def any: Parser[String]
Matches exactly one char, no matter which.
Matches exactly one char, no matter which. This differs from "elem" as it returns a string consisting of that char.
- Definition Classes
- BaseParsers
- def apply[T](p: Parser[T], in: String): T
Runs the given parser on the given input.
Runs the given parser on the given input. Expects the parser to succeed and consume all input. Throws an IllegalArgumentException if parsing failed.
- Definition Classes
- BaseParsers
- def applyInline(s: String, m: LinkMap): String
Runs the inline parser on the given input and returns the result
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- val br: Parser[String]
Parses two spaces at the end of a line to a manual break (
)Parses two spaces at the end of a line to a manual break (
) - def chainl1[T, U](first: => Parser[T], p: => Parser[U], q: => Parser[(T, U) => T]): Parser[T]
- Definition Classes
- Parsers
- def chainl1[T](p: => Parser[T], q: => Parser[(T, T) => T]): Parser[T]
- Definition Classes
- Parsers
- def chainr1[T, U](p: => Parser[T], q: => Parser[(T, U) => U], combine: (T, U) => U, first: U): Parser[U]
- Definition Classes
- Parsers
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- val code: Parser[String]
Parses an inline code element.
Parses an inline code element. An inline code element is surrounded by single backticks ("
") or double backticks (""). - def commit[T](p: => Parser[T]): Parser[T]
- Definition Classes
- Parsers
- def deco(): Decorator
Defines how the output is formatted and whether inline xml elements are allowed.
- val directImg: Parser[String]
An image with an explicit path.
- def elem(e: Elem): Parser[Elem]
- Definition Classes
- Parsers
- def elem(kind: String, p: (Elem) => Boolean): Parser[Elem]
- Definition Classes
- Parsers
- def elementParsers(ctx: InlineContext): Parser[String]
Hand rolled parser that parses a chunk of special inline markdown (like links or emphasis) based on a one char lookahead.
- def emAsterisk(ctx: InlineContext): Parser[String]
Parses emphasized text wrapped in asterisks: *foo*
- def emUnderscore(ctx: InlineContext): Parser[String]
Parses emphasized text wrapped in underscores: _foo_
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def err(msg: String): Parser[Nothing]
- Definition Classes
- Parsers
- def escapeFastForXml(c: Char): String
Either returns the XML escape sequence for the given char or null.
Either returns the XML escape sequence for the given char or null. This does not return Option[String] on purpose. While Option[String] would be a much cleaner solution, this is actually called so often that it is a noticeable difference if we use Option here.
- Definition Classes
- BaseParsers
- def escapeForXml(c: Char): String
Escapes the given char for XML.
Escapes the given char for XML. Returns Either the necessary XML escape Sequence or the same char in a String.
- Definition Classes
- BaseParsers
- def escapeXml(s: String): String
Escapes the given string so it it can be embedded in xml.
Escapes the given string so it it can be embedded in xml. Markdown escapes are not processed.
- def failure(msg: String): Parser[Nothing]
- Definition Classes
- Parsers
- def fastLink(ctx: InlineContext): Parser[String]
A shortcut markdown link of the form <http://example.com>
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- def fullLink(ctx: InlineContext): Parser[String]
A markdown link with the full url given.
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def guard[T](p: => Parser[T]): Parser[T]
- Definition Classes
- Parsers
- def handleWhiteSpace(source: CharSequence, offset: Int): Int
- Attributes
- protected
- Definition Classes
- RegexParsers
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def idReference(ctx: InlineContext): Parser[(String, LinkDefinition)]
Parses an id reference.
Parses an id reference. (Any text that is not a square bracket) Succeeds only if the parsed id is found in the given lookup. Returns the found link definition and the matched text.
- def img(ctx: InlineContext): Parser[String]
Parses either a referenced or a directly defined image.
- def inline(m: LinkMap): Parser[String]
Parser for inline markdown, always consumes all input, returns the resulting HTML.
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def link(ctx: InlineContext): Parser[String]
A link started by square brackets, either a reference or a a link with the full URL.
- def linkInline(ctx: InlineContext): Parser[String]
Inline markdown in a link.
Inline markdown in a link. Like normal inline stuff but stops when it reaches a closing square bracket.
- implicit def literal(s: String): Parser[String]
- Definition Classes
- RegexParsers
- def log[T](p: => Parser[T])(name: String): Parser[T]
- Definition Classes
- Parsers
- def lookbehind(cs: Set[Char]): Parser[Unit]
Looks if the preceding char was one of the given chars.
Looks if the preceding char was one of the given chars. Never consumes any input.
- Definition Classes
- BaseParsers
- def markdownText(special: Set[Char], markdownEscapes: Boolean): Parser[String]
Parses markdown text up to any of the chars defined in the given map.
Parses markdown text up to any of the chars defined in the given map. used to quickly escape any text between special inline markdown like emphasis.
- def mkList[T]: (~[T, List[T]]) => List[T]
- Definition Classes
- Parsers
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def nl: Parser[String]
Accepts a unix newline and returns a string containing a single newline.
Accepts a unix newline and returns a string containing a single newline.
- Definition Classes
- BaseParsers
- def not[T](p: => Parser[T]): Parser[Unit]
- Definition Classes
- Parsers
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def oneInline(ctx: InlineContext): Parser[String]
Parses a single inline token.
Parses a single inline token. Either a span element or a chunk of text.
- def oneOf(lookup: Map[Char, String]): Parser[String]
Matches one of the given char keys in the map.
Matches one of the given char keys in the map. Returns the string value for the matched char in the given map.
- Definition Classes
- BaseParsers
- def oneOf(lookup: Set[Char]): Parser[String]
Matches one of the chars in the given set.
Matches one of the chars in the given set. Returns a string with the matched char.
- Definition Classes
- BaseParsers
- def opt[T](p: => Parser[T]): Parser[Option[T]]
- Definition Classes
- Parsers
- def ows: Parser[String]
accepts zero or more spaces or tabs returns the matched whitespace
accepts zero or more spaces or tabs returns the matched whitespace
- Definition Classes
- BaseParsers
- def parse[T](p: Parser[T], in: Reader): ParseResult[T]
- Definition Classes
- RegexParsers
- def parse[T](p: Parser[T], in: CharSequence): ParseResult[T]
- Definition Classes
- RegexParsers
- def parse[T](p: Parser[T], in: Reader[Char]): ParseResult[T]
- Definition Classes
- RegexParsers
- def parseAll[T](p: Parser[T], in: CharSequence): ParseResult[T]
- Definition Classes
- RegexParsers
- def parseAll[T](p: Parser[T], in: Reader): ParseResult[T]
- Definition Classes
- RegexParsers
- def parseAll[T](p: Parser[T], in: Reader[Char]): ParseResult[T]
- Definition Classes
- RegexParsers
- def phrase[T](p: Parser[T]): Parser[T]
- Definition Classes
- RegexParsers → Parsers
- def positioned[T <: Positional](p: => Parser[T]): Parser[T]
- Definition Classes
- RegexParsers → Parsers
- def range(begin: Char, end: Char): Parser[Char]
Matches one char in the given range, returns the matched char.
Matches one char in the given range, returns the matched char.
- Definition Classes
- BaseParsers
- def ranges(rs: SortedMap[Char, Char]): Parser[Char]
- Definition Classes
- BaseParsers
- def ref(ctx: InlineContext): Parser[(LinkDefinition, String)]
A markdown reference of the form [text][id], [idText][] or [idText] Parser returns a tuple with the link definition first and the text to display second.
- def refImg(ctx: InlineContext): Parser[String]
Parses a referenced image.
- val refText: Parser[String]
Plaintext variant to refInline.
Plaintext variant to refInline. Escapable text until a square bracket is hit.
- def referenceLink(ctx: InlineContext): Parser[String]
A markdown link which references an url by id.
- implicit def regex(r: Regex): Parser[String]
- Definition Classes
- RegexParsers
- def rep[T](p: => Parser[T]): Parser[List[T]]
- Definition Classes
- Parsers
- def rep1[T](first: => Parser[T], p0: => Parser[T]): Parser[List[T]]
- Definition Classes
- Parsers
- Annotations
- @migration
- Migration
(Changed in version 2.9.0) The
p0call-by-name arguments is evaluated at most once per constructed Parser object, instead of on every need that arises during parsing.
- def rep1[T](p: => Parser[T]): Parser[List[T]]
- Definition Classes
- Parsers
- def rep1sep[T](p: => Parser[T], q: => Parser[Any]): Parser[List[T]]
- Definition Classes
- Parsers
- def repN[T](num: Int, p: => Parser[T]): Parser[List[T]]
- Definition Classes
- Parsers
- def repsep[T](p: => Parser[T], q: => Parser[Any]): Parser[List[T]]
- Definition Classes
- Parsers
- def rest: Parser[String]
Matches everything in the parsed string up to the end.
Matches everything in the parsed string up to the end. Also matches the empty String. Returns the matched String.
- Definition Classes
- BaseParsers
- def skipWhitespace: Boolean
Whitespace is sometimes important in markdown parsing, we handle it manually.
Whitespace is sometimes important in markdown parsing, we handle it manually. So this returns false.
- Definition Classes
- BaseParsers → RegexParsers
- def span(limiter: String, ctx: InlineContext): Parser[String]
Parses a span element like foo or *bar*
- def spanAsterisk(ctx: InlineContext): Parser[String]
Either an emphasis or a strong text wrapped in asterisks.
- def spanInline(end: Parser[Any], ctx: InlineContext): Parser[String]
Parses inline in a span element like bold or emphasis or link up until the given end marker
- def spanUnderscore(ctx: InlineContext): Parser[String]
Either an emphasis or strong text wrapped in underscores.
- val specialInlineChars: Set[Char]
Chars that may indicate the start of a special Markdown inline sequence.
- val specialLinkInlineChars: Set[Char]
Chars that may indicate the start of a special markdown inline sequence or the end of a link text.
- def strongAsterisk(ctx: InlineContext): Parser[String]
Parses strong text in asterisks: **foo**
- def strongUnderscore(ctx: InlineContext): Parser[String]
Parses strong text in underscores: foo
- def success[T](v: T): Parser[T]
- Definition Classes
- Parsers
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- val title: Parser[Option[String]]
A title is everything in quotation marks.
A title is everything in quotation marks. We allow even quotation marks in quotation marks. We look ahead if we hit the closing brace after the quotation marks to detect if the title ends or not.
- def toString(): String
- Definition Classes
- AnyRef → Any
- val url: Parser[String]
We parse everything as a link/img url until we hit whitespace or a closing brace.
- def verboseString(c: Char): String
Returns a verbose description of a char (printed char & hex code).
Returns a verbose description of a char (printed char & hex code). Used for debugging.
- Definition Classes
- BaseParsers
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- val whiteSpace: Regex
- Attributes
- protected
- Definition Classes
- RegexParsers
- def ws: Parser[String]
accepts one or more spaces or tabs returns the matched whitespace
accepts one or more spaces or tabs returns the matched whitespace
- Definition Classes
- BaseParsers
- def xmlAttr: Parser[String]
Parses an XML Attribute with simplified value handling like xmlAttrVal.
Parses an XML Attribute with simplified value handling like xmlAttrVal.
- Definition Classes
- BaseParsers
- def xmlAttrVal: Parser[String]
Parses a Simplified xml attribute: everything between quotes ("foo") everything between the quotes is run through the escape handling That way you can omit xml escaping when writing inline XML in markdown.
Parses a Simplified xml attribute: everything between quotes ("foo") everything between the quotes is run through the escape handling That way you can omit xml escaping when writing inline XML in markdown.
- Definition Classes
- BaseParsers
- def xmlEndTag: Parser[String]
Parses closing xml tags.
Parses closing xml tags.
- Definition Classes
- BaseParsers
- def xmlName: Parser[String]
Parses an XML name (tag or attribute name)
Parses an XML name (tag or attribute name)
- Definition Classes
- BaseParsers
- def xmlNameChar: Parser[Char]
Parses an XML name char according to W3C spec except that range #x10000 to #xEFFFF is excluded
Parses an XML name char according to W3C spec except that range #x10000 to #xEFFFF is excluded
- Definition Classes
- BaseParsers
- val xmlNameCharRanges: SortedMap[Char, Char]
- Definition Classes
- BaseParsers
- def xmlNameStartChar: Parser[Char]
Parser for one char that starts an XML name.
Parser for one char that starts an XML name. According to W3C specs except that range #x10000 to #xEFFFF is excluded (cannot be expressed by char literals)
- Definition Classes
- BaseParsers
- val xmlNameStartCharRanges: SortedMap[Char, Char]
- Definition Classes
- BaseParsers
- def xmlStartOrEmptyTag: Parser[String]
Parses an xml start or empty tag, attribute values are escaped.
Parses an xml start or empty tag, attribute values are escaped.
- Definition Classes
- BaseParsers
- val xmlTag: Parser[String]
Parses any xml tag and escapes attribute values.