aboutsummaryrefslogtreecommitdiff
path: root/node_modules/prismjs/components/prism-twig.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/prismjs/components/prism-twig.js')
-rw-r--r--node_modules/prismjs/components/prism-twig.js46
1 files changed, 46 insertions, 0 deletions
diff --git a/node_modules/prismjs/components/prism-twig.js b/node_modules/prismjs/components/prism-twig.js
new file mode 100644
index 00000000..31415f2c
--- /dev/null
+++ b/node_modules/prismjs/components/prism-twig.js
@@ -0,0 +1,46 @@
+Prism.languages.twig = {
+ 'comment': /\{#[\s\S]*?#\}/,
+ 'tag': {
+ pattern: /\{\{[\s\S]*?\}\}|\{%[\s\S]*?%\}/,
+ inside: {
+ 'ld': {
+ pattern: /^(?:\{\{-?|\{%-?\s*\w+)/,
+ inside: {
+ 'punctuation': /^(?:\{\{|\{%)-?/,
+ 'keyword': /\w+/
+ }
+ },
+ 'rd': {
+ pattern: /-?(?:%\}|\}\})$/,
+ inside: {
+ 'punctuation': /.*/
+ }
+ },
+ 'string': {
+ pattern: /("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,
+ inside: {
+ 'punctuation': /^['"]|['"]$/
+ }
+ },
+ 'keyword': /\b(?:even|if|odd)\b/,
+ 'boolean': /\b(?:true|false|null)\b/,
+ 'number': /\b0x[\dA-Fa-f]+|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][-+]?\d+)?/,
+ 'operator': [
+ {
+ pattern: /(\s)(?:and|b-and|b-xor|b-or|ends with|in|is|matches|not|or|same as|starts with)(?=\s)/,
+ lookbehind: true
+ },
+ /[=<>]=?|!=|\*\*?|\/\/?|\?:?|[-+~%|]/
+ ],
+ 'property': /\b[a-zA-Z_]\w*\b/,
+ 'punctuation': /[()\[\]{}:.,]/
+ }
+ },
+
+ // The rest can be parsed as HTML
+ 'other': {
+ // We want non-blank matches
+ pattern: /\S(?:[\s\S]*\S)?/,
+ inside: Prism.languages.markup
+ }
+};