OLD | NEW |
1 Prism.languages.twig = { | 1 Prism.languages.twig = { |
2 'comment': /\{#[\s\S]*?#\}/, | 2 'comment': /\{#[\s\S]*?#\}/, |
3 'tag': { | 3 'tag': { |
4 » » pattern: /(\{\{[\s\S]*?\}\}|\{%[\s\S]*?%\})/, | 4 » » pattern: /\{\{[\s\S]*?\}\}|\{%[\s\S]*?%\}/, |
5 inside: { | 5 inside: { |
6 'ld': { | 6 'ld': { |
7 » » » » pattern: /^(\{\{\-?|\{%\-?\s*\w+)/, | 7 » » » » pattern: /^(?:\{\{\-?|\{%\-?\s*\w+)/, |
8 inside: { | 8 inside: { |
9 » » » » » 'punctuation': /^(\{\{|\{%)\-?/, | 9 » » » » » 'punctuation': /^(?:\{\{|\{%)\-?/, |
10 'keyword': /\w+/ | 10 'keyword': /\w+/ |
11 } | 11 } |
12 }, | 12 }, |
13 'rd': { | 13 'rd': { |
14 » » » » pattern: /\-?(%\}|\}\})$/, | 14 » » » » pattern: /\-?(?:%\}|\}\})$/, |
15 inside: { | 15 inside: { |
16 'punctuation': /.*/ | 16 'punctuation': /.*/ |
17 } | 17 } |
18 }, | 18 }, |
19 'string': { | 19 'string': { |
20 » » » » pattern: /("|')(\\?.)*?\1/, | 20 » » » » pattern: /("|')(?:\\?.)*?\1/, |
21 inside: { | 21 inside: { |
22 » » » » » 'punctuation': /^('|")|('|")$/ | 22 » » » » » 'punctuation': /^['"]|['"]$/ |
23 } | 23 } |
24 }, | 24 }, |
25 » » » 'keyword': /\b(if)\b/, | 25 » » » 'keyword': /\b(?:even|if|odd)\b/, |
26 » » » 'boolean': /\b(true|false|null)\b/, | 26 » » » 'boolean': /\b(?:true|false|null)\b/, |
27 » » » 'number': /\b-?(0x[\dA-Fa-f]+|\d*\.?\d+([Ee]-?\d+)?)\b/, | 27 » » » 'number': /\b-?(?:0x[\dA-Fa-f]+|\d*\.?\d+([Ee][-+]?\d+)?
)\b/, |
28 » » » 'operator': /==|=|!=|<|>|>=|<=|\+|\-|~|\*|\/|\/\/|%|\*\*
|\|/, | 28 » » » 'operator': [ |
29 » » » 'space-operator': { | 29 » » » » { |
30 » » » » pattern: /(\s)(\b(not|b\-and|b\-xor|b\-or|and|or
|in|matches|starts with|ends with|is)\b|\?|:|\?:)(?=\s)/, | 30 » » » » » pattern: /(\s)(?:and|b\-and|b\-xor|b\-or
|ends with|in|is|matches|not|or|same as|starts with)(?=\s)/, |
31 » » » » lookbehind: true, | 31 » » » » » lookbehind: true |
32 » » » » inside: { | 32 » » » » }, |
33 » » » » » 'operator': /.*/ | 33 » » » » /[=<>]=?|!=|\*\*?|\/\/?|\?:?|[-+~%|]/ |
34 » » » » } | 34 » » » ], |
35 » » » }, | |
36 'property': /\b[a-zA-Z_][a-zA-Z0-9_]*\b/, | 35 'property': /\b[a-zA-Z_][a-zA-Z0-9_]*\b/, |
37 » » » 'punctuation': /\(|\)|\[\]|\[|\]|\{|\}|:|\.|,/ | 36 » » » 'punctuation': /[()\[\]{}:.,]/ |
38 } | 37 } |
39 }, | 38 }, |
40 | 39 |
41 // The rest can be parsed as HTML | 40 // The rest can be parsed as HTML |
42 'other': { | 41 'other': { |
43 » » pattern: /[\s\S]*/, | 42 » » // We want non-blank matches |
| 43 » » pattern: /\S(?:[\s\S]*\S)?/, |
44 inside: Prism.languages.markup | 44 inside: Prism.languages.markup |
45 } | 45 } |
46 }; | 46 }; |
OLD | NEW |