prettier-plugin-jinja-template
Version:
Prettier plugin for formatting jinja templates.
33 lines (28 loc) • 695 B
text/typescript
import { Node } from "./jinja";
import { parse } from "./parser";
import { print, embed, getVisitorKeys } from "./printer";
import { Parser, Printer, SupportLanguage } from "prettier";
const PLUGIN_KEY = "jinja-template";
export const languages: SupportLanguage[] = [
{
name: "JinjaTemplate",
parsers: [PLUGIN_KEY],
extensions: [".jinja", ".jinja2", ".j2", ".html"],
vscodeLanguageIds: ["jinja"],
},
];
export const parsers = {
[PLUGIN_KEY]: <Parser<Node>>{
astFormat: PLUGIN_KEY,
parse,
locStart: (node) => node.index,
locEnd: (node) => node.index + node.length,
},
};
export const printers = {
[PLUGIN_KEY]: <Printer<Node>>{
print,
embed,
getVisitorKeys,
},
};