t

laika.parse.markup

DefaultRecursiveParsers

trait DefaultRecursiveParsers extends RecursiveParsers with DefaultRecursiveSpanParsers

Default implementation for parsing inline markup and blocks recursively.

Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DefaultRecursiveParsers
  2. DefaultRecursiveSpanParsers
  3. DefaultEscapedTextParsers
  4. RecursiveParsers
  5. RecursiveSpanParsers
  6. EscapedTextParsers
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. class RecursiveSpanParserDelegate extends RecursiveSpanParser
    Attributes
    protected
    Definition Classes
    DefaultRecursiveSpanParsers

Abstract Value Members

  1. abstract def blockList(p: ⇒ Parser[Block]): Parser[Seq[Block]]

    Builds a parser for a list of blocks based on the parser for a single block.

    Builds a parser for a list of blocks based on the parser for a single block.

    Attributes
    protected
  2. abstract def fallbackBlock: Parser[Block]

    Parses blocks, excluding blocks that allow nesting.

    Parses blocks, excluding blocks that allow nesting. Only used in rare cases when the maximum nest level allowed had been reached

    Attributes
    protected
  3. abstract def getSyntaxHighlighter(language: String): Option[RecursiveSpanParser]

    Provides the syntax highlighter for the specified language if present.

    Provides the syntax highlighter for the specified language if present.

    Definition Classes
    RecursiveSpanParsers
  4. abstract def nestedBlock: Parser[Block]

    Parses any kind of nested block supported by a concrete markup language.

    Parses any kind of nested block supported by a concrete markup language.

    Attributes
    protected
  5. abstract def paragraphInterruptions(position: BlockPosition = BlockPosition.Any): Parser[Block]

    Provides a test for the start of each line in plain paragraphs that indicates whether the line might be the start of a block that is allowed to interrupt paragraphs.

    Provides a test for the start of each line in plain paragraphs that indicates whether the line might be the start of a block that is allowed to interrupt paragraphs.

    Usually this is only supposed to be used by implementations of a base paragraph parser for a markup language, not by custom extensions.

    If the parser returned by this function succeeds the result is the block that interrupts the paragraph, if it fails normal paragraph parsing should resume.

    Definition Classes
    RecursiveParsers
  6. abstract def rootBlock: Parser[Block]

    Parses any kind of top-level block supported by a concrete markup language.

    Parses any kind of top-level block supported by a concrete markup language.

    Attributes
    protected
  7. abstract def spanParsers: Seq[PrefixedParser[Span]]

    All default span parsers registered for a host markup language.

    All default span parsers registered for a host markup language.

    Attributes
    protected
    Definition Classes
    DefaultRecursiveSpanParsers

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  6. lazy val defaultSpanParser: InlineParser[Span, List[Span]]
    Attributes
    protected
    Definition Classes
    DefaultRecursiveSpanParsers
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  9. lazy val escapeSequence: PrefixedParser[String]

    Parses an escape sequence (usually a backslash followed by a single char).

    Parses an escape sequence (usually a backslash followed by a single char). The characters allowed in an escape sequence might differ between markup languages, therefore custom parser implementations should use this parser as it is always configured correctly for the current host language.

    Definition Classes
    DefaultEscapedTextParsersEscapedTextParsers
  10. lazy val escapedChar: Parser[String]

    Parses a single escape character.

    Parses a single escape character. In the default implementation any character can be escaped. Sub-traits may override this parser to restrict the number of escapable characters.

    Definition Classes
    DefaultEscapedTextParsers
  11. def escapedText(p: DelimitedText): Parser[String]

    Adds support for escape sequences to the specified text parser.

    Adds support for escape sequences to the specified text parser.

    p

    the parser to add support for escape sequences to

    returns

    a parser for a text span that supports escape sequences

    Definition Classes
    DefaultEscapedTextParsersEscapedTextParsers
  12. def escapedUntil(char: Char, chars: Char*): Parser[String]

    Parses a span of text until one of the specified characters is seen (unless it is escaped), while also processing escaped characters, but no other nested spans.

    Parses a span of text until one of the specified characters is seen (unless it is escaped), while also processing escaped characters, but no other nested spans. The final character is not included in the result.

    Definition Classes
    DefaultEscapedTextParsersEscapedTextParsers
  13. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  15. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  16. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  17. val maxNestLevel: Int

    The maximum level of block nesting.

    The maximum level of block nesting. Some block types like lists and blockquotes contain nested blocks. To protect against malicious input or accidentally broken markup, the level of nesting is restricted.

  18. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  19. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  20. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  21. def recursiveBlocks: RecursiveBlockParser

    Parses the input into a sequence of blocks based on the available block types of the host markup language.

    Parses the input into a sequence of blocks based on the available block types of the host markup language.

    This parser always parses to the end of the input, therefore it is usually applied to the result of a previous parser invocation.

    Definition Classes
    DefaultRecursiveParsersRecursiveParsers
  22. def recursiveBlocks(p: Parser[BlockSource]): Parser[Seq[Block]]

    Lifts the specified text parser to parse the string result as a sequence of blocks.

    Lifts the specified text parser to parse the string result as a sequence of blocks.

    This type of span parser is usually used in block parsers, that support the nesting of other blocks.

    Definition Classes
    DefaultRecursiveParsersRecursiveParsers
  23. def recursiveSpans: RecursiveSpanParser

    Parses the input into a sequence of spans based on the available span types of the host markup language.

    Parses the input into a sequence of spans based on the available span types of the host markup language.

    This parser always parses to the end of the input, therefore it is usually applied to the result of a previous parser invocation.

    Definition Classes
    DefaultRecursiveSpanParsersRecursiveSpanParsers
  24. def recursiveSpans(parser: Parser[SourceFragment]): InlineParser[Span, List[Span]]

    Lifts the specified text parser to parse the string result as a sequence of spans.

    Lifts the specified text parser to parse the string result as a sequence of spans.

    This type of span parser is usually either used in block parsers, that need to process inline markup after the text for the block has been parsed from the input string or for inline parsers, that need to process inline markup for a span with a delimiter while supporting nested spans.

    In the latter case the passed parser is usually of type DelimitedText which is an optimized parser that parses text and recursive spans in one pass. For other kinds of parsers the resulting parser will be a two-pass parser.

    The returned parser allows to register parsers for child spans with its embed method for parsing types of child spans in addition to the available span types of the host markup language

    Definition Classes
    DefaultRecursiveSpanParsersRecursiveSpanParsers
  25. def recursiveSpans(p: DelimitedText): InlineParser[Span, List[Span]]

    Lifts the specified text parser to parse the string result as a sequence of spans.

    Lifts the specified text parser to parse the string result as a sequence of spans.

    This type of span parser is usually either used in block parsers, that need to process inline markup after the text for the block has been parsed from the input string or for inline parsers, that need to process inline markup for a span with a delimiter while supporting nested spans.

    In the latter case the passed parser is usually of type DelimitedText which is an optimized parser that parses text and recursive spans in one pass. For other kinds of parsers the resulting parser will be a two-pass parser.

    The returned parser allows to register parsers for child spans with its embed method for parsing types of child spans in addition to the available span types of the host markup language

    Definition Classes
    DefaultRecursiveSpanParsersRecursiveSpanParsers
  26. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  27. def toString(): String
    Definition Classes
    AnyRef → Any
  28. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  29. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  30. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()

Inherited from DefaultEscapedTextParsers

Inherited from RecursiveParsers

Inherited from RecursiveSpanParsers

Inherited from EscapedTextParsers

Inherited from AnyRef

Inherited from Any

Ungrouped