aboutsummaryrefslogtreecommitdiffstats
path: root/public/prism/prism-latte.min.js
diff options
context:
space:
mode:
Diffstat (limited to 'public/prism/prism-latte.min.js')
-rw-r--r--public/prism/prism-latte.min.js53
1 files changed, 53 insertions, 0 deletions
diff --git a/public/prism/prism-latte.min.js b/public/prism/prism-latte.min.js
new file mode 100644
index 0000000..2d5a735
--- /dev/null
+++ b/public/prism/prism-latte.min.js
@@ -0,0 +1,53 @@
+!(function (t) {
+ t.languages.latte = {
+ comment: /^\{\*[\s\S]*/,
+ 'latte-tag': {
+ pattern: /(^\{(?:\/(?=[a-z]))?)(?:[=_]|[a-z]\w*\b(?!\())/i,
+ lookbehind: !0,
+ alias: 'important',
+ },
+ delimiter: { pattern: /^\{\/?|\}$/, alias: 'punctuation' },
+ php: {
+ pattern: /\S(?:[\s\S]*\S)?/,
+ alias: 'language-php',
+ inside: t.languages.php,
+ },
+ };
+ var e = t.languages.extend('markup', {});
+ t.languages.insertBefore(
+ 'inside',
+ 'attr-value',
+ {
+ 'n-attr': {
+ pattern: /n:[\w-]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+))?/,
+ inside: {
+ 'attr-name': { pattern: /^[^\s=]+/, alias: 'important' },
+ 'attr-value': {
+ pattern: /=[\s\S]+/,
+ inside: {
+ punctuation: [
+ /^=/,
+ { pattern: /^(\s*)["']|["']$/, lookbehind: !0 },
+ ],
+ php: { pattern: /\S(?:[\s\S]*\S)?/, inside: t.languages.php },
+ },
+ },
+ },
+ },
+ },
+ e.tag
+ ),
+ t.hooks.add('before-tokenize', function (a) {
+ if ('latte' === a.language) {
+ t.languages['markup-templating'].buildPlaceholders(
+ a,
+ 'latte',
+ /\{\*[\s\S]*?\*\}|\{[^'"\s{}*](?:[^"'/{}]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|\/\*(?:[^*]|\*(?!\/))*\*\/)*\}/g
+ ),
+ (a.grammar = e);
+ }
+ }),
+ t.hooks.add('after-tokenize', function (a) {
+ t.languages['markup-templating'].tokenizePlaceholders(a, 'latte');
+ });
+})(Prism);