highlighting 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/README.md +52 -0
- data/app/helpers/syntax_helper.rb +2 -0
- data/lib/highlighting.rb +6 -0
- data/lib/highlighting/version.rb +3 -0
- data/vendor/assets/javascripts/prism-abap.js +48 -0
- data/vendor/assets/javascripts/prism-abap.min.js +1 -0
- data/vendor/assets/javascripts/prism-actionscript.js +17 -0
- data/vendor/assets/javascripts/prism-actionscript.min.js +1 -0
- data/vendor/assets/javascripts/prism-apacheconf.js +47 -0
- data/vendor/assets/javascripts/prism-apacheconf.min.js +1 -0
- data/vendor/assets/javascripts/prism-apl.js +29 -0
- data/vendor/assets/javascripts/prism-apl.min.js +1 -0
- data/vendor/assets/javascripts/prism-applescript.js +20 -0
- data/vendor/assets/javascripts/prism-applescript.min.js +1 -0
- data/vendor/assets/javascripts/prism-asciidoc.js +271 -0
- data/vendor/assets/javascripts/prism-asciidoc.min.js +1 -0
- data/vendor/assets/javascripts/prism-aspnet.js +36 -0
- data/vendor/assets/javascripts/prism-aspnet.min.js +1 -0
- data/vendor/assets/javascripts/prism-autohotkey.js +27 -0
- data/vendor/assets/javascripts/prism-autohotkey.min.js +1 -0
- data/vendor/assets/javascripts/prism-autoit.js +33 -0
- data/vendor/assets/javascripts/prism-autoit.min.js +1 -0
- data/vendor/assets/javascripts/prism-bash.js +78 -0
- data/vendor/assets/javascripts/prism-bash.min.js +1 -0
- data/vendor/assets/javascripts/prism-basic.js +14 -0
- data/vendor/assets/javascripts/prism-basic.min.js +1 -0
- data/vendor/assets/javascripts/prism-batch.js +99 -0
- data/vendor/assets/javascripts/prism-batch.min.js +1 -0
- data/vendor/assets/javascripts/prism-bison.js +39 -0
- data/vendor/assets/javascripts/prism-bison.min.js +1 -0
- data/vendor/assets/javascripts/prism-brainfuck.js +20 -0
- data/vendor/assets/javascripts/prism-brainfuck.min.js +1 -0
- data/vendor/assets/javascripts/prism-c.js +33 -0
- data/vendor/assets/javascripts/prism-c.min.js +1 -0
- data/vendor/assets/javascripts/prism-clike.js +26 -0
- data/vendor/assets/javascripts/prism-clike.min.js +1 -0
- data/vendor/assets/javascripts/prism-coffeescript.js +83 -0
- data/vendor/assets/javascripts/prism-coffeescript.min.js +1 -0
- data/vendor/assets/javascripts/prism-core.js +434 -0
- data/vendor/assets/javascripts/prism-core.min.js +1 -0
- data/vendor/assets/javascripts/prism-cpp.js +12 -0
- data/vendor/assets/javascripts/prism-cpp.min.js +1 -0
- data/vendor/assets/javascripts/prism-crystal.js +53 -0
- data/vendor/assets/javascripts/prism-crystal.min.js +1 -0
- data/vendor/assets/javascripts/prism-csharp.js +24 -0
- data/vendor/assets/javascripts/prism-csharp.min.js +1 -0
- data/vendor/assets/javascripts/prism-css-extras.js +15 -0
- data/vendor/assets/javascripts/prism-css-extras.min.js +1 -0
- data/vendor/assets/javascripts/prism-css.js +48 -0
- data/vendor/assets/javascripts/prism-css.min.js +1 -0
- data/vendor/assets/javascripts/prism-d.js +64 -0
- data/vendor/assets/javascripts/prism-d.min.js +1 -0
- data/vendor/assets/javascripts/prism-dart.js +18 -0
- data/vendor/assets/javascripts/prism-dart.min.js +1 -0
- data/vendor/assets/javascripts/prism-diff.js +20 -0
- data/vendor/assets/javascripts/prism-diff.min.js +1 -0
- data/vendor/assets/javascripts/prism-docker.js +9 -0
- data/vendor/assets/javascripts/prism-docker.min.js +1 -0
- data/vendor/assets/javascripts/prism-eiffel.js +24 -0
- data/vendor/assets/javascripts/prism-eiffel.min.js +1 -0
- data/vendor/assets/javascripts/prism-elixir.js +90 -0
- data/vendor/assets/javascripts/prism-elixir.min.js +1 -0
- data/vendor/assets/javascripts/prism-erlang.js +41 -0
- data/vendor/assets/javascripts/prism-erlang.min.js +1 -0
- data/vendor/assets/javascripts/prism-fortran.js +37 -0
- data/vendor/assets/javascripts/prism-fortran.min.js +1 -0
- data/vendor/assets/javascripts/prism-fsharp.js +33 -0
- data/vendor/assets/javascripts/prism-fsharp.min.js +1 -0
- data/vendor/assets/javascripts/prism-gherkin.js +78 -0
- data/vendor/assets/javascripts/prism-gherkin.min.js +1 -0
- data/vendor/assets/javascripts/prism-git.js +68 -0
- data/vendor/assets/javascripts/prism-git.min.js +1 -0
- data/vendor/assets/javascripts/prism-glsl.js +16 -0
- data/vendor/assets/javascripts/prism-glsl.min.js +1 -0
- data/vendor/assets/javascripts/prism-go.js +9 -0
- data/vendor/assets/javascripts/prism-go.min.js +1 -0
- data/vendor/assets/javascripts/prism-groovy.js +51 -0
- data/vendor/assets/javascripts/prism-groovy.min.js +1 -0
- data/vendor/assets/javascripts/prism-haml.js +154 -0
- data/vendor/assets/javascripts/prism-haml.min.js +1 -0
- data/vendor/assets/javascripts/prism-handlebars.js +83 -0
- data/vendor/assets/javascripts/prism-handlebars.min.js +1 -0
- data/vendor/assets/javascripts/prism-haskell.js +32 -0
- data/vendor/assets/javascripts/prism-haskell.min.js +1 -0
- data/vendor/assets/javascripts/prism-haxe.js +43 -0
- data/vendor/assets/javascripts/prism-haxe.min.js +1 -0
- data/vendor/assets/javascripts/prism-http.js +50 -0
- data/vendor/assets/javascripts/prism-http.min.js +1 -0
- data/vendor/assets/javascripts/prism-icon.js +17 -0
- data/vendor/assets/javascripts/prism-icon.min.js +1 -0
- data/vendor/assets/javascripts/prism-inform7.js +58 -0
- data/vendor/assets/javascripts/prism-inform7.min.js +1 -0
- data/vendor/assets/javascripts/prism-ini.js +11 -0
- data/vendor/assets/javascripts/prism-ini.min.js +1 -0
- data/vendor/assets/javascripts/prism-j.js +22 -0
- data/vendor/assets/javascripts/prism-j.min.js +1 -0
- data/vendor/assets/javascripts/prism-jade.js +198 -0
- data/vendor/assets/javascripts/prism-jade.min.js +1 -0
- data/vendor/assets/javascripts/prism-java.js +8 -0
- data/vendor/assets/javascripts/prism-java.min.js +1 -0
- data/vendor/assets/javascripts/prism-javascript.js +45 -0
- data/vendor/assets/javascripts/prism-javascript.min.js +1 -0
- data/vendor/assets/javascripts/prism-jsx.js +24 -0
- data/vendor/assets/javascripts/prism-jsx.min.js +1 -0
- data/vendor/assets/javascripts/prism-julia.js +12 -0
- data/vendor/assets/javascripts/prism-julia.min.js +1 -0
- data/vendor/assets/javascripts/prism-keyman.js +14 -0
- data/vendor/assets/javascripts/prism-keyman.min.js +1 -0
- data/vendor/assets/javascripts/prism-kotlin.js +68 -0
- data/vendor/assets/javascripts/prism-kotlin.min.js +1 -0
- data/vendor/assets/javascripts/prism-latex.js +61 -0
- data/vendor/assets/javascripts/prism-latex.min.js +1 -0
- data/vendor/assets/javascripts/prism-less.js +60 -0
- data/vendor/assets/javascripts/prism-less.min.js +1 -0
- data/vendor/assets/javascripts/prism-lolcode.js +54 -0
- data/vendor/assets/javascripts/prism-lolcode.min.js +1 -0
- data/vendor/assets/javascripts/prism-lua.js +17 -0
- data/vendor/assets/javascripts/prism-lua.min.js +1 -0
- data/vendor/assets/javascripts/prism-makefile.js +31 -0
- data/vendor/assets/javascripts/prism-makefile.min.js +1 -0
- data/vendor/assets/javascripts/prism-markdown.js +120 -0
- data/vendor/assets/javascripts/prism-markdown.min.js +1 -0
- data/vendor/assets/javascripts/prism-markup.js +46 -0
- data/vendor/assets/javascripts/prism-markup.min.js +1 -0
- data/vendor/assets/javascripts/prism-matlab.js +14 -0
- data/vendor/assets/javascripts/prism-matlab.min.js +1 -0
- data/vendor/assets/javascripts/prism-mel.js +39 -0
- data/vendor/assets/javascripts/prism-mel.min.js +1 -0
- data/vendor/assets/javascripts/prism-mizar.js +12 -0
- data/vendor/assets/javascripts/prism-mizar.min.js +1 -0
- data/vendor/assets/javascripts/prism-monkey.js +25 -0
- data/vendor/assets/javascripts/prism-monkey.min.js +1 -0
- data/vendor/assets/javascripts/prism-nasm.js +24 -0
- data/vendor/assets/javascripts/prism-nasm.min.js +1 -0
- data/vendor/assets/javascripts/prism-nginx.js +11 -0
- data/vendor/assets/javascripts/prism-nginx.min.js +1 -0
- data/vendor/assets/javascripts/prism-nim.js +30 -0
- data/vendor/assets/javascripts/prism-nim.min.js +1 -0
- data/vendor/assets/javascripts/prism-nix.js +39 -0
- data/vendor/assets/javascripts/prism-nix.min.js +1 -0
- data/vendor/assets/javascripts/prism-nsis.js +19 -0
- data/vendor/assets/javascripts/prism-nsis.min.js +1 -0
- data/vendor/assets/javascripts/prism-objectivec.js +5 -0
- data/vendor/assets/javascripts/prism-objectivec.min.js +1 -0
- data/vendor/assets/javascripts/prism-ocaml.js +21 -0
- data/vendor/assets/javascripts/prism-ocaml.min.js +1 -0
- data/vendor/assets/javascripts/prism-oz.js +21 -0
- data/vendor/assets/javascripts/prism-oz.min.js +1 -0
- data/vendor/assets/javascripts/prism-parigp.js +27 -0
- data/vendor/assets/javascripts/prism-parigp.min.js +1 -0
- data/vendor/assets/javascripts/prism-parser.js +66 -0
- data/vendor/assets/javascripts/prism-parser.min.js +1 -0
- data/vendor/assets/javascripts/prism-pascal.js +50 -0
- data/vendor/assets/javascripts/prism-pascal.min.js +1 -0
- data/vendor/assets/javascripts/prism-perl.js +140 -0
- data/vendor/assets/javascripts/prism-perl.min.js +1 -0
- data/vendor/assets/javascripts/prism-php-extras.js +11 -0
- data/vendor/assets/javascripts/prism-php-extras.min.js +1 -0
- data/vendor/assets/javascripts/prism-php.js +110 -0
- data/vendor/assets/javascripts/prism-php.min.js +1 -0
- data/vendor/assets/javascripts/prism-powershell.js +48 -0
- data/vendor/assets/javascripts/prism-powershell.min.js +1 -0
- data/vendor/assets/javascripts/prism-processing.js +18 -0
- data/vendor/assets/javascripts/prism-processing.min.js +1 -0
- data/vendor/assets/javascripts/prism-prolog.js +17 -0
- data/vendor/assets/javascripts/prism-prolog.min.js +1 -0
- data/vendor/assets/javascripts/prism-puppet.js +131 -0
- data/vendor/assets/javascripts/prism-puppet.min.js +1 -0
- data/vendor/assets/javascripts/prism-pure.js +77 -0
- data/vendor/assets/javascripts/prism-pure.min.js +1 -0
- data/vendor/assets/javascripts/prism-python.js +24 -0
- data/vendor/assets/javascripts/prism-python.min.js +1 -0
- data/vendor/assets/javascripts/prism-q.js +44 -0
- data/vendor/assets/javascripts/prism-q.min.js +1 -0
- data/vendor/assets/javascripts/prism-qore.js +17 -0
- data/vendor/assets/javascripts/prism-qore.min.js +1 -0
- data/vendor/assets/javascripts/prism-r.js +19 -0
- data/vendor/assets/javascripts/prism-r.min.js +1 -0
- data/vendor/assets/javascripts/prism-rest.js +205 -0
- data/vendor/assets/javascripts/prism-rest.min.js +1 -0
- data/vendor/assets/javascripts/prism-rip.js +28 -0
- data/vendor/assets/javascripts/prism-rip.min.js +1 -0
- data/vendor/assets/javascripts/prism-roboconf.js +27 -0
- data/vendor/assets/javascripts/prism-roboconf.min.js +1 -0
- data/vendor/assets/javascripts/prism-ruby.js +110 -0
- data/vendor/assets/javascripts/prism-ruby.min.js +1 -0
- data/vendor/assets/javascripts/prism-rust.js +53 -0
- data/vendor/assets/javascripts/prism-rust.min.js +1 -0
- data/vendor/assets/javascripts/prism-sas.js +31 -0
- data/vendor/assets/javascripts/prism-sas.min.js +1 -0
- data/vendor/assets/javascripts/prism-sass.js +73 -0
- data/vendor/assets/javascripts/prism-sass.min.js +1 -0
- data/vendor/assets/javascripts/prism-scala.js +9 -0
- data/vendor/assets/javascripts/prism-scala.min.js +1 -0
- data/vendor/assets/javascripts/prism-scheme.js +26 -0
- data/vendor/assets/javascripts/prism-scheme.min.js +1 -0
- data/vendor/assets/javascripts/prism-scss.js +60 -0
- data/vendor/assets/javascripts/prism-scss.min.js +1 -0
- data/vendor/assets/javascripts/prism-smalltalk.js +31 -0
- data/vendor/assets/javascripts/prism-smalltalk.min.js +1 -0
- data/vendor/assets/javascripts/prism-smarty.js +127 -0
- data/vendor/assets/javascripts/prism-smarty.min.js +1 -0
- data/vendor/assets/javascripts/prism-sql.js +17 -0
- data/vendor/assets/javascripts/prism-sql.min.js +1 -0
- data/vendor/assets/javascripts/prism-stylus.js +102 -0
- data/vendor/assets/javascripts/prism-stylus.min.js +1 -0
- data/vendor/assets/javascripts/prism-swift.js +24 -0
- data/vendor/assets/javascripts/prism-swift.min.js +1 -0
- data/vendor/assets/javascripts/prism-tcl.js +43 -0
- data/vendor/assets/javascripts/prism-tcl.min.js +1 -0
- data/vendor/assets/javascripts/prism-textile.js +254 -0
- data/vendor/assets/javascripts/prism-textile.min.js +1 -0
- data/vendor/assets/javascripts/prism-twig.js +46 -0
- data/vendor/assets/javascripts/prism-twig.min.js +1 -0
- data/vendor/assets/javascripts/prism-typescript.js +3 -0
- data/vendor/assets/javascripts/prism-typescript.min.js +1 -0
- data/vendor/assets/javascripts/prism-verilog.js +17 -0
- data/vendor/assets/javascripts/prism-verilog.min.js +1 -0
- data/vendor/assets/javascripts/prism-vhdl.js +23 -0
- data/vendor/assets/javascripts/prism-vhdl.min.js +1 -0
- data/vendor/assets/javascripts/prism-vim.js +10 -0
- data/vendor/assets/javascripts/prism-vim.min.js +1 -0
- data/vendor/assets/javascripts/prism-wiki.js +81 -0
- data/vendor/assets/javascripts/prism-wiki.min.js +1 -0
- data/vendor/assets/javascripts/prism-yaml.js +44 -0
- data/vendor/assets/javascripts/prism-yaml.min.js +1 -0
- data/vendor/assets/javascripts/prism.js +708 -0
- data/vendor/assets/stylesheets/prism-coy.css +235 -0
- data/vendor/assets/stylesheets/prism-dark.css +128 -0
- data/vendor/assets/stylesheets/prism-funky.css +117 -0
- data/vendor/assets/stylesheets/prism-okaidia.css +121 -0
- data/vendor/assets/stylesheets/prism-tomorrow.css +121 -0
- data/vendor/assets/stylesheets/prism-twilight.css +201 -0
- data/vendor/assets/stylesheets/prism.css +137 -0
- metadata +306 -0
@@ -0,0 +1 @@
|
|
1
|
+
var _self="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},Prism=function(){var e=/\blang(?:uage)?-(?!\*)(\w+)\b/i,t=_self.Prism={util:{encode:function(e){return e instanceof n?new n(e.type,t.util.encode(e.content),e.alias):"Array"===t.util.type(e)?e.map(t.util.encode):e.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).match(/\[object (\w+)\]/)[1]},clone:function(e){var n=t.util.type(e);switch(n){case"Object":var a={};for(var r in e)e.hasOwnProperty(r)&&(a[r]=t.util.clone(e[r]));return a;case"Array":return e.map&&e.map(function(e){return t.util.clone(e)})}return e}},languages:{extend:function(e,n){var a=t.util.clone(t.languages[e]);for(var r in n)a[r]=n[r];return a},insertBefore:function(e,n,a,r){r=r||t.languages;var l=r[e];if(2==arguments.length){a=arguments[1];for(var i in a)a.hasOwnProperty(i)&&(l[i]=a[i]);return l}var o={};for(var s in l)if(l.hasOwnProperty(s)){if(s==n)for(var i in a)a.hasOwnProperty(i)&&(o[i]=a[i]);o[s]=l[s]}return t.languages.DFS(t.languages,function(t,n){n===r[e]&&t!=e&&(this[t]=o)}),r[e]=o},DFS:function(e,n,a){for(var r in e)e.hasOwnProperty(r)&&(n.call(e,r,e[r],a||r),"Object"===t.util.type(e[r])?t.languages.DFS(e[r],n):"Array"===t.util.type(e[r])&&t.languages.DFS(e[r],n,r))}},plugins:{},highlightAll:function(e,n){for(var a,r=document.querySelectorAll('code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'),l=0;a=r[l++];)t.highlightElement(a,e===!0,n)},highlightElement:function(n,a,r){for(var l,i,o=n;o&&!e.test(o.className);)o=o.parentNode;o&&(l=(o.className.match(e)||[,""])[1],i=t.languages[l]),n.className=n.className.replace(e,"").replace(/\s+/g," ")+" language-"+l,o=n.parentNode,/pre/i.test(o.nodeName)&&(o.className=o.className.replace(e,"").replace(/\s+/g," ")+" language-"+l);var s=n.textContent,u={element:n,language:l,grammar:i,code:s};if(!s||!i)return t.hooks.run("complete",u),void 0;if(t.hooks.run("before-highlight",u),a&&_self.Worker){var g=new Worker(t.filename);g.onmessage=function(e){u.highlightedCode=e.data,t.hooks.run("before-insert",u),u.element.innerHTML=u.highlightedCode,r&&r.call(u.element),t.hooks.run("after-highlight",u),t.hooks.run("complete",u)},g.postMessage(JSON.stringify({language:u.language,code:u.code,immediateClose:!0}))}else u.highlightedCode=t.highlight(u.code,u.grammar,u.language),t.hooks.run("before-insert",u),u.element.innerHTML=u.highlightedCode,r&&r.call(n),t.hooks.run("after-highlight",u),t.hooks.run("complete",u)},highlight:function(e,a,r){var l=t.tokenize(e,a);return n.stringify(t.util.encode(l),r)},tokenize:function(e,n){var a=t.Token,r=[e],l=n.rest;if(l){for(var i in l)n[i]=l[i];delete n.rest}e:for(var i in n)if(n.hasOwnProperty(i)&&n[i]){var o=n[i];o="Array"===t.util.type(o)?o:[o];for(var s=0;s<o.length;++s){var u=o[s],g=u.inside,c=!!u.lookbehind,f=0,h=u.alias;u=u.pattern||u;for(var p=0;p<r.length;p++){var d=r[p];if(r.length>e.length)break e;if(!(d instanceof a)){u.lastIndex=0;var m=u.exec(d);if(m){c&&(f=m[1].length);var y=m.index-1+f,m=m[0].slice(f),v=m.length,k=y+v,b=d.slice(0,y+1),w=d.slice(k+1),P=[p,1];b&&P.push(b);var A=new a(i,g?t.tokenize(m,g):m,h);P.push(A),w&&P.push(w),Array.prototype.splice.apply(r,P)}}}}}return r},hooks:{all:{},add:function(e,n){var a=t.hooks.all;a[e]=a[e]||[],a[e].push(n)},run:function(e,n){var a=t.hooks.all[e];if(a&&a.length)for(var r,l=0;r=a[l++];)r(n)}}},n=t.Token=function(e,t,n){this.type=e,this.content=t,this.alias=n};if(n.stringify=function(e,a,r){if("string"==typeof e)return e;if("Array"===t.util.type(e))return e.map(function(t){return n.stringify(t,a,e)}).join("");var l={type:e.type,content:n.stringify(e.content,a,r),tag:"span",classes:["token",e.type],attributes:{},language:a,parent:r};if("comment"==l.type&&(l.attributes.spellcheck="true"),e.alias){var i="Array"===t.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(l.classes,i)}t.hooks.run("wrap",l);var o="";for(var s in l.attributes)o+=(o?" ":"")+s+'="'+(l.attributes[s]||"")+'"';return"<"+l.tag+' class="'+l.classes.join(" ")+'" '+o+">"+l.content+"</"+l.tag+">"},!_self.document)return _self.addEventListener?(_self.addEventListener("message",function(e){var n=JSON.parse(e.data),a=n.language,r=n.code,l=n.immediateClose;_self.postMessage(t.highlight(r,t.languages[a],a)),l&&_self.close()},!1),_self.Prism):_self.Prism;var a=document.getElementsByTagName("script");return a=a[a.length-1],a&&(t.filename=a.src,document.addEventListener&&!a.hasAttribute("data-manual")&&document.addEventListener("DOMContentLoaded",t.highlightAll)),_self.Prism}();"undefined"!=typeof module&&module.exports&&(module.exports=Prism),"undefined"!=typeof global&&(global.Prism=Prism);
|
@@ -0,0 +1,12 @@
|
|
1
|
+
Prism.languages.cpp = Prism.languages.extend('c', {
|
2
|
+
'keyword': /\b(alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|class|compl|const|constexpr|const_cast|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,
|
3
|
+
'boolean': /\b(true|false)\b/,
|
4
|
+
'operator': /[-+]{1,2}|!=?|<{1,2}=?|>{1,2}=?|\->|:{1,2}|={1,2}|\^|~|%|&{1,2}|\|?\||\?|\*|\/|\b(and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/
|
5
|
+
});
|
6
|
+
|
7
|
+
Prism.languages.insertBefore('cpp', 'keyword', {
|
8
|
+
'class-name': {
|
9
|
+
pattern: /(class\s+)[a-z0-9_]+/i,
|
10
|
+
lookbehind: true
|
11
|
+
}
|
12
|
+
});
|
@@ -0,0 +1 @@
|
|
1
|
+
Prism.languages.cpp=Prism.languages.extend("c",{keyword:/\b(alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|class|compl|const|constexpr|const_cast|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,"boolean":/\b(true|false)\b/,operator:/[-+]{1,2}|!=?|<{1,2}=?|>{1,2}=?|\->|:{1,2}|={1,2}|\^|~|%|&{1,2}|\|?\||\?|\*|\/|\b(and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/}),Prism.languages.insertBefore("cpp","keyword",{"class-name":{pattern:/(class\s+)[a-z0-9_]+/i,lookbehind:!0}});
|
@@ -0,0 +1,53 @@
|
|
1
|
+
(function(Prism) {
|
2
|
+
Prism.languages.crystal = Prism.languages.extend('ruby', {
|
3
|
+
keyword: [
|
4
|
+
/\b(?:abstract|alias|as|asm|begin|break|case|class|def|do|else|elsif|end|ensure|enum|extend|for|fun|if|ifdef|include|instance_sizeof|lib|macro|module|next|of|out|pointerof|private|protected|rescue|return|require|self|sizeof|struct|super|then|type|typeof|union|unless|until|when|while|with|yield|__DIR__|__FILE__|__LINE__)\b/,
|
5
|
+
{
|
6
|
+
pattern: /(\.\s*)(?:is_a|responds_to)\?/,
|
7
|
+
lookbehind: true
|
8
|
+
}
|
9
|
+
],
|
10
|
+
|
11
|
+
number: /\b(?:0b[01_]*[01]|0o[0-7_]*[0-7]|0x[0-9a-fA-F_]*[0-9a-fA-F]|(?:[0-9](?:[0-9_]*[0-9])?)(?:\.[0-9_]*[0-9])?(?:[eE][+-]?[0-9_]*[0-9])?)(?:_(?:[uif](?:8|16|32|64))?)?\b/,
|
12
|
+
});
|
13
|
+
|
14
|
+
var rest = Prism.util.clone(Prism.languages.crystal);
|
15
|
+
|
16
|
+
Prism.languages.insertBefore('crystal', 'string', {
|
17
|
+
attribute: {
|
18
|
+
pattern: /@\[.+?\]/,
|
19
|
+
alias: 'attr-name',
|
20
|
+
inside: {
|
21
|
+
delimiter: {
|
22
|
+
pattern: /^@\[|\]$/,
|
23
|
+
alias: 'tag'
|
24
|
+
},
|
25
|
+
rest: rest
|
26
|
+
}
|
27
|
+
},
|
28
|
+
|
29
|
+
expansion: [
|
30
|
+
{
|
31
|
+
pattern: /\{\{.+?\}\}/,
|
32
|
+
inside: {
|
33
|
+
delimiter: {
|
34
|
+
pattern: /^\{\{|\}\}$/,
|
35
|
+
alias: 'tag'
|
36
|
+
},
|
37
|
+
rest: rest
|
38
|
+
}
|
39
|
+
},
|
40
|
+
{
|
41
|
+
pattern: /\{%.+?%\}/,
|
42
|
+
inside: {
|
43
|
+
delimiter: {
|
44
|
+
pattern: /^\{%|%\}$/,
|
45
|
+
alias: 'tag'
|
46
|
+
},
|
47
|
+
rest: rest
|
48
|
+
}
|
49
|
+
}
|
50
|
+
]
|
51
|
+
});
|
52
|
+
|
53
|
+
}(Prism));
|
@@ -0,0 +1 @@
|
|
1
|
+
!function(e){e.languages.crystal=e.languages.extend("ruby",{keyword:[/\b(?:abstract|alias|as|asm|begin|break|case|class|def|do|else|elsif|end|ensure|enum|extend|for|fun|if|ifdef|include|instance_sizeof|lib|macro|module|next|of|out|pointerof|private|protected|rescue|return|require|self|sizeof|struct|super|then|type|typeof|union|unless|until|when|while|with|yield|__DIR__|__FILE__|__LINE__)\b/,{pattern:/(\.\s*)(?:is_a|responds_to)\?/,lookbehind:!0}],number:/\b(?:0b[01_]*[01]|0o[0-7_]*[0-7]|0x[0-9a-fA-F_]*[0-9a-fA-F]|(?:[0-9](?:[0-9_]*[0-9])?)(?:\.[0-9_]*[0-9])?(?:[eE][+-]?[0-9_]*[0-9])?)(?:_(?:[uif](?:8|16|32|64))?)?\b/});var t=e.util.clone(e.languages.crystal);e.languages.insertBefore("crystal","string",{attribute:{pattern:/@\[.+?\]/,alias:"attr-name",inside:{delimiter:{pattern:/^@\[|\]$/,alias:"tag"},rest:t}},expansion:[{pattern:/\{\{.+?\}\}/,inside:{delimiter:{pattern:/^\{\{|\}\}$/,alias:"tag"},rest:t}},{pattern:/\{%.+?%\}/,inside:{delimiter:{pattern:/^\{%|%\}$/,alias:"tag"},rest:t}}]})}(Prism);
|
@@ -0,0 +1,24 @@
|
|
1
|
+
Prism.languages.csharp = Prism.languages.extend('clike', {
|
2
|
+
'keyword': /\b(abstract|as|async|await|base|bool|break|byte|case|catch|char|checked|class|const|continue|decimal|default|delegate|do|double|else|enum|event|explicit|extern|false|finally|fixed|float|for|foreach|goto|if|implicit|in|int|interface|internal|is|lock|long|namespace|new|null|object|operator|out|override|params|private|protected|public|readonly|ref|return|sbyte|sealed|short|sizeof|stackalloc|static|string|struct|switch|this|throw|true|try|typeof|uint|ulong|unchecked|unsafe|ushort|using|virtual|void|volatile|while|add|alias|ascending|async|await|descending|dynamic|from|get|global|group|into|join|let|orderby|partial|remove|select|set|value|var|where|yield)\b/,
|
3
|
+
'string': [
|
4
|
+
/@("|')(\1\1|\\\1|\\?(?!\1)[\s\S])*\1/,
|
5
|
+
/("|')(\\?.)*?\1/
|
6
|
+
],
|
7
|
+
'number': /\b-?(0x[\da-f]+|\d*\.?\d+f?)\b/i
|
8
|
+
});
|
9
|
+
|
10
|
+
Prism.languages.insertBefore('csharp', 'keyword', {
|
11
|
+
'preprocessor': {
|
12
|
+
pattern: /(^\s*)#.*/m,
|
13
|
+
lookbehind: true,
|
14
|
+
alias: 'property',
|
15
|
+
inside: {
|
16
|
+
// highlight preprocessor directives as keywords
|
17
|
+
'directive': {
|
18
|
+
pattern: /(\s*#)\b(define|elif|else|endif|endregion|error|if|line|pragma|region|undef|warning)\b/,
|
19
|
+
lookbehind: true,
|
20
|
+
alias: 'keyword'
|
21
|
+
}
|
22
|
+
}
|
23
|
+
}
|
24
|
+
});
|
@@ -0,0 +1 @@
|
|
1
|
+
Prism.languages.csharp=Prism.languages.extend("clike",{keyword:/\b(abstract|as|async|await|base|bool|break|byte|case|catch|char|checked|class|const|continue|decimal|default|delegate|do|double|else|enum|event|explicit|extern|false|finally|fixed|float|for|foreach|goto|if|implicit|in|int|interface|internal|is|lock|long|namespace|new|null|object|operator|out|override|params|private|protected|public|readonly|ref|return|sbyte|sealed|short|sizeof|stackalloc|static|string|struct|switch|this|throw|true|try|typeof|uint|ulong|unchecked|unsafe|ushort|using|virtual|void|volatile|while|add|alias|ascending|async|await|descending|dynamic|from|get|global|group|into|join|let|orderby|partial|remove|select|set|value|var|where|yield)\b/,string:[/@("|')(\1\1|\\\1|\\?(?!\1)[\s\S])*\1/,/("|')(\\?.)*?\1/],number:/\b-?(0x[\da-f]+|\d*\.?\d+f?)\b/i}),Prism.languages.insertBefore("csharp","keyword",{preprocessor:{pattern:/(^\s*)#.*/m,lookbehind:!0,alias:"property",inside:{directive:{pattern:/(\s*#)\b(define|elif|else|endif|endregion|error|if|line|pragma|region|undef|warning)\b/,lookbehind:!0,alias:"keyword"}}}});
|
@@ -0,0 +1,15 @@
|
|
1
|
+
Prism.languages.css.selector = {
|
2
|
+
pattern: /[^\{\}\s][^\{\}]*(?=\s*\{)/,
|
3
|
+
inside: {
|
4
|
+
'pseudo-element': /:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,
|
5
|
+
'pseudo-class': /:[-\w]+(?:\(.*\))?/,
|
6
|
+
'class': /\.[-:\.\w]+/,
|
7
|
+
'id': /#[-:\.\w]+/
|
8
|
+
}
|
9
|
+
};
|
10
|
+
|
11
|
+
Prism.languages.insertBefore('css', 'function', {
|
12
|
+
'hexcode': /#[\da-f]{3,6}/i,
|
13
|
+
'entity': /\\[\da-f]{1,8}/i,
|
14
|
+
'number': /[\d%\.]+/
|
15
|
+
});
|
@@ -0,0 +1 @@
|
|
1
|
+
Prism.languages.css.selector={pattern:/[^\{\}\s][^\{\}]*(?=\s*\{)/,inside:{"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+(?:\(.*\))?/,"class":/\.[-:\.\w]+/,id:/#[-:\.\w]+/}},Prism.languages.insertBefore("css","function",{hexcode:/#[\da-f]{3,6}/i,entity:/\\[\da-f]{1,8}/i,number:/[\d%\.]+/});
|
@@ -0,0 +1,48 @@
|
|
1
|
+
Prism.languages.css = {
|
2
|
+
'comment': /\/\*[\w\W]*?\*\//,
|
3
|
+
'atrule': {
|
4
|
+
pattern: /@[\w-]+?.*?(;|(?=\s*\{))/i,
|
5
|
+
inside: {
|
6
|
+
'rule': /@[\w-]+/
|
7
|
+
// See rest below
|
8
|
+
}
|
9
|
+
},
|
10
|
+
'url': /url\((?:(["'])(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1|.*?)\)/i,
|
11
|
+
'selector': /[^\{\}\s][^\{\};]*?(?=\s*\{)/,
|
12
|
+
'string': /("|')(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1/,
|
13
|
+
'property': /(\b|\B)[\w-]+(?=\s*:)/i,
|
14
|
+
'important': /\B!important\b/i,
|
15
|
+
'function': /[-a-z0-9]+(?=\()/i,
|
16
|
+
'punctuation': /[(){};:]/
|
17
|
+
};
|
18
|
+
|
19
|
+
Prism.languages.css['atrule'].inside.rest = Prism.util.clone(Prism.languages.css);
|
20
|
+
|
21
|
+
if (Prism.languages.markup) {
|
22
|
+
Prism.languages.insertBefore('markup', 'tag', {
|
23
|
+
'style': {
|
24
|
+
pattern: /(<style[\w\W]*?>)[\w\W]*?(?=<\/style>)/i,
|
25
|
+
lookbehind: true,
|
26
|
+
inside: Prism.languages.css,
|
27
|
+
alias: 'language-css'
|
28
|
+
}
|
29
|
+
});
|
30
|
+
|
31
|
+
Prism.languages.insertBefore('inside', 'attr-value', {
|
32
|
+
'style-attr': {
|
33
|
+
pattern: /\s*style=("|').*?\1/i,
|
34
|
+
inside: {
|
35
|
+
'attr-name': {
|
36
|
+
pattern: /^\s*style/i,
|
37
|
+
inside: Prism.languages.markup.tag.inside
|
38
|
+
},
|
39
|
+
'punctuation': /^\s*=\s*['"]|['"]\s*$/,
|
40
|
+
'attr-value': {
|
41
|
+
pattern: /.+/i,
|
42
|
+
inside: Prism.languages.css
|
43
|
+
}
|
44
|
+
},
|
45
|
+
alias: 'language-css'
|
46
|
+
}
|
47
|
+
}, Prism.languages.markup.tag);
|
48
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
Prism.languages.css={comment:/\/\*[\w\W]*?\*\//,atrule:{pattern:/@[\w-]+?.*?(;|(?=\s*\{))/i,inside:{rule:/@[\w-]+/}},url:/url\((?:(["'])(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1|.*?)\)/i,selector:/[^\{\}\s][^\{\};]*?(?=\s*\{)/,string:/("|')(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1/,property:/(\b|\B)[\w-]+(?=\s*:)/i,important:/\B!important\b/i,"function":/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:]/},Prism.languages.css.atrule.inside.rest=Prism.util.clone(Prism.languages.css),Prism.languages.markup&&(Prism.languages.insertBefore("markup","tag",{style:{pattern:/(<style[\w\W]*?>)[\w\W]*?(?=<\/style>)/i,lookbehind:!0,inside:Prism.languages.css,alias:"language-css"}}),Prism.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/\s*style=("|').*?\1/i,inside:{"attr-name":{pattern:/^\s*style/i,inside:Prism.languages.markup.tag.inside},punctuation:/^\s*=\s*['"]|['"]\s*$/,"attr-value":{pattern:/.+/i,inside:Prism.languages.css}},alias:"language-css"}},Prism.languages.markup.tag));
|
@@ -0,0 +1,64 @@
|
|
1
|
+
Prism.languages.d = Prism.languages.extend('clike', {
|
2
|
+
'string': [
|
3
|
+
// r"", x""
|
4
|
+
/\b[rx]"(\\.|[^\\"])*"[cwd]?/,
|
5
|
+
// q"[]", q"()", q"<>", q"{}"
|
6
|
+
/\bq"(?:\[[\s\S]*?\]|\([\s\S]*?\)|<[\s\S]*?>|\{[\s\S]*?\})"/,
|
7
|
+
// q"IDENT
|
8
|
+
// ...
|
9
|
+
// IDENT"
|
10
|
+
/\bq"([_a-zA-Z][_a-zA-Z\d]*)(?:\r?\n|\r)[\s\S]*?(?:\r?\n|\r)\1"/,
|
11
|
+
// q"//", q"||", etc.
|
12
|
+
/\bq"(.)[\s\S]*?\1"/,
|
13
|
+
// Characters
|
14
|
+
/'(?:\\'|\\?[^']+)'/,
|
15
|
+
|
16
|
+
/(["`])(\\.|(?!\1)[^\\])*\1[cwd]?/
|
17
|
+
],
|
18
|
+
|
19
|
+
'number': [
|
20
|
+
// The lookbehind and the negative look-ahead try to prevent bad highlighting of the .. operator
|
21
|
+
// Hexadecimal numbers must be handled separately to avoid problems with exponent "e"
|
22
|
+
/\b0x\.?[a-f\d_]+(?:(?!\.\.)\.[a-f\d_]*)?(?:p[+-]?[a-f\d_]+)?[ulfi]*/i,
|
23
|
+
{
|
24
|
+
pattern: /((?:\.\.)?)(?:\b0b\.?|\b|\.)\d[\d_]*(?:(?!\.\.)\.[\d_]*)?(?:e[+-]?\d[\d_]*)?[ulfi]*/i,
|
25
|
+
lookbehind: true
|
26
|
+
}
|
27
|
+
],
|
28
|
+
|
29
|
+
// In order: $, keywords and special tokens, globally defined symbols
|
30
|
+
'keyword': /\$|\b(?:abstract|alias|align|asm|assert|auto|body|bool|break|byte|case|cast|catch|cdouble|cent|cfloat|char|class|const|continue|creal|dchar|debug|default|delegate|delete|deprecated|do|double|else|enum|export|extern|false|final|finally|float|for|foreach|foreach_reverse|function|goto|idouble|if|ifloat|immutable|import|inout|int|interface|invariant|ireal|lazy|long|macro|mixin|module|new|nothrow|null|out|override|package|pragma|private|protected|public|pure|real|ref|return|scope|shared|short|static|struct|super|switch|synchronized|template|this|throw|true|try|typedef|typeid|typeof|ubyte|ucent|uint|ulong|union|unittest|ushort|version|void|volatile|wchar|while|with|__(?:(?:FILE|MODULE|LINE|FUNCTION|PRETTY_FUNCTION|DATE|EOF|TIME|TIMESTAMP|VENDOR|VERSION)__|gshared|traits|vector|parameters)|string|wstring|dstring|size_t|ptrdiff_t)\b/,
|
31
|
+
'operator': /\|[|=]?|&[&=]?|\+[+=]?|-[-=]?|\.?\.\.|=[>=]?|!(?:i[ns]\b|<>?=?|>=?|=)?|\bi[ns]\b|(?:<[<>]?|>>?>?|\^\^|[*\/%^~])=?/
|
32
|
+
});
|
33
|
+
|
34
|
+
|
35
|
+
Prism.languages.d.comment = [
|
36
|
+
// Shebang
|
37
|
+
/^\s*#!.+/,
|
38
|
+
// /+ +/
|
39
|
+
{
|
40
|
+
// Allow one level of nesting
|
41
|
+
pattern: /(^|[^\\])\/\+(?:\/\+[\w\W]*?\+\/|[\w\W])*?\+\//,
|
42
|
+
lookbehind: true
|
43
|
+
}
|
44
|
+
].concat(Prism.languages.d.comment);
|
45
|
+
|
46
|
+
Prism.languages.insertBefore('d', 'comment', {
|
47
|
+
'token-string': {
|
48
|
+
// Allow one level of nesting
|
49
|
+
pattern: /\bq\{(?:|\{[^}]*\}|[^}])*\}/,
|
50
|
+
alias: 'string'
|
51
|
+
}
|
52
|
+
});
|
53
|
+
|
54
|
+
Prism.languages.insertBefore('d', 'keyword', {
|
55
|
+
'property': /\B@\w*/
|
56
|
+
});
|
57
|
+
|
58
|
+
Prism.languages.insertBefore('d', 'function', {
|
59
|
+
'register': {
|
60
|
+
// Iasm registers
|
61
|
+
pattern: /\b(?:[ABCD][LHX]|E[ABCD]X|E?(?:BP|SP|DI|SI)|[ECSDGF]S|CR[0234]|DR[012367]|TR[3-7]|X?MM[0-7]|R[ABCD]X|[BS]PL|R[BS]P|[DS]IL|R[DS]I|R(?:[89]|1[0-5])[BWD]?|XMM(?:[89]|1[0-5])|YMM(?:1[0-5]|\d))\b|\bST(?:\([0-7]\)|\b)/,
|
62
|
+
alias: 'variable'
|
63
|
+
}
|
64
|
+
});
|
@@ -0,0 +1 @@
|
|
1
|
+
Prism.languages.d=Prism.languages.extend("clike",{string:[/\b[rx]"(\\.|[^\\"])*"[cwd]?/,/\bq"(?:\[[\s\S]*?\]|\([\s\S]*?\)|<[\s\S]*?>|\{[\s\S]*?\})"/,/\bq"([_a-zA-Z][_a-zA-Z\d]*)(?:\r?\n|\r)[\s\S]*?(?:\r?\n|\r)\1"/,/\bq"(.)[\s\S]*?\1"/,/'(?:\\'|\\?[^']+)'/,/(["`])(\\.|(?!\1)[^\\])*\1[cwd]?/],number:[/\b0x\.?[a-f\d_]+(?:(?!\.\.)\.[a-f\d_]*)?(?:p[+-]?[a-f\d_]+)?[ulfi]*/i,{pattern:/((?:\.\.)?)(?:\b0b\.?|\b|\.)\d[\d_]*(?:(?!\.\.)\.[\d_]*)?(?:e[+-]?\d[\d_]*)?[ulfi]*/i,lookbehind:!0}],keyword:/\$|\b(?:abstract|alias|align|asm|assert|auto|body|bool|break|byte|case|cast|catch|cdouble|cent|cfloat|char|class|const|continue|creal|dchar|debug|default|delegate|delete|deprecated|do|double|else|enum|export|extern|false|final|finally|float|for|foreach|foreach_reverse|function|goto|idouble|if|ifloat|immutable|import|inout|int|interface|invariant|ireal|lazy|long|macro|mixin|module|new|nothrow|null|out|override|package|pragma|private|protected|public|pure|real|ref|return|scope|shared|short|static|struct|super|switch|synchronized|template|this|throw|true|try|typedef|typeid|typeof|ubyte|ucent|uint|ulong|union|unittest|ushort|version|void|volatile|wchar|while|with|__(?:(?:FILE|MODULE|LINE|FUNCTION|PRETTY_FUNCTION|DATE|EOF|TIME|TIMESTAMP|VENDOR|VERSION)__|gshared|traits|vector|parameters)|string|wstring|dstring|size_t|ptrdiff_t)\b/,operator:/\|[|=]?|&[&=]?|\+[+=]?|-[-=]?|\.?\.\.|=[>=]?|!(?:i[ns]\b|<>?=?|>=?|=)?|\bi[ns]\b|(?:<[<>]?|>>?>?|\^\^|[*\/%^~])=?/}),Prism.languages.d.comment=[/^\s*#!.+/,{pattern:/(^|[^\\])\/\+(?:\/\+[\w\W]*?\+\/|[\w\W])*?\+\//,lookbehind:!0}].concat(Prism.languages.d.comment),Prism.languages.insertBefore("d","comment",{"token-string":{pattern:/\bq\{(?:|\{[^}]*\}|[^}])*\}/,alias:"string"}}),Prism.languages.insertBefore("d","keyword",{property:/\B@\w*/}),Prism.languages.insertBefore("d","function",{register:{pattern:/\b(?:[ABCD][LHX]|E[ABCD]X|E?(?:BP|SP|DI|SI)|[ECSDGF]S|CR[0234]|DR[012367]|TR[3-7]|X?MM[0-7]|R[ABCD]X|[BS]PL|R[BS]P|[DS]IL|R[DS]I|R(?:[89]|1[0-5])[BWD]?|XMM(?:[89]|1[0-5])|YMM(?:1[0-5]|\d))\b|\bST(?:\([0-7]\)|\b)/,alias:"variable"}});
|
@@ -0,0 +1,18 @@
|
|
1
|
+
Prism.languages.dart = Prism.languages.extend('clike', {
|
2
|
+
'string': [
|
3
|
+
/r?("""|''')[\s\S]*?\1/,
|
4
|
+
/r?("|')(\\?.)*?\1/
|
5
|
+
],
|
6
|
+
'keyword': [
|
7
|
+
/\b(?:async|sync|yield)\*/,
|
8
|
+
/\b(?:abstract|assert|async|await|break|case|catch|class|const|continue|default|deferred|do|dynamic|else|enum|export|external|extends|factory|final|finally|for|get|if|implements|import|in|library|new|null|operator|part|rethrow|return|set|static|super|switch|this|throw|try|typedef|var|void|while|with|yield)\b/
|
9
|
+
],
|
10
|
+
'operator': /\bis!|\b(?:as|is)\b|\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[+\-*\/%&^|=!<>]=?|\?/
|
11
|
+
});
|
12
|
+
|
13
|
+
Prism.languages.insertBefore('dart','function',{
|
14
|
+
'metadata': {
|
15
|
+
pattern: /@\w+/,
|
16
|
+
alias: 'symbol'
|
17
|
+
}
|
18
|
+
});
|
@@ -0,0 +1 @@
|
|
1
|
+
Prism.languages.dart=Prism.languages.extend("clike",{string:[/r?("""|''')[\s\S]*?\1/,/r?("|')(\\?.)*?\1/],keyword:[/\b(?:async|sync|yield)\*/,/\b(?:abstract|assert|async|await|break|case|catch|class|const|continue|default|deferred|do|dynamic|else|enum|export|external|extends|factory|final|finally|for|get|if|implements|import|in|library|new|null|operator|part|rethrow|return|set|static|super|switch|this|throw|try|typedef|var|void|while|with|yield)\b/],operator:/\bis!|\b(?:as|is)\b|\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[+\-*\/%&^|=!<>]=?|\?/}),Prism.languages.insertBefore("dart","function",{metadata:{pattern:/@\w+/,alias:"symbol"}});
|
@@ -0,0 +1,20 @@
|
|
1
|
+
Prism.languages.diff = {
|
2
|
+
'coord': [
|
3
|
+
// Match all kinds of coord lines (prefixed by "+++", "---" or "***").
|
4
|
+
/^(?:\*{3}|-{3}|\+{3}).*$/m,
|
5
|
+
// Match "@@ ... @@" coord lines in unified diff.
|
6
|
+
/^@@.*@@$/m,
|
7
|
+
// Match coord lines in normal diff (starts with a number).
|
8
|
+
/^\d+.*$/m
|
9
|
+
],
|
10
|
+
|
11
|
+
// Match inserted and deleted lines. Support both +/- and >/< styles.
|
12
|
+
'deleted': /^[-<].+$/m,
|
13
|
+
'inserted': /^[+>].+$/m,
|
14
|
+
|
15
|
+
// Match "different" lines (prefixed with "!") in context diff.
|
16
|
+
'diff': {
|
17
|
+
'pattern': /^!(?!!).+$/m,
|
18
|
+
'alias': 'important'
|
19
|
+
}
|
20
|
+
};
|
@@ -0,0 +1 @@
|
|
1
|
+
Prism.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d+.*$/m],deleted:/^[-<].+$/m,inserted:/^[+>].+$/m,diff:{pattern:/^!(?!!).+$/m,alias:"important"}};
|
@@ -0,0 +1,9 @@
|
|
1
|
+
Prism.languages.docker = {
|
2
|
+
'keyword': {
|
3
|
+
pattern: /(^\s*)(?:ONBUILD|FROM|MAINTAINER|RUN|EXPOSE|ENV|ADD|COPY|VOLUME|USER|WORKDIR|CMD|LABEL|ENTRYPOINT)(?=\s)/mi,
|
4
|
+
lookbehind: true
|
5
|
+
},
|
6
|
+
'string': /("|')(?:(?!\1)[^\\\r\n]|\\(?:\r\n|[\s\S]))*?\1/,
|
7
|
+
'comment': /#.*/,
|
8
|
+
'punctuation': /---|\.\.\.|[:[\]{}\-,|>?]/
|
9
|
+
};
|
@@ -0,0 +1 @@
|
|
1
|
+
Prism.languages.docker={keyword:{pattern:/(^\s*)(?:ONBUILD|FROM|MAINTAINER|RUN|EXPOSE|ENV|ADD|COPY|VOLUME|USER|WORKDIR|CMD|LABEL|ENTRYPOINT)(?=\s)/im,lookbehind:!0},string:/("|')(?:(?!\1)[^\\\r\n]|\\(?:\r\n|[\s\S]))*?\1/,comment:/#.*/,punctuation:/---|\.\.\.|[:[\]{}\-,|>?]/};
|
@@ -0,0 +1,24 @@
|
|
1
|
+
Prism.languages.eiffel = {
|
2
|
+
'string': [
|
3
|
+
// Aligned-verbatim-strings
|
4
|
+
/"([^[]*)\[[\s\S]+?\]\1"/,
|
5
|
+
// Non-aligned-verbatim-strings
|
6
|
+
/"([^{]*)\{[\s\S]+?\}\1"/,
|
7
|
+
// Single-line string
|
8
|
+
/"(?:%\s+%|%"|.)*?"/
|
9
|
+
],
|
10
|
+
// (comments including quoted strings not supported)
|
11
|
+
'comment': /--.*/,
|
12
|
+
// normal char | special char | char code
|
13
|
+
'char': /'(?:%'|.)+?'/,
|
14
|
+
'keyword': /\b(?:across|agent|alias|all|and|attached|as|assign|attribute|check|class|convert|create|Current|debug|deferred|detachable|do|else|elseif|end|ensure|expanded|export|external|feature|from|frozen|if|implies|inherit|inspect|invariant|like|local|loop|not|note|obsolete|old|once|or|Precursor|redefine|rename|require|rescue|Result|retry|select|separate|some|then|undefine|until|variant|Void|when|xor)\b/i,
|
15
|
+
'boolean': /\b(?:True|False)\b/i,
|
16
|
+
'number': [
|
17
|
+
// hexa | octal | bin
|
18
|
+
/\b0[xcb][\da-f](?:_*[\da-f])*\b/i,
|
19
|
+
// Decimal
|
20
|
+
/(?:\d(?:_*\d)*)?\.(?:(?:\d(?:_*\d)*)?[eE][+-]?)?\d(?:_*\d)*|\d(?:_*\d)*\.?/
|
21
|
+
],
|
22
|
+
'punctuation': /:=|<<|>>|\(\||\|\)|->|\.(?=\w)|[{}[\];(),:?]/,
|
23
|
+
'operator': /\\\\|\|\.\.\||\.\.|\/[~\/=]?|[><]=?|[-+*^=~]/
|
24
|
+
};
|
@@ -0,0 +1 @@
|
|
1
|
+
Prism.languages.eiffel={string:[/"([^[]*)\[[\s\S]+?\]\1"/,/"([^{]*)\{[\s\S]+?\}\1"/,/"(?:%\s+%|%"|.)*?"/],comment:/--.*/,"char":/'(?:%'|.)+?'/,keyword:/\b(?:across|agent|alias|all|and|attached|as|assign|attribute|check|class|convert|create|Current|debug|deferred|detachable|do|else|elseif|end|ensure|expanded|export|external|feature|from|frozen|if|implies|inherit|inspect|invariant|like|local|loop|not|note|obsolete|old|once|or|Precursor|redefine|rename|require|rescue|Result|retry|select|separate|some|then|undefine|until|variant|Void|when|xor)\b/i,"boolean":/\b(?:True|False)\b/i,number:[/\b0[xcb][\da-f](?:_*[\da-f])*\b/i,/(?:\d(?:_*\d)*)?\.(?:(?:\d(?:_*\d)*)?[eE][+-]?)?\d(?:_*\d)*|\d(?:_*\d)*\.?/],punctuation:/:=|<<|>>|\(\||\|\)|->|\.(?=\w)|[{}[\];(),:?]/,operator:/\\\\|\|\.\.\||\.\.|\/[~\/=]?|[><]=?|[-+*^=~]/};
|
@@ -0,0 +1,90 @@
|
|
1
|
+
Prism.languages.elixir = {
|
2
|
+
// Negative look-ahead is needed for string interpolation
|
3
|
+
// Negative look-behind is needed to avoid highlighting markdown headers in
|
4
|
+
// multi-line doc strings
|
5
|
+
'comment': {
|
6
|
+
pattern: /(^|[^#])#(?![{#]).*/m,
|
7
|
+
lookbehind: true
|
8
|
+
},
|
9
|
+
// ~r"""foo""", ~r'''foo''', ~r/foo/, ~r|foo|, ~r"foo", ~r'foo', ~r(foo), ~r[foo], ~r{foo}, ~r<foo>
|
10
|
+
'regex': /~[rR](?:("""|'''|[\/|"'])(?:\\.|(?!\1)[^\\])+\1|\((?:\\\)|[^)])+\)|\[(?:\\\]|[^\]])+\]|\{(?:\\\}|[^}])+\}|<(?:\\>|[^>])+>)[uismxfr]*/,
|
11
|
+
'string': [
|
12
|
+
{
|
13
|
+
// ~s"""foo""", ~s'''foo''', ~s/foo/, ~s|foo|, ~s"foo", ~s'foo', ~s(foo), ~s[foo], ~s{foo}, ~s<foo>
|
14
|
+
pattern: /~[cCsSwW](?:("""|'''|[\/|"'])(?:\\.|(?!\1)[^\\])+\1|\((?:\\\)|[^)])+\)|\[(?:\\\]|[^\]])+\]|\{(?:\\\}|#\{[^}]+\}|[^}])+\}|<(?:\\>|[^>])+>)[csa]?/,
|
15
|
+
inside: {
|
16
|
+
// See interpolation below
|
17
|
+
}
|
18
|
+
},
|
19
|
+
{
|
20
|
+
pattern: /("""|''')[\s\S]*?\1/,
|
21
|
+
inside: {
|
22
|
+
// See interpolation below
|
23
|
+
}
|
24
|
+
},
|
25
|
+
{
|
26
|
+
// Multi-line strings are allowed
|
27
|
+
pattern: /("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/,
|
28
|
+
inside: {
|
29
|
+
// See interpolation below
|
30
|
+
}
|
31
|
+
}
|
32
|
+
],
|
33
|
+
'atom': {
|
34
|
+
// Look-behind prevents bad highlighting of the :: operator
|
35
|
+
pattern: /(^|[^:]):\w+/,
|
36
|
+
lookbehind: true,
|
37
|
+
alias: 'symbol'
|
38
|
+
},
|
39
|
+
// Look-ahead prevents bad highlighting of the :: operator
|
40
|
+
'attr-name': /\w+:(?!:)/,
|
41
|
+
'capture': {
|
42
|
+
// Look-behind prevents bad highlighting of the && operator
|
43
|
+
pattern: /(^|[^&])&(?:[^&\s\d()][^\s()]*|(?=\())/,
|
44
|
+
lookbehind: true,
|
45
|
+
alias: 'function'
|
46
|
+
},
|
47
|
+
'argument': {
|
48
|
+
// Look-behind prevents bad highlighting of the && operator
|
49
|
+
pattern: /(^|[^&])&\d+/,
|
50
|
+
lookbehind: true,
|
51
|
+
alias: 'variable'
|
52
|
+
},
|
53
|
+
'attribute': {
|
54
|
+
pattern: /@[\S]+/,
|
55
|
+
alias: 'variable'
|
56
|
+
},
|
57
|
+
'number': /\b(?:0[box][a-f\d_]+|\d[\d_]*)(?:\.[\d_]+)?(?:e[+-]?[\d_]+)?\b/i,
|
58
|
+
'keyword': /\b(?:after|alias|and|case|catch|cond|def(?:callback|exception|impl|module|p|protocol|struct)?|do|else|end|fn|for|if|import|not|or|require|rescue|try|unless|use|when)\b/,
|
59
|
+
'boolean': /\b(?:true|false|nil)\b/,
|
60
|
+
'operator': [
|
61
|
+
/\bin\b|&&?|\|[|>]?|\\\\|::|\.\.\.?|\+\+?|-[->]?|<[-=>]|>=|!==?|\B!|=(?:==?|[>~])?|[*\/^]/,
|
62
|
+
{
|
63
|
+
// We don't want to match <<
|
64
|
+
pattern: /([^<])<(?!<)/,
|
65
|
+
lookbehind: true
|
66
|
+
},
|
67
|
+
{
|
68
|
+
// We don't want to match >>
|
69
|
+
pattern: /([^>])>(?!>)/,
|
70
|
+
lookbehind: true
|
71
|
+
}
|
72
|
+
],
|
73
|
+
'punctuation': /<<|>>|[.,%\[\]{}()]/
|
74
|
+
};
|
75
|
+
|
76
|
+
Prism.languages.elixir.string.forEach(function(o) {
|
77
|
+
o.inside = {
|
78
|
+
'interpolation': {
|
79
|
+
pattern: /#\{[^}]+\}/,
|
80
|
+
inside: {
|
81
|
+
'delimiter': {
|
82
|
+
pattern: /^#\{|\}$/,
|
83
|
+
alias: 'punctuation'
|
84
|
+
},
|
85
|
+
rest: Prism.util.clone(Prism.languages.elixir)
|
86
|
+
}
|
87
|
+
}
|
88
|
+
};
|
89
|
+
});
|
90
|
+
|
@@ -0,0 +1 @@
|
|
1
|
+
Prism.languages.elixir={comment:{pattern:/(^|[^#])#(?![{#]).*/m,lookbehind:!0},regex:/~[rR](?:("""|'''|[\/|"'])(?:\\.|(?!\1)[^\\])+\1|\((?:\\\)|[^)])+\)|\[(?:\\\]|[^\]])+\]|\{(?:\\\}|[^}])+\}|<(?:\\>|[^>])+>)[uismxfr]*/,string:[{pattern:/~[cCsSwW](?:("""|'''|[\/|"'])(?:\\.|(?!\1)[^\\])+\1|\((?:\\\)|[^)])+\)|\[(?:\\\]|[^\]])+\]|\{(?:\\\}|#\{[^}]+\}|[^}])+\}|<(?:\\>|[^>])+>)[csa]?/,inside:{}},{pattern:/("""|''')[\s\S]*?\1/,inside:{}},{pattern:/("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/,inside:{}}],atom:{pattern:/(^|[^:]):\w+/,lookbehind:!0,alias:"symbol"},"attr-name":/\w+:(?!:)/,capture:{pattern:/(^|[^&])&(?:[^&\s\d()][^\s()]*|(?=\())/,lookbehind:!0,alias:"function"},argument:{pattern:/(^|[^&])&\d+/,lookbehind:!0,alias:"variable"},attribute:{pattern:/@[\S]+/,alias:"variable"},number:/\b(?:0[box][a-f\d_]+|\d[\d_]*)(?:\.[\d_]+)?(?:e[+-]?[\d_]+)?\b/i,keyword:/\b(?:after|alias|and|case|catch|cond|def(?:callback|exception|impl|module|p|protocol|struct)?|do|else|end|fn|for|if|import|not|or|require|rescue|try|unless|use|when)\b/,"boolean":/\b(?:true|false|nil)\b/,operator:[/\bin\b|&&?|\|[|>]?|\\\\|::|\.\.\.?|\+\+?|-[->]?|<[-=>]|>=|!==?|\B!|=(?:==?|[>~])?|[*\/^]/,{pattern:/([^<])<(?!<)/,lookbehind:!0},{pattern:/([^>])>(?!>)/,lookbehind:!0}],punctuation:/<<|>>|[.,%\[\]{}()]/},Prism.languages.elixir.string.forEach(function(e){e.inside={interpolation:{pattern:/#\{[^}]+\}/,inside:{delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"},rest:Prism.util.clone(Prism.languages.elixir)}}}});
|
@@ -0,0 +1,41 @@
|
|
1
|
+
Prism.languages.erlang = {
|
2
|
+
'comment': /%.+/,
|
3
|
+
'string': /"(?:\\?.)*?"/,
|
4
|
+
'quoted-function': {
|
5
|
+
pattern: /'(?:\\.|[^'\\])+'(?=\()/,
|
6
|
+
alias: 'function'
|
7
|
+
},
|
8
|
+
'quoted-atom': {
|
9
|
+
pattern: /'(?:\\.|[^'\\])+'/,
|
10
|
+
alias: 'atom'
|
11
|
+
},
|
12
|
+
'boolean': /\b(?:true|false)\b/,
|
13
|
+
'keyword': /\b(?:fun|when|case|of|end|if|receive|after|try|catch)\b/,
|
14
|
+
'number': [
|
15
|
+
/\$\\?./,
|
16
|
+
/\d+#[a-z0-9]+/i,
|
17
|
+
/(?:\b|-)\d*\.?\d+([Ee][+-]?\d+)?\b/
|
18
|
+
],
|
19
|
+
'function': /\b[a-z][\w@]*(?=\()/,
|
20
|
+
'variable': {
|
21
|
+
// Look-behind is used to prevent wrong highlighting of atoms containing "@"
|
22
|
+
pattern: /(^|[^@])(?:\b|\?)[A-Z_][\w@]*/,
|
23
|
+
lookbehind: true
|
24
|
+
},
|
25
|
+
'operator': [
|
26
|
+
/[=\/<>:]=|=[:\/]=|\+\+?|--?|[=*\/!]|\b(?:bnot|div|rem|band|bor|bxor|bsl|bsr|not|and|or|xor|orelse|andalso)\b/,
|
27
|
+
{
|
28
|
+
// We don't want to match <<
|
29
|
+
pattern: /(^|[^<])<(?!<)/,
|
30
|
+
lookbehind: true
|
31
|
+
},
|
32
|
+
{
|
33
|
+
// We don't want to match >>
|
34
|
+
pattern: /(^|[^>])>(?!>)/,
|
35
|
+
lookbehind: true
|
36
|
+
}
|
37
|
+
],
|
38
|
+
'atom': /\b[a-z][\w@]*/,
|
39
|
+
'punctuation': /[()[\]{}:;,.#|]|<<|>>/
|
40
|
+
|
41
|
+
};
|