Abstracts the internal process of building up the result of an inline parser.
Abstracts the internal process of building up the result of an inline parser. Since some inline parser produce a tree of nested spans whereas others may only produce a text result, they often require the same logic in how they deal with nested constructs.
ResultBuilder that produces a list of spans.
ResultBuilder that produces a String.
Generic base parser that parses inline elements based on the specified helper parsers.
Generic base parser that parses inline elements based on the specified helper parsers. Usually not used directly by parser implementations, this is the base parser the other inline parsers of this trait delegate to.
the element type produced by a single parser for a nested span
the type of the result this parser produces
the parser for the text of the current span element
a mapping from the start character of a span to the corresponding parser for nested span elements
responsible for building the final result of this parser based on the results of the helper parsers
the resulting parser
Parses a list of spans based on the specified helper parsers.
Parses a list of spans based on the specified helper parsers.
the parser for the text of the current span element
a mapping from the start character of a span to the corresponding parser for nested span elements
the resulting parser
Parses text based on the specified helper parsers.
Parses text based on the specified helper parsers.
the parser for the text of the current element
a mapping from the start character of a span to the corresponding parser for nested span elements
the resulting parser
Provides base parsers that abstract aspects of inline parsing common to most lightweight markup languages.
It contains helper parsers that abstract the typical logic required for parsing nested spans. In many cases a parser has to recognize the end of the span as well as potentially the start of a nested span. These two concerns are usually unrelated.
This object offers helpers that simplify creating these types of parsers and also optimize performance of inline parsing. Due to the nature of lightweight text markup inline parsing would usually require trying a long list of choices on each input character, which is slow. These base parsers work based on mappings from the first character of an inline span to the corresponding full parser.