summaryrefslogtreecommitdiffstats
path: root/data/resources/prism/plugins/data-uri-highlight/prism-data-uri-highlight.js
diff options
context:
space:
mode:
authorPatrick McDermott <pj@pehjota.net>2017-11-13 11:51:22 (EST)
committer Patrick McDermott <pj@pehjota.net>2017-11-13 11:51:22 (EST)
commitbfbcc54c2f93a7d7a52c1897f7a711c02e6454b0 (patch)
treecf3910200c3bcd922abb7cb8d1723ee1e8d22852 /data/resources/prism/plugins/data-uri-highlight/prism-data-uri-highlight.js
parente42fa02e77211074ba6f7d80f8ea86edfc4a7d0e (diff)
downloadmarquee-bfbcc54c2f93a7d7a52c1897f7a711c02e6454b0.zip
marquee-bfbcc54c2f93a7d7a52c1897f7a711c02e6454b0.tar.gz
marquee-bfbcc54c2f93a7d7a52c1897f7a711c02e6454b0.tar.bz2
data/resources/prism: Rename * source files to *in
Diffstat (limited to 'data/resources/prism/plugins/data-uri-highlight/prism-data-uri-highlight.js')
-rw-r--r--data/resources/prism/plugins/data-uri-highlight/prism-data-uri-highlight.js98
1 files changed, 0 insertions, 98 deletions
diff --git a/data/resources/prism/plugins/data-uri-highlight/prism-data-uri-highlight.js b/data/resources/prism/plugins/data-uri-highlight/prism-data-uri-highlight.js
deleted file mode 100644
index 7ff8d1f..0000000
--- a/data/resources/prism/plugins/data-uri-highlight/prism-data-uri-highlight.js
+++ /dev/null
@@ -1,98 +0,0 @@
-(function () {
-
- if (
- typeof self !== 'undefined' && !self.Prism ||
- typeof global !== 'undefined' && !global.Prism
- ) {
- return;
- }
-
- var autoLinkerProcess = function (grammar) {
- if (Prism.plugins.autolinker) {
- Prism.plugins.autolinker.processGrammar(grammar);
- }
- return grammar;
- };
- var dataURI = {
- pattern: /(.)\bdata:[^\/]+\/[^,]+,(?:(?!\1)[\s\S]|\\\1)+(?=\1)/,
- lookbehind: true,
- inside: {
- 'language-css': {
- pattern: /(data:[^\/]+\/(?:[^+,]+\+)?css,)[\s\S]+/,
- lookbehind: true
- },
- 'language-javascript': {
- pattern: /(data:[^\/]+\/(?:[^+,]+\+)?javascript,)[\s\S]+/,
- lookbehind: true
- },
- 'language-json': {
- pattern: /(data:[^\/]+\/(?:[^+,]+\+)?json,)[\s\S]+/,
- lookbehind: true
- },
- 'language-markup': {
- pattern: /(data:[^\/]+\/(?:[^+,]+\+)?(?:html|xml),)[\s\S]+/,
- lookbehind: true
- }
- }
- };
-
- // Tokens that may contain URLs
- var candidates = ['url', 'attr-value', 'string'];
-
- Prism.plugins.dataURIHighlight = {
- processGrammar: function (grammar) {
- // Abort if grammar has already been processed
- if (!grammar || grammar['data-uri']) {
- return;
- }
-
- Prism.languages.DFS(grammar, function (key, def, type) {
- if (candidates.indexOf(type) > -1 && Prism.util.type(def) !== 'Array') {
- if (!def.pattern) {
- def = this[key] = {
- pattern: def
- };
- }
-
- def.inside = def.inside || {};
-
- if (type == 'attr-value') {
- Prism.languages.insertBefore('inside', def.inside['url-link'] ? 'url-link' : 'punctuation', {
- 'data-uri': dataURI
- }, def);
- }
- else {
- if (def.inside['url-link']) {
- Prism.languages.insertBefore('inside', 'url-link', {
- 'data-uri': dataURI
- }, def);
- } else {
- def.inside['data-uri'] = dataURI;
- }
- }
- }
- });
- grammar['data-uri'] = dataURI;
- }
- };
-
- Prism.hooks.add('before-highlight', function (env) {
- // Prepare the needed grammars for this code block
- if (dataURI.pattern.test(env.code)) {
- for (var p in dataURI.inside) {
- if (dataURI.inside.hasOwnProperty(p)) {
- if (!dataURI.inside[p].inside && dataURI.inside[p].pattern.test(env.code)) {
- var lang = p.match(/^language-(.+)/)[1];
- if (Prism.languages[lang]) {
- dataURI.inside[p].inside = {
- rest: autoLinkerProcess(Prism.languages[lang])
- };
- }
- }
- }
- }
- }
-
- Prism.plugins.dataURIHighlight.processGrammar(env.grammar);
- });
-}()); \ No newline at end of file