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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
|
!(function (n) {
function e(n, e) {
return RegExp(
n
.replace(/<MOD>/g, function () {
return '(?:\\([^|()\n]+\\)|\\[[^\\]\n]+\\]|\\{[^}\n]+\\})';
})
.replace(/<PAR>/g, function () {
return '(?:\\)|\\((?![^|()\n]+\\)))';
}),
e || ''
);
}
var i = {
css: { pattern: /\{[^{}]+\}/, inside: { rest: n.languages.css } },
'class-id': {
pattern: /(\()[^()]+(?=\))/,
lookbehind: !0,
alias: 'attr-value',
},
lang: {
pattern: /(\[)[^\[\]]+(?=\])/,
lookbehind: !0,
alias: 'attr-value',
},
punctuation: /[\\\/]\d+|\S/,
},
t = (n.languages.textile = n.languages.extend('markup', {
phrase: {
pattern: /(^|\r|\n)\S[\s\S]*?(?=$|\r?\n\r?\n|\r\r)/,
lookbehind: !0,
inside: {
'block-tag': {
pattern: e('^[a-z]\\w*(?:<MOD>|<PAR>|[<>=])*\\.'),
inside: {
modifier: {
pattern: e('(^[a-z]\\w*)(?:<MOD>|<PAR>|[<>=])+(?=\\.)'),
lookbehind: !0,
inside: i,
},
tag: /^[a-z]\w*/,
punctuation: /\.$/,
},
},
list: {
pattern: e('^[*#]+<MOD>*\\s+\\S.*', 'm'),
inside: {
modifier: {
pattern: e('(^[*#]+)<MOD>+'),
lookbehind: !0,
inside: i,
},
punctuation: /^[*#]+/,
},
},
table: {
pattern: e(
'^(?:(?:<MOD>|<PAR>|[<>=^~])+\\.\\s*)?(?:\\|(?:(?:<MOD>|<PAR>|[<>=^~_]|[\\\\/]\\d+)+\\.|(?!(?:<MOD>|<PAR>|[<>=^~_]|[\\\\/]\\d+)+\\.))[^|]*)+\\|',
'm'
),
inside: {
modifier: {
pattern: e(
'(^|\\|(?:\r?\n|\r)?)(?:<MOD>|<PAR>|[<>=^~_]|[\\\\/]\\d+)+(?=\\.)'
),
lookbehind: !0,
inside: i,
},
punctuation: /\||^\./,
},
},
inline: {
pattern: e(
'(^|[^a-zA-Z\\d])(\\*\\*|__|\\?\\?|[*_%@+\\-^~])<MOD>*.+?\\2(?![a-zA-Z\\d])'
),
lookbehind: !0,
inside: {
bold: {
pattern: e('(^(\\*\\*?)<MOD>*).+?(?=\\2)'),
lookbehind: !0,
},
italic: {
pattern: e('(^(__?)<MOD>*).+?(?=\\2)'),
lookbehind: !0,
},
cite: {
pattern: e('(^\\?\\?<MOD>*).+?(?=\\?\\?)'),
lookbehind: !0,
alias: 'string',
},
code: {
pattern: e('(^@<MOD>*).+?(?=@)'),
lookbehind: !0,
alias: 'keyword',
},
inserted: {
pattern: e('(^\\+<MOD>*).+?(?=\\+)'),
lookbehind: !0,
},
deleted: { pattern: e('(^-<MOD>*).+?(?=-)'), lookbehind: !0 },
span: { pattern: e('(^%<MOD>*).+?(?=%)'), lookbehind: !0 },
modifier: {
pattern: e('(^\\*\\*|__|\\?\\?|[*_%@+\\-^~])<MOD>+'),
lookbehind: !0,
inside: i,
},
punctuation: /[*_%?@+\-^~]+/,
},
},
'link-ref': {
pattern: /^\[[^\]]+\]\S+$/m,
inside: {
string: { pattern: /(^\[)[^\]]+(?=\])/, lookbehind: !0 },
url: { pattern: /(^\])\S+$/, lookbehind: !0 },
punctuation: /[\[\]]/,
},
},
link: {
pattern: e('"<MOD>*[^"]+":.+?(?=[^\\w/]?(?:\\s|$))'),
inside: {
text: { pattern: e('(^"<MOD>*)[^"]+(?=")'), lookbehind: !0 },
modifier: { pattern: e('(^")<MOD>+'), lookbehind: !0, inside: i },
url: { pattern: /(:).+/, lookbehind: !0 },
punctuation: /[":]/,
},
},
image: {
pattern: e(
'!(?:<MOD>|<PAR>|[<>=])*(?![<>=])[^!\\s()]+(?:\\([^)]+\\))?!(?::.+?(?=[^\\w/]?(?:\\s|$)))?'
),
inside: {
source: {
pattern: e(
'(^!(?:<MOD>|<PAR>|[<>=])*)(?![<>=])[^!\\s()]+(?:\\([^)]+\\))?(?=!)'
),
lookbehind: !0,
alias: 'url',
},
modifier: {
pattern: e('(^!)(?:<MOD>|<PAR>|[<>=])+'),
lookbehind: !0,
inside: i,
},
url: { pattern: /(:).+/, lookbehind: !0 },
punctuation: /[!:]/,
},
},
footnote: {
pattern: /\b\[\d+\]/,
alias: 'comment',
inside: { punctuation: /\[|\]/ },
},
acronym: {
pattern: /\b[A-Z\d]+\([^)]+\)/,
inside: {
comment: { pattern: /(\()[^()]+(?=\))/, lookbehind: !0 },
punctuation: /[()]/,
},
},
mark: {
pattern: /\b\((?:C|R|TM)\)/,
alias: 'comment',
inside: { punctuation: /[()]/ },
},
},
},
})),
a = t.phrase.inside,
o = {
inline: a.inline,
link: a.link,
image: a.image,
footnote: a.footnote,
acronym: a.acronym,
mark: a.mark,
};
t.tag.pattern =
/<\/?(?!\d)[a-z0-9]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/i;
var r = a.inline.inside;
(r.bold.inside = o),
(r.italic.inside = o),
(r.inserted.inside = o),
(r.deleted.inside = o),
(r.span.inside = o);
var d = a.table.inside;
(d.inline = o.inline),
(d.link = o.link),
(d.image = o.image),
(d.footnote = o.footnote),
(d.acronym = o.acronym),
(d.mark = o.mark);
})(Prism);
|