-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
51 lines (51 loc) · 1.12 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
Prism.languages.twig2 = {
comment: /(<!--[\s\S]*?-->)|({#[\s\S]*?#})/,
prolog: /<\?[\s\S]+?\?>/,
doctype: /<!DOCTYPE[\s\S]+?>/i,
cdata: /<!\[CDATA\[[\s\S]*?]]>/i,
tag: {
pattern: /(<[a-zA-Z]+\s[\w="-{}\s\v|]*?>|<\/.*?>)/,
inside: {
'attr-name': {
pattern: /[\w-_]*?=/,
inside: {
punctuation: /=/,
},
},
'attr-value': {
pattern: /('|").*?('|")/,
inside: {
punctuation: /("|')/,
twigVariable: {
pattern: /{{.*?}}/,
inside: {
punctuation: /[^\w\s]+/,
},
},
},
},
},
},
twigVariable: {
pattern: /{{.*?}}/,
inside: {
punctuation: /[^\w\s]+/,
},
},
twigTag: {
pattern: /{%.*%}/,
inside: {
twigKeywords: /(in|with|only|as|is|and|\sor|not|b-and|b-or|b-xor|starts|ends|matches)\s/,
twigTagName: {
pattern: /({%\s*)\w+/,
lookbehind: true,
},
twigFunction: /\w+(?=\()/,
twigFilter: {
pattern: /(\|{1,1})\w+/,
lookbehind: true,
},
punctuation: /[^\w\s]+/,
},
},
};