aboutsummaryrefslogtreecommitdiff
path: root/node_modules/prismjs/components/prism-velocity.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/prismjs/components/prism-velocity.js')
-rw-r--r--node_modules/prismjs/components/prism-velocity.js72
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