| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- 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
- }
- };
|