OLD | NEW |
1 Prism.languages.rest = { | 1 Prism.languages.rest = { |
2 'table': [ | 2 'table': [ |
3 { | 3 { |
4 pattern: /(\s*)(?:\+[=-]+)+\+(?:\r?\n|\r)(?:\1(?:[+|].+)
+[+|](?:\r?\n|\r))+\1(?:\+[=-]+)+\+/, | 4 pattern: /(\s*)(?:\+[=-]+)+\+(?:\r?\n|\r)(?:\1(?:[+|].+)
+[+|](?:\r?\n|\r))+\1(?:\+[=-]+)+\+/, |
5 lookbehind: true, | 5 lookbehind: true, |
6 inside: { | 6 inside: { |
7 'punctuation': /\||(?:\+[=-]+)+\+/ | 7 'punctuation': /\||(?:\+[=-]+)+\+/ |
8 } | 8 } |
9 }, | 9 }, |
10 { | 10 { |
11 pattern: /(\s*)(?:=+ +)+=+((?:\r?\n|\r)\1.+)+(?:\r?\n|\r
)\1(?:=+ +)+=+(?=(?:\r?\n|\r){2}|\s*$)/, | 11 pattern: /(\s*)(?:=+ +)+=+((?:\r?\n|\r)\1.+)+(?:\r?\n|\r
)\1(?:=+ +)+=+(?=(?:\r?\n|\r){2}|\s*$)/, |
12 lookbehind: true, | 12 lookbehind: true, |
13 inside: { | 13 inside: { |
14 'punctuation': /[=-]+/ | 14 'punctuation': /[=-]+/ |
15 } | 15 } |
16 } | 16 } |
17 ], | 17 ], |
18 | 18 |
19 // Directive-like patterns | 19 // Directive-like patterns |
20 | 20 |
21 'substitution-def': { | 21 'substitution-def': { |
22 » » pattern: /(^\s*\.\. )\|(?:[^|\s]|[^|\s][^|]*[^|\s])\| [^:]+::/m, | 22 » » pattern: /(^\s*\.\. )\|(?:[^|\s](?:[^|]*[^|\s])?)\| [^:]+::/m, |
23 lookbehind: true, | 23 lookbehind: true, |
24 inside: { | 24 inside: { |
25 'substitution': { | 25 'substitution': { |
26 pattern: /^\|(?:[^|\s]|[^|\s][^|]*[^|\s])\|/, | 26 pattern: /^\|(?:[^|\s]|[^|\s][^|]*[^|\s])\|/, |
27 alias: 'attr-value', | 27 alias: 'attr-value', |
28 inside: { | 28 inside: { |
29 'punctuation': /^\||\|$/ | 29 'punctuation': /^\||\|$/ |
30 } | 30 } |
31 }, | 31 }, |
32 'directive': { | 32 'directive': { |
33 » » » » pattern: /( )[^:]+::/, | 33 » » » » pattern: /( +)[^:]+::/, |
34 lookbehind: true, | 34 lookbehind: true, |
35 alias: 'function', | 35 alias: 'function', |
36 inside: { | 36 inside: { |
37 'punctuation': /::$/ | 37 'punctuation': /::$/ |
38 } | 38 } |
39 } | 39 } |
40 } | 40 } |
41 }, | 41 }, |
42 'link-target': [ | 42 'link-target': [ |
43 { | 43 { |
44 pattern: /(^\s*\.\. )\[[^\]]+\]/m, | 44 pattern: /(^\s*\.\. )\[[^\]]+\]/m, |
45 lookbehind: true, | 45 lookbehind: true, |
46 alias: 'string', | 46 alias: 'string', |
47 inside: { | 47 inside: { |
48 'punctuation': /^\[|\]$/ | 48 'punctuation': /^\[|\]$/ |
49 } | 49 } |
50 }, | 50 }, |
51 { | 51 { |
52 » » » pattern: /(^\s*\.\. )_(?:`[^`]+`|(?:\\:|[^:])+):/m, | 52 » » » pattern: /(^\s*\.\. )_(?:`[^`]+`|(?:[^:\\]|\\.)+):/m, |
53 lookbehind: true, | 53 lookbehind: true, |
54 alias: 'string', | 54 alias: 'string', |
55 inside: { | 55 inside: { |
56 'punctuation': /^_|:$/ | 56 'punctuation': /^_|:$/ |
57 } | 57 } |
58 } | 58 } |
59 ], | 59 ], |
60 'directive': { | 60 'directive': { |
61 pattern: /(^\s*\.\. )[^:]+::/m, | 61 pattern: /(^\s*\.\. )[^:]+::/m, |
62 lookbehind: true, | 62 lookbehind: true, |
63 alias: 'function', | 63 alias: 'function', |
64 inside: { | 64 inside: { |
65 'punctuation': /::$/ | 65 'punctuation': /::$/ |
66 } | 66 } |
67 }, | 67 }, |
68 'comment': { | 68 'comment': { |
69 » » pattern: /(^\s*\.\.\s).*(?:(?:\r?\n|\r).*)*?(?=(?:\r?\n|\r){2}|$
)/m, | 69 » » // The two alternatives try to prevent highlighting of blank com
ments |
| 70 » » pattern: /(^\s*\.\.)(?:(?: .+)?(?:(?:\r?\n|\r).+)+| .+)(?=(?:\r?
\n|\r){2}|$)/m, |
70 lookbehind: true | 71 lookbehind: true |
71 }, | 72 }, |
72 | 73 |
73 'title': [ | 74 'title': [ |
74 // Overlined and underlined | 75 // Overlined and underlined |
75 { | 76 { |
76 » » » pattern: /^([!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~]{2,})
(?:\r?\n|\r).+(?:\r?\n|\r)\1$/m, | 77 » » » pattern: /^(([!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~])\2+
)(?:\r?\n|\r).+(?:\r?\n|\r)\1$/m, |
77 inside: { | 78 inside: { |
78 'punctuation': /^[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]
^_`{|}~]+|[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~]+$/, | 79 'punctuation': /^[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]
^_`{|}~]+|[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~]+$/, |
79 'important': /.+/ | 80 'important': /.+/ |
80 } | 81 } |
81 }, | 82 }, |
82 | 83 |
83 // Underlined only | 84 // Underlined only |
84 { | 85 { |
85 » » » pattern: /(^|(?:\r?\n|\r){2}).+(?:\r?\n|\r)[!"#$%&'()*+,
\-.\/:;<=>?@\[\\\]^_`{|}~]{2,}(?=\r?\n|\r|$)/, | 86 » » » pattern: /(^|(?:\r?\n|\r){2}).+(?:\r?\n|\r)([!"#$%&'()*+
,\-.\/:;<=>?@\[\\\]^_`{|}~])\2+(?=\r?\n|\r|$)/, |
86 lookbehind: true, | 87 lookbehind: true, |
87 inside: { | 88 inside: { |
88 'punctuation': /[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^
_`{|}~]+$/, | 89 'punctuation': /[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^
_`{|}~]+$/, |
89 'important': /.+/ | 90 'important': /.+/ |
90 } | 91 } |
91 } | 92 } |
92 ], | 93 ], |
93 'hr': { | 94 'hr': { |
94 » » pattern: /((?:\r?\n|\r){2})[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}
~]{4,}(?=(?:\r?\n|\r){2})/, | 95 » » pattern: /((?:\r?\n|\r){2})([!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|
}~])\2{3,}(?=(?:\r?\n|\r){2})/, |
95 » » lookbehind: true, | |
96 » » alias: 'punctuation' | |
97 » }, | |
98 » 'list-bullet': { | |
99 » » pattern: /(^\s*)(?:[*+\-•‣⁃]|\(?(?:\d+|[a-z]|[ivxdclm]+)\)|(?:\d
+|[a-z]|[ivxdclm]+)\.)(?= )/im, | |
100 lookbehind: true, | 96 lookbehind: true, |
101 alias: 'punctuation' | 97 alias: 'punctuation' |
102 }, | 98 }, |
103 'field': { | 99 'field': { |
104 » » pattern: /(^\s*):[^:]+:(?= )/m, | 100 » » pattern: /(^\s*):[^:\r\n]+:(?= )/m, |
105 lookbehind: true, | 101 lookbehind: true, |
106 alias: 'attr-name' | 102 alias: 'attr-name' |
107 }, | 103 }, |
108 'command-line-option': { | 104 'command-line-option': { |
109 » » pattern: /(^\s*)(?:[+-][a-z\d]|(?:\-\-|\/)[a-z\d-]+)(?:[ =](?:[a
-z][a-z\d_-]*|<[^<>]+>))?(?:, (?:[+-][a-z\d]|(?:\-\-|\/)[a-z\d-]+)(?:[ =](?:[a-z
][a-z\d_-]*|<[^<>]+>))?)*(?=(?:\r?\n|\r)? {2,}[\S])/im, | 105 » » pattern: /(^\s*)(?:[+-][a-z\d]|(?:\-\-|\/)[a-z\d-]+)(?:[ =](?:[a
-z][a-z\d_-]*|<[^<>]+>))?(?:, (?:[+-][a-z\d]|(?:\-\-|\/)[a-z\d-]+)(?:[ =](?:[a-z
][a-z\d_-]*|<[^<>]+>))?)*(?=(?:\r?\n|\r)? {2,}\S)/im, |
110 lookbehind: true, | 106 lookbehind: true, |
111 alias: 'symbol' | 107 alias: 'symbol' |
112 }, | 108 }, |
113 'literal-block': { | 109 'literal-block': { |
114 pattern: /::(?:\r?\n|\r){2}([ \t]+).+(?:(?:\r?\n|\r)\1.+)*/, | 110 pattern: /::(?:\r?\n|\r){2}([ \t]+).+(?:(?:\r?\n|\r)\1.+)*/, |
115 inside: { | 111 inside: { |
116 'literal-block-punctuation': { | 112 'literal-block-punctuation': { |
117 pattern: /^::/, | 113 pattern: /^::/, |
118 alias: 'punctuation' | 114 alias: 'punctuation' |
119 } | 115 } |
120 } | 116 } |
121 }, | 117 }, |
122 'quoted-literal-block': { | 118 'quoted-literal-block': { |
123 pattern: /::(?:\r?\n|\r){2}([!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|
}~]).*(?:(?:\r?\n|\r)\1.*)*/, | 119 pattern: /::(?:\r?\n|\r){2}([!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|
}~]).*(?:(?:\r?\n|\r)\1.*)*/, |
124 inside: { | 120 inside: { |
125 'literal-block-punctuation': { | 121 'literal-block-punctuation': { |
126 » » » » pattern: /^(?:::|[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]
^_`{|}~])/m, | 122 » » » » pattern: /^(?:::|([!"#$%&'()*+,\-.\/:;<=>?@\[\\\
]^_`{|}~])\1*)/m, |
127 alias: 'punctuation' | 123 alias: 'punctuation' |
128 } | 124 } |
129 } | 125 } |
130 }, | 126 }, |
| 127 'list-bullet': { |
| 128 pattern: /(^\s*)(?:[*+\-•‣⁃]|\(?(?:\d+|[a-z]|[ivxdclm]+)\)|(?:\d
+|[a-z]|[ivxdclm]+)\.)(?= )/im, |
| 129 lookbehind: true, |
| 130 alias: 'punctuation' |
| 131 }, |
131 'doctest-block': { | 132 'doctest-block': { |
132 pattern: /(^\s*)>>> .+(?:(?:\r?\n|\r).+)*/m, | 133 pattern: /(^\s*)>>> .+(?:(?:\r?\n|\r).+)*/m, |
133 lookbehind: true, | 134 lookbehind: true, |
134 inside: { | 135 inside: { |
135 'punctuation': /^>>>/ | 136 'punctuation': /^>>>/ |
136 } | 137 } |
137 }, | 138 }, |
138 | 139 |
139 'inline': [ | 140 'inline': [ |
140 { | 141 { |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
178 | 179 |
179 'link': [ | 180 'link': [ |
180 { | 181 { |
181 pattern: /\[[^\]]+\]_(?=[\s\-.,:;!?\\\/'")\]}]|$)/, | 182 pattern: /\[[^\]]+\]_(?=[\s\-.,:;!?\\\/'")\]}]|$)/, |
182 alias: 'string', | 183 alias: 'string', |
183 inside: { | 184 inside: { |
184 'punctuation': /^\[|\]_$/ | 185 'punctuation': /^\[|\]_$/ |
185 } | 186 } |
186 }, | 187 }, |
187 { | 188 { |
188 » » » pattern: /(?:\b[a-z\d](?:[_.:+]?[a-z\d]+)?_?_|`[^`]+`_?_
|_`[^`]+`)(?=[\s\-.,:;!?\\\/'")\]}]|$)/i, | 189 » » » pattern: /(?:\b[a-z\d](?:[_.:+]?[a-z\d]+)*_?_|`[^`]+`_?_
|_`[^`]+`)(?=[\s\-.,:;!?\\\/'")\]}]|$)/i, |
189 alias: 'string', | 190 alias: 'string', |
190 inside: { | 191 inside: { |
191 » » » » 'punctuation': /^_?`|`?_?_$/ | 192 » » » » 'punctuation': /^_?`|`$|`?_?_$/ |
192 } | 193 } |
193 } | 194 } |
194 ], | 195 ], |
195 | 196 |
196 // Line block start, | 197 // Line block start, |
197 // quote attribution, | 198 // quote attribution, |
198 // explicit markup start, | 199 // explicit markup start, |
199 // and anonymous hyperlink target shortcut (__) | 200 // and anonymous hyperlink target shortcut (__) |
200 'punctuation': { | 201 'punctuation': { |
201 pattern: /(^\s*)(?:\|(?= |$)|(?:---?|—|\.\.|__)(?= )|\.\.$)/m, | 202 pattern: /(^\s*)(?:\|(?= |$)|(?:---?|—|\.\.|__)(?= )|\.\.$)/m, |
202 lookbehind: true | 203 lookbehind: true |
203 } | 204 } |
204 }; | 205 }; |
OLD | NEW |