INNER CODE UNIT · Python

BloqueCodigo

Hainrixz/whatsapp-agentkit · scripts/audit.py:191

class BloqueCodigo:
    lenguaje: str
    codigo: str
    linea_apertura: int   # linea (1-based) donde esta la ``` de apertura
    linea_inicio: int     # linea (1-based) de la primera linea de codigo


ABRE_FENCE = re.compile(r"^(?P<indent>\s*)```(?P<lang>[A-Za-z0-9_+-]*)\s*$")
CIERRA_FENCE = re.compile(r"^\s*```\s*$")


def extraer_bloques(markdown: str, lenguaje: str) -> list[BloqueCodigo]:
    """
    Extrae los bloques ```<lenguaje> de un markdown, conservando el numero de
    linea REAL dentro del archivo (no la linea relativa al bloque).

    Maneja fences indentados (los que estan dentro de una lista numerada) y
    les quita la indentacion comun para que el contenido compile igual.

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…