abstract class Luce::InlineSyntax

Overview

Represents one kind of markdown tag that can be parsed.

Direct Known Subclasses

Defined in:

luce/inline_parser.cr

Constructors

Instance Method Summary

Constructor Detail

def self.new(pattern : String, start_character : Int32 | Nil = nil) #

Creates a new InlineSyntax which matches text on pattern.

If start_character is passed, it is used as a pre-matching check which is faster than matching against pattern.


Instance Method Detail

def matches?(parser : InlineParser, start_match_pos : Int32 | Nil = nil) : Bool #

Tries to match at the parser's current position.

The parser's position can be overriden with start_match_pos. Return whether or not the pattern successfully matched.


abstract def on_match(parser : InlineParser, match : Regex::MatchData) : Bool #

Processes match, adding nodes to parser and possibly advancing parser.

Will return whether the caller should advance parser by match[0].size.


def pattern : Regex #