"""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 = False):
LOGGER.debug("entering code: %s, %s, %s, %s", state, startLine, endLine, silent)
if state.sCount[startLine] - state.blkIndent < 4:
return False
last = nextLine = startLine + 1
while nextLine < endLine:
if state.isEmpty(nextLine):
nextLine += 1
continue
if state.sCount[nextLine] - state.blkIndent >= 4:
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, True)
token.map = [startLine, state.line]
return True