diff options
Diffstat (limited to 'node_modules/prismjs/components/prism-velocity.js')
| -rw-r--r-- | node_modules/prismjs/components/prism-velocity.js | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/node_modules/prismjs/components/prism-velocity.js b/node_modules/prismjs/components/prism-velocity.js new file mode 100644 index 00000000..d2bbe053 --- /dev/null +++ b/node_modules/prismjs/components/prism-velocity.js @@ -0,0 +1,72 @@ +(function (Prism) { + Prism.languages.velocity = Prism.languages.extend('markup', {}); + + var velocity = { + 'variable': { + pattern: /(^|[^\\](?:\\\\)*)\$!?(?:[a-z][\w-]*(?:\([^)]*\))?(?:\.[a-z][\w-]*(?:\([^)]*\))?|\[[^\]]+])*|{[^}]+})/i, + lookbehind: true, + inside: {} // See below + }, + 'string': { + pattern: /"[^"]*"|'[^']*'/, + greedy: true + }, + 'number': /\b\d+\b/, + 'boolean': /\b(?:true|false)\b/, + 'operator': /[=!<>]=?|[+*/%-]|&&|\|\||\.\.|\b(?:eq|g[et]|l[et]|n(?:e|ot))\b/, + 'punctuation': /[(){}[\]:,.]/ + }; + + velocity.variable.inside = { + 'string': velocity['string'], + 'function': { + pattern: /([^\w-])[a-z][\w-]*(?=\()/, + lookbehind: true + }, + 'number': velocity['number'], + 'boolean': velocity['boolean'], + 'punctuation': velocity['punctuation'] + }; + + Prism.languages.insertBefore('velocity', 'comment', { + 'unparsed': { + pattern: /(^|[^\\])#\[\[[\s\S]*?]]#/, + lookbehind: true, + greedy: true, + inside: { + 'punctuation': /^#\[\[|]]#$/ + } + }, + 'velocity-comment': [ + { + pattern: /(^|[^\\])#\*[\s\S]*?\*#/, + lookbehind: true, + greedy: true, + alias: 'comment' + }, + { + pattern: /(^|[^\\])##.*/, + lookbehind: true, + greedy: true, + alias: 'comment' + } + ], + 'directive': { + pattern: /(^|[^\\](?:\\\\)*)#@?(?:[a-z][\w-]*|{[a-z][\w-]*})(?:\s*\((?:[^()]|\([^()]*\))*\))?/i, + lookbehind: true, + inside: { + keyword: { + pattern: /^#@?(?:[a-z][\w-]*|{[a-z][\w-]*})|\bin\b/, + inside: { + 'punctuation': /[{}]/ + } + }, + rest: velocity + } + }, + 'variable': velocity['variable'] + }); + + Prism.languages.velocity['tag'].inside['attr-value'].inside.rest = Prism.languages.velocity; + +}(Prism));
\ No newline at end of file |
