1234567891011121314151617181920212223242526272829303132333435 |
- """Code block (4 spaces padded)."""
- import logging
- from .state_block import StateBlock
- LOGGER = logging.getLogger(__name__)
- def code(state: StateBlock, startLine: int, endLine: int, silent: bool) -> bool:
- LOGGER.debug("entering code: %s, %s, %s, %s", state, startLine, endLine, silent)
- if not state.is_code_block(startLine):
- return False
- last = nextLine = startLine + 1
- while nextLine < endLine:
- if state.isEmpty(nextLine):
- nextLine += 1
- continue
- if state.is_code_block(nextLine):
- nextLine += 1
- last = nextLine
- continue
- break
- state.line = last
- token = state.push("code_block", "code", 0)
- token.content = state.getLines(startLine, last, 4 + state.blkIndent, False) + "\n"
- token.map = [startLine, state.line]
- return True
|