1 | (function (Prism) {
|
2 |
|
3 | Prism.languages.erb = Prism.languages.extend('ruby', {});
|
4 | Prism.languages.insertBefore('erb', 'comment', {
|
5 | 'delimiter': {
|
6 | pattern: /^<%=?|%>$/,
|
7 | alias: 'punctuation'
|
8 | }
|
9 | });
|
10 |
|
11 | Prism.hooks.add('before-tokenize', function(env) {
|
12 | var erbPattern = /<%=?(?:[^\r\n]|[\r\n](?!=begin)|[\r\n]=begin\s[\s\S]*?^=end)+?%>/gm;
|
13 | Prism.languages['markup-templating'].buildPlaceholders(env, 'erb', erbPattern);
|
14 | });
|
15 |
|
16 | Prism.hooks.add('after-tokenize', function(env) {
|
17 | Prism.languages['markup-templating'].tokenizePlaceholders(env, 'erb');
|
18 | });
|
19 |
|
20 | }(Prism));
|