%PDF- %PDF-
Direktori : /lib/python3/dist-packages/markdown_it/ |
Current File : //lib/python3/dist-packages/markdown_it/parser_core.py |
""" * class Core * * Top-level rules executor. Glues block/inline parsers and does intermediate * transformations. """ from __future__ import annotations from typing import Callable from .ruler import Ruler from .rules_core import ( block, inline, linkify, normalize, replace, smartquotes, text_join, ) from .rules_core.state_core import StateCore RuleFuncCoreType = Callable[[StateCore], None] _rules: list[tuple[str, RuleFuncCoreType]] = [ ("normalize", normalize), ("block", block), ("inline", inline), ("linkify", linkify), ("replacements", replace), ("smartquotes", smartquotes), ("text_join", text_join), ] class ParserCore: def __init__(self) -> None: self.ruler = Ruler[RuleFuncCoreType]() for name, rule in _rules: self.ruler.push(name, rule) def process(self, state: StateCore) -> None: """Executes core chain rules.""" for rule in self.ruler.getRules(""): rule(state)