Skip to content

Commit 213cf7b

Browse files
Core: Document disableWorkerMessageHandler (#3088)
Co-authored-by: Michael Schmidt <msrd0000@gmail.com>
1 parent 9f4c0e7 commit 213cf7b

9 files changed

+177
-27
lines changed

components/prism-core.js

+21
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,27 @@ var Prism = (function (_self) {
4949
* @public
5050
*/
5151
manual: _self.Prism && _self.Prism.manual,
52+
/**
53+
* By default, if Prism is in a web worker, it assumes that it is in a worker it created itself, so it uses
54+
* `addEventListener` to communicate with its parent instance. However, if you're using Prism manually in your
55+
* own worker, you don't want it to do this.
56+
*
57+
* By setting this value to `true`, Prism will not add its own listeners to the worker.
58+
*
59+
* You obviously have to change this value before Prism executes. To do this, you can add an
60+
* empty Prism object into the global scope before loading the Prism script like this:
61+
*
62+
* ```js
63+
* window.Prism = window.Prism || {};
64+
* Prism.disableWorkerMessageHandler = true;
65+
* // Load Prism's script
66+
* ```
67+
*
68+
* @default false
69+
* @type {boolean}
70+
* @memberof Prism
71+
* @public
72+
*/
5273
disableWorkerMessageHandler: _self.Prism && _self.Prism.disableWorkerMessageHandler,
5374

5475
/**

docs/Prism.hooks.html

+4-4
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636

3737
<input type="text" id="nav-search" placeholder="Search" />
3838

39-
<h2><a href="index.html">Home</a></h2><h2><a href="https://prismjs.com" class="menu-item" id="website_link" >PrismJS</a></h2><h2><a href="https://github.com/PrismJS/prism" target="_blank" class="menu-item" id="github_link" >GitHub</a></h2><h3>Classes</h3><ul><li><a href="Token.html">Token</a></li></ul><h3>Namespaces</h3><ul><li><a href="Prism.html">Prism</a><ul class='members'><li data-type='member'><a href="Prism.html#.manual">manual</a></li></ul><ul class='methods'><li data-type='method'><a href="Prism.html#.highlight">highlight</a></li><li data-type='method'><a href="Prism.html#.highlightAll">highlightAll</a></li><li data-type='method'><a href="Prism.html#.highlightAllUnder">highlightAllUnder</a></li><li data-type='method'><a href="Prism.html#.highlightElement">highlightElement</a></li><li data-type='method'><a href="Prism.html#.tokenize">tokenize</a></li></ul></li><li><a href="Prism.hooks.html">hooks</a><ul class='methods'><li data-type='method'><a href="Prism.hooks.html#.add">add</a></li><li data-type='method'><a href="Prism.hooks.html#.run">run</a></li></ul></li><li><a href="Prism.languages.html">languages</a><ul class='methods'><li data-type='method'><a href="Prism.languages.html#.extend">extend</a></li><li data-type='method'><a href="Prism.languages.html#.insertBefore">insertBefore</a></li></ul></li></ul><h3>Global</h3><ul><li><a href="global.html#Grammar">Grammar</a></li><li><a href="global.html#GrammarToken">GrammarToken</a></li><li><a href="global.html#HighlightCallback">HighlightCallback</a></li><li><a href="global.html#HookCallback">HookCallback</a></li><li><a href="global.html#TokenStream">TokenStream</a></li></ul>
39+
<h2><a href="index.html">Home</a></h2><h2><a href="https://prismjs.com" class="menu-item" id="website_link" >PrismJS</a></h2><h2><a href="https://github.com/PrismJS/prism" target="_blank" class="menu-item" id="github_link" >GitHub</a></h2><h3>Classes</h3><ul><li><a href="Token.html">Token</a></li></ul><h3>Namespaces</h3><ul><li><a href="Prism.html">Prism</a><ul class='members'><li data-type='member'><a href="Prism.html#.disableWorkerMessageHandler">disableWorkerMessageHandler</a></li><li data-type='member'><a href="Prism.html#.manual">manual</a></li></ul><ul class='methods'><li data-type='method'><a href="Prism.html#.highlight">highlight</a></li><li data-type='method'><a href="Prism.html#.highlightAll">highlightAll</a></li><li data-type='method'><a href="Prism.html#.highlightAllUnder">highlightAllUnder</a></li><li data-type='method'><a href="Prism.html#.highlightElement">highlightElement</a></li><li data-type='method'><a href="Prism.html#.tokenize">tokenize</a></li></ul></li><li><a href="Prism.hooks.html">hooks</a><ul class='methods'><li data-type='method'><a href="Prism.hooks.html#.add">add</a></li><li data-type='method'><a href="Prism.hooks.html#.run">run</a></li></ul></li><li><a href="Prism.languages.html">languages</a><ul class='methods'><li data-type='method'><a href="Prism.languages.html#.extend">extend</a></li><li data-type='method'><a href="Prism.languages.html#.insertBefore">insertBefore</a></li></ul></li></ul><h3>Global</h3><ul><li><a href="global.html#Grammar">Grammar</a></li><li><a href="global.html#GrammarToken">GrammarToken</a></li><li><a href="global.html#HighlightCallback">HighlightCallback</a></li><li><a href="global.html#HookCallback">HookCallback</a></li><li><a href="global.html#TokenStream">TokenStream</a></li></ul>
4040
</nav>
4141

4242
<div id="main">
@@ -73,7 +73,7 @@ <h2>
7373

7474
<dt class="tag-source">Source:</dt>
7575
<dd class="tag-source"><ul class="dummy"><li>
76-
<a href="prism-core.js.html">prism-core.js</a>, <a href="prism-core.js.html#line675">line 675</a>
76+
<a href="prism-core.js.html">prism-core.js</a>, <a href="prism-core.js.html#line696">line 696</a>
7777
</li></ul></dd>
7878

7979

@@ -152,7 +152,7 @@ <h4 class="name" id=".add"><span class="type-signature">(static) </span>add<span
152152

153153
<dt class="tag-source">Source:</dt>
154154
<dd class="tag-source"><ul class="dummy"><li>
155-
<a href="prism-core.js.html">prism-core.js</a>, <a href="prism-core.js.html#line690">line 690</a>
155+
<a href="prism-core.js.html">prism-core.js</a>, <a href="prism-core.js.html#line711">line 711</a>
156156
</li></ul></dd>
157157

158158

@@ -314,7 +314,7 @@ <h4 class="name" id=".run"><span class="type-signature">(static) </span>run<span
314314

315315
<dt class="tag-source">Source:</dt>
316316
<dd class="tag-source"><ul class="dummy"><li>
317-
<a href="prism-core.js.html">prism-core.js</a>, <a href="prism-core.js.html#line707">line 707</a>
317+
<a href="prism-core.js.html">prism-core.js</a>, <a href="prism-core.js.html#line728">line 728</a>
318318
</li></ul></dd>
319319

320320

docs/Prism.html

+93-6
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636

3737
<input type="text" id="nav-search" placeholder="Search" />
3838

39-
<h2><a href="index.html">Home</a></h2><h2><a href="https://prismjs.com" class="menu-item" id="website_link" >PrismJS</a></h2><h2><a href="https://github.com/PrismJS/prism" target="_blank" class="menu-item" id="github_link" >GitHub</a></h2><h3>Classes</h3><ul><li><a href="Token.html">Token</a></li></ul><h3>Namespaces</h3><ul><li><a href="Prism.html">Prism</a><ul class='members'><li data-type='member'><a href="Prism.html#.manual">manual</a></li></ul><ul class='methods'><li data-type='method'><a href="Prism.html#.highlight">highlight</a></li><li data-type='method'><a href="Prism.html#.highlightAll">highlightAll</a></li><li data-type='method'><a href="Prism.html#.highlightAllUnder">highlightAllUnder</a></li><li data-type='method'><a href="Prism.html#.highlightElement">highlightElement</a></li><li data-type='method'><a href="Prism.html#.tokenize">tokenize</a></li></ul></li><li><a href="Prism.hooks.html">hooks</a><ul class='methods'><li data-type='method'><a href="Prism.hooks.html#.add">add</a></li><li data-type='method'><a href="Prism.hooks.html#.run">run</a></li></ul></li><li><a href="Prism.languages.html">languages</a><ul class='methods'><li data-type='method'><a href="Prism.languages.html#.extend">extend</a></li><li data-type='method'><a href="Prism.languages.html#.insertBefore">insertBefore</a></li></ul></li></ul><h3>Global</h3><ul><li><a href="global.html#Grammar">Grammar</a></li><li><a href="global.html#GrammarToken">GrammarToken</a></li><li><a href="global.html#HighlightCallback">HighlightCallback</a></li><li><a href="global.html#HookCallback">HookCallback</a></li><li><a href="global.html#TokenStream">TokenStream</a></li></ul>
39+
<h2><a href="index.html">Home</a></h2><h2><a href="https://prismjs.com" class="menu-item" id="website_link" >PrismJS</a></h2><h2><a href="https://github.com/PrismJS/prism" target="_blank" class="menu-item" id="github_link" >GitHub</a></h2><h3>Classes</h3><ul><li><a href="Token.html">Token</a></li></ul><h3>Namespaces</h3><ul><li><a href="Prism.html">Prism</a><ul class='members'><li data-type='member'><a href="Prism.html#.disableWorkerMessageHandler">disableWorkerMessageHandler</a></li><li data-type='member'><a href="Prism.html#.manual">manual</a></li></ul><ul class='methods'><li data-type='method'><a href="Prism.html#.highlight">highlight</a></li><li data-type='method'><a href="Prism.html#.highlightAll">highlightAll</a></li><li data-type='method'><a href="Prism.html#.highlightAllUnder">highlightAllUnder</a></li><li data-type='method'><a href="Prism.html#.highlightElement">highlightElement</a></li><li data-type='method'><a href="Prism.html#.tokenize">tokenize</a></li></ul></li><li><a href="Prism.hooks.html">hooks</a><ul class='methods'><li data-type='method'><a href="Prism.hooks.html#.add">add</a></li><li data-type='method'><a href="Prism.hooks.html#.run">run</a></li></ul></li><li><a href="Prism.languages.html">languages</a><ul class='methods'><li data-type='method'><a href="Prism.languages.html#.extend">extend</a></li><li data-type='method'><a href="Prism.languages.html#.insertBefore">insertBefore</a></li></ul></li></ul><h3>Global</h3><ul><li><a href="global.html#Grammar">Grammar</a></li><li><a href="global.html#GrammarToken">GrammarToken</a></li><li><a href="global.html#HighlightCallback">HighlightCallback</a></li><li><a href="global.html#HookCallback">HookCallback</a></li><li><a href="global.html#TokenStream">TokenStream</a></li></ul>
4040
</nav>
4141

4242
<div id="main">
@@ -155,6 +155,93 @@ <h3 class="subsection-title">Members</h3>
155155

156156

157157

158+
<h4 class="name" id=".disableWorkerMessageHandler"><span class="type-signature">(static) </span>disableWorkerMessageHandler<span class="type-signature"> :boolean</span></h4>
159+
160+
161+
162+
163+
164+
<dl class="details">
165+
166+
167+
<dt class="tag-source">Source:</dt>
168+
<dd class="tag-source"><ul class="dummy"><li>
169+
<a href="prism-core.js.html">prism-core.js</a>, <a href="prism-core.js.html#line73">line 73</a>
170+
</li></ul></dd>
171+
172+
173+
174+
175+
176+
177+
178+
179+
180+
181+
182+
183+
184+
185+
186+
187+
188+
189+
190+
191+
192+
193+
194+
195+
196+
<dt class="tag-default">Default Value:</dt>
197+
<dd class="tag-default"><ul class="dummy">
198+
<li>false</li>
199+
</ul></dd>
200+
201+
202+
203+
204+
205+
206+
207+
</dl>
208+
209+
210+
211+
212+
213+
<div class="description usertext">
214+
<p>By default, if Prism is in a web worker, it assumes that it is in a worker it created itself, so it uses
215+
<code>addEventListener</code> to communicate with its parent instance. However, if you're using Prism manually in your
216+
own worker, you don't want it to do this.</p>
217+
<p>By setting this value to <code>true</code>, Prism will not add its own listeners to the worker.</p>
218+
<p>You obviously have to change this value before Prism executes. To do this, you can add an
219+
empty Prism object into the global scope before loading the Prism script like this:</p>
220+
<pre class="prettyprint source lang-js"><code>window.Prism = window.Prism || {};
221+
Prism.disableWorkerMessageHandler = true;
222+
// Load Prism's script
223+
</code></pre>
224+
</div>
225+
226+
227+
228+
<h5>Type:</h5>
229+
<ul>
230+
<li>
231+
232+
<span class="param-type">boolean</span>
233+
234+
235+
</li>
236+
</ul>
237+
238+
239+
240+
241+
242+
243+
244+
158245
<h4 class="name" id=".manual"><span class="type-signature">(static) </span>manual<span class="type-signature"> :boolean</span></h4>
159246

160247

@@ -263,7 +350,7 @@ <h4 class="name" id=".highlight"><span class="type-signature">(static) </span>hi
263350

264351
<dt class="tag-source">Source:</dt>
265352
<dd class="tag-source"><ul class="dummy"><li>
266-
<a href="prism-core.js.html">prism-core.js</a>, <a href="prism-core.js.html#line616">line 616</a>
353+
<a href="prism-core.js.html">prism-core.js</a>, <a href="prism-core.js.html#line637">line 637</a>
267354
</li></ul></dd>
268355

269356

@@ -480,7 +567,7 @@ <h4 class="name" id=".highlightAll"><span class="type-signature">(static) </span
480567

481568
<dt class="tag-source">Source:</dt>
482569
<dd class="tag-source"><ul class="dummy"><li>
483-
<a href="prism-core.js.html">prism-core.js</a>, <a href="prism-core.js.html#line458">line 458</a>
570+
<a href="prism-core.js.html">prism-core.js</a>, <a href="prism-core.js.html#line479">line 479</a>
484571
</li></ul></dd>
485572

486573

@@ -676,7 +763,7 @@ <h4 class="name" id=".highlightAllUnder"><span class="type-signature">(static) <
676763

677764
<dt class="tag-source">Source:</dt>
678765
<dd class="tag-source"><ul class="dummy"><li>
679-
<a href="prism-core.js.html">prism-core.js</a>, <a href="prism-core.js.html#line477">line 477</a>
766+
<a href="prism-core.js.html">prism-core.js</a>, <a href="prism-core.js.html#line498">line 498</a>
680767
</li></ul></dd>
681768

682769

@@ -911,7 +998,7 @@ <h4 class="name" id=".highlightElement"><span class="type-signature">(static) </
911998

912999
<dt class="tag-source">Source:</dt>
9131000
<dd class="tag-source"><ul class="dummy"><li>
914-
<a href="prism-core.js.html">prism-core.js</a>, <a href="prism-core.js.html#line523">line 523</a>
1001+
<a href="prism-core.js.html">prism-core.js</a>, <a href="prism-core.js.html#line544">line 544</a>
9151002
</li></ul></dd>
9161003

9171004

@@ -1157,7 +1244,7 @@ <h4 class="name" id=".tokenize"><span class="type-signature">(static) </span>tok
11571244

11581245
<dt class="tag-source">Source:</dt>
11591246
<dd class="tag-source"><ul class="dummy"><li>
1160-
<a href="prism-core.js.html">prism-core.js</a>, <a href="prism-core.js.html#line652">line 652</a>
1247+
<a href="prism-core.js.html">prism-core.js</a>, <a href="prism-core.js.html#line673">line 673</a>
11611248
</li></ul></dd>
11621249

11631250

docs/Prism.languages.html

+4-4
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636

3737
<input type="text" id="nav-search" placeholder="Search" />
3838

39-
<h2><a href="index.html">Home</a></h2><h2><a href="https://prismjs.com" class="menu-item" id="website_link" >PrismJS</a></h2><h2><a href="https://github.com/PrismJS/prism" target="_blank" class="menu-item" id="github_link" >GitHub</a></h2><h3>Classes</h3><ul><li><a href="Token.html">Token</a></li></ul><h3>Namespaces</h3><ul><li><a href="Prism.html">Prism</a><ul class='members'><li data-type='member'><a href="Prism.html#.manual">manual</a></li></ul><ul class='methods'><li data-type='method'><a href="Prism.html#.highlight">highlight</a></li><li data-type='method'><a href="Prism.html#.highlightAll">highlightAll</a></li><li data-type='method'><a href="Prism.html#.highlightAllUnder">highlightAllUnder</a></li><li data-type='method'><a href="Prism.html#.highlightElement">highlightElement</a></li><li data-type='method'><a href="Prism.html#.tokenize">tokenize</a></li></ul></li><li><a href="Prism.hooks.html">hooks</a><ul class='methods'><li data-type='method'><a href="Prism.hooks.html#.add">add</a></li><li data-type='method'><a href="Prism.hooks.html#.run">run</a></li></ul></li><li><a href="Prism.languages.html">languages</a><ul class='methods'><li data-type='method'><a href="Prism.languages.html#.extend">extend</a></li><li data-type='method'><a href="Prism.languages.html#.insertBefore">insertBefore</a></li></ul></li></ul><h3>Global</h3><ul><li><a href="global.html#Grammar">Grammar</a></li><li><a href="global.html#GrammarToken">GrammarToken</a></li><li><a href="global.html#HighlightCallback">HighlightCallback</a></li><li><a href="global.html#HookCallback">HookCallback</a></li><li><a href="global.html#TokenStream">TokenStream</a></li></ul>
39+
<h2><a href="index.html">Home</a></h2><h2><a href="https://prismjs.com" class="menu-item" id="website_link" >PrismJS</a></h2><h2><a href="https://github.com/PrismJS/prism" target="_blank" class="menu-item" id="github_link" >GitHub</a></h2><h3>Classes</h3><ul><li><a href="Token.html">Token</a></li></ul><h3>Namespaces</h3><ul><li><a href="Prism.html">Prism</a><ul class='members'><li data-type='member'><a href="Prism.html#.disableWorkerMessageHandler">disableWorkerMessageHandler</a></li><li data-type='member'><a href="Prism.html#.manual">manual</a></li></ul><ul class='methods'><li data-type='method'><a href="Prism.html#.highlight">highlight</a></li><li data-type='method'><a href="Prism.html#.highlightAll">highlightAll</a></li><li data-type='method'><a href="Prism.html#.highlightAllUnder">highlightAllUnder</a></li><li data-type='method'><a href="Prism.html#.highlightElement">highlightElement</a></li><li data-type='method'><a href="Prism.html#.tokenize">tokenize</a></li></ul></li><li><a href="Prism.hooks.html">hooks</a><ul class='methods'><li data-type='method'><a href="Prism.hooks.html#.add">add</a></li><li data-type='method'><a href="Prism.hooks.html#.run">run</a></li></ul></li><li><a href="Prism.languages.html">languages</a><ul class='methods'><li data-type='method'><a href="Prism.languages.html#.extend">extend</a></li><li data-type='method'><a href="Prism.languages.html#.insertBefore">insertBefore</a></li></ul></li></ul><h3>Global</h3><ul><li><a href="global.html#Grammar">Grammar</a></li><li><a href="global.html#GrammarToken">GrammarToken</a></li><li><a href="global.html#HighlightCallback">HighlightCallback</a></li><li><a href="global.html#HookCallback">HookCallback</a></li><li><a href="global.html#TokenStream">TokenStream</a></li></ul>
4040
</nav>
4141

4242
<div id="main">
@@ -73,7 +73,7 @@ <h2>
7373

7474
<dt class="tag-source">Source:</dt>
7575
<dd class="tag-source"><ul class="dummy"><li>
76-
<a href="prism-core.js.html">prism-core.js</a>, <a href="prism-core.js.html#line260">line 260</a>
76+
<a href="prism-core.js.html">prism-core.js</a>, <a href="prism-core.js.html#line281">line 281</a>
7777
</li></ul></dd>
7878

7979

@@ -154,7 +154,7 @@ <h4 class="name" id=".extend"><span class="type-signature">(static) </span>exten
154154

155155
<dt class="tag-source">Source:</dt>
156156
<dd class="tag-source"><ul class="dummy"><li>
157-
<a href="prism-core.js.html">prism-core.js</a>, <a href="prism-core.js.html#line297">line 297</a>
157+
<a href="prism-core.js.html">prism-core.js</a>, <a href="prism-core.js.html#line318">line 318</a>
158158
</li></ul></dd>
159159

160160

@@ -354,7 +354,7 @@ <h4 class="name" id=".insertBefore"><span class="type-signature">(static) </span
354354

355355
<dt class="tag-source">Source:</dt>
356356
<dd class="tag-source"><ul class="dummy"><li>
357-
<a href="prism-core.js.html">prism-core.js</a>, <a href="prism-core.js.html#line382">line 382</a>
357+
<a href="prism-core.js.html">prism-core.js</a>, <a href="prism-core.js.html#line403">line 403</a>
358358
</li></ul></dd>
359359

360360

0 commit comments

Comments
 (0)