in packages/jinja/src/format.ts [66:92]
function formatStatement(node: Statement, depth: number, indentStr: string): string {
const pad = indentStr.repeat(depth);
switch (node.type) {
case "Program":
return formatStatements((node as Program).body, depth, indentStr);
case "If":
return formatIf(node as If, depth, indentStr);
case "For":
return formatFor(node as For, depth, indentStr);
case "Set":
return formatSet(node as SetStatement, depth, indentStr);
case "Macro":
return formatMacro(node as Macro, depth, indentStr);
case "Break":
return pad + createStatement("break");
case "Continue":
return pad + createStatement("continue");
case "CallStatement":
return formatCallStatement(node as CallStatement, depth, indentStr);
case "FilterStatement":
return formatFilterStatement(node as FilterStatement, depth, indentStr);
case "Comment":
return pad + "{# " + (node as Comment).value + " #}";
default:
return pad + "{{- " + formatExpression(node as Expression) + " -}}";
}
}