"""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