Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.11/site-packages/markdown_it/rules_block/code.py: 96%

Shortcuts on this page

r m x   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

23 statements  

1"""Code block (4 spaces padded).""" 

2 

3import logging 

4 

5from .state_block import StateBlock 

6 

7LOGGER = logging.getLogger(__name__) 

8 

9 

10def code(state: StateBlock, startLine: int, endLine: int, silent: bool) -> bool: 

11 LOGGER.debug("entering code: %s, %s, %s, %s", state, startLine, endLine, silent) 

12 

13 if not state.is_code_block(startLine): 

14 return False 

15 

16 last = nextLine = startLine + 1 

17 

18 while nextLine < endLine: 

19 if state.isEmpty(nextLine): 

20 nextLine += 1 

21 continue 

22 

23 if state.is_code_block(nextLine): 

24 nextLine += 1 

25 last = nextLine 

26 continue 

27 

28 break 

29 

30 state.line = last 

31 

32 token = state.push("code_block", "code", 0) 

33 token.content = state.getLines(startLine, last, 4 + state.blkIndent, False) + "\n" 

34 token.map = [startLine, state.line] 

35 

36 return True