Skip to content

Commit 86aa3d2

Browse files
committed
Revert #998 + run normalize-whitespace and remove-initial-line-feed plugins in the before-sanity-check hook. Fix #1018 (see issue for discussion)
1 parent f138f8f commit 86aa3d2

10 files changed

+34
-7
lines changed

components/prism-handlebars.js

+9
Original file line numberDiff line numberDiff line change
@@ -49,13 +49,22 @@
4949

5050
env.tokenStack = [];
5151

52+
env.backupCode = env.code;
5253
env.code = env.code.replace(handlebars_pattern, function(match) {
5354
env.tokenStack.push(match);
5455

5556
return '___HANDLEBARS' + env.tokenStack.length + '___';
5657
});
5758
});
5859

60+
// Restore env.code for other plugins (e.g. line-numbers)
61+
Prism.hooks.add('before-insert', function(env) {
62+
if (env.language === 'handlebars') {
63+
env.code = env.backupCode;
64+
delete env.backupCode;
65+
}
66+
});
67+
5968
// Re-insert the tokens after highlighting
6069
// and highlight them with defined grammar
6170
Prism.hooks.add('after-highlight', function(env) {

components/prism-handlebars.min.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

components/prism-php.js

+9
Original file line numberDiff line numberDiff line change
@@ -63,13 +63,22 @@ if (Prism.languages.markup) {
6363

6464
env.tokenStack = [];
6565

66+
env.backupCode = env.code;
6667
env.code = env.code.replace(/(?:<\?php|<\?)[\w\W]*?(?:\?>)/ig, function(match) {
6768
env.tokenStack.push(match);
6869

6970
return '{{{PHP' + env.tokenStack.length + '}}}';
7071
});
7172
});
7273

74+
// Restore env.code for other plugins (e.g. line-numbers)
75+
Prism.hooks.add('before-insert', function(env) {
76+
if (env.language === 'php') {
77+
env.code = env.backupCode;
78+
delete env.backupCode;
79+
}
80+
});
81+
7382
// Re-insert the tokens after highlighting
7483
Prism.hooks.add('after-highlight', function(env) {
7584
if (env.language !== 'php') {

components/prism-php.min.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

components/prism-smarty.js

+9
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@
8181

8282
env.tokenStack = [];
8383

84+
env.backupCode = env.code;
8485
env.code = env.code.replace(smarty_pattern, function(match) {
8586

8687
// Smarty tags inside {literal} block are ignored
@@ -100,6 +101,14 @@
100101
});
101102
});
102103

104+
// Restore env.code for other plugins (e.g. line-numbers)
105+
Prism.hooks.add('before-insert', function(env) {
106+
if (env.language === 'smarty') {
107+
env.code = env.backupCode;
108+
delete env.backupCode;
109+
}
110+
});
111+
103112
// Re-insert the tokens after highlighting
104113
// and highlight them with defined grammar
105114
Prism.hooks.add('after-highlight', function(env) {

components/prism-smarty.min.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

plugins/normalize-whitespace/prism-normalize-whitespace.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ Prism.plugins.NormalizeWhitespace = new NormalizeWhitespace({
126126
'spaces-to-tabs': 4*/
127127
});
128128

129-
Prism.hooks.add('before-highlight', function (env) {
129+
Prism.hooks.add('before-sanity-check', function (env) {
130130
var pre = env.element.parentNode;
131131
var clsReg = /\bno-whitespace-normalization\b/;
132132
if (!env.code || !pre || pre.nodeName.toLowerCase() !== 'pre' ||

plugins/normalize-whitespace/prism-normalize-whitespace.min.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

plugins/remove-initial-line-feed/prism-remove-initial-line-feed.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ if (typeof self === 'undefined' || !self.Prism || !self.document) {
44
return;
55
}
66

7-
Prism.hooks.add('before-highlight', function (env) {
7+
Prism.hooks.add('before-sanity-check', function (env) {
88
if (env.code) {
99
var pre = env.element.parentNode;
1010
var clsReg = /\s*\bkeep-initial-line-feed\b\s*/;

plugins/remove-initial-line-feed/prism-remove-initial-line-feed.min.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)