prettier-plugin-askama-temp.../src/jinja.ts
2023-05-07 14:30:29 +02:00

44 lines
775 B
TypeScript

export const Placeholder = {
startToken: "#~",
endToken: "~#",
};
export interface Node {
id: string;
type: "root" | "expression" | "statement" | "block" | "comment" | "ignore";
content: string;
preNewLines: number;
originalText: string;
index: number;
length: number;
nodes: { [id: string]: Node };
}
export interface Expression extends Node {
type: "expression";
delimiter: Delimiter;
}
export type Delimiter = "" | "-" | "+";
export interface Statement extends Node {
type: "statement";
keyword: string;
delimiter: Delimiter;
}
export interface Block extends Node {
type: "block";
start: Statement;
end: Statement;
containsNewLines: boolean;
}
export const nonClosingStatements = [
"else",
"elif",
"include",
"import",
"from",
"extends",
];