Baixe o aplicativo
Escolha uma pasta e peça ao assistente que leia os arquivos relevantes antes de editá-los. Defina o objetivo e os limites da tarefa.
Extraia blocos de três crases na coluna zero de textos de até 4096 caracteres com rótulo ASCII de linguagem opcional. Teste blocos vazios e quebras normalizadas, rejeite blocos sem fechamento e deixe outras formas Markdown sem interpretação nem execução.
Escolha uma pasta e peça ao assistente que leia os arquivos relevantes antes de editá-los. Defina o objetivo e os limites da tarefa.
Escolha um endpoint compatível. As ferramentas disponíveis e a qualidade das respostas dependem do modelo e do servidor configurados.
Confira as alterações e a saída dos comandos. Execute as verificações do projeto antes de aceitar o resultado; código gerado não vem automaticamente testado.
Compare o comportamento real com o resultado esperado. Se uma verificação falhar, investigue a causa antes de fazer outras alterações.
import re
def fenced_blocks(text):
if type(text) is not str or len(text) > 4096:
raise ValueError("fence.input")
blocks, body, language = [], None, None
for line in text.splitlines():
if body is None:
opening = re.fullmatch(r"```([A-Za-z0-9_-]*)", line)
if opening:
body, language = [], opening[1]
elif line == "```":
blocks.append((language, "\n".join(body)))
body = None
else:
body.append(line)
if body is not None:
raise ValueError("fence.unclosed")
return blocks
Revise antes de aplicar. Confira as alterações e a saída dos comandos. Execute as verificações do projeto antes de aceitar o resultado; código gerado não vem automaticamente testado.