Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.8/site-packages/markdown_it/parser_core.py: 100%
13 statements
« prev ^ index » next coverage.py v7.2.7, created at 2023-06-07 06:07 +0000
« prev ^ index » next coverage.py v7.2.7, created at 2023-06-07 06:07 +0000
1"""
2 * class Core
3 *
4 * Top-level rules executor. Glues block/inline parsers and does intermediate
5 * transformations.
6"""
7from __future__ import annotations
9from .ruler import RuleFunc, Ruler
10from .rules_core import block, inline, linkify, normalize, replace, smartquotes
11from .rules_core.state_core import StateCore
13_rules: list[tuple[str, RuleFunc]] = [
14 ("normalize", normalize),
15 ("block", block),
16 ("inline", inline),
17 ("linkify", linkify),
18 ("replacements", replace),
19 ("smartquotes", smartquotes),
20]
23class ParserCore:
24 def __init__(self):
25 self.ruler = Ruler()
26 for name, rule in _rules:
27 self.ruler.push(name, rule)
29 def process(self, state: StateCore) -> None:
30 """Executes core chain rules."""
31 for rule in self.ruler.getRules(""):
32 rule(state)