MediaWiki:Gadget-DotsSyntaxHighlighter.js

(function{"use strict";function a(e){return new RegExp("("+e+")\n*|"+u,"gm")}function b{function N(e,t){if(y){e=e.replace(/ +/g,"$&​")}if(t!=E){g+="'}#s"+w;if(S){g+=":before{";S=false}else{g+=":after{";S=true;++w}if(t){g+="background-color:"+t+";"}g+="content:'";E=t}g+=e}function C(t,n){var r;for(n.lastIndex=u;r=n.exec(e);n.lastIndex=u){if(r[1]){N(e.substring(u,n.lastIndex),t);u=n.lastIndex;return}var i=n.lastIndex-r[0].length;if(u<i){N(e.substring(u,i),t)}u=n.lastIndex;switch(r[0].charAt(0)){case"[":if(r[0].charAt(1)=="["){N("[[",syntaxHighlighterConfig.wikilinkColor||t);C(syntaxHighlighterConfig.wikilinkColor||t,l)}else{N(r[0],syntaxHighlighterConfig.externalLinkColor||t);C(syntaxHighlighterConfig.externalLinkColor||t,c)}break;case"{":if(r[0].charAt(1)=="{"){if(r[0].length==3){N("{{{",syntaxHighlighterConfig.parameterColor||t);C(syntaxHighlighterConfig.parameterColor||t,h)}else{N("{{",syntaxHighlighterConfig.templateColor||t);C(syntaxHighlighterConfig.templateColor||t,p)}}else{N("{|",syntaxHighlighterConfig.tableColor||t);C(syntaxHighlighterConfig.tableColor||t,d)}break;case"<":if(r[0].charAt(1)=="!"){N(r[0],syntaxHighlighterConfig.commentColor||t);break}else{var s=e.indexOf(">",u)+1;if(s==0){N("<",t);u=u-r[0].length+1;break}if(e.charAt(s-2)=="/"){N(e.substring(u-r[0].length,s),syntaxHighlighterConfig.tagColor||t);u=s}else{var o=r[0].substring(1);if(/^(?:nowiki|pre|math|syntaxhighlight|source|timeline|hiero)$/.test(o)){var g="";var y=e.indexOf(g,u);if(y==-1){y=e.length}else{y+=g.length}N(e.substring(u-r[0].length,y),syntaxHighlighterConfig.tagColor||t);u=y}else{N(e.substring(u-r[0].length,s),syntaxHighlighterConfig.tagColor||t);u=s;if(!m[o]){m[o]=a("")}C(syntaxHighlighterConfig.tagColor||t,m[o])}}}break;case"h":case"f":case"m":N(r[0],syntaxHighlighterConfig.externalLinkColor||t);break;case"=":if(/[^=]=+$/.test(e.substring(u,e.indexOf("\n",u)))){N("=",syntaxHighlighterConfig.headingColor||t);C(syntaxHighlighterConfig.headingColor||t,v)}else{N("=",t)}break;case"*":case"#":case":":N(r[0],syntaxHighlighterConfig.listOrIndentColor||t);break;case";":N(";",syntaxHighlighterConfig.headingColor||t);C(syntaxHighlighterConfig.headingColor||t,v);break;case"-":N(r[0],syntaxHighlighterConfig.hrColor||t);break;case"\\":N(r[0],syntaxHighlighterConfig.boldOrItalicColor||t);if(r[0].length==6){if(x){x=false;return}else{x=true;C(syntaxHighlighterConfig.boldOrItalicColor||t,f)}}else{if(T){T=false;return}else{T=true;C(syntaxHighlighterConfig.boldOrItalicColor||t,f)}}break;case"&":N(r[0],syntaxHighlighterConfig.entityColor||t);break;case"~":N(r[0],syntaxHighlighterConfig.signatureColor||t)}}}i=n.value;var e=i.replace(/['\\]/g,"\\$&")+"\n";var u=0;var g="";var w=0;var E;var S=true;var x=false;var T=false;var k=Date.now;C("",f);if(usyntaxHighlighterConfig.timeout){clearInterval(o);r.nodeValue="";n.removeEventListener("input",b);var A={};A["ca"]='S\'ha desactivat el remarcar de sintaxi en aquesta pàgina perquè ha tardat massa. El temps màxim permès per a remarcar és $1ms, i el teu ordinador ha trigat $2ms. Prova tancar algunes pestanyes i programes i fer clic en "Mostra la previsualització" o "Mostra els canvis". Si no funciona això, prova altre navegador web, i si això no funciona, prova un ordinador més ràpid.';A["en"]='Syntax highlighting on this page was disabled because it took too long. The maximum allowed highlighting time is $1ms, and your computer took $2ms. Try closing some tabs and programs and clicking "Show preview" or "Show changes". If that doesn\'t work, try a different web browser, and if that doesn\'t work, try a faster computer.';A["es"]='Se desactivó el resaltar de sintaxis en esta página porque tardó demasiado. El tiempo máximum permitido para resaltar es $1ms, y tu ordenador tardó $2ms. Prueba cerrar algunas pestañas y programas y hacer clic en "Mostrar previsualización" o "Mostrar cambios". Si no funciona esto, prueba otro navegador web, y si eso no funciona, prueba un ordenador más rápido.';A["io"]='Sintaxo-hailaitar en ca pagino esis nekapabligata pro ke konsumis tro multa tempo. La maxima permisata hailaitala tempo es $1ms, e tua ordinatro konsumis $2ms. Probez klozar kelka tabi e programi e kliktar "Previdar" o "Montrez chanji". Se to ne funcionas, probez altra brauzero, e se to ne funcionas, probez plu rapida ordinatro.';A["pt"]='O marcador de sintaxe foi desativado nesta pagina porque demorou demais. O tempo máximo permitido para marcar e $1ms, e seu computador demorou $2ms. Tenta sair de alguns programas e clique em "Mostrar previsão" ou "Mostrar alterações". Se isso não funciona, tenta usar uma outra navegador web, e se ainda não funciona, procura um computador mais rápido.';A=A[wgUserLanguage]||A[wgUserLanguage.substring(0,wgUserLanguage.indexOf("-"))]||A["en"];n.style.backgroundColor="";n.style.position="";t.style.color="red";t.style.fontFamily="";t.style.fontWeight="bold";t.style.height="";var O=document.createRange;O.selectNode(t);t.appendChild(O.createContextualFragment(A.replace("$1",syntaxHighlighterConfig.timeout).replace("$2",L-k)))}}function w{t.scrollLeft=n.scrollLeft}function E{t.scrollTop=n.scrollTop}function S{if(n.value!=i){b}if(n.scrollLeft!=t.scrollLeft){w}if(n.scrollTop!=t.scrollTop){E}}function x{function i(e,t){if(syntaxHighlighterConfig[e]=="normal"){syntaxHighlighterConfig[e]=t}else if(typeof syntaxHighlighterConfig[e]!="undefined"){return}else if(typeof syntaxHighlighterConfig.defaultColor!="undefined"){syntaxHighlighterConfig[e]=syntaxHighlighterConfig.defaultColor}else{syntaxHighlighterConfig[e]=t}}window.syntaxHighlighterConfig=window.syntaxHighlighterConfig||{};i("boldOrItalicColor","#EEE");i("commentColor","#EFE");i("entityColor","#DFD");i("externalLinkColor","#EFF");i("headingColor","#EEE");i("hrColor","#EEE");i("listOrIndentColor","#EFE");i("parameterColor","#FC6");i("signatureColor","#FC6");i("tagColor","#FEF");i("tableColor","#FFC");i("templateColor","#FFC");i("wikilinkColor","#EEF");syntaxHighlighterConfig.timeout=syntaxHighlighterConfig.timeout||100;e=document.createElement("div");t=document.createElement("div");n=document.getElementById("wpTextbox1");var s=document.createElement("style");s.type="text/css";r=s.appendChild(document.createTextNode(""));t.style.backgroundColor=window.getComputedStyle(n).backgroundColor;t.style.border="1px solid transparent";t.style.boxSizing="border-box";t.style.MozBoxSizing="border-box";t.style.color="transparent";t.style.direction=window.getComputedStyle(n).direction;t.style.fontFamily=window.getComputedStyle(n).fontFamily;t.style.fontSize=window.getComputedStyle(n).fontSize;t.style.lineHeight="normal";t.style.overflowX="auto";t.style.overflowY="scroll";t.style.whiteSpace="pre-wrap";t.style.width="100%";t.style.wordWrap="normal";n.style.backgroundColor="transparent";n.style.border="1px inset gray";n.style.boxSizing="border-box";n.style.MozBoxSizing="border-box";n.style.lineHeight="normal";n.style.margin="0";n.style.overflowX="auto";n.style.overflowY="scroll";n.style.padding="0";n.style.position="absolute";n.style.resize="none";n.style.left="0";n.style.top="0";n.style.width="100%";n.style.wordWrap="normal";t.style.height=n.offsetHeight+"px";n.style.height=t.style.height;e.style.position="relative";n.parentNode.insertBefore(e,n);e.appendChild(n);e.appendChild(t);$(".tool-select *").css({zIndex:5});document.head.appendChild(s);n.addEventListener("input",b);n.addEventListener("scroll",w);n.addEventListener("scroll",E);o=setInterval(S,500);b}function T{setTimeout(x,0)}var e;var t;var n;var r;var i;var s=-1;var o;var u="\\[(?:\\[|(?:https?:|ftp:)?//|mailto:)|\\{(?:\\{\\{?|\\|)|<(?:[:A-Z_a-zÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�][:\\wÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�-\\.·̀-ͯ‿-‿-⁀]*(?=/?>| )|!--[^]*?-->)|(?:https?://|ftp://|mailto:)[^\\s\"<>[\\]{-}]*[^\\s\",\\.:;<>[\\]{-}]|^(?:=|[*#:;]+|-{4,})|\\\\'\\\\'(?:\\\\')?|&(?:(?:n(?:bsp|dash)|m(?:dash|inus)|lt|e[mn]sp|thinsp|amp|quot|gt|shy|zwn?j|lrm|rlm|Alpha|Beta|Epsilon|Zeta|Eta|Iota|Kappa|[Mm]u|micro|Nu|[Oo]micron|[Rr]ho|Tau|Upsilon|Chi)|#x[0-9a-fA-F]+);|~{3,5}";var f=new RegExp(u,"gm");var l=a("]][a-zA-Z]*");var c=a("]");var h=a("}}}");var p=a("}}");var d=a("\\|}");var v=a("\n");var m={};var g=$.client.profile.layout=="trident";var y=$.client.profile.layout=="webkit"&&$.client.profile.platform!="win";if((wgAction=="edit"||wgAction=="submit")&&wgPageContentModel=="wikitext"&&!g){if(document.readyState=="complete"){T}else{$(window).load(T)}}})