MediaWiki:Gadget-syntaxHighlight.js

/* Copied from https://www.mediawiki.org/wiki/MediaWiki:Gadget-DotsSyntaxHighlighter.js */

mw.loader.using("jquery.client",function{"use strict";var g,h,m,f,p,y,C,x=-1,e=mw.config.get("wgUrlProtocols"),r="&(?:(?: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]+);\n*",t="\\[(?:\\[|(?:"+e+"))|\\{(?:\\{\\{?|\\|)|<(?:[:A-Z_a-zÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�][:\\wÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�-\\.·̀-ͯ‿-‿-⁀]*(?=/?>| |\n)|!--[^]*?--\x3e\n*)|(?:"+e.replace("|\\/\\/","")+")[^\\s\"<>[\\]{-}]*[^\\s\",\\.:;<>[\\]{-}]\n*|^(?:=|[*#:;]+\n*|-{4,}\n*)|\\\\'\\\\'(?:\\\\')?|~{3,5}\n*|"+r;function b(e){return new RegExp("("+e+")\n*|"+t,"gm")}var v=new RegExp(t,"gm"),w=b("]][a-zA-Z]*"),H=b("]"),k=b("}}}"),z=b("}}"),E=b("\\|}"),S=b("\n"),T={},L={};function F{var i,d=(f=h.value).replace(/['\\]/g,"\\$&")+"\n",u=0,o="",r=0,n=!0;function c(e,t){t!=i&&(o+="'}#s"+r,n?(o+=":before{",n=!1):(o+=":after{",n=!0,++r),t&&(o+="background-color:"+t+";"),o+="content:'",i=t),o+=e}var e=Date.now;!function e(t,i,o,r){var n;for(i.lastIndex=u;n=i.exec(d);i.lastIndex=u){if(n[1])return c(d.substring(u,i.lastIndex),t),void(u=i.lastIndex);var a=i.lastIndex-n[0].length;switch(u<a&&c(d.substring(u,a),t),u=i.lastIndex,n[0].charAt(0)){case"[":"["==n[0].charAt(1)?(c("[[",syntaxHighlighterConfig.wikilinkColor||t),e(syntaxHighlighterConfig.wikilinkColor||t,w)):(c(n[0],syntaxHighlighterConfig.externalLinkColor||t),e(syntaxHighlighterConfig.externalLinkColor||t,H));break;case"{":"{"==n[0].charAt(1)?3==n[0].length?(c("{{{",syntaxHighlighterConfig.parameterColor||t),e(syntaxHighlighterConfig.parameterColor||t,k)):(c("{{",syntaxHighlighterConfig.templateColor||t),e(syntaxHighlighterConfig.templateColor||t,z)):(c("{|",syntaxHighlighterConfig.tableColor||t),e(syntaxHighlighterConfig.tableColor||t,E));break;case"<":if("!"==n[0].charAt(1)){c(n[0],syntaxHighlighterConfig.commentColor||t);break}var s=d.indexOf(">",u)+1;if(0==s){c("<",t),u=u-n[0].length+1;break}if("/"==d.charAt(s-2))c(d.substring(u-n[0].length,s),syntaxHighlighterConfig.tagColor||t),u=s;else{var l=n[0].substring(1);if(-1!=syntaxHighlighterConfig.sourceTags.indexOf(l)){var g="",h=d.indexOf(g,u);-1==h?h=d.length:h+=g.length,c(d.substring(u-n[0].length,h),syntaxHighlighterConfig.tagColor||t),u=h}else-1!=syntaxHighlighterConfig.nowikiTags.indexOf(l)?(c(d.substring(u-n[0].length,s),syntaxHighlighterConfig.tagColor||t),u=s,e(syntaxHighlighterConfig.tagColor||t,L[l])):(c(d.substring(u-n[0].length,s),syntaxHighlighterConfig.tagColor||t),u=s,T[l]||(T[l]=b("")),e(syntaxHighlighterConfig.tagColor||t,T[l]))}break;case"=":/[^=]=+$/.test(d.substring(u,d.indexOf("\n",u)))?(c("=",syntaxHighlighterConfig.headingColor||t),e(syntaxHighlighterConfig.headingColor||t,S)):c("=",t);break;case"*":case"#":case":":c(n[0],syntaxHighlighterConfig.listOrIndentColor||t);break;case";":c(";",syntaxHighlighterConfig.headingColor||t),e(syntaxHighlighterConfig.headingColor||t,S);break;case"-":c(n[0],syntaxHighlighterConfig.hrColor||t);break;case"\\":if(c(n[0],syntaxHighlighterConfig.boldOrItalicColor||t),6==n[0].length)if(o){if(!r)return;o=!1}else r?o=!0:e(syntaxHighlighterConfig.boldOrItalicColor||t,v,!0,!1);else if(r){if(!o)return;r=!1}else o?r=!0:e(syntaxHighlighterConfig.boldOrItalicColor||t,v,!1,!0);break;case"&":c(n[0],syntaxHighlighterConfig.entityColor||t);break;case"~":c(n[0],syntaxHighlighterConfig.signatureColor||t);break;default:c(n[0],syntaxHighlighterConfig.externalLinkColor||t)}}}("",v),usyntaxHighlighterConfig.timeout){clearInterval(p),h.removeEventListener("input",F),h.removeEventListener("scroll",I),h.removeEventListener("scroll",O),y.disconnect,C.disconnect,m.nodeValue="";var a={be:"Падсьветка сынтаксісу на гэтай старонцы была адключаная, бо заняла шмат часу. Максымальна дапушчальны час апэрацыі — $1мс, а на вашым кампутары яна заняла $2мс. Паспрабуйце зачыніць нейкія закладкі і праграмы і націснуць «Праглядзець» або «Паказаць зьмены». Калі гэта не дапаможа, паспрабуйце іншы броўзэр; калі й гэта не дапаможа, выкарыстайце магутнейшы кампутар.",ca:'S\'ha desactivat el remarcar de sintaxi en aquesta pàgina perquè ha trigat massa temps. El temps màxim permès per a remarcar és $1ms, i el vostre ordinador ha trigat $2ms. Proveu tancar algunes pestanyes i programes i fer clic en "Mostra la previsualització" o "Mostra els canvis". Si no funciona això, proveu un altre navegador web, i si això no funciona, proveu un ordinador més ràpid.',de:'Die Syntaxhervorhebung wurde auf dieser Seite deaktiviert, da diese zu lange gedauert hat. Die maximal erlaubte Zeit zur Hervorhebung beträgt $1ms und dein Computer benötigte $2ms. Versuche einige Tabs und Programme zu schließen und klicke "Vorschau zeigen" oder "Änderungen zeigen". Wenn das nicht funktioniert, probiere einen anderen Webbrowser und wenn immer noch nicht, probiere einen schnelleren Computer.',el:"Η έμφαση σύνταξης έχει απενεργοποιηθεί σε αυτήν τη σελίδα γιατί αργούσε πολύ. Ο μέγιστος επιτρεπτός χρόνος για την έμφαση σύνταξης είναι $1ms και ο υπολογιστής σας έκανε $2ms. Δοκιμάστε να κλείσετε μερικές καρτέλες και προγράμματα και να κάνετε κλικ στην «Εμφάνιση προεπισκόπησης» ή στην «Εμφάνιση αλλαγών». Αν αυτό δεν δουλέψει, δοκιμάστε έναν διαφορετικό περιηγητή και αν ούτε αυτό δουλέψει, δοκιμάστε έναν ταχύτερο υπολογιστή.",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.',es:'Se desactivó el resaltar de sintaxis en esta página porque tardó demasiado. El tiempo máximo 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.',fa:"از آنجایی که زمان زیادی صرف آن می‌شد، برجسته‌سازی نحو در این صفحه غیرفعال شده است. بیشینهٔ زمان برجسته‌سازی برای ابزار $1ms تعریف شده در حالی که رایانهٔ شما $2ms زمان نیاز داشت. می‌توانید بستن برخی سربرگ‌ها و برنامه‌ها و سپس کلیک‌کردن دکمهٔ «پیش‌نمایش» یا «نمایش تغییرات» را بیازمایید. اگر جواب نداد مرورگر دیگری را امتحان کنید؛ و اگر باز هم جواب نداد، رایانهٔ سریع‌تری را بیازمایید.",fr:'La coloration syntaxique a été désactivée sur cette page en raison d\'un temps de chargement trop important ($2ms). Le temps maximum autorisé est $1ms. Vous pouvez essayer de fermer certains onglets et programmes et cliquez sur "Prévisualisation" ou "Voir mes modifications". Si cela ne fonctionne pas, essayez un autre navigateur web, et si cela ne fonctionne toujours pas, essayez un ordinateur plus rapide.',hy:"Շարադասության ընդգծումը այս էջում անջատվել է, քանի որ այն չափից շատ է տևել։ Ընդգծման թույլատրելի առավելագույն ժամանակը $1 միլիվայրկյան է, բայց այս էջում տևել է $2 միլիվայրկյան։ Փորձեք անջատել որոշ ներդիրներ կամ ծրագրեր և սեղմել «Նախադիտել» կամ «Կատարված փոփոխությունները»։ Կրկին չաշխատելու դեպքում փորձեք այլ վեբ դիտարկիչ, եթե կրկին չաշխատի, փորձեք ավելի արագ համակարգիչ։",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.',it:'L\'evidenziazione delle sintassi su questa pagina è stata disabilitata perché ha richiesto troppo tempo. Il tempo massimo per l\'evidenziazione è di $1ms e al tuo computer sono serviti $2ms. Prova a chiudere alcune schede e programmi e ricarica la pagina cliccando su "Visualizza anteprima" o "Mostra modifiche". Se non funziona ancora, prova con un web browser differente e, in ultima alternativa, prova ad utilizzare un computer più veloce.',ko:'이 문서에서의 문법 강조가 너무 오래 걸러서 해제되었습니다. 최대로 할당된 강조 시간은 $1ms인데, 당신의 컴퓨터는 $2ms이나 걸렸습니다. 탭과 프로그램을 일부 닫으신 후에 "미리 보기"나 "차이 보기"를 클릭하시기 바랍니다. 만약 작동하지 않으면 다른 웹 브라우저로 시도해보시고, 그래도 안되면 더 빠른 컴퓨터를 이용하십시오',pt:'O marcador de sintaxe foi desativado nesta página porque demorou demais. O tempo máximo permitido para marcar é de $1ms, e seu computador demorou $2ms. Tente fechar algumas abas e programas e clique em "Mostrar previsão" ou "Mostrar alterações". Se isso não funcionar, tente usar um outro navegador web, e se ainda não funcionar, tente em um computador mais rápido.',ru:"Подсветка синтаксиса на странице была отключена, так как заняла слишком долго. Максимальное допустимое время операции - $1мс, сейчас на вашем компьютере она заняла $2мс. Попробуйте закрыть несколько вкладок и программ, затем нажать «Предварительный просмотр» или «Внесённые изменения». Если это не поможет, попробуйте другой браузер; если и это не поможет, используйте более быстрый компьютер.",sr:"Истицање синтаксе на овој страници је онемогућено јер се одвија предуго. Максимално дозвољено време истицања је $1ms, а на Вашем рачунару траје $2ms. Покушајте затворити неке картице и програме или кликните на „Прикажи претпреглед” или „Прикажи измене”. Ако то не ради, покушајте са другим веб-прегледачем, а ако и тада не ради, покушајте са бржим рачунаром."},s=mw.config.get("wgUserLanguage");return a=a[s]||a[s.substring(0,s.indexOf("-"))]||a.en,h.style.backgroundColor="",h.style.marginTop="0",g.removeAttribute("dir"),g.removeAttribute("lang"),g.setAttribute("style","color:red; font-size:small"),void(g.textContent=a.replace("$1",syntaxHighlighterConfig.timeout).replace("$2",t-e))}if(x<r){for(var l=document.createDocumentFragment;l.appendChild(document.createElement("span")).id="s"+ ++x,x<r;);g.appendChild(l)}m.nodeValue=o.substring(2).replace(/\n/g,"\\A ")+"'}"}function I{g.scrollLeft=h.scrollLeft}function O{g.scrollTop=h.scrollTop}function n{g.dir=h.dir}function a{h.previousSibling!=g&&(h.parentNode.insertBefore(g,h),C.disconnect,C.observe(h.parentNode,{childList:!0}))}function s{if(h.value!=f&&F,h.scrollLeft!=g.scrollLeft&&I,h.scrollTop!=g.scrollTop&&O,h.offsetHeight!=g.offsetHeight){var e=h.offsetHeight+"px";g.style.height=e,h.style.marginTop="-"+e}}function i{function e(e,t,i){if(void 0===syntaxHighlighterConfig[e]&&(syntaxHighlighterConfig[e]=syntaxHighlighterSiteConfig[e]),"normal"==syntaxHighlighterConfig[e])syntaxHighlighterConfig[e]=t;else{if(void 0!==syntaxHighlighterConfig[e])return;void 0!==syntaxHighlighterConfig.defaultColor&&i?syntaxHighlighterConfig[e]=syntaxHighlighterConfig.defaultColor:syntaxHighlighterConfig[e]=t}}window.syntaxHighlighterSiteConfig=window.syntaxHighlighterSiteConfig||{},window.syntaxHighlighterConfig=window.syntaxHighlighterConfig||{},e("backgroundColor","#FFF",!1),e("foregroundColor","#000",!1),e("boldOrItalicColor","#EEE",!0),e("commentColor","#EFE",!0),e("entityColor","#DFD",!0),e("externalLinkColor","#EFF",!0),e("headingColor","#EEE",!0),e("hrColor","#EEE",!0),e("listOrIndentColor","#EFE",!0),e("parameterColor","#FC6",!0),e("signatureColor","#FC6",!0),e("tagColor","#FEF",!0),e("tableColor","#FFC",!0),e("templateColor","#FFC",!0),e("wikilinkColor","#EEF",!0),syntaxHighlighterConfig.nowikiTags=syntaxHighlighterConfig.nowikiTags||syntaxHighlighterSiteConfig.nowikiTags||["nowiki","pre"],syntaxHighlighterConfig.sourceTags=syntaxHighlighterConfig.sourceTags||syntaxHighlighterSiteConfig.sourceTags||["math","syntaxhighlight","source","timeline","hiero"],syntaxHighlighterConfig.timeout=syntaxHighlighterConfig.timeout||syntaxHighlighterSiteConfig.timeout||50,syntaxHighlighterConfig.nowikiTags.forEach(function(e){L[e]=new RegExp("()\n*|"+r,"gm")}),g=document.createElement("div"),h=document.getElementById("wpTextbox1");var t=document.createElement("style");m=t.appendChild(document.createTextNode(""));var i=window.getComputedStyle(h),o="vertical"==i.resize||"both"==i.resize?"vertical":"none";g.dir=h.dir,g.id="wpTextbox0",g.lang=h.lang,g.style.backgroundColor=syntaxHighlighterConfig.backgroundColor,g.style.border="1px solid transparent",g.style.boxSizing="border-box",g.style.clear=i.clear,g.style.color="transparent",g.style.fontFamily=i.fontFamily,g.style.fontSize=i.fontSize,g.style.lineHeight="normal",g.style.marginBottom="0",g.style.marginLeft="0",g.style.marginRight="0",g.style.marginTop="0",g.style.overflowX="auto",g.style.overflowY="scroll",g.style.resize=o,g.style.tabSize=i.tabSize,g.style.whiteSpace="pre-wrap",g.style.width="100%",g.style.wordWrap="normal",h.style.backgroundColor="transparent",h.style.border="1px inset gray",h.style.boxSizing="border-box",h.style.color=syntaxHighlighterConfig.foregroundColor,h.style.fontSize=i.fontSize,h.style.lineHeight="normal",h.style.marginBottom=i.marginBottom,h.style.marginLeft="0",h.style.marginRight="0",h.style.overflowX="auto",h.style.overflowY="scroll",h.style.padding="0",h.style.resize=o,h.style.width="100%",h.style.wordWrap="normal",h.style.height=g.style.height=h.offsetHeight+"px",h.style.marginTop=-h.offsetHeight+"px",h.parentNode.insertBefore(g,h),document.head.appendChild(t),h.addEventListener("input",F),h.addEventListener("scroll",I),h.addEventListener("scroll",O),(y=new MutationObserver(n)).observe(h,{attributes:!0}),(C=new MutationObserver(a)).observe(h.parentNode,{childList:!0}),p=setInterval(s,500),F}var o=mw.config.get("wgAction"),l=$.client.profile.layout;"edit"!=o&&"submit"!=o||"wikitext"!=mw.config.get("wgPageContentModel")||"trident"==l||"edge"==l||("complete"==document.readyState?i:window.addEventListener("load",i))});