wikiplus-highlight 2.22.5 → 2.22.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -11,13 +11,13 @@
11
11
  在*个人 JS 页*添加以下代码:
12
12
 
13
13
  ```javascript
14
- mw.loader.load('//cdn.jsdelivr.net/npm/wikiplus-highlight@2.22.5');
14
+ mw.loader.load('//cdn.jsdelivr.net/npm/wikiplus-highlight@2.22.6');
15
15
  ```
16
16
 
17
17
 
18
18
 
19
19
  ```javascript
20
- mw.loader.load('//unpkg.com/wikiplus-highlight@2.22.5/dist/main.min.js');
20
+ mw.loader.load('//unpkg.com/wikiplus-highlight@2.22.6/dist/main.min.js');
21
21
  ```
22
22
 
23
23
  ### 稳定版本
package/dist/main.min.js CHANGED
@@ -4,5 +4,5 @@
4
4
  * @author 机智的小鱼君 <https://github.com/Dragon-Fish>
5
5
  * @license GPL-3.0
6
6
  */
7
- (async()=>{"use strict";if(mw.libs.wphl)return;mw.libs.wphl={};const i="2.22.5",w="object"==typeof mw.storage&&"function"==typeof mw.storage.getObject?mw.storage:{getObject(e){e=localStorage.getItem(e);if(!1===e)return!1;try{return JSON.parse(e)}catch(e){return null}},setObject(e,i){try{return localStorage.setItem(e,JSON.stringify(i))}catch(e){return!1}}},h=Object.fromEntries||(e=>{const i={};for(var[t,o]of e)i[t]=o;return i}),P=e=>"function"==typeof e.flat?e.flat():e.reduce((e,i)=>e.concat(i),[]),a=(e=i)=>e.split(".").map(Number);const k=(e,...i)=>mw.msg("wphl-"+e,...i),o=(...e)=>$($.parseHTML(k(...e)));var e=(...i)=>()=>{var e=$("<p>",{html:k(...i)});return mw.notify(e,{type:"success",autoHideSeconds:"long",tag:"wikiplus-highlight"}),e},t=a().slice(0,2).join(".");const n="//fastly.jsdelivr.net",r="npm/codemirror@5.65.3",D="gh/bhsd-harry/codemirror-mediawiki@1.1.6",s="npm/wikiplus-highlight@"+t,{wgPageName:N,wgNamespaceNumber:f,wgPageContentModel:U,wgServerName:F,wgScriptPath:H,wgUserLanguage:V,skin:d}=mw["config"]["values"],u=null!==mw.loader.getState("ext.CodeMirror"),l=w.getObject("InPageEditMwConfig")||{},B=""+F+H,b=l[B]||{},y=!(b.time>Date.now()-2592e6),Q={css:"css","sanitized-css":"css",javascript:"javascript",json:"javascript",wikitext:"mediawiki"},c=u?{lib:"ext.CodeMirror.lib",css:"ext.CodeMirror.lib.mode.css",javascript:"ext.CodeMirror.lib.mode.javascript",lua:r+"/mode/lua/lua.min.js",mediawiki:y?"ext.CodeMirror.data":[],htmlmixed:"ext.CodeMirror.lib.mode.htmlmixed",xml:[]}:{lib:r+"/lib/codemirror.min.js",css:r+"/mode/css/css.min.js",javascript:r+"/mode/javascript/javascript.min.js",lua:r+"/mode/lua/lua.min.js",mediawiki:[],htmlmixed:r+"/mode/htmlmixed/htmlmixed.min.js",xml:r+"/mode/xml/xml.min.js"},m={searchcursor:r+"/addon/search/searchcursor.min.js",search:s+"/search.min.js",markSelection:r+"/addon/selection/mark-selection.min.js",activeLine:r+"/addon/selection/active-line.min.js",trailingspace:r+"/addon/edit/trailingspace.min.js",matchBrackets:r+"/addon/edit/matchbrackets.min.js",closeBrackets:r+"/addon/edit/closebrackets.min.js",matchTags:s+"/matchtags.min.js",fold:s+"/fold.min.js",wikiEditor:"ext.wikiEditor",contextmenu:"mediawiki.Title"},x=[{option:"styleSelectedText",addon:"search",download:"markSelection",only:!0,complex:()=>!C.has("wikiEditor")},{option:"styleActiveLine",addon:"activeLine"},{option:"showTrailingSpace",addon:"trailingspace"},{option:"matchBrackets",complex:(e,i)=>"mediawiki"!==e&&!i||{bracketRegex:/[{}[\]]/}},{option:"autoCloseBrackets",addon:"closeBrackets",complex:(e,i)=>"mediawiki"!==e&&!i||'()[]{}""'},{option:"matchTags",addon:["matchTags","fold"],modes:["mediawiki","widget"]},{option:"fold",modes:["mediawiki","widget"]}];let C=new Set(w.getObject("Wikiplus-highlight-addons")||["search"]),v=w.getObject("Wikiplus-highlight-indent")||4;const q={'"':"quot","'":"apos","<":"lt",">":"gt","&":"amp"," ":"nbsp"},g=i=>e=>{e.replaceSelection(e.getSelection().split("\n").map(i).join("\n"),"around")},p=g(e=>[...e].map(e=>{if(e in q)return`&${q[e]};`;const i=e.codePointAt();return i<256?`&#${i};`:`&#x${i.toString(16)};`}).join("")),j=({keyMap:e})=>e.default===e.pcDefault,K={"Ctrl-/":p,"Ctrl-\\":g(encodeURIComponent)},J={"Cmd-/":p,"Cmd-\\":g(encodeURIComponent)},S=(p,e)=>{if(("mediawiki"===e||"widget"===e)&&C.has("contextmenu")){const i=$(p.getWrapperElement()).addClass("CodeMirror-contextmenu"),[t]=(mw.config.get("extCodeMirrorConfig")||{functionSynonyms:[{invoke:"invoke","调用":"invoke",widget:"widget","小工具":"widget"}]})["functionSynonyms"];e=i=>Object.keys(t).filter(e=>t[e]===i).map(e=>e.startsWith("#")?e:"#"+e);const u=e("invoke"),w=e("widget");i.contextmenu(({pageX:e,pageY:i})=>{const t=p.coordsChar({left:e,top:i}),{line:o,ch:a}=t,n=p.getTokenTypeAt(t);if(/\bmw-(?:template-name|parserfunction)\b/.test(n)){const l=p.getLineTokens(o);for(let e=l.length-1;0<e;e--){var{type:r,end:s,string:d}=l[e];l[e-1].type===r&&(l[e-1].end=s,l[e-1].string+=d,l.splice(e,1))}const c=l.findIndex(({start:e,end:i})=>e<a&&i>=a),m=l[c].string.replace(/\u200E/g,"").replace(/_/g," ").trim();if(/\bmw-template-name\b/.test(n)){const g=new mw.Title(m);return 0!==g.namespace||m.startsWith(":")?open(g.getUrl(),"_blank"):open(mw.util.getUrl("Template:"+m),"_blank"),!1}if(!(c<2)&&/\bmw-parserfunction-delimiter\b/.test(l[c-1].type)&&/\bmw-parserfunction-name\b/.test(l[c-2].type)){e=l[c-2].string.trim().toLowerCase();if(u.includes(e))open(mw.util.getUrl("Module:"+m),"_blank");else{if(!w.includes(e))return;open(mw.util.getUrl("Widget:"+m,{action:"edit"}),"_blank")}return!1}}})}};let M=w.getObject("Wikiplus-highlight-i18n"),W;M?((e,i)=>{var[e,t]=a(e),[i,o]=a(i);return e<i||e===i&&t<o})(M["wphl-version"],i)&&(W=e("welcome-upgrade",i,0)):(M={},W=e("welcome"));const E={zh:"zh-hans","zh-hans":"zh-hans","zh-cn":"zh-hans","zh-my":"zh-hans","zh-sg":"zh-hans","zh-hant":"zh-hant","zh-tw":"zh-hant","zh-hk":"zh-hant","zh-mo":"zh-hant",ka:"ka"}[V]||"en",R=`${n}/${s}/i18n/${E}.json`,G=M["wphl-version"]===t;e=async()=>{G&&M["wphl-lang"]===E||(M=await $.ajax(R,{dataType:"json",cache:!0}),w.setObject("Wikiplus-highlight-i18n",M)),mw.messages.set(M)},t=Promise.all([mw.loader.using("mediawiki.util"),e()]);const X=e=>0<e.length?mw.loader.using(e):Promise.resolve(),Y=e=>0<e.length?$.ajax(n+"/"+(1<e.length?"combine/":"")+e.join(),{dataType:"script",cache:!0}):Promise.resolve(),Z=async(e,i)=>{var t=e.filter(e=>!e.includes("/")),e=e.filter(e=>e.includes("/"));return!0===i?(await X(t),Y(e)):!1===i?(await Y(e),X(t)):Promise.all([X(t),Y(e)])};let O;const ee=(e,i=!1)=>{const t=[];for(var{option:o,addon:a=o,download:n=Array.isArray(a)?o:a,only:r}of x)r&&i||o in e.optionHandlers||!ie(a,C)||t.push(m[n]);return t},ie=(e,i)=>Array.isArray(e)?e.some(e=>i.has(e)):i.has(e),te=e=>{let i=[];var t="function"==typeof window.CodeMirror,o=t?window.CodeMirror:{modes:{},prototype:{},commands:{},optionHandlers:{}};if(t||(i.push(c.lib),u||mw.loader.load(`${n}/${r}/lib/codemirror.min.css`,"text/css")),"mediawiki"!==(e="mediawiki"===e&&b.config&&b.config.tags.html?"html":e)&&"widget"!==e||o.modes.mediawiki||(mw.loader.load(`${n}/${D}/mediawiki.min.css`,"text/css"),i.push(D+"/mediawiki.min.js")),"widget"===e||"html"===e)for(const a of["css","javascript","mediawiki","htmlmixed","xml"])o.modes[a]||(i=i.concat(c[a]));else i=i.concat(c[e]);return o.prototype.getSearchCursor||!C.has("search")||C.has("wikiEditor")||i.push(m.searchcursor),o.commands.findForward||!C.has("search")||C.has("wikiEditor")||i.push(m.search),C.has("wikiEditor")&&((e=mw.loader.getState("ext.wikiEditor"))?"ready"!==e&&i.push(m.wikiEditor):C.delete("wikiEditor")),"ready"!==mw.loader.getState("mediawiki.Title")&&C.has("contextmenu")&&i.push(m.contextmenu),i.push(...ee(o)),Z(i,t?void 0:u)},oe=e=>{l[B]={config:e,time:Date.now()},w.setObject("InPageEditMwConfig",l)},_=e=>P(e.map(({aliases:e,name:i})=>e.map(e=>({alias:e,name:i})))),z=e=>h(e.map(({alias:e,name:i})=>[e.replace(/:$/,""),i])),ae=async(e,i)=>{if("mediawiki"===e||"widget"===e){u&&y&&await i;let e=mw.config.get("extCodeMirrorConfig");if(e||y||!G||({config:e}=b,e.tags.ref&&(e.tagModes.ref="text/mediawiki"),mw.config.set("extCodeMirrorConfig",e)),e&&e.redirect&&e.img)return e;if(e)return e;const{magicwords:a,extensiontags:n,functionhooks:r,variables:s}=(await(new mw.Api).get({meta:"siteinfo",siprop:e?"magicwords":"magicwords|extensiontags|functionhooks|variables",formatversion:2}))["query"],d=["msg","raw","msgnw","subst","safesubst"];if(e){const[l]=e["functionSynonyms"];var t,o;if(!l.subst)for({alias:t,name:o}of _(a.filter(({name:e})=>d.includes(e))))l[t.replace(/:$/,"")]=o}else{e={tagModes:{pre:"mw-tag-pre",nowiki:"mw-tag-nowiki",ref:"text/mediawiki"},tags:h(n.map(e=>[e.slice(1,-1),!0])),urlProtocols:mw.config.get("wgUrlProtocols")};const c=new Set([...r,...s,...d]),m=a.filter(({name:e,aliases:i})=>i.some(e=>/^__.+__$/.test(e))||c.has(e)),g=_(m.filter(e=>e["case-sensitive"])),p=_(m.filter(e=>!e["case-sensitive"])).map(({alias:e,name:i})=>({alias:e.toLowerCase(),name:i}));e.doubleUnderscore=[z(p.filter(({alias:e})=>/^__.+__$/.test(e))),z(g.filter(({alias:e})=>/^__.+__$/.test(e)))],e.functionSynonyms=[z(p.filter(({alias:e})=>!/^__.+__|^#$/.test(e))),z(g.filter(({alias:e})=>!/^__.+__|^#$/.test(e)))]}return e.redirect=a.find(({name:e})=>"redirect"===e).aliases,e.img=z(_(a.filter(({name:e})=>e.startsWith("img_")))),mw.config.set("extCodeMirrorConfig",e),oe(e),e}},ne={getContents(){return O.getValue()},setContents(e){return O.setValue(e),this},getSelection(){return O.getSelection()},setSelection(e){return O.setSelection(O.posFromIndex(e.start),"end"in e?O.posFromIndex(e.end):void 0),O.focus(),this},replaceSelection(e){return O.replaceSelection(e),this},getCaretPosition(e){var i=O.indexFromPos(O.getCursor("from")),t=O.indexFromPos(O.getCursor("to"));return e.startAndEnd?[i,t]:i},scrollToCaretPosition(){return O.scrollIntoView(),this}},re=async(e,i)=>{const a=i?"javascript":await(async()=>{if(274!==f&&828!==f||N.endsWith("/doc"))return N.endsWith("/doc")?"mediawiki":Q[U];{const e=274===f?"Widget":"Lua";return await mw.loader.using(["oojs-ui-windows","oojs-ui.styles.icons-content"]),await OO.ui.confirm(k("contentmodel"),{actions:[{label:e},{label:"Wikitext",action:"accept"}]})?"mediawiki":e.toLowerCase()}})(),t=te(a),[o]=await Promise.all([ae(a,t),t]);if(!i&&C.has("wikiEditor"))try{if("function"==typeof mw.addWikiEditor)mw.addWikiEditor(e);else{const{modules:{dialogs:{config:s}}}=$["wikiEditor"];e.wikiEditor("addModule",{...$.wikiEditor.modules.toolbar.config.getDefaultConfig(),...s.getDefaultConfig()}),s.replaceIcons(e)}}catch(e){C.delete("wikiEditor"),mw.notify("WikiEditor工具栏加载失败。",{type:"error"}),console.error(e)}"mediawiki"===a&&o.tags.html?(o.tagModes.html="htmlmixed",await te("html")):"widget"!==a||CodeMirror.mimeModes.widget||CodeMirror.defineMIME("widget",{name:"htmlmixed",tags:{noinclude:[[null,null,"mediawiki"]]}});var n=e.height();O&&O.toTextArea();const r=i||"json"===U;if((O=CodeMirror.fromTextArea(e[0],$.extend({inputStyle:"contenteditable",lineNumbers:!/Android\b/.test(navigator.userAgent),lineWrapping:!0,mode:a,mwConfig:o,json:r},h(x.map(({option:e,addon:i=e,modes:t,complex:o=e=>!t||t.includes(e)})=>{i=Array.isArray(i)?i[0]:i;return[e,C.has(i)&&o(a,r)]})),"mediawiki"===a?{extraKeys:C.has("escape")&&(j(CodeMirror)?K:J)}:{indentUnit:C.has("indentWithSpace")?v:4,indentWithTabs:!C.has("indentWithSpace")}))).setSize(null,n),O.getWrapperElement().id="Wikiplus-CodeMirror",$.fn.textSelection&&e.textSelection("register",ne),C.has("wikiEditor")){const d=e.data("wikiEditorContext"),l=CodeMirror["keyMap"],c=()=>{$.wikiEditor.modules.dialogs.api.openDialog(d,"search-and-replace")};O.addKeyMap(l.default===l.pcDefault?{"Ctrl-F":c}:{"Cmd-F":c})}if(S(O,a),$("#Wikiplus-Quickedit-Jump").children("a").attr("href","#Wikiplus-CodeMirror"),!i){const m="object"==typeof window.Wikiplus?window.Wikiplus:{getSetting(e){var i=w.getObject("Wikiplus_Settings");return i&&i[e]}},g=m.getSetting("esc_to_exit_quickedit"),p=()=>{$("#Wikiplus-Quickedit-Submit").triggerHandler("click")},u=()=>{$("#Wikiplus-Quickedit-MinorEdit").click(),$("#Wikiplus-Quickedit-Submit").triggerHandler("click")};O.addKeyMap($.extend(j(CodeMirror)?{"Ctrl-S":p,"Shift-Ctrl-S":u}:{"Cmd-S":p,"Shift-Cmd-S":u},!0===g||"true"===g?{Esc(){$("#Wikiplus-Quickedit-Back").triggerHandler("click")}}:{}))}O.refresh(),mw.hook("wiki-codemirror").fire(O)},se=document["body"],de=new MutationObserver(e=>{const i=$(P(e.map(({addedNodes:e})=>[...e]))).find("#Wikiplus-Quickedit, #Wikiplus-Setting-Input");0!==i.length&&re(i,"Wikiplus-Setting-Input"===i.attr("id"))}),le=(de.observe(se,{childList:!0}),$(se).on("keydown.wphl",".ui-dialog",function(e){if("Escape"===e.key){const i=$(this).children(".ui-dialog-content").data("context");i&&i.$textarea&&"Wikiplus-Quickedit"===i.$textarea.attr("id")&&e.stopPropagation()}}),document.querySelector("#wphl-style")||mw.loader.addStyleTag("#Wikiplus-CodeMirror{border:1px solid #c8ccd1;line-height:1.3;clear:both;-moz-user-select:auto;-webkit-user-select:auto;user-select:auto}#Wikiplus-CodeMirror .CodeMirror-gutter-wrapper{-moz-user-select:none;-webkit-user-select:none;user-select:none}div.Wikiplus-InterBox{font-size:14px;z-index:100}.skin-minerva .Wikiplus-InterBox{font-size:16px}.cm-trailingspace{text-decoration:underline wavy red}div.CodeMirror span.CodeMirror-matchingbracket{box-shadow:0 0 0 2px #9aef98}div.CodeMirror span.CodeMirror-nonmatchingbracket{box-shadow:0 0 0 2px #eace64}#Wikiplus-highlight-dialog .oo-ui-messageDialog-title{margin-bottom:0.28571429em}#Wikiplus-highlight-dialog .oo-ui-flaggedElement-notice{font-weight:normal;margin:0}.CodeMirror-contextmenu .cm-mw-template-name{cursor:pointer}.skin-moeskin #ca-more-actions li>a{display:inline-block;padding:0.4rem 0.8rem;line-height:1.5}")),{get:ce=e=>e.value,set:me=(e,i)=>{e.value=i}}=(le.id="wphl-style",$.valHooks.textarea||{}),ge=e=>"Wikiplus-Quickedit"===e.id||"Wikiplus-Setting-Input"===e.id;$.valHooks.textarea={get(e){return ge(e)&&O?O.getValue():ce(e)},set(e,i){ge(e)&&O?O.setValue(i):me(e,i)}},await t;let I,T,pe,ue,A,we,L;const he=(e=[...C])=>{L.toggle(e.includes("indentWithSpace"))};const ke=$(mw.util.addPortletLink({minerva:"page-actions-overflow",citizen:"p-actions",moeskin:"ca-more-actions"}[d]||"p-cactions","#",k("portlet"),"wphl-settings")).click(async e=>{if(e.preventDefault(),I)T.setValue([...C]),A.setValue(v);else{await mw.loader.using(["oojs-ui-windows","oojs-ui.styles.icons-content"]),I=new OO.ui.MessageDialog({id:"Wikiplus-highlight-dialog"});const i=new OO.ui.WindowManager,t=(i.$element.appendTo(se),i.addWindows([I]),T=new OO.ui.CheckboxMultiselectInputWidget({options:[...x.map(({option:e,addon:i=e})=>{const t=Array.isArray(i)?i[0]:i;return{data:t,label:o("addon-"+t.toLowerCase())}}),...["wikiEditor","escape","contextmenu","indentWithSpace","otherEditors"].map(e=>({data:e,label:o("addon-"+e.toLowerCase())}))],value:[...C]}).on("change",he))["checkboxMultiselectWidget"];pe=t.findItemFromData("search"),ue=t.findItemFromData("wikiEditor"),A=new OO.ui.NumberInputWidget({min:0,value:v}),we=new OO.ui.FieldLayout(T,{label:k("addon-label"),notices:[k("addon-notice")],align:"top"}),L=new OO.ui.FieldLayout(A,{label:k("addon-indent")}),he(),Object.assign(mw.libs.wphl,{widget:T,indentWidget:A})}var e="object"==typeof window.Wikiplus||"object"==typeof window.Pages,e=(pe.setDisabled(!e),ue.setDisabled(!e||!mw.loader.getState("ext.wikiEditor")),await I.open({title:k("addon-title"),message:we.$element.add(L.$element).add($("<p>",{html:k("feedback")})),actions:[{action:"reject",label:mw.msg("ooui-dialog-message-reject")},{action:"accept",label:mw.msg("ooui-dialog-message-accept"),flags:"progressive"}],size:"en"===E||"minerva"===d?"medium":"small"}).closing);we.$element.detach(),L.$element.detach(),"object"==typeof e&&"accept"===e.action&&(e=T.getValue(),C=new Set(e),v=Number(A.getValue()),w.setObject("Wikiplus-highlight-addons",e),w.setObject("Wikiplus-highlight-indent",v))}),fe=("minerva"===d&&ke.find(".mw-ui-icon").addClass("mw-ui-icon-minerva-settings"),"function"==typeof W&&W().find("#wphl-settings-notify").click(e=>{e.preventDefault(),$("#wphl-settings").triggerHandler("click")}),async i=>{if(C.has("otherEditors")){let e=i.getOption("mode");e="text/mediawiki"===e?"mediawiki":e;var t=ee(CodeMirror,!0),o=i.getOption("json");await Z(t);for(const{option:n,addon:r=n,modes:s,complex:d=e=>!s||s.includes(e)}of x.filter(({only:e})=>!e)){var a=Array.isArray(r)?r[0]:r;void 0===i.getOption(n)&&C.has(a)&&i.setOption(n,d(e,o))}"mediawiki"!==e&&C.has("indentWithSpace")?(i.setOption("indentUnit",v),i.setOption("indentWithTabs",!1)):"mediawiki"===e&&C.has("escape")&&i.addKeyMap(j(CodeMirror)?K:J,!0),S(i,e)}});mw.hook("InPageEdit.quickEdit.codemirror").add(({cm:e})=>fe(e)),mw.hook("inspector").add(e=>fe(e)),mw.libs.wphl={version:i,options:x,addons:C,i18n:M,i18nLang:E,wphlStyle:le,$portlet:ke,USING_LOCAL:u,MODE_LIST:c,ADDON_LIST:m,msg:k,htmlMsg:o,escapeHTML:p,handleContextMenu:S,setI18N:e,getAddonScript:ee,updateCachedConfig:oe,getMwConfig:ae,renderEditor:re,handleOtherEditors:fe}})();
7
+ (async()=>{"use strict";if(mw.libs.wphl)return;mw.libs.wphl={};const i="2.22.6",w="object"==typeof mw.storage&&"function"==typeof mw.storage.getObject?mw.storage:{getObject(e){var i=localStorage.getItem(e);if(!1===i)return!1;try{return JSON.parse(i)}catch(e){return null}},setObject(e,i){try{return localStorage.setItem(e,JSON.stringify(i))}catch(e){return!1}}},h=Object.fromEntries||(e=>{const i={};for(var[t,o]of e)i[t]=o;return i}),P=e=>"function"==typeof e.flat?e.flat():e.reduce((e,i)=>e.concat(i),[]),r=(e=i)=>e.split(".").map(Number);const k=(e,...i)=>mw.msg("wphl-"+e,...i),a=(...e)=>$($.parseHTML(k(...e)));var e=(...i)=>()=>{var e=$("<p>",{html:k(...i)});return mw.notify(e,{type:"success",autoHideSeconds:"long",tag:"wikiplus-highlight"}),e},t=r().slice(0,2).join(".");const s="//fastly.jsdelivr.net",d="npm/codemirror@5.65.3",D="gh/bhsd-harry/codemirror-mediawiki@1.1.6",o="npm/wikiplus-highlight@"+t,{wgPageName:N,wgNamespaceNumber:f,wgPageContentModel:U,wgServerName:F,wgScriptPath:H,wgUserLanguage:V,skin:n}=mw["config"]["values"],u=null!==mw.loader.getState("ext.CodeMirror"),l=w.getObject("InPageEditMwConfig")||{},B=""+F+H,b=l[B]||{},y=!(b.time>Date.now()-2592e6),Q={css:"css","sanitized-css":"css",javascript:"javascript",json:"javascript",wikitext:"mediawiki"},c=u?{lib:"ext.CodeMirror.lib",css:"ext.CodeMirror.lib.mode.css",javascript:"ext.CodeMirror.lib.mode.javascript",lua:d+"/mode/lua/lua.min.js",mediawiki:y?"ext.CodeMirror.data":[],htmlmixed:"ext.CodeMirror.lib.mode.htmlmixed",xml:[]}:{lib:d+"/lib/codemirror.min.js",css:d+"/mode/css/css.min.js",javascript:d+"/mode/javascript/javascript.min.js",lua:d+"/mode/lua/lua.min.js",mediawiki:[],htmlmixed:d+"/mode/htmlmixed/htmlmixed.min.js",xml:d+"/mode/xml/xml.min.js"},m={searchcursor:d+"/addon/search/searchcursor.min.js",search:o+"/search.min.js",markSelection:d+"/addon/selection/mark-selection.min.js",activeLine:d+"/addon/selection/active-line.min.js",trailingspace:d+"/addon/edit/trailingspace.min.js",matchBrackets:d+"/addon/edit/matchbrackets.min.js",closeBrackets:d+"/addon/edit/closebrackets.min.js",matchTags:o+"/matchtags.min.js",fold:o+"/fold.min.js",wikiEditor:"ext.wikiEditor",contextmenu:"mediawiki.Title"},x=[{option:"styleSelectedText",addon:"search",download:"markSelection",only:!0,complex:()=>!C.has("wikiEditor")},{option:"styleActiveLine",addon:"activeLine"},{option:"showTrailingSpace",addon:"trailingspace"},{option:"matchBrackets",complex:(e,i)=>"mediawiki"!==e&&!i||{bracketRegex:/[{}[\]]/}},{option:"autoCloseBrackets",addon:"closeBrackets",complex:(e,i)=>"mediawiki"!==e&&!i||'()[]{}""'},{option:"matchTags",addon:["matchTags","fold"],modes:["mediawiki","widget"]},{option:"fold",modes:["mediawiki","widget"]}];let C=new Set(w.getObject("Wikiplus-highlight-addons")||["search"]),v=w.getObject("Wikiplus-highlight-indent")||4;const q={'"':"quot","'":"apos","<":"lt",">":"gt","&":"amp"," ":"nbsp"},g=i=>e=>{e.replaceSelection(e.getSelection().split("\n").map(i).join("\n"),"around")},p=g(e=>[...e].map(e=>{if(e in q)return`&${q[e]};`;const i=e.codePointAt();return i<256?`&#${i};`:`&#x${i.toString(16)};`}).join("")),j=({keyMap:e})=>e.default===e.pcDefault,K={"Ctrl-/":p,"Ctrl-\\":g(encodeURIComponent)},J={"Cmd-/":p,"Cmd-\\":g(encodeURIComponent)},S=(u,e)=>{if(("mediawiki"===e||"widget"===e)&&C.has("contextmenu")){const t=$(u.getWrapperElement()).addClass("CodeMirror-contextmenu"),[o]=(mw.config.get("extCodeMirrorConfig")||{functionSynonyms:[{invoke:"invoke","调用":"invoke",widget:"widget","小工具":"widget"}]})["functionSynonyms"];var i=i=>Object.keys(o).filter(e=>o[e]===i).map(e=>e.startsWith("#")?e:"#"+e);const w=i("invoke"),h=i("widget");t.contextmenu(({pageX:e,pageY:i})=>{const t=u.coordsChar({left:e,top:i}),{line:o,ch:a}=t,n=u.getTokenTypeAt(t);if(/\bmw-(?:template-name|parserfunction)\b/.test(n)){const c=u.getLineTokens(o);for(let e=c.length-1;0<e;e--){var{type:r,end:s,string:d}=c[e];c[e-1].type===r&&(c[e-1].end=s,c[e-1].string+=d,c.splice(e,1))}const m=c.findIndex(({start:e,end:i})=>e<a&&i>=a),g=c[m].string.replace(/\u200E/g,"").replace(/_/g," ").trim();if(/\bmw-template-name\b/.test(n)){const p=new mw.Title(g);return 0!==p.namespace||g.startsWith(":")?open(p.getUrl(),"_blank"):open(mw.util.getUrl("Template:"+g),"_blank"),!1}if(!(m<2)&&/\bmw-parserfunction-delimiter\b/.test(c[m-1].type)&&/\bmw-parserfunction-name\b/.test(c[m-2].type)){var l=c[m-2].string.trim().toLowerCase();if(w.includes(l))open(mw.util.getUrl("Module:"+g),"_blank");else{if(!h.includes(l))return;open(mw.util.getUrl("Widget:"+g,{action:"edit"}),"_blank")}return!1}}})}};let M=w.getObject("Wikiplus-highlight-i18n"),W;M?((e,i)=>{var[t,o]=r(e),[a,n]=r(i);return t<a||t===a&&o<n})(M["wphl-version"],i)&&(W=e("welcome-upgrade",i,0)):(M={},W=e("welcome"));const E={zh:"zh-hans","zh-hans":"zh-hans","zh-cn":"zh-hans","zh-my":"zh-hans","zh-sg":"zh-hans","zh-hant":"zh-hant","zh-tw":"zh-hant","zh-hk":"zh-hant","zh-mo":"zh-hant",ka:"ka"}[V]||"en",R=`${s}/${o}/i18n/${E}.json`,G=M["wphl-version"]===t;e=async()=>{G&&M["wphl-lang"]===E||(M=await $.ajax(R,{dataType:"json",cache:!0}),w.setObject("Wikiplus-highlight-i18n",M)),mw.messages.set(M)},t=Promise.all([mw.loader.using("mediawiki.util"),e()]);const X=e=>0<e.length?mw.loader.using(e):Promise.resolve(),Y=e=>0<e.length?$.ajax(s+"/"+(1<e.length?"combine/":"")+e.join(),{dataType:"script",cache:!0}):Promise.resolve(),Z=async(e,i)=>{var t=e.filter(e=>!e.includes("/")),o=e.filter(e=>e.includes("/"));return!0===i?(await X(t),Y(o)):!1===i?(await Y(o),X(t)):Promise.all([X(t),Y(o)])};let O;const ee=(e,i=!1)=>{const t=[];for(var{option:o,addon:a=o,download:n=Array.isArray(a)?o:a,only:r}of x)r&&i||o in e.optionHandlers||!ie(a,C)||t.push(m[n]);return t},ie=(e,i)=>Array.isArray(e)?e.some(e=>i.has(e)):i.has(e),te=e=>{let i=[];var t,o="function"==typeof window.CodeMirror,a=o?window.CodeMirror:{modes:{},prototype:{},commands:{},optionHandlers:{}};if(o||(i.push(c.lib),u||mw.loader.load(`${s}/${d}/lib/codemirror.min.css`,"text/css")),"mediawiki"!==(e="mediawiki"===e&&b.config&&b.config.tags.html?"html":e)&&"widget"!==e||a.modes.mediawiki||(mw.loader.load(`${s}/${D}/mediawiki.min.css`,"text/css"),i.push(D+"/mediawiki.min.js")),"widget"===e||"html"===e)for(const n of["css","javascript","mediawiki","htmlmixed","xml"])a.modes[n]||(i=i.concat(c[n]));else i=i.concat(c[e]);return a.prototype.getSearchCursor||!C.has("search")||C.has("wikiEditor")||i.push(m.searchcursor),a.commands.findForward||!C.has("search")||C.has("wikiEditor")||i.push(m.search),C.has("wikiEditor")&&((t=mw.loader.getState("ext.wikiEditor"))?"ready"!==t&&i.push(m.wikiEditor):C.delete("wikiEditor")),"ready"!==mw.loader.getState("mediawiki.Title")&&C.has("contextmenu")&&i.push(m.contextmenu),i.push(...ee(a)),Z(i,o?void 0:u)},oe=e=>{l[B]={config:e,time:Date.now()},w.setObject("InPageEditMwConfig",l)},_=e=>P(e.map(({aliases:e,name:i})=>e.map(e=>({alias:e,name:i})))),z=e=>h(e.map(({alias:e,name:i})=>[e.replace(/:$/,""),i])),ae=async(e,i)=>{if("mediawiki"===e||"widget"===e){u&&y&&await i;let e=mw.config.get("extCodeMirrorConfig");if(e||y||!G||({config:e}=b,e.tags.ref&&(e.tagModes.ref="text/mediawiki"),mw.config.set("extCodeMirrorConfig",e)),e&&e.redirect&&e.img)return e;if(e)return e;const{magicwords:a,extensiontags:n,functionhooks:r,variables:s}=(await(new mw.Api).get({meta:"siteinfo",siprop:e?"magicwords":"magicwords|extensiontags|functionhooks|variables",formatversion:2}))["query"],d=["msg","raw","msgnw","subst","safesubst"];if(e){const[l]=e["functionSynonyms"];var t,o;if(!l.subst)for({alias:t,name:o}of _(a.filter(({name:e})=>d.includes(e))))l[t.replace(/:$/,"")]=o}else{e={tagModes:{pre:"mw-tag-pre",nowiki:"mw-tag-nowiki",ref:"text/mediawiki"},tags:h(n.map(e=>[e.slice(1,-1),!0])),urlProtocols:mw.config.get("wgUrlProtocols")};const c=new Set([...r,...s,...d]),m=a.filter(({name:e,aliases:i})=>i.some(e=>/^__.+__$/.test(e))||c.has(e)),g=_(m.filter(e=>e["case-sensitive"])),p=_(m.filter(e=>!e["case-sensitive"])).map(({alias:e,name:i})=>({alias:e.toLowerCase(),name:i}));e.doubleUnderscore=[z(p.filter(({alias:e})=>/^__.+__$/.test(e))),z(g.filter(({alias:e})=>/^__.+__$/.test(e)))],e.functionSynonyms=[z(p.filter(({alias:e})=>!/^__.+__|^#$/.test(e))),z(g.filter(({alias:e})=>!/^__.+__|^#$/.test(e)))]}return e.redirect=a.find(({name:e})=>"redirect"===e).aliases,e.img=z(_(a.filter(({name:e})=>e.startsWith("img_")))),mw.config.set("extCodeMirrorConfig",e),oe(e),e}},ne={getContents(){return O.getValue()},setContents(e){return O.setValue(e),this},getSelection(){return O.getSelection()},setSelection(e){return O.setSelection(O.posFromIndex(e.start),"end"in e?O.posFromIndex(e.end):void 0),O.focus(),this},replaceSelection(e){return O.replaceSelection(e),this},getCaretPosition(e){var i=O.indexFromPos(O.getCursor("from")),t=O.indexFromPos(O.getCursor("to"));return e.startAndEnd?[i,t]:i},scrollToCaretPosition(){return O.scrollIntoView(),this}},re=async(e,i)=>{const n=i?"javascript":await(async()=>{if(274!==f&&828!==f||N.endsWith("/doc"))return N.endsWith("/doc")?"mediawiki":Q[U];{const e=274===f?"Widget":"Lua";return await mw.loader.using(["oojs-ui-windows","oojs-ui.styles.icons-content"]),await OO.ui.confirm(k("contentmodel"),{actions:[{label:e},{label:"Wikitext",action:"accept"}]})?"mediawiki":e.toLowerCase()}})(),t=te(n),[o]=await Promise.all([ae(n,t),t]);if(!i&&C.has("wikiEditor"))try{if("function"==typeof mw.addWikiEditor)mw.addWikiEditor(e);else{const{modules:{dialogs:{config:s}}}=$["wikiEditor"];e.wikiEditor("addModule",{...$.wikiEditor.modules.toolbar.config.getDefaultConfig(),...s.getDefaultConfig()}),s.replaceIcons(e)}}catch(e){C.delete("wikiEditor"),mw.notify("WikiEditor工具栏加载失败。",{type:"error"}),console.error(e)}"mediawiki"===n&&o.tags.html?(o.tagModes.html="htmlmixed",await te("html")):"widget"!==n||CodeMirror.mimeModes.widget||CodeMirror.defineMIME("widget",{name:"htmlmixed",tags:{noinclude:[[null,null,"mediawiki"]]}});var a=e.height();O&&O.toTextArea();const r=i||"json"===U;if((O=CodeMirror.fromTextArea(e[0],$.extend({inputStyle:"contenteditable",lineNumbers:!/Android\b/.test(navigator.userAgent),lineWrapping:!0,mode:n,mwConfig:o,json:r},h(x.map(({option:e,addon:i=e,modes:t,complex:o=e=>!t||t.includes(e)})=>{var a=Array.isArray(i)?i[0]:i;return[e,C.has(a)&&o(n,r)]})),"mediawiki"===n?{extraKeys:C.has("escape")&&(j(CodeMirror)?K:J)}:{indentUnit:C.has("indentWithSpace")?v:4,indentWithTabs:!C.has("indentWithSpace")}))).setSize(null,a),O.getWrapperElement().id="Wikiplus-CodeMirror",$.fn.textSelection&&e.textSelection("register",ne),C.has("wikiEditor")){const d=e.data("wikiEditorContext"),l=CodeMirror["keyMap"],c=()=>{$.wikiEditor.modules.dialogs.api.openDialog(d,"search-and-replace")};O.addKeyMap(l.default===l.pcDefault?{"Ctrl-F":c}:{"Cmd-F":c})}if(S(O,n),$("#Wikiplus-Quickedit-Jump").children("a").attr("href","#Wikiplus-CodeMirror"),!i){const m="object"==typeof window.Wikiplus?window.Wikiplus:{getSetting(e){var i=w.getObject("Wikiplus_Settings");return i&&i[e]}},g=m.getSetting("esc_to_exit_quickedit"),p=()=>{$("#Wikiplus-Quickedit-Submit").triggerHandler("click")},u=()=>{$("#Wikiplus-Quickedit-MinorEdit").click(),$("#Wikiplus-Quickedit-Submit").triggerHandler("click")};O.addKeyMap($.extend(j(CodeMirror)?{"Ctrl-S":p,"Shift-Ctrl-S":u}:{"Cmd-S":p,"Shift-Cmd-S":u},!0===g||"true"===g?{Esc(){$("#Wikiplus-Quickedit-Back").triggerHandler("click")}}:{}))}O.refresh(),mw.hook("wiki-codemirror").fire(O)},se=document["body"],de=new MutationObserver(e=>{const i=$(P(e.map(({addedNodes:e})=>[...e]))).find("#Wikiplus-Quickedit, #Wikiplus-Setting-Input");0!==i.length&&re(i,"Wikiplus-Setting-Input"===i.attr("id"))}),le=(de.observe(se,{childList:!0}),$(se).on("keydown.wphl",".ui-dialog",function(e){if("Escape"===e.key){const i=$(this).children(".ui-dialog-content").data("context");i&&i.$textarea&&"Wikiplus-Quickedit"===i.$textarea.attr("id")&&e.stopPropagation()}}),document.querySelector("#wphl-style")||mw.loader.addStyleTag("#Wikiplus-CodeMirror{border:1px solid #c8ccd1;line-height:1.3;clear:both;-moz-user-select:auto;-webkit-user-select:auto;user-select:auto}#Wikiplus-CodeMirror .CodeMirror-gutter-wrapper{-moz-user-select:none;-webkit-user-select:none;user-select:none}div.Wikiplus-InterBox{font-size:14px;z-index:100}.skin-minerva .Wikiplus-InterBox{font-size:16px}.cm-trailingspace{text-decoration:underline wavy red}div.CodeMirror span.CodeMirror-matchingbracket{box-shadow:0 0 0 2px #9aef98}div.CodeMirror span.CodeMirror-nonmatchingbracket{box-shadow:0 0 0 2px #eace64}#Wikiplus-highlight-dialog .oo-ui-messageDialog-title{margin-bottom:0.28571429em}#Wikiplus-highlight-dialog .oo-ui-flaggedElement-notice{font-weight:normal;margin:0}.CodeMirror-contextmenu .cm-mw-template-name{cursor:pointer}.skin-moeskin #ca-more-actions li>a{display:inline-block;padding:0.4rem 0.8rem;line-height:1.5}")),{get:ce=e=>e.value,set:me=(e,i)=>{e.value=i}}=(le.id="wphl-style",$.valHooks.textarea||{}),ge=e=>"Wikiplus-Quickedit"===e.id||"Wikiplus-Setting-Input"===e.id;$.valHooks.textarea={get(e){return ge(e)&&O?O.getValue():ce(e)},set(e,i){ge(e)&&O?O.setValue(i):me(e,i)}},await t;let I,T,pe,ue,A,we,L;const he=(e=[...C])=>{L.toggle(e.includes("indentWithSpace"))};const ke=$(mw.util.addPortletLink({minerva:"page-actions-overflow",citizen:"p-actions",moeskin:"ca-more-actions"}[n]||"p-cactions","#",k("portlet"),"wphl-settings")).click(async e=>{if(e.preventDefault(),I)T.setValue([...C]),A.setValue(v);else{await mw.loader.using(["oojs-ui-windows","oojs-ui.styles.icons-content"]),I=new OO.ui.MessageDialog({id:"Wikiplus-highlight-dialog"});const t=new OO.ui.WindowManager,o=(t.$element.appendTo(se),t.addWindows([I]),T=new OO.ui.CheckboxMultiselectInputWidget({options:[...x.map(({option:e,addon:i=e})=>{const t=Array.isArray(i)?i[0]:i;return{data:t,label:a("addon-"+t.toLowerCase())}}),...["wikiEditor","escape","contextmenu","indentWithSpace","otherEditors"].map(e=>({data:e,label:a("addon-"+e.toLowerCase())}))],value:[...C]}).on("change",he))["checkboxMultiselectWidget"];pe=o.findItemFromData("search"),ue=o.findItemFromData("wikiEditor"),A=new OO.ui.NumberInputWidget({min:0,value:v}),we=new OO.ui.FieldLayout(T,{label:k("addon-label"),notices:[k("addon-notice")],align:"top"}),L=new OO.ui.FieldLayout(A,{label:k("addon-indent")}),he(),Object.assign(mw.libs.wphl,{widget:T,indentWidget:A})}var i="object"==typeof window.Wikiplus||"object"==typeof window.Pages,i=(pe.setDisabled(!i),ue.setDisabled(!i||!mw.loader.getState("ext.wikiEditor")),await I.open({title:k("addon-title"),message:we.$element.add(L.$element).add($("<p>",{html:k("feedback")})),actions:[{action:"reject",label:mw.msg("ooui-dialog-message-reject")},{action:"accept",label:mw.msg("ooui-dialog-message-accept"),flags:"progressive"}],size:"en"===E||"minerva"===n?"medium":"small"}).closing);we.$element.detach(),L.$element.detach(),"object"==typeof i&&"accept"===i.action&&(i=T.getValue(),C=new Set(i),v=Number(A.getValue()),w.setObject("Wikiplus-highlight-addons",i),w.setObject("Wikiplus-highlight-indent",v))}),fe=("minerva"===n&&ke.find(".mw-ui-icon").addClass("mw-ui-icon-minerva-settings"),"function"==typeof W&&W().find("#wphl-settings-notify").click(e=>{e.preventDefault(),$("#wphl-settings").triggerHandler("click")}),async i=>{if(C.has("otherEditors")){let e=i.getOption("mode");e="text/mediawiki"===e?"mediawiki":e;var t=ee(CodeMirror,!0),o=i.getOption("json");await Z(t);for(const{option:n,addon:r=n,modes:s,complex:d=e=>!s||s.includes(e)}of x.filter(({only:e})=>!e)){var a=Array.isArray(r)?r[0]:r;void 0===i.getOption(n)&&C.has(a)&&i.setOption(n,d(e,o))}"mediawiki"!==e&&C.has("indentWithSpace")?(i.setOption("indentUnit",v),i.setOption("indentWithTabs",!1)):"mediawiki"===e&&C.has("escape")&&i.addKeyMap(j(CodeMirror)?K:J,!0),S(i,e)}});mw.hook("InPageEdit.quickEdit.codemirror").add(({cm:e})=>fe(e)),mw.hook("inspector").add(e=>fe(e)),mw.libs.wphl={version:i,options:x,addons:C,i18n:M,i18nLang:E,wphlStyle:le,$portlet:ke,USING_LOCAL:u,MODE_LIST:c,ADDON_LIST:m,msg:k,htmlMsg:a,escapeHTML:p,handleContextMenu:S,setI18N:e,getAddonScript:ee,updateCachedConfig:oe,getMwConfig:ae,renderEditor:re,handleOtherEditors:fe}})();
8
8
  //# sourceMappingURL=main.min.js.map
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"../","sources":["main.js"],"names":["mw","libs","wphl","version","storage","getObject","key","json","localStorage","getItem","JSON","parse","e","setObject","value","setItem","stringify","fromEntries","Object","entries","obj","flatten","arr","flat","reduce","acc","cur","concat","getVersion","str","split","map","Number","msg","args","htmlMsg","$","parseHTML","notify","$p","html","type","autoHideSeconds","tag","majorVersion","slice","join","CDN","CM_CDN","MW_CDN","REPO_CDN","wgPageName","page","wgNamespaceNumber","ns","wgPageContentModel","contentmodel","wgServerName","server","wgScriptPath","scriptPath","wgUserLanguage","userLang","skin","config","values","USING_LOCAL","loader","getState","ALL_SETTINGS_CACHE","SITE_ID","SITE_SETTINGS","EXPIRED","time","Date","now","CONTENTMODEL","css","sanitized-css","javascript","wikitext","MODE_LIST","lib","lua","mediawiki","htmlmixed","xml","ADDON_LIST","searchcursor","search","markSelection","activeLine","trailingspace","matchBrackets","closeBrackets","matchTags","fold","wikiEditor","contextmenu","options","option","addon","download","only","complex","addons","has","mode","bracketRegex","modes","let","Set","indent","entity","\"","'","<",">","&"," ","convert","func","doc","replaceSelection","getSelection","escapeHTML","c","code","codePointAt","toString","isPc","keyMap","default","pcDefault","extraKeysPc","Ctrl-/","Ctrl-\\","encodeURIComponent","extraKeysMac","Cmd-/","Cmd-\\","handleContextMenu","$wrapper","getWrapperElement","addClass","synonyms","get","functionSynonyms","invoke","调用","widget","小工具","getSysnonyms","keys","filter","startsWith","pageX","pageY","pos","coordsChar","left","top","line","ch","curType","getTokenTypeAt","test","tokens","getLineTokens","i","length","end","string","splice","index","findIndex","start","text","replace","trim","title","Title","namespace","open","getUrl","util","parserFunction","toLowerCase","includes","action","i18n","welcome","a","b","a0","a1","b0","b1","cmpVersion","i18nLang","zh","zh-hans","zh-cn","zh-my","zh-sg","zh-hant","zh-tw","zh-hk","zh-mo","ka","I18N_CDN","isLatest","setI18N","async","ajax","dataType","cache","messages","set","i18nPromise","Promise","all","using","getInternalScript","exts","resolve","getExternalScript","urls","getScript","local","internal","url","external","cm","getAddonScript","CM","other","addonScript","Array","isArray","optionHandlers","intersect","push","some","ele","initMode","scripts","loaded","window","CodeMirror","prototype","commands","load","tags","lang","getSearchCursor","findForward","state","delete","undefined","updateCachedConfig","getAliases","words","aliases","name","alias","getConfig","getMwConfig","initModePromise","ref","tagModes","redirect","img","magicwords","extensiontags","functionhooks","variables","Api","meta","siprop","formatversion","query","otherMagicwords","insensitive","subst","pre","nowiki","urlProtocols","realMagicwords","allMagicwords","sensitive","word","doubleUnderscore","find","cmTextSelection","getContents","getValue","setContents","content","setValue","this","setSelection","posFromIndex","focus","getCaretPosition","caretPos","indexFromPos","getCursor","endPos","startAndEnd","scrollToCaretPosition","scrollIntoView","renderEditor","$target","setting","endsWith","pageMode","OO","ui","confirm","actions","label","getPageMode","mwConfig","addWikiEditor","modules","dialogs","toolbar","getDefaultConfig","replaceIcons","console","error","mimeModes","defineMIME","noinclude","height","toTextArea","fromTextArea","extend","inputStyle","lineNumbers","navigator","userAgent","lineWrapping","mod","mainAddon","extraKeys","indentUnit","indentWithTabs","setSize","id","fn","textSelection","context","data","callback","api","openDialog","addKeyMap","Ctrl-F","Cmd-F","children","attr","Wikiplus","getSetting","settings","escToExitQuickEdit","submit","triggerHandler","submitMinor","click","Ctrl-S","Shift-Ctrl-S","Cmd-S","Shift-Cmd-S","Esc","refresh","hook","fire","body","document","observer","MutationObserver","records","$editArea","addedNodes","wphlStyle","observe","childList","on","$textarea","stopPropagation","querySelector","addStyleTag","elem","valHooks","textarea","isWikiplus","dialog","searchWidget","wikiEditorWidget","indentWidget","field","indentField","toggleIndent","toggle","$portlet","addPortletLink","minerva","citizen","moeskin","preventDefault","MessageDialog","windowManager","WindowManager","checkboxMultiselectWidget","$element","appendTo","addWindows","CheckboxMultiselectInputWidget","findItemFromData","NumberInputWidget","min","FieldLayout","notices","align","assign","wikiplusLoaded","Pages","setDisabled","message","add","flags","size","closing","detach","handleOtherEditors","getOption","setOption"],"mappings":"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"}
1
+ {"version":3,"sourceRoot":"../","sources":["main.js"],"names":["mw","libs","wphl","version","storage","getObject","key","json","localStorage","getItem","JSON","parse","e","setObject","value","setItem","stringify","fromEntries","Object","entries","obj","flatten","arr","flat","reduce","acc","cur","concat","getVersion","str","split","map","Number","msg","args","htmlMsg","$","parseHTML","notify","$p","html","type","autoHideSeconds","tag","majorVersion","slice","join","CDN","CM_CDN","MW_CDN","REPO_CDN","wgPageName","page","wgNamespaceNumber","ns","wgPageContentModel","contentmodel","wgServerName","server","wgScriptPath","scriptPath","wgUserLanguage","userLang","skin","config","values","USING_LOCAL","loader","getState","ALL_SETTINGS_CACHE","SITE_ID","SITE_SETTINGS","EXPIRED","time","Date","now","CONTENTMODEL","css","sanitized-css","javascript","wikitext","MODE_LIST","lib","lua","mediawiki","htmlmixed","xml","ADDON_LIST","searchcursor","search","markSelection","activeLine","trailingspace","matchBrackets","closeBrackets","matchTags","fold","wikiEditor","contextmenu","options","option","addon","download","only","complex","addons","has","mode","bracketRegex","modes","let","Set","indent","entity","\"","'","<",">","&"," ","convert","func","doc","replaceSelection","getSelection","escapeHTML","c","code","codePointAt","toString","isPc","keyMap","default","pcDefault","extraKeysPc","Ctrl-/","Ctrl-\\","encodeURIComponent","extraKeysMac","Cmd-/","Cmd-\\","handleContextMenu","$wrapper","getWrapperElement","addClass","synonyms","get","functionSynonyms","invoke","调用","widget","小工具","getSysnonyms","keys","filter","startsWith","pageX","pageY","pos","coordsChar","left","top","line","ch","curType","getTokenTypeAt","test","tokens","getLineTokens","i","length","end","string","splice","index","findIndex","start","text","replace","trim","title","Title","namespace","open","getUrl","util","parserFunction","toLowerCase","includes","action","i18n","welcome","a","b","a0","a1","b0","b1","cmpVersion","i18nLang","zh","zh-hans","zh-cn","zh-my","zh-sg","zh-hant","zh-tw","zh-hk","zh-mo","ka","I18N_CDN","isLatest","setI18N","async","ajax","dataType","cache","messages","set","i18nPromise","Promise","all","using","getInternalScript","exts","resolve","getExternalScript","urls","getScript","local","internal","url","external","cm","getAddonScript","CM","other","addonScript","Array","isArray","optionHandlers","intersect","push","some","ele","initMode","scripts","state","loaded","window","CodeMirror","prototype","commands","load","tags","lang","getSearchCursor","findForward","delete","undefined","updateCachedConfig","getAliases","words","aliases","name","alias","getConfig","getMwConfig","initModePromise","ref","tagModes","redirect","img","magicwords","extensiontags","functionhooks","variables","Api","meta","siprop","formatversion","query","otherMagicwords","insensitive","subst","pre","nowiki","urlProtocols","realMagicwords","allMagicwords","sensitive","word","doubleUnderscore","find","cmTextSelection","getContents","getValue","setContents","content","setValue","this","setSelection","posFromIndex","focus","getCaretPosition","caretPos","indexFromPos","getCursor","endPos","startAndEnd","scrollToCaretPosition","scrollIntoView","renderEditor","$target","setting","endsWith","pageMode","OO","ui","confirm","actions","label","getPageMode","mwConfig","addWikiEditor","modules","dialogs","toolbar","getDefaultConfig","replaceIcons","console","error","mimeModes","defineMIME","noinclude","height","toTextArea","fromTextArea","extend","inputStyle","lineNumbers","navigator","userAgent","lineWrapping","mod","mainAddon","extraKeys","indentUnit","indentWithTabs","setSize","id","fn","textSelection","context","data","callback","api","openDialog","addKeyMap","Ctrl-F","Cmd-F","children","attr","Wikiplus","getSetting","settings","escToExitQuickEdit","submit","triggerHandler","submitMinor","click","Ctrl-S","Shift-Ctrl-S","Cmd-S","Shift-Cmd-S","Esc","refresh","hook","fire","body","document","observer","MutationObserver","records","$editArea","addedNodes","wphlStyle","observe","childList","on","$textarea","stopPropagation","querySelector","addStyleTag","elem","valHooks","textarea","isWikiplus","dialog","searchWidget","wikiEditorWidget","indentWidget","field","indentField","toggleIndent","toggle","$portlet","addPortletLink","minerva","citizen","moeskin","preventDefault","MessageDialog","windowManager","WindowManager","checkboxMultiselectWidget","$element","appendTo","addWindows","CheckboxMultiselectInputWidget","findItemFromData","NumberInputWidget","min","FieldLayout","notices","align","assign","wikiplusLoaded","Pages","setDisabled","message","add","flags","size","closing","detach","handleOtherEditors","getOption","setOption"],"mappings":"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"}
package/i18n/en.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "wphl-version": "2.22.5",
2
+ "wphl-version": "2.22.6",
3
3
  "wphl-lang": "en",
4
4
  "wphl-addon-search": "<span title=\"Search with a string or a regular expression\">Search</span>",
5
5
  "wphl-addon-activeline": "Show the active line",
package/i18n/ka.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "wphl-version": "2.22.5",
2
+ "wphl-version": "2.22.6",
3
3
  "wphl-lang": "ka",
4
4
  "wphl-addon-search": "<span title=\"ძებნა ნიშნების მწკრივით ან რეგულარული გაფართოებით\">ძებნა</span>",
5
5
  "wphl-addon-activeline": "აქტიური ხაზის მონიშვნა",
package/i18n/zh-hans.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "wphl-version": "2.22.5",
2
+ "wphl-version": "2.22.6",
3
3
  "wphl-lang": "zh-hans",
4
4
  "wphl-addon-search": "<span title=\"搜索字符串或正则表达式\">搜索</span>",
5
5
  "wphl-addon-activeline": "高亮显示光标所在行",
package/i18n/zh-hant.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "wphl-version": "2.22.5",
2
+ "wphl-version": "2.22.6",
3
3
  "wphl-lang": "zh-hant",
4
4
  "wphl-addon-search": "<span title=\"搜尋字串或正規表示式\">搜尋</span>",
5
5
  "wphl-addon-activeline": "突出顯示游標所在行",
package/main.js CHANGED
@@ -14,7 +14,7 @@
14
14
  }
15
15
  mw.libs.wphl = {}; // 开始加载
16
16
 
17
- const version = '2.22.5',
17
+ const version = '2.22.6',
18
18
  newAddon = 0;
19
19
 
20
20
  /** @type {typeof mw.storage} */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wikiplus-highlight",
3
- "version": "2.22.5",
3
+ "version": "2.22.6",
4
4
  "description": "A plugin for the MediaWiki front-end add-on \"Wikiplus\"",
5
5
  "keywords": [
6
6
  "mediawiki",
@@ -13,7 +13,16 @@
13
13
  },
14
14
  "license": "GPL-3.0",
15
15
  "author": "Bhsd",
16
- "browser": "main.js",
16
+ "files": [
17
+ "/dist/",
18
+ "/i18n/",
19
+ "/fold.js",
20
+ "/lint.js",
21
+ "/main.js",
22
+ "/matchtag.js",
23
+ "/search.js"
24
+ ],
25
+ "browser": "/main.js",
17
26
  "repository": {
18
27
  "type": "git",
19
28
  "url": "git+https://github.com/bhsd-harry/Wikiplus-highlight.git"
package/.eslintrc.json DELETED
@@ -1,675 +0,0 @@
1
- {
2
- "env": {
3
- "browser": true,
4
- "es6": true
5
- },
6
- "plugins": [
7
- "promise",
8
- "es-x",
9
- "regexp",
10
- "unicorn",
11
- "jsdoc"
12
- ],
13
- "extends": [
14
- "eslint:recommended",
15
- "plugin:promise/recommended",
16
- "plugin:es-x/no-new-in-es2019",
17
- "plugin:regexp/recommended",
18
- "plugin:unicorn/recommended"
19
- ],
20
- "parserOptions": {
21
- "ecmaVersion": 9,
22
- "sourceType": "script"
23
- },
24
- "globals": {
25
- "mw": "readonly",
26
- "$": "readonly",
27
- "CodeMirror": "readonly",
28
- "Wikiplus": "readonly",
29
- "OO": "readonly"
30
- },
31
- "ignorePatterns": [
32
- "*.min.js"
33
- ],
34
- "rules": {
35
- "array-callback-return": 2,
36
- "no-await-in-loop": 2,
37
- "no-cond-assign": [
38
- 2,
39
- "always"
40
- ],
41
- "no-constant-binary-expression": 2,
42
- "no-constructor-return": 2,
43
- "no-empty-character-class": 0,
44
- "no-fallthrough": 2,
45
- "no-import-assign": 0,
46
- "no-inner-declarations": [
47
- 2,
48
- "both"
49
- ],
50
- "no-irregular-whitespace": [
51
- 2,
52
- {
53
- "skipStrings": false
54
- }
55
- ],
56
- "no-promise-executor-return": 2,
57
- "no-self-compare": 2,
58
- "no-template-curly-in-string": 2,
59
- "no-undef": [
60
- 2,
61
- {
62
- "typeof": true
63
- }
64
- ],
65
- "no-unmodified-loop-condition": 2,
66
- "no-unreachable-loop": 2,
67
- "no-unsafe-negation": [
68
- 2,
69
- {
70
- "enforceForOrderingRelations": true
71
- }
72
- ],
73
- "no-unused-vars": [
74
- 2,
75
- {
76
- "ignoreRestSiblings": true
77
- }
78
- ],
79
- "no-use-before-define": [
80
- 2,
81
- {
82
- "functions": false,
83
- "variables": false
84
- }
85
- ],
86
- "require-atomic-updates": [
87
- 2,
88
- {
89
- "allowProperties": true
90
- }
91
- ],
92
- "use-isnan": [
93
- 2,
94
- {
95
- "enforceForIndexOf": true
96
- }
97
- ],
98
- "valid-typeof": [
99
- 2,
100
- {
101
- "requireStringLiterals": true
102
- }
103
- ],
104
- "accessor-pairs": 2,
105
- "arrow-body-style": 2,
106
- "block-scoped-var": 2,
107
- "camelcase": 2,
108
- "class-methods-use-this": 2,
109
- "consistent-return": 2,
110
- "consistent-this": 2,
111
- "curly": 2,
112
- "default-case": 2,
113
- "default-case-last": 2,
114
- "default-param-last": 2,
115
- "dot-notation":2,
116
- "eqeqeq": 2,
117
- "func-name-matching": [
118
- 2,
119
- {
120
- "considerPropertyDescriptor": true
121
- }
122
- ],
123
- "func-names": [
124
- 2,
125
- "never"
126
- ],
127
- "func-style": 2,
128
- "grouped-accessor-pairs": [
129
- 2,
130
- "getBeforeSet"
131
- ],
132
- "guard-for-in": 2,
133
- "multiline-comment-style": 2,
134
- "new-cap": [
135
- 2,
136
- {
137
- "capIsNew": false
138
- }
139
- ],
140
- "no-alert": 2,
141
- "no-array-constructor": 2,
142
- "no-bitwise": 2,
143
- "no-caller": 2,
144
- "no-else-return": 2,
145
- "no-empty": [
146
- 2,
147
- {
148
- "allowEmptyCatch": true
149
- }
150
- ],
151
- "no-empty-function": [
152
- 2,
153
- {
154
- "allow": [
155
- "arrowFunctions"
156
- ]
157
- }
158
- ],
159
- "no-eval": 2,
160
- "no-extend-native": 2,
161
- "no-extra-bind": 2,
162
- "no-extra-boolean-cast": [
163
- 2,
164
- {
165
- "enforceForLogicalOperands": true
166
- }
167
- ],
168
- "no-floating-decimal": 2,
169
- "no-implicit-coercion": 2,
170
- "no-implicit-globals": 2,
171
- "no-implied-eval": 2,
172
- "no-invalid-this": [
173
- 2,
174
- {
175
- "capIsConstructor": false
176
- }
177
- ],
178
- "no-lone-blocks": 2,
179
- "no-lonely-if": 2,
180
- "no-loop-func": 2,
181
- "no-multi-assign": 2,
182
- "no-multi-str": 2,
183
- "no-nested-ternary": 2,
184
- "no-new": 2,
185
- "no-new-func": 2,
186
- "no-new-object": 2,
187
- "no-new-wrappers": 2,
188
- "no-octal-escape": 2,
189
- "no-param-reassign": 2,
190
- "no-return-assign": [
191
- 2,
192
- "always"
193
- ],
194
- "no-return-await": 2,
195
- "no-script-url": 2,
196
- "no-sequences": [
197
- 2,
198
- {
199
- "allowInParentheses": false
200
- }
201
- ],
202
- "no-shadow": 2,
203
- "no-throw-literal": 2,
204
- "no-undef-init": 2,
205
- "no-underscore-dangle": [
206
- 2,
207
- {
208
- "allow": [
209
- "_"
210
- ],
211
- "enforceInMethodNames": true,
212
- "enforceInClassFields": true,
213
- "allowFunctionParams": false
214
- }
215
- ],
216
- "no-unneeded-ternary": [
217
- 2,
218
- {
219
- "defaultAssignment": false
220
- }
221
- ],
222
- "no-unused-expressions": 2,
223
- "no-useless-call": 2,
224
- "no-useless-computed-key": [
225
- 2,
226
- {
227
- "enforceForClassMembers": true
228
- }
229
- ],
230
- "no-useless-concat": 2,
231
- "no-useless-constructor": 2,
232
- "no-useless-return": 2,
233
- "no-var": 2,
234
- "no-void": 2,
235
- "object-shorthand": 2,
236
- "one-var-declaration-per-line": 2,
237
- "operator-assignment": 2,
238
- "prefer-arrow-callback": 2,
239
- "prefer-const": 2,
240
- "prefer-destructuring": [
241
- 2,
242
- {
243
- "VariableDeclarator": {
244
- "array": true,
245
- "object": true,
246
- "enforceForRenamedProperties": "literal"
247
- },
248
- "AssignmentExpression": {
249
- "array": true,
250
- "object": true
251
- }
252
- }
253
- ],
254
- "prefer-exponentiation-operator": 2,
255
- "prefer-numeric-literals": 2,
256
- "prefer-object-has-own": 2,
257
- "prefer-object-spread": 2,
258
- "prefer-regex-literals": [
259
- 2,
260
- {
261
- "disallowRedundantWrapping": true
262
- }
263
- ],
264
- "prefer-rest-params": 2,
265
- "prefer-spread": 2,
266
- "prefer-template": 2,
267
- "quote-props": [
268
- 2,
269
- "as-needed"
270
- ],
271
- "radix": [
272
- 2,
273
- "as-needed"
274
- ],
275
- "require-await": 2,
276
- "require-unicode-regexp": 2,
277
- "spaced-comment": 2,
278
- "strict": 2,
279
- "symbol-description": 2,
280
- "vars-on-top": 2,
281
- "yoda": 2,
282
- "array-bracket-newline": [
283
- 2,
284
- {
285
- "multiline": true
286
- }
287
- ],
288
- "array-bracket-spacing": 2,
289
- "array-element-newline": [
290
- 2,
291
- "consistent"
292
- ],
293
- "arrow-parens": [
294
- 2,
295
- "as-needed"
296
- ],
297
- "arrow-spacing": 2,
298
- "brace-style": 2,
299
- "block-spacing": 2,
300
- "comma-dangle": [
301
- 2,
302
- "always-multiline"
303
- ],
304
- "comma-spacing": 2,
305
- "comma-style": 2,
306
- "computed-property-spacing": 2,
307
- "dot-location": [
308
- 2,
309
- "property"
310
- ],
311
- "eol-last": 2,
312
- "func-call-spacing": 2,
313
- "function-call-argument-newline": [
314
- 2,
315
- "consistent"
316
- ],
317
- "function-paren-newline": [
318
- 2,
319
- "consistent"
320
- ],
321
- "indent": [
322
- 2,
323
- "tab",
324
- {
325
- "SwitchCase": 1
326
- }
327
- ],
328
- "key-spacing": 2,
329
- "keyword-spacing": 2,
330
- "linebreak-style": 2,
331
- "lines-around-comment": [
332
- 2,
333
- {
334
- "allowBlockStart": true,
335
- "ignorePattern": "^\\* @"
336
- }
337
- ],
338
- "lines-between-class-members": [
339
- 2,
340
- "always",
341
- {
342
- "exceptAfterSingleLine": true
343
- }
344
- ],
345
- "multiline-ternary": [
346
- 2,
347
- "always-multiline"
348
- ],
349
- "new-parens": 2,
350
- "newline-per-chained-call": [
351
- 2,
352
- {
353
- "ignoreChainWithDepth": 4
354
- }
355
- ],
356
- "no-extra-parens": 2,
357
- "no-multi-spaces": [
358
- 2,
359
- {
360
- "exceptions": {}
361
- }
362
- ],
363
- "no-multiple-empty-lines": [
364
- 2,
365
- {
366
- "max": 1,
367
- "maxBOF": 0
368
- }
369
- ],
370
- "no-trailing-spaces": 2,
371
- "no-whitespace-before-property": 2,
372
- "object-curly-newline": [
373
- 2,
374
- {
375
- "consistent": true
376
- }
377
- ],
378
- "object-curly-spacing": 2,
379
- "object-property-newline": [
380
- 2,
381
- {
382
- "allowAllPropertiesOnSameLine": true
383
- }
384
- ],
385
- "operator-linebreak": [
386
- 2,
387
- "before"
388
- ],
389
- "padded-blocks": [
390
- 2,
391
- "never"
392
- ],
393
- "quotes": [
394
- 2,
395
- "single",
396
- {
397
- "avoidEscape": true,
398
- "allowTemplateLiterals": true
399
- }
400
- ],
401
- "rest-spread-spacing": 2,
402
- "semi": 2,
403
- "semi-spacing": 2,
404
- "semi-style": 2,
405
- "space-before-blocks": 2,
406
- "space-before-function-paren": [
407
- 2,
408
- {
409
- "anonymous": "never",
410
- "named": "never",
411
- "asyncArrow": "always"
412
- }
413
- ],
414
- "space-in-parens": 2,
415
- "space-infix-ops": 2,
416
- "space-unary-ops": 2,
417
- "switch-colon-spacing": 2,
418
- "template-curly-spacing": 2,
419
- "wrap-iife": [
420
- 2,
421
- "inside"
422
- ],
423
- "promise/always-return": [
424
- 2,
425
- {
426
- "ignoreLastCallback": true
427
- }
428
- ],
429
- "promise/catch-or-return": [
430
- 2,
431
- {
432
- "allowThen": true
433
- }
434
- ],
435
- "promise/no-multiple-resolved": 2,
436
- "promise/prefer-await-to-then": 2,
437
- "es-x/no-regexp-lookbehind-assertions": 2,
438
- "regexp/no-contradiction-with-assertion": 2,
439
- "regexp/no-dupe-disjunctions": [
440
- 2,
441
- {
442
- "report": "interesting"
443
- }
444
- ],
445
- "regexp/no-empty-character-class": 2,
446
- "regexp/no-misleading-unicode-character": 2,
447
- "regexp/no-missing-g-flag": 2,
448
- "regexp/no-super-linear-backtracking": 2,
449
- "regexp/no-super-linear-move": 2,
450
- "regexp/no-extra-lookaround-assertions": 2,
451
- "regexp/no-octal": 2,
452
- "regexp/no-standalone-backslash": 2,
453
- "regexp/no-useless-character-class": [
454
- 2,
455
- {
456
- "ignores": []
457
- }
458
- ],
459
- "regexp/prefer-escape-replacement-dollar-char": 2,
460
- "regexp/prefer-quantifier": 2,
461
- "regexp/prefer-regexp-exec": 2,
462
- "regexp/prefer-regexp-test": 2,
463
- "regexp/use-ignore-case": 2,
464
- "regexp/hexadecimal-escape": 2,
465
- "regexp/letter-case": [
466
- 2,
467
- {
468
- "unicodeEscape": "uppercase",
469
- "hexadecimalEscape": "uppercase",
470
- "controlEscape": "uppercase"
471
- }
472
- ],
473
- "regexp/prefer-character-class": [
474
- 2,
475
- {
476
- "minAlternatives": 2
477
- }
478
- ],
479
- "regexp/prefer-lookaround": 2,
480
- "unicorn/better-regex": 0,
481
- "unicorn/catch-error-name": [
482
- 2,
483
- {
484
- "name": "e"
485
- }
486
- ],
487
- "unicorn/consistent-destructuring": [
488
- 2,
489
- {
490
- "exceptions": [
491
- "mw.loader",
492
- "mw.config",
493
- "mw.util",
494
- "mw.messages",
495
- "mw.addWikiEditor",
496
- "mw.libs",
497
- "$.wikiEditor"
498
- ]
499
- }
500
- ],
501
- "unicorn/escape-case": 0,
502
- "unicorn/expiring-todo-comments": 0,
503
- "unicorn/filename-case": 0,
504
- "unicorn/import-style": 0,
505
- "unicorn/no-array-callback-reference": 0,
506
- "unicorn/no-await-expression-member": 0,
507
- "unicorn/no-empty-file": 0,
508
- "unicorn/no-for-loop": 0,
509
- "unicorn/no-hex-escape": 0,
510
- "unicorn/no-nested-ternary": 0,
511
- "unicorn/no-new-array": 0,
512
- "unicorn/no-new-buffer": 0,
513
- "unicorn/no-null": 0,
514
- "unicorn/no-process-exit": 0,
515
- "unicorn/no-static-only-class": 0,
516
- "unicorn/no-thenable": 0,
517
- "unicorn/no-typeof-undefined": [
518
- 2,
519
- {
520
- "checkGlobalVariables": true
521
- }
522
- ],
523
- "unicorn/no-unreadable-array-destructuring": 0,
524
- "unicorn/no-unused-properties": 2,
525
- "unicorn/no-useless-undefined": 0,
526
- "unicorn/numeric-separators-style": 0,
527
- "unicorn/prefer-array-flat": 0,
528
- "unicorn/prefer-array-flat-map": 0,
529
- "unicorn/prefer-export-from": 0,
530
- "unicorn/prefer-math-trunc": 0,
531
- "unicorn/prefer-modern-math-apis": 0,
532
- "unicorn/prefer-module": 0,
533
- "unicorn/prefer-node-protocol": 0,
534
- "unicorn/prefer-number-properties": 0,
535
- "unicorn/prefer-object-from-entries": 0,
536
- "unicorn/prefer-optional-catch-binding": 0,
537
- "unicorn/prefer-regexp-test": 0,
538
- "unicorn/prefer-set-has": 0,
539
- "unicorn/prefer-set-size": 0,
540
- "unicorn/prefer-spread": [
541
- 2,
542
- {
543
- "concat": "certain"
544
- }
545
- ],
546
- "unicorn/prefer-string-slice": 0,
547
- "unicorn/prefer-string-trim-start-end": 0,
548
- "unicorn/prefer-top-level-await": 0,
549
- "unicorn/prefer-type-error": 0,
550
- "unicorn/prevent-abbreviations": 0,
551
- "unicorn/relative-url-style": [
552
- 2,
553
- "always"
554
- ],
555
- "unicorn/require-array-join-separator": 0,
556
- "unicorn/require-number-to-fixed-digits-argument": 0,
557
- "unicorn/switch-case-braces": [
558
- 2,
559
- "avoid"
560
- ],
561
- "unicorn/template-indent": 0,
562
- "jsdoc/check-alignment": 1,
563
- "jsdoc/check-indentation": 1,
564
- "jsdoc/check-property-names": 1,
565
- "jsdoc/check-tag-names": [
566
- 1,
567
- {
568
- "definedTags": [
569
- "template"
570
- ]
571
- }
572
- ],
573
- "jsdoc/check-types": 1,
574
- "jsdoc/multiline-blocks": 1,
575
- "jsdoc/newline-after-description": [
576
- 1,
577
- "never"
578
- ],
579
- "jsdoc/no-bad-blocks": [
580
- 1,
581
- {
582
- "preventAllMultiAsteriskBlocks": true
583
- }
584
- ],
585
- "jsdoc/no-multi-asterisks": 1,
586
- "jsdoc/require-asterisk-prefix": 1,
587
- "jsdoc/require-description": [
588
- 1,
589
- {
590
- "contexts": [
591
- "FunctionDeclaration",
592
- "VariableDeclarator > FunctionExpression",
593
- "MethodDefinition > FunctionExpression",
594
- "VariableDeclarator > ArrowFunctionExpression"
595
- ],
596
- "exemptedBy": [
597
- "type"
598
- ],
599
- "checkConstructors": false,
600
- "checkSetters": false
601
- }
602
- ],
603
- "jsdoc/require-hyphen-before-param-description": [
604
- 1,
605
- "never"
606
- ],
607
- "jsdoc/require-jsdoc": [
608
- 1,
609
- {
610
- "require": {
611
- "ArrowFunctionExpression": true,
612
- "ClassDeclaration": true,
613
- "FunctionDeclaration": true,
614
- "FunctionExpression": true,
615
- "MethodDefinition": true
616
- },
617
- "exemptEmptyConstructors": true,
618
- "checkGetters": true,
619
- "checkSetters": "no-getter"
620
- }
621
- ],
622
- "jsdoc/require-param-description": [
623
- 1,
624
- {
625
- "contexts": [
626
- "FunctionDeclaration",
627
- "VariableDeclarator > FunctionExpression",
628
- "MethodDefinition > FunctionExpression",
629
- "VariableDeclarator > ArrowFunctionExpression"
630
- ],
631
- "exceptions": [
632
- "cm"
633
- ]
634
- }
635
- ],
636
- "jsdoc/require-param-name": [
637
- 1,
638
- {
639
- "contexts": [
640
- "FunctionDeclaration",
641
- "VariableDeclarator > FunctionExpression",
642
- "MethodDefinition > FunctionExpression",
643
- "VariableDeclarator > ArrowFunctionExpression"
644
- ]
645
- }
646
- ],
647
- "jsdoc/require-param-type": 1,
648
- "jsdoc/require-param": [
649
- 1,
650
- {
651
- "exceptions": [
652
- "_"
653
- ],
654
- "contexts": [
655
- "FunctionDeclaration",
656
- "VariableDeclarator > FunctionExpression",
657
- "MethodDefinition > FunctionExpression",
658
- "VariableDeclarator > ArrowFunctionExpression"
659
- ]
660
- }
661
- ],
662
- "jsdoc/require-property": 1,
663
- "jsdoc/require-property-description": 1,
664
- "jsdoc/require-property-name": 1,
665
- "jsdoc/require-property-type": 1,
666
- "jsdoc/require-returns-check": [
667
- 1,
668
- {
669
- "exemptAsync": false
670
- }
671
- ],
672
- "jsdoc/require-returns-type": 1,
673
- "jsdoc/require-throws": 1
674
- }
675
- }
package/bump.sh DELETED
@@ -1,24 +0,0 @@
1
- #!/usr/local/bin/bash
2
- if [[ $2 == 'npm' ]]
3
- then
4
- sed -i '' 's|gh/bhsd-harry/Wikiplus-highlight@|npm/wikiplus-highlight@|' main.js
5
- uglifyjs main.js -c -m --comments --source-map 'url=main.min.js.map,root="../"' -o dist/main.min.js
6
- perl -pi -e "s|wikiplus-highlight@\d+\..+?(['/])|wikiplus-highlight\@$1\$1|" README.md
7
- sed -i '' -E "s/\"version\": \".+\"/\"version\": \"$1\"/" package.json
8
- git add -A
9
- git commit -m "chore: publish $1 to npm"
10
- git push
11
- npm publish
12
- else
13
- sed -i '' -E "s/version = '.+'/version = '$1'/" main.js
14
- sed -i '' 's|npm/wikiplus-highlight@|gh/bhsd-harry/Wikiplus-highlight@|' main.js
15
- for file in i18n/*
16
- do
17
- sed -i '' -E "s/\"wphl-version\": \".+\"/\"wphl-version\": \"$1\"/" $file
18
- done
19
- git add -A
20
- git commit -m "chore: bump version to $1"
21
- git push
22
- git tag $1
23
- git push origin $1
24
- fi
package/jsconfig.json DELETED
@@ -1,11 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "es2018"
4
- },
5
- "typeAcquisition": {
6
- "include": [
7
- "jquery",
8
- "codemirror"
9
- ]
10
- }
11
- }
package/matchtags.js DELETED
@@ -1,347 +0,0 @@
1
- /*
2
- * CodeMirror, copyright (c) by Marijn Haverbeke and others
3
- * Distributed under an MIT license: https://codemirror.net/LICENSE
4
- * Modified for MediaWiki by Bhsd <https://github.com/bhsd-harry>
5
- */
6
-
7
- (() => {
8
- 'use strict';
9
-
10
- const {Pos, cmpPos, Init} = CodeMirror;
11
-
12
- const tagStart = /<(\/?)([_a-z]\w*)/giu,
13
- voidTags = ['br', 'wbr', 'hr', 'img'],
14
- maxScanLines = 1000;
15
-
16
- /** @ignore */
17
- class Iter {
18
- /**
19
- * @param {CodeMirror.Editor} cm
20
- * @param {CodeMirror.Position} pos 当前位置
21
- */
22
- constructor(cm, pos) {
23
- const {line, ch} = pos;
24
- this.line = line;
25
- this.ch = ch;
26
- this.cm = cm;
27
- this.text = cm.getLine(line);
28
- this.min = Math.max(line - maxScanLines + 1, cm.firstLine());
29
- this.max = Math.min(line + maxScanLines - 1, cm.lastLine());
30
- }
31
-
32
- /** 是否是标签 */
33
- isTag() {
34
- const type = this.cm.getTokenTypeAt(Pos(this.line, this.ch));
35
- return /\b(?:mw-(?:html|ext)tag|tag\b)/u.test(type);
36
- }
37
-
38
- /**
39
- * 判断是否是括号
40
- * @param {number} ch 列号
41
- */
42
- bracketAt(ch) {
43
- const type = this.cm.getTokenTypeAt(Pos(this.line, ch + 1));
44
- return /\b(?:mw-(?:html|ext)tag-)?bracket\b/u.test(type);
45
- }
46
-
47
- /** Jump to the start of the next line */
48
- nextLine() {
49
- if (this.line >= this.max) {
50
- return false;
51
- }
52
- this.ch = 0;
53
- this.text = this.cm.getLine(++this.line);
54
- return true;
55
- }
56
-
57
- /** Jump to the end of the previous line */
58
- prevLine() {
59
- if (this.line <= this.min) {
60
- return false;
61
- }
62
- this.text = this.cm.getLine(--this.line);
63
- this.ch = this.text.length;
64
- return true;
65
- }
66
-
67
- /** Jump to the letter after a `>` towards the line end */
68
- toTagEnd() {
69
- for (;;) {
70
- const gt = this.text.indexOf('>', this.ch);
71
- if (gt === -1) {
72
- return undefined;
73
- }
74
- this.ch = gt + 1;
75
- if (!this.bracketAt(gt)) {
76
- continue;
77
- }
78
- return this.text[gt - 1] === '/' ? 'selfClose' : 'regular';
79
- }
80
- }
81
-
82
- /** Jump to a `<` towards the line start */
83
- toTagStart() {
84
- for (;;) {
85
- const lt = this.ch ? this.text.lastIndexOf('<', this.ch - 1) : -1;
86
- if (lt === -1) {
87
- return undefined;
88
- }
89
- if (!this.bracketAt(lt)) {
90
- this.ch = lt;
91
- continue;
92
- }
93
- tagStart.lastIndex = lt;
94
- this.ch = lt;
95
- const match = tagStart.exec(this.text);
96
- if (match && match.index === lt) {
97
- return match;
98
- }
99
- }
100
- }
101
-
102
- /** Jump to the start of the last line, or the letter after a `tagStart` */
103
- toNextTag() {
104
- for (;;) {
105
- tagStart.lastIndex = this.ch;
106
- const found = tagStart.exec(this.text);
107
- if (!found) {
108
- if (this.nextLine()) {
109
- continue;
110
- } else {
111
- return undefined;
112
- }
113
- }
114
- if (!this.bracketAt(found.index)) {
115
- this.ch = found.index + found[0].length;
116
- continue;
117
- }
118
- this.ch = found.index + found[0].length;
119
- return found;
120
- }
121
- }
122
-
123
- /** Jump to the end of the first line, or a non-bracket `>`, or the letter after a tag bracket `>` */
124
- toPrevTag() {
125
- for (;;) {
126
- const gt = this.ch ? this.text.lastIndexOf('>', this.ch - 1) : -1;
127
- if (gt === -1) {
128
- if (this.prevLine()) {
129
- continue;
130
- } else {
131
- return undefined;
132
- }
133
- }
134
- if (!this.bracketAt(gt)) {
135
- this.ch = gt;
136
- continue;
137
- }
138
- const lastSlash = this.text.lastIndexOf('/', gt);
139
- const selfClose = lastSlash > -1 && !/\S/u.test(this.text.slice(lastSlash + 1, gt));
140
- this.ch = gt + 1;
141
- return selfClose ? 'selfClose' : 'regular';
142
- }
143
- }
144
-
145
- // eslint-disable-next-line jsdoc/require-returns-check
146
- /**
147
- * 搜索匹配的闭合标签
148
- * @param {string} tag 标签名
149
- * @returns {CodeMirror.MatchingTag}
150
- */
151
- findMatchingClose(tag) {
152
- const /** @type {string[]} */ stack = [];
153
- for (;;) {
154
- const next = this.toNextTag();
155
- if (!next) {
156
- return undefined;
157
- }
158
- const start = this.ch - next[0].length,
159
- end = this.toTagEnd(),
160
- tagName = next[2].toLowerCase();
161
- if (!end) {
162
- return undefined;
163
- }
164
- if (end === 'selfClose' || voidTags.includes(tagName)) {
165
- continue;
166
- }
167
- if (next[1]) { // closing tag
168
- let i = stack.length - 1;
169
- for (; i >= 0; --i) {
170
- if (stack[i] === tagName) {
171
- stack.length = i;
172
- break;
173
- }
174
- }
175
- if (i < 0 && (!tag || tag === tagName)) {
176
- return {tag: tagName, from: Pos(this.line, start), to: Pos(this.line, this.ch)};
177
- }
178
- } else { // opening tag
179
- stack.push(tagName);
180
- }
181
- }
182
- }
183
-
184
- // eslint-disable-next-line jsdoc/require-returns-check
185
- /**
186
- * 搜索匹配的开启标签
187
- * @param {string|undefined} tag 标签名
188
- * @returns {CodeMirror.MatchingTag}
189
- */
190
- findMatchingOpen(tag) {
191
- const /** @type {string[]} */ stack = [];
192
- for (;;) {
193
- const prev = this.toPrevTag();
194
- if (!prev) {
195
- return undefined;
196
- }
197
- const {ch: end} = this,
198
- start = this.toTagStart();
199
- if (!start) {
200
- return undefined;
201
- }
202
- const tagName = start[2].toLowerCase();
203
- if (prev === 'selfClose' || voidTags.includes(tagName)) {
204
- continue;
205
- }
206
- if (start[1]) { // closing tag
207
- stack.push(tagName);
208
- } else { // opening tag
209
- let i = stack.length - 1;
210
- for (; i >= 0; --i) {
211
- if (stack[i] === tagName) {
212
- stack.length = i;
213
- break;
214
- }
215
- }
216
- if (i < 0 && (!tag || tag === tagName)) {
217
- // eslint-disable-next-line unicorn/consistent-destructuring
218
- return {tag: tagName, from: Pos(this.line, this.ch), to: Pos(this.line, end)};
219
- }
220
- }
221
- }
222
- }
223
- }
224
-
225
- CodeMirror.defineExtension(
226
- 'findMatchingTag',
227
-
228
- /**
229
- * @this {CodeMirror.Editor}
230
- * @param {CodeMirror.Position} pos 当前位置
231
- * @returns {CodeMirror.MatchingTagPair}
232
- */
233
- function(pos) {
234
- let iter = new Iter(this, pos);
235
- if (!iter.isTag()) {
236
- return undefined;
237
- }
238
- const end = iter.toTagEnd(),
239
- to = end && Pos(iter.line, iter.ch);
240
- const start = end && iter.toTagStart();
241
- if (!start || cmpPos(iter, pos) > 0) {
242
- return undefined;
243
- }
244
- const tag = start[2].toLowerCase(),
245
- here = {from: Pos(iter.line, iter.ch), to, tag};
246
- if (end === 'selfClose' || voidTags.includes(tag)) {
247
- return {open: here, close: null, at: 'self'};
248
- }
249
-
250
- if (start[1]) { // closing tag
251
- return {open: iter.findMatchingOpen(tag), close: here, at: 'close'};
252
- } // opening tag
253
- iter = new Iter(this, to);
254
- return {open: here, close: iter.findMatchingClose(tag), at: 'open'};
255
- },
256
- );
257
-
258
- CodeMirror.defineExtension(
259
- 'findEnclosingTag',
260
-
261
- /**
262
- * @this {CodeMirror.Editor}
263
- * @param {CodeMirror.Position} pos
264
- * @param {string} tag
265
- * @returns {CodeMirror.MatchingTagPair}
266
- */
267
- function(pos, tag) {
268
- const iter = new Iter(this, pos),
269
- open = iter.findMatchingOpen(tag);
270
- if (!open) {
271
- return undefined;
272
- }
273
- const forward = new Iter(this, pos),
274
- close = forward.findMatchingClose(open.tag);
275
- if (close) {
276
- return {open, close};
277
- }
278
- return undefined;
279
- },
280
- );
281
-
282
- /** Used by addon/edit/closetag.js */
283
- CodeMirror.scanForClosingTag = (cm, pos, tagName) => {
284
- const iter = new Iter(cm, pos);
285
- return iter.findMatchingClose(tagName);
286
- };
287
-
288
- CodeMirror.defineOption('matchTags', false, (cm, val, old) => {
289
- if (old && old !== Init) {
290
- cm.off('cursorActivity', doMatchTags);
291
- clear(cm);
292
- }
293
- if (val) {
294
- cm.on('cursorActivity', doMatchTags);
295
- doMatchTags(cm);
296
- }
297
- });
298
-
299
- /**
300
- * 清除高亮
301
- * @param {CodeMirror.EditorWithMatchingTags} cm
302
- */
303
- const clear = cm => {
304
- if (cm.state.tagHit) {
305
- cm.state.tagHit.clear();
306
- }
307
- if (cm.state.tagOther) {
308
- cm.state.tagOther.clear();
309
- }
310
- cm.state.tagHit = null;
311
- cm.state.tagOther = null;
312
- };
313
-
314
- /**
315
- * 搜索并高亮匹配的标签
316
- * @param {CodeMirror.EditorWithMatchingTags} cm
317
- */
318
- const doMatchTags = cm => {
319
- cm.operation(() => {
320
- clear(cm);
321
- if (cm.somethingSelected()) {
322
- return;
323
- }
324
- const match = cm.findMatchingTag(cm.getCursor());
325
- if (!match) {
326
- return;
327
- }
328
- if (match.at === 'self') {
329
- cm.state.tagHit = cm.markText(match.open.from, match.open.to, {className: 'cm-matchingtag'});
330
- return;
331
- }
332
- const hit = match.at === 'open' ? match.open : match.close,
333
- other = match.at === 'close' ? match.open : match.close;
334
- if (hit) {
335
- cm.state.tagHit = cm.markText(hit.from, hit.to, {className: `cm-${other ? '' : 'non'}matchingtag`});
336
- }
337
- if (other) {
338
- cm.state.tagOther = cm.markText(other.from, other.to, {className: 'cm-matchingtag'});
339
- }
340
- });
341
- };
342
-
343
- mw.loader.addStyleTag(
344
- '.cm-matchingtag{background-color:#c9ffc8}'
345
- + '.cm-nonmatchingtag{background-color:#fff0a8}',
346
- );
347
- })();