UNPKG

@koha-community/prettier-plugin-template-toolkit

Version:

Prettier plugin for formatting Template::Toolkit templates.

50 lines (47 loc) 1.18 kB
import { regex } from "regex"; export default regex` (?<node> # Ignore block (?<ignoreBlock> (<!--\s*prettier-ignore-start\s*--> | \[%\#\s*prettier-ignore-start\s*%\]) \g<EVERYTHING> (<!--\s*prettier-ignore-end\s*--> | \[%\#\s*prettier-ignore-end\s*%\]) ) | # Comment (?<comment>\[%\s?\#\g<EVERYTHING>%\]) | # Statement \[% (?<startDelimiter>\g<DELIMITER>?)\s* (?<statement> (?<keyword>IF|ELSE|ELSIF|UNLESS|FOREACH|FOR|WHILE|FILTER|WRAPPER|MACRO|BLOCK|\w+\s?=\s?BLOCK|SWITCH|CASE|END) (?:\s+\g<ESCAPEQUOTES> | \g<ALLSYMBOLS>)*? ) \s*(?<endDelimiter>\g<DELIMITER>?) %\] | # Expression \[% (?<startDelimiterEx>\g<DELIMITER>?)\s* (?<expression>(?>\g<ESCAPEQUOTES> | \g<ALLSYMBOLS>)*?) \s*(?<endDelimiterEx>\g<DELIMITER>?) %\] | # Script Block (?<scriptBlock> (?<scriptOpeningTag><script(?:\s+[^>]*?)?>) (?<scriptContent>[\s\S]*?) (?<scriptClosingTag></script>) ) | # Style Block (?<styleBlock><style\g<EVERYTHING>>\g<EVERYTHING><\/style>\s*) ) (?(DEFINE) (?<EVERYTHING> \g<ALLSYMBOLS>*?) (?<ALLSYMBOLS> [\s\S]) (?<DELIMITER> [\-~]) (?<ESCAPEQUOTES> '[^']*'|"[^"]*") ) `;