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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
| /**
| * HTML patterns
| *
| * @author Craig Campbell
| * @version 1.0.9
| */
| Rainbow.extend('html', [
| {
| 'name': 'source.php.embedded',
| 'matches': {
| 2: {
| 'language': 'php'
| }
| },
| 'pattern': /<\?=?(?!xml)(php)?([\s\S]*?)(\?>)/gm
| },
| {
| 'name': 'source.css.embedded',
| 'matches': {
| 1: {
| 'matches': {
| 1: 'support.tag.style',
| 2: [
| {
| 'name': 'entity.tag.style',
| 'pattern': /^style/g
| },
| {
| 'name': 'string',
| 'pattern': /('|")(.*?)(\1)/g
| },
| {
| 'name': 'entity.tag.style.attribute',
| 'pattern': /(\w+)/g
| }
| ],
| 3: 'support.tag.style'
| },
| 'pattern': /(<\/?)(style.*?)(>)/g
| },
| 2: {
| 'language': 'css'
| },
| 3: 'support.tag.style',
| 4: 'entity.tag.style',
| 5: 'support.tag.style'
| },
| 'pattern': /(<style.*?>)([\s\S]*?)(<\/)(style)(>)/gm
| },
| {
| 'name': 'source.js.embedded',
| 'matches': {
| 1: {
| 'matches': {
| 1: 'support.tag.script',
| 2: [
| {
| 'name': 'entity.tag.script',
| 'pattern': /^script/g
| },
|
| {
| 'name': 'string',
| 'pattern': /('|")(.*?)(\1)/g
| },
| {
| 'name': 'entity.tag.script.attribute',
| 'pattern': /(\w+)/g
| }
| ],
| 3: 'support.tag.script'
| },
| 'pattern': /(<\/?)(script.*?)(>)/g
| },
| 2: {
| 'language': 'javascript'
| },
| 3: 'support.tag.script',
| 4: 'entity.tag.script',
| 5: 'support.tag.script'
| },
| 'pattern': /(<script(?! src).*?>)([\s\S]*?)(<\/)(script)(>)/gm
| },
| {
| 'name': 'comment.html',
| 'pattern': /<\!--[\S\s]*?-->/g
| },
| {
| 'matches': {
| 1: 'support.tag.open',
| 2: 'support.tag.close'
| },
| 'pattern': /(<)|(\/?\??>)/g
| },
| {
| 'name': 'support.tag',
| 'matches': {
| 1: 'support.tag',
| 2: 'support.tag.special',
| 3: 'support.tag-name'
| },
| 'pattern': /(<\??)(\/|\!?)(\w+)/g
| },
| {
| 'matches': {
| 1: 'support.attribute'
| },
| 'pattern': /([a-z-]+)(?=\=)/gi
| },
| {
| 'matches': {
| 1: 'support.operator',
| 2: 'string.quote',
| 3: 'string.value',
| 4: 'string.quote'
| },
| 'pattern': /(=)('|")(.*?)(\2)/g
| },
| {
| 'matches': {
| 1: 'support.operator',
| 2: 'support.value'
| },
| 'pattern': /(=)([a-zA-Z\-0-9]*)\b/g
| },
| {
| 'matches': {
| 1: 'support.attribute'
| },
| 'pattern': /\s(\w+)(?=\s|>)(?![\s\S]*<)/g
| }
| ], true);
|
|