[d24f17c] | 1 | (function () {
|
---|
| 2 |
|
---|
| 3 | if (typeof Prism === 'undefined' || typeof document === 'undefined') {
|
---|
| 4 | return;
|
---|
| 5 | }
|
---|
| 6 |
|
---|
| 7 | /* eslint-disable */
|
---|
| 8 |
|
---|
| 9 | /**
|
---|
| 10 | * The dependencies map is built automatically with gulp.
|
---|
| 11 | *
|
---|
| 12 | * @type {Object<string, string | string[]>}
|
---|
| 13 | */
|
---|
| 14 | var lang_dependencies = /*dependencies_placeholder[*/{
|
---|
| 15 | "javascript": "clike",
|
---|
| 16 | "actionscript": "javascript",
|
---|
| 17 | "apex": [
|
---|
| 18 | "clike",
|
---|
| 19 | "sql"
|
---|
| 20 | ],
|
---|
| 21 | "arduino": "cpp",
|
---|
| 22 | "aspnet": [
|
---|
| 23 | "markup",
|
---|
| 24 | "csharp"
|
---|
| 25 | ],
|
---|
| 26 | "birb": "clike",
|
---|
| 27 | "bison": "c",
|
---|
| 28 | "c": "clike",
|
---|
| 29 | "csharp": "clike",
|
---|
| 30 | "cpp": "c",
|
---|
| 31 | "cfscript": "clike",
|
---|
| 32 | "chaiscript": [
|
---|
| 33 | "clike",
|
---|
| 34 | "cpp"
|
---|
| 35 | ],
|
---|
| 36 | "cilkc": "c",
|
---|
| 37 | "cilkcpp": "cpp",
|
---|
| 38 | "coffeescript": "javascript",
|
---|
| 39 | "crystal": "ruby",
|
---|
| 40 | "css-extras": "css",
|
---|
| 41 | "d": "clike",
|
---|
| 42 | "dart": "clike",
|
---|
| 43 | "django": "markup-templating",
|
---|
| 44 | "ejs": [
|
---|
| 45 | "javascript",
|
---|
| 46 | "markup-templating"
|
---|
| 47 | ],
|
---|
| 48 | "etlua": [
|
---|
| 49 | "lua",
|
---|
| 50 | "markup-templating"
|
---|
| 51 | ],
|
---|
| 52 | "erb": [
|
---|
| 53 | "ruby",
|
---|
| 54 | "markup-templating"
|
---|
| 55 | ],
|
---|
| 56 | "fsharp": "clike",
|
---|
| 57 | "firestore-security-rules": "clike",
|
---|
| 58 | "flow": "javascript",
|
---|
| 59 | "ftl": "markup-templating",
|
---|
| 60 | "gml": "clike",
|
---|
| 61 | "glsl": "c",
|
---|
| 62 | "go": "clike",
|
---|
| 63 | "gradle": "clike",
|
---|
| 64 | "groovy": "clike",
|
---|
| 65 | "haml": "ruby",
|
---|
| 66 | "handlebars": "markup-templating",
|
---|
| 67 | "haxe": "clike",
|
---|
| 68 | "hlsl": "c",
|
---|
| 69 | "idris": "haskell",
|
---|
| 70 | "java": "clike",
|
---|
| 71 | "javadoc": [
|
---|
| 72 | "markup",
|
---|
| 73 | "java",
|
---|
| 74 | "javadoclike"
|
---|
| 75 | ],
|
---|
| 76 | "jolie": "clike",
|
---|
| 77 | "jsdoc": [
|
---|
| 78 | "javascript",
|
---|
| 79 | "javadoclike",
|
---|
| 80 | "typescript"
|
---|
| 81 | ],
|
---|
| 82 | "js-extras": "javascript",
|
---|
| 83 | "json5": "json",
|
---|
| 84 | "jsonp": "json",
|
---|
| 85 | "js-templates": "javascript",
|
---|
| 86 | "kotlin": "clike",
|
---|
| 87 | "latte": [
|
---|
| 88 | "clike",
|
---|
| 89 | "markup-templating",
|
---|
| 90 | "php"
|
---|
| 91 | ],
|
---|
| 92 | "less": "css",
|
---|
| 93 | "lilypond": "scheme",
|
---|
| 94 | "liquid": "markup-templating",
|
---|
| 95 | "markdown": "markup",
|
---|
| 96 | "markup-templating": "markup",
|
---|
| 97 | "mongodb": "javascript",
|
---|
| 98 | "n4js": "javascript",
|
---|
| 99 | "objectivec": "c",
|
---|
| 100 | "opencl": "c",
|
---|
| 101 | "parser": "markup",
|
---|
| 102 | "php": "markup-templating",
|
---|
| 103 | "phpdoc": [
|
---|
| 104 | "php",
|
---|
| 105 | "javadoclike"
|
---|
| 106 | ],
|
---|
| 107 | "php-extras": "php",
|
---|
| 108 | "plsql": "sql",
|
---|
| 109 | "processing": "clike",
|
---|
| 110 | "protobuf": "clike",
|
---|
| 111 | "pug": [
|
---|
| 112 | "markup",
|
---|
| 113 | "javascript"
|
---|
| 114 | ],
|
---|
| 115 | "purebasic": "clike",
|
---|
| 116 | "purescript": "haskell",
|
---|
| 117 | "qsharp": "clike",
|
---|
| 118 | "qml": "javascript",
|
---|
| 119 | "qore": "clike",
|
---|
| 120 | "racket": "scheme",
|
---|
| 121 | "cshtml": [
|
---|
| 122 | "markup",
|
---|
| 123 | "csharp"
|
---|
| 124 | ],
|
---|
| 125 | "jsx": [
|
---|
| 126 | "markup",
|
---|
| 127 | "javascript"
|
---|
| 128 | ],
|
---|
| 129 | "tsx": [
|
---|
| 130 | "jsx",
|
---|
| 131 | "typescript"
|
---|
| 132 | ],
|
---|
| 133 | "reason": "clike",
|
---|
| 134 | "ruby": "clike",
|
---|
| 135 | "sass": "css",
|
---|
| 136 | "scss": "css",
|
---|
| 137 | "scala": "java",
|
---|
| 138 | "shell-session": "bash",
|
---|
| 139 | "smarty": "markup-templating",
|
---|
| 140 | "solidity": "clike",
|
---|
| 141 | "soy": "markup-templating",
|
---|
| 142 | "sparql": "turtle",
|
---|
| 143 | "sqf": "clike",
|
---|
| 144 | "squirrel": "clike",
|
---|
| 145 | "stata": [
|
---|
| 146 | "mata",
|
---|
| 147 | "java",
|
---|
| 148 | "python"
|
---|
| 149 | ],
|
---|
| 150 | "t4-cs": [
|
---|
| 151 | "t4-templating",
|
---|
| 152 | "csharp"
|
---|
| 153 | ],
|
---|
| 154 | "t4-vb": [
|
---|
| 155 | "t4-templating",
|
---|
| 156 | "vbnet"
|
---|
| 157 | ],
|
---|
| 158 | "tap": "yaml",
|
---|
| 159 | "tt2": [
|
---|
| 160 | "clike",
|
---|
| 161 | "markup-templating"
|
---|
| 162 | ],
|
---|
| 163 | "textile": "markup",
|
---|
| 164 | "twig": "markup-templating",
|
---|
| 165 | "typescript": "javascript",
|
---|
| 166 | "v": "clike",
|
---|
| 167 | "vala": "clike",
|
---|
| 168 | "vbnet": "basic",
|
---|
| 169 | "velocity": "markup",
|
---|
| 170 | "wiki": "markup",
|
---|
| 171 | "xeora": "markup",
|
---|
| 172 | "xml-doc": "markup",
|
---|
| 173 | "xquery": "markup"
|
---|
| 174 | }/*]*/;
|
---|
| 175 |
|
---|
| 176 | var lang_aliases = /*aliases_placeholder[*/{
|
---|
| 177 | "html": "markup",
|
---|
| 178 | "xml": "markup",
|
---|
| 179 | "svg": "markup",
|
---|
| 180 | "mathml": "markup",
|
---|
| 181 | "ssml": "markup",
|
---|
| 182 | "atom": "markup",
|
---|
| 183 | "rss": "markup",
|
---|
| 184 | "js": "javascript",
|
---|
| 185 | "g4": "antlr4",
|
---|
| 186 | "ino": "arduino",
|
---|
| 187 | "arm-asm": "armasm",
|
---|
| 188 | "art": "arturo",
|
---|
| 189 | "adoc": "asciidoc",
|
---|
| 190 | "avs": "avisynth",
|
---|
| 191 | "avdl": "avro-idl",
|
---|
| 192 | "gawk": "awk",
|
---|
| 193 | "sh": "bash",
|
---|
| 194 | "shell": "bash",
|
---|
| 195 | "shortcode": "bbcode",
|
---|
| 196 | "rbnf": "bnf",
|
---|
| 197 | "oscript": "bsl",
|
---|
| 198 | "cs": "csharp",
|
---|
| 199 | "dotnet": "csharp",
|
---|
| 200 | "cfc": "cfscript",
|
---|
| 201 | "cilk-c": "cilkc",
|
---|
| 202 | "cilk-cpp": "cilkcpp",
|
---|
| 203 | "cilk": "cilkcpp",
|
---|
| 204 | "coffee": "coffeescript",
|
---|
| 205 | "conc": "concurnas",
|
---|
| 206 | "jinja2": "django",
|
---|
| 207 | "dns-zone": "dns-zone-file",
|
---|
| 208 | "dockerfile": "docker",
|
---|
| 209 | "gv": "dot",
|
---|
| 210 | "eta": "ejs",
|
---|
| 211 | "xlsx": "excel-formula",
|
---|
| 212 | "xls": "excel-formula",
|
---|
| 213 | "gamemakerlanguage": "gml",
|
---|
| 214 | "po": "gettext",
|
---|
| 215 | "gni": "gn",
|
---|
| 216 | "ld": "linker-script",
|
---|
| 217 | "go-mod": "go-module",
|
---|
| 218 | "hbs": "handlebars",
|
---|
| 219 | "mustache": "handlebars",
|
---|
| 220 | "hs": "haskell",
|
---|
| 221 | "idr": "idris",
|
---|
| 222 | "gitignore": "ignore",
|
---|
| 223 | "hgignore": "ignore",
|
---|
| 224 | "npmignore": "ignore",
|
---|
| 225 | "webmanifest": "json",
|
---|
| 226 | "kt": "kotlin",
|
---|
| 227 | "kts": "kotlin",
|
---|
| 228 | "kum": "kumir",
|
---|
| 229 | "tex": "latex",
|
---|
| 230 | "context": "latex",
|
---|
| 231 | "ly": "lilypond",
|
---|
| 232 | "emacs": "lisp",
|
---|
| 233 | "elisp": "lisp",
|
---|
| 234 | "emacs-lisp": "lisp",
|
---|
| 235 | "md": "markdown",
|
---|
| 236 | "moon": "moonscript",
|
---|
| 237 | "n4jsd": "n4js",
|
---|
| 238 | "nani": "naniscript",
|
---|
| 239 | "objc": "objectivec",
|
---|
| 240 | "qasm": "openqasm",
|
---|
| 241 | "objectpascal": "pascal",
|
---|
| 242 | "px": "pcaxis",
|
---|
| 243 | "pcode": "peoplecode",
|
---|
| 244 | "plantuml": "plant-uml",
|
---|
| 245 | "pq": "powerquery",
|
---|
| 246 | "mscript": "powerquery",
|
---|
| 247 | "pbfasm": "purebasic",
|
---|
| 248 | "purs": "purescript",
|
---|
| 249 | "py": "python",
|
---|
| 250 | "qs": "qsharp",
|
---|
| 251 | "rkt": "racket",
|
---|
| 252 | "razor": "cshtml",
|
---|
| 253 | "rpy": "renpy",
|
---|
| 254 | "res": "rescript",
|
---|
| 255 | "robot": "robotframework",
|
---|
| 256 | "rb": "ruby",
|
---|
| 257 | "sh-session": "shell-session",
|
---|
| 258 | "shellsession": "shell-session",
|
---|
| 259 | "smlnj": "sml",
|
---|
| 260 | "sol": "solidity",
|
---|
| 261 | "sln": "solution-file",
|
---|
| 262 | "rq": "sparql",
|
---|
| 263 | "sclang": "supercollider",
|
---|
| 264 | "t4": "t4-cs",
|
---|
| 265 | "trickle": "tremor",
|
---|
| 266 | "troy": "tremor",
|
---|
| 267 | "trig": "turtle",
|
---|
| 268 | "ts": "typescript",
|
---|
| 269 | "tsconfig": "typoscript",
|
---|
| 270 | "uscript": "unrealscript",
|
---|
| 271 | "uc": "unrealscript",
|
---|
| 272 | "url": "uri",
|
---|
| 273 | "vb": "visual-basic",
|
---|
| 274 | "vba": "visual-basic",
|
---|
| 275 | "webidl": "web-idl",
|
---|
| 276 | "mathematica": "wolfram",
|
---|
| 277 | "nb": "wolfram",
|
---|
| 278 | "wl": "wolfram",
|
---|
| 279 | "xeoracube": "xeora",
|
---|
| 280 | "yml": "yaml"
|
---|
| 281 | }/*]*/;
|
---|
| 282 |
|
---|
| 283 | /* eslint-enable */
|
---|
| 284 |
|
---|
| 285 | /**
|
---|
| 286 | * @typedef LangDataItem
|
---|
| 287 | * @property {{ success?: () => void, error?: () => void }[]} callbacks
|
---|
| 288 | * @property {boolean} [error]
|
---|
| 289 | * @property {boolean} [loading]
|
---|
| 290 | */
|
---|
| 291 | /** @type {Object<string, LangDataItem>} */
|
---|
| 292 | var lang_data = {};
|
---|
| 293 |
|
---|
| 294 | var ignored_language = 'none';
|
---|
| 295 | var languages_path = 'components/';
|
---|
| 296 |
|
---|
| 297 | var script = Prism.util.currentScript();
|
---|
| 298 | if (script) {
|
---|
| 299 | var autoloaderFile = /\bplugins\/autoloader\/prism-autoloader\.(?:min\.)?js(?:\?[^\r\n/]*)?$/i;
|
---|
| 300 | var prismFile = /(^|\/)[\w-]+\.(?:min\.)?js(?:\?[^\r\n/]*)?$/i;
|
---|
| 301 |
|
---|
| 302 | var autoloaderPath = script.getAttribute('data-autoloader-path');
|
---|
| 303 | if (autoloaderPath != null) {
|
---|
| 304 | // data-autoloader-path is set, so just use it
|
---|
| 305 | languages_path = autoloaderPath.trim().replace(/\/?$/, '/');
|
---|
| 306 | } else {
|
---|
| 307 | var src = script.src;
|
---|
| 308 | if (autoloaderFile.test(src)) {
|
---|
| 309 | // the script is the original autoloader script in the usual Prism project structure
|
---|
| 310 | languages_path = src.replace(autoloaderFile, 'components/');
|
---|
| 311 | } else if (prismFile.test(src)) {
|
---|
| 312 | // the script is part of a bundle like a custom prism.js from the download page
|
---|
| 313 | languages_path = src.replace(prismFile, '$1components/');
|
---|
| 314 | }
|
---|
| 315 | }
|
---|
| 316 | }
|
---|
| 317 |
|
---|
| 318 | var config = Prism.plugins.autoloader = {
|
---|
| 319 | languages_path: languages_path,
|
---|
| 320 | use_minified: true,
|
---|
| 321 | loadLanguages: loadLanguages
|
---|
| 322 | };
|
---|
| 323 |
|
---|
| 324 |
|
---|
| 325 | /**
|
---|
| 326 | * Lazily loads an external script.
|
---|
| 327 | *
|
---|
| 328 | * @param {string} src
|
---|
| 329 | * @param {() => void} [success]
|
---|
| 330 | * @param {() => void} [error]
|
---|
| 331 | */
|
---|
| 332 | function addScript(src, success, error) {
|
---|
| 333 | var s = document.createElement('script');
|
---|
| 334 | s.src = src;
|
---|
| 335 | s.async = true;
|
---|
| 336 | s.onload = function () {
|
---|
| 337 | document.body.removeChild(s);
|
---|
| 338 | success && success();
|
---|
| 339 | };
|
---|
| 340 | s.onerror = function () {
|
---|
| 341 | document.body.removeChild(s);
|
---|
| 342 | error && error();
|
---|
| 343 | };
|
---|
| 344 | document.body.appendChild(s);
|
---|
| 345 | }
|
---|
| 346 |
|
---|
| 347 | /**
|
---|
| 348 | * Returns all additional dependencies of the given element defined by the `data-dependencies` attribute.
|
---|
| 349 | *
|
---|
| 350 | * @param {Element} element
|
---|
| 351 | * @returns {string[]}
|
---|
| 352 | */
|
---|
| 353 | function getDependencies(element) {
|
---|
| 354 | var deps = (element.getAttribute('data-dependencies') || '').trim();
|
---|
| 355 | if (!deps) {
|
---|
| 356 | var parent = element.parentElement;
|
---|
| 357 | if (parent && parent.tagName.toLowerCase() === 'pre') {
|
---|
| 358 | deps = (parent.getAttribute('data-dependencies') || '').trim();
|
---|
| 359 | }
|
---|
| 360 | }
|
---|
| 361 | return deps ? deps.split(/\s*,\s*/g) : [];
|
---|
| 362 | }
|
---|
| 363 |
|
---|
| 364 | /**
|
---|
| 365 | * Returns whether the given language is currently loaded.
|
---|
| 366 | *
|
---|
| 367 | * @param {string} lang
|
---|
| 368 | * @returns {boolean}
|
---|
| 369 | */
|
---|
| 370 | function isLoaded(lang) {
|
---|
| 371 | if (lang.indexOf('!') >= 0) {
|
---|
| 372 | // forced reload
|
---|
| 373 | return false;
|
---|
| 374 | }
|
---|
| 375 |
|
---|
| 376 | lang = lang_aliases[lang] || lang; // resolve alias
|
---|
| 377 |
|
---|
| 378 | if (lang in Prism.languages) {
|
---|
| 379 | // the given language is already loaded
|
---|
| 380 | return true;
|
---|
| 381 | }
|
---|
| 382 |
|
---|
| 383 | // this will catch extensions like CSS extras that don't add a grammar to Prism.languages
|
---|
| 384 | var data = lang_data[lang];
|
---|
| 385 | return data && !data.error && data.loading === false;
|
---|
| 386 | }
|
---|
| 387 |
|
---|
| 388 | /**
|
---|
| 389 | * Returns the path to a grammar, using the language_path and use_minified config keys.
|
---|
| 390 | *
|
---|
| 391 | * @param {string} lang
|
---|
| 392 | * @returns {string}
|
---|
| 393 | */
|
---|
| 394 | function getLanguagePath(lang) {
|
---|
| 395 | return config.languages_path + 'prism-' + lang + (config.use_minified ? '.min' : '') + '.js';
|
---|
| 396 | }
|
---|
| 397 |
|
---|
| 398 | /**
|
---|
| 399 | * Loads all given grammars concurrently.
|
---|
| 400 | *
|
---|
| 401 | * @param {string[]|string} languages
|
---|
| 402 | * @param {(languages: string[]) => void} [success]
|
---|
| 403 | * @param {(language: string) => void} [error] This callback will be invoked on the first language to fail.
|
---|
| 404 | */
|
---|
| 405 | function loadLanguages(languages, success, error) {
|
---|
| 406 | if (typeof languages === 'string') {
|
---|
| 407 | languages = [languages];
|
---|
| 408 | }
|
---|
| 409 |
|
---|
| 410 | var total = languages.length;
|
---|
| 411 | var completed = 0;
|
---|
| 412 | var failed = false;
|
---|
| 413 |
|
---|
| 414 | if (total === 0) {
|
---|
| 415 | if (success) {
|
---|
| 416 | setTimeout(success, 0);
|
---|
| 417 | }
|
---|
| 418 | return;
|
---|
| 419 | }
|
---|
| 420 |
|
---|
| 421 | function successCallback() {
|
---|
| 422 | if (failed) {
|
---|
| 423 | return;
|
---|
| 424 | }
|
---|
| 425 | completed++;
|
---|
| 426 | if (completed === total) {
|
---|
| 427 | success && success(languages);
|
---|
| 428 | }
|
---|
| 429 | }
|
---|
| 430 |
|
---|
| 431 | languages.forEach(function (lang) {
|
---|
| 432 | loadLanguage(lang, successCallback, function () {
|
---|
| 433 | if (failed) {
|
---|
| 434 | return;
|
---|
| 435 | }
|
---|
| 436 | failed = true;
|
---|
| 437 | error && error(lang);
|
---|
| 438 | });
|
---|
| 439 | });
|
---|
| 440 | }
|
---|
| 441 |
|
---|
| 442 | /**
|
---|
| 443 | * Loads a grammar with its dependencies.
|
---|
| 444 | *
|
---|
| 445 | * @param {string} lang
|
---|
| 446 | * @param {() => void} [success]
|
---|
| 447 | * @param {() => void} [error]
|
---|
| 448 | */
|
---|
| 449 | function loadLanguage(lang, success, error) {
|
---|
| 450 | var force = lang.indexOf('!') >= 0;
|
---|
| 451 |
|
---|
| 452 | lang = lang.replace('!', '');
|
---|
| 453 | lang = lang_aliases[lang] || lang;
|
---|
| 454 |
|
---|
| 455 | function load() {
|
---|
| 456 | var data = lang_data[lang];
|
---|
| 457 | if (!data) {
|
---|
| 458 | data = lang_data[lang] = {
|
---|
| 459 | callbacks: []
|
---|
| 460 | };
|
---|
| 461 | }
|
---|
| 462 | data.callbacks.push({
|
---|
| 463 | success: success,
|
---|
| 464 | error: error
|
---|
| 465 | });
|
---|
| 466 |
|
---|
| 467 | if (!force && isLoaded(lang)) {
|
---|
| 468 | // the language is already loaded and we aren't forced to reload
|
---|
| 469 | languageCallback(lang, 'success');
|
---|
| 470 | } else if (!force && data.error) {
|
---|
| 471 | // the language failed to load before and we don't reload
|
---|
| 472 | languageCallback(lang, 'error');
|
---|
| 473 | } else if (force || !data.loading) {
|
---|
| 474 | // the language isn't currently loading and/or we are forced to reload
|
---|
| 475 | data.loading = true;
|
---|
| 476 | data.error = false;
|
---|
| 477 |
|
---|
| 478 | addScript(getLanguagePath(lang), function () {
|
---|
| 479 | data.loading = false;
|
---|
| 480 | languageCallback(lang, 'success');
|
---|
| 481 |
|
---|
| 482 | }, function () {
|
---|
| 483 | data.loading = false;
|
---|
| 484 | data.error = true;
|
---|
| 485 | languageCallback(lang, 'error');
|
---|
| 486 | });
|
---|
| 487 | }
|
---|
| 488 | }
|
---|
| 489 |
|
---|
| 490 | var dependencies = lang_dependencies[lang];
|
---|
| 491 | if (dependencies && dependencies.length) {
|
---|
| 492 | loadLanguages(dependencies, load, error);
|
---|
| 493 | } else {
|
---|
| 494 | load();
|
---|
| 495 | }
|
---|
| 496 | }
|
---|
| 497 |
|
---|
| 498 | /**
|
---|
| 499 | * Runs all callbacks of the given type for the given language.
|
---|
| 500 | *
|
---|
| 501 | * @param {string} lang
|
---|
| 502 | * @param {"success" | "error"} type
|
---|
| 503 | */
|
---|
| 504 | function languageCallback(lang, type) {
|
---|
| 505 | if (lang_data[lang]) {
|
---|
| 506 | var callbacks = lang_data[lang].callbacks;
|
---|
| 507 | for (var i = 0, l = callbacks.length; i < l; i++) {
|
---|
| 508 | var callback = callbacks[i][type];
|
---|
| 509 | if (callback) {
|
---|
| 510 | setTimeout(callback, 0);
|
---|
| 511 | }
|
---|
| 512 | }
|
---|
| 513 | callbacks.length = 0;
|
---|
| 514 | }
|
---|
| 515 | }
|
---|
| 516 |
|
---|
| 517 | Prism.hooks.add('complete', function (env) {
|
---|
| 518 | var element = env.element;
|
---|
| 519 | var language = env.language;
|
---|
| 520 | if (!element || !language || language === ignored_language) {
|
---|
| 521 | return;
|
---|
| 522 | }
|
---|
| 523 |
|
---|
| 524 | var deps = getDependencies(element);
|
---|
| 525 | if (/^diff-./i.test(language)) {
|
---|
| 526 | // the "diff-xxxx" format is used by the Diff Highlight plugin
|
---|
| 527 | deps.push('diff');
|
---|
| 528 | deps.push(language.substr('diff-'.length));
|
---|
| 529 | } else {
|
---|
| 530 | deps.push(language);
|
---|
| 531 | }
|
---|
| 532 |
|
---|
| 533 | if (!deps.every(isLoaded)) {
|
---|
| 534 | // the language or some dependencies aren't loaded
|
---|
| 535 | loadLanguages(deps, function () {
|
---|
| 536 | Prism.highlightElement(element);
|
---|
| 537 | });
|
---|
| 538 | }
|
---|
| 539 | });
|
---|
| 540 |
|
---|
| 541 | }());
|
---|