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

1""" 

2 * class Core 

3 * 

4 * Top-level rules executor. Glues block/inline parsers and does intermediate 

5 * transformations. 

6""" 

7from __future__ import annotations 

8 

9from .ruler import RuleFunc, Ruler 

10from .rules_core import block, inline, linkify, normalize, replace, smartquotes 

11from .rules_core.state_core import StateCore 

12 

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] 

21 

22 

23class ParserCore: 

24 def __init__(self): 

25 self.ruler = Ruler() 

26 for name, rule in _rules: 

27 self.ruler.push(name, rule) 

28 

29 def process(self, state: StateCore) -> None: 

30 """Executes core chain rules.""" 

31 for rule in self.ruler.getRules(""): 

32 rule(state)