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
- All
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 arg0: (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 arg0: (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[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
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: Any): 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[java.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[_]
- Definition Classes
- AnyRef → Any
-
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
-
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
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
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
p0
call-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( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
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.