wikiplus-highlight 2.8.1 → 2.13.1
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 +20 -5
- package/dist/main.min.js +1 -1
- package/dist/main.min.js.map +1 -1
- package/fold.js +104 -38
- package/i18n/en.json +6 -3
- package/i18n/zh-hans.json +6 -3
- package/i18n/zh-hant.json +7 -4
- package/jsconfig.json +3 -0
- package/main.js +245 -177
- package/matchtags.js +45 -51
- package/package.json +2 -1
- package/search.js +14 -35
package/README.md
CHANGED
|
@@ -12,13 +12,13 @@
|
|
|
12
12
|
在*个人 JS 页*添加以下代码:
|
|
13
13
|
|
|
14
14
|
```javascript
|
|
15
|
-
mw.loader.load('//cdn.jsdelivr.net/npm/wikiplus-highlight@2.
|
|
15
|
+
mw.loader.load('//cdn.jsdelivr.net/npm/wikiplus-highlight@2.13.1');
|
|
16
16
|
```
|
|
17
17
|
|
|
18
18
|
或
|
|
19
19
|
|
|
20
20
|
```javascript
|
|
21
|
-
mw.loader.load('//unpkg.com/wikiplus-highlight@2.
|
|
21
|
+
mw.loader.load('//unpkg.com/wikiplus-highlight@2.13.1/dist/main.min.js');
|
|
22
22
|
```
|
|
23
23
|
|
|
24
24
|
### 稳定版本
|
|
@@ -45,9 +45,9 @@ mw.loader.load('//unpkg.com/wikiplus-highlight/dist/main.min.js');
|
|
|
45
45
|
|
|
46
46
|
这个插件会向 Wikiplus 编辑区添加一个【搜索】按钮及以下快捷键:
|
|
47
47
|
|
|
48
|
-
- Ctrl
|
|
49
|
-
- Ctrl
|
|
50
|
-
- Shift
|
|
48
|
+
- `Ctrl`/`Cmd` + `F`: 打开搜索框
|
|
49
|
+
- `Ctrl`/`Cmd` + `G`: 搜索下一处
|
|
50
|
+
- `Shift` + `Ctrl`/`Cmd` + `G`: 搜索上一处
|
|
51
51
|
|
|
52
52
|
除了使用以上快捷键,也可以通过在搜索框中按下 `Enter` 键或点击搜索框右侧的 `▼` 按钮来执行搜索下一处的命令,点击 `▲` 按钮将执行搜索上一处的命令。搜索可以使用字符串,也可以使用形如 `/re/` 或 `/re/i` 的正则表达式。正则表达式仅接受可选的 `i` 修饰符,暂不接受其他修饰符。全文中匹配的字符都会添加淡粉色背景。如果没有匹配的结果,搜索框会添加粉色背景。
|
|
53
53
|
|
|
@@ -69,6 +69,10 @@ mw.loader.load('//unpkg.com/wikiplus-highlight/dist/main.min.js');
|
|
|
69
69
|
|
|
70
70
|
CodeMirror 扩展会错误地匹配 `<!-- -->` 注释内外的括号,而这个插件不会。匹配的括号对会添加绿色边框,未匹配的单个括号会添加黄色边框。
|
|
71
71
|
|
|
72
|
+
### 自动闭合括号和引号
|
|
73
|
+
|
|
74
|
+
MediaWiki 模式下自动闭合生效的字符包括 `(`、`[`、`{` 和 `"`,不包括有特殊含义的 `'`。如果在选中部分文字的情况下键入这些字符,选中的文字会被成对的括号或引号包裹。
|
|
75
|
+
|
|
72
76
|
### 匹配标签
|
|
73
77
|
|
|
74
78
|
匹配的标签对或自封闭标签会添加浅绿色背景,未匹配的标签会添加浅黄色背景。注意被高亮标记为错误的标签不会进行匹配。
|
|
@@ -77,6 +81,13 @@ CodeMirror 扩展会错误地匹配 `<!-- -->` 注释内外的括号,而这个
|
|
|
77
81
|
|
|
78
82
|
光标移动至模板参数或扩展/HTML 标签内部时会在该行代码上方出现一个淡黄色背景的 `-` 标记,点击即可折叠模板参数或标签内部文本。折叠后使用一个带有虚线边框的 `⋯` 标记占位,点击该标记将重新展开折叠的代码部分。
|
|
79
83
|
|
|
84
|
+
### HTML/URL编码快捷键
|
|
85
|
+
|
|
86
|
+
添加以下快捷键:
|
|
87
|
+
|
|
88
|
+
- `Ctrl`/`Cmd` + `/`: 将选中的文字转换为HTML实体
|
|
89
|
+
- `Ctrl`/`Cmd` + `\`: 将选中的文字转换为URL编码
|
|
90
|
+
|
|
80
91
|
### 快速打开模板
|
|
81
92
|
|
|
82
93
|
右键点击被高亮标记为模板标题或 `#invoke` 魔术字的第一个参数(即模块标题)时,会在新标签页打开对应页面。如果当前站点安装了 [Widget](https://www.mediawiki.org/wiki/Extension:Widget) 扩展,则当右键点击 `#widget` 魔术字的第一个参数(即小部件标题)时会在新标签页打开对应小部件的编辑界面(即 `action=edit`)。
|
|
@@ -85,6 +96,10 @@ CodeMirror 扩展会错误地匹配 `<!-- -->` 注释内外的括号,而这个
|
|
|
85
96
|
|
|
86
97
|
这不是一个真正意义上的插件,而是一个设置选项。默认设置下使用 Tab 进行缩进。勾选这一选项时,会出现一个新的文本框以设置缩进对应的空格个数,初始值为 `4`。
|
|
87
98
|
|
|
99
|
+
### 用于其他编辑器
|
|
100
|
+
|
|
101
|
+
勾选这一选项时,除[【搜索】](#搜索)插件以外的当前正在使用的插件也将作用于其他开启了 CodeMirror 高亮的编辑器。目前支持的编辑器包括 [InPageEdit-v2](https://github.com/inpageedit/inpageedit-v2) 和 [Inspector](https://zh.moegirl.org.cn/User:Bhsd/Inspector),不包括 MediaWiki 默认的编辑器。
|
|
102
|
+
|
|
88
103
|
## Supported languages
|
|
89
104
|
|
|
90
105
|
- **English (en)**
|
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";var e="2.10";const t="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){var t;try{return t=JSON.stringify(i),localStorage.setItem(e,t)}catch(e){return!1}}},g=Object.fromEntries||(e=>{const i={};for(var[t,a]of e)i[t]=a;return i}),n=e=>e.split(".").map(e=>Number(e));const m=(e,...i)=>mw.msg("wphl-"+e,...i);var i=(...i)=>()=>{var e=$("<p>",{html:m(...i)});return mw.notify(e,{type:"success",autoHideSeconds:"long",tag:"wikiplus-highlight"}),e},a=n(e).slice(0,2).join(".");const o="//fastly.jsdelivr.net",l="npm/codemirror@5.65.3",r="gh/bhsd-harry/codemirror-mediawiki@1.1.4",s="npm/wikiplus-highlight@"+a,{wgPageName:u,wgNamespaceNumber:h,wgPageContentModel:p,wgServerName:B,wgScriptPath:E,wgUserLanguage:N,skin:c}=mw.config.values,w=null!==mw.loader.getState("ext.CodeMirror"),d=t.getObject("InPageEditMwConfig")||{},f=""+B+E,k=d[f]||{},b=k.time<Date.now()-2592e6,Q={css:"css","sanitized-css":"css",javascript:"javascript",json:"javascript",wikitext:"mediawiki"},x=w?{lib:"ext.CodeMirror.lib",css:"ext.CodeMirror.lib.mode.css",javascript:"ext.CodeMirror.lib.mode.javascript",lua:l+"/mode/lua/lua.min.js",mediawiki:b?"ext.CodeMirror.data":[],htmlmixed:"ext.CodeMirror.lib.mode.htmlmixed",xml:[]}:{lib:l+"/lib/codemirror.min.js",css:l+"/mode/css/css.min.js",javascript:l+"/mode/javascript/javascript.min.js",lua:l+"/mode/lua/lua.min.js",mediawiki:[],htmlmixed:l+"/mode/htmlmixed/htmlmixed.min.js",xml:l+"/mode/xml/xml.min.js"},v={searchcursor:l+"/addon/search/searchcursor.min.js",search:s+"/search.min.js",activeLine:l+"/addon/selection/active-line.min.js",markSelection:l+"/addon/selection/mark-selection.min.js",trailingspace:l+"/addon/edit/trailingspace.min.js",matchBrackets:l+"/addon/edit/matchbrackets.min.js",matchTags:s+"/matchtags.min.js",fold:s+"/fold.min.js"};let j=t.getObject("Wikiplus-highlight-addons")||["search"],y=t.getObject("Wikiplus-highlight-indent")||"4";const C=document.getElementById("wphl-contextmenu")||mw.loader.addStyleTag("#Wikiplus-CodeMirror .cm-mw-template-name{cursor:pointer}");C.id="wphl-contextmenu",C.disabled=!0;let W=t.getObject("Wikiplus-highlight-i18n"),S;W?((e,i)=>{var[e,t]=n(e),[i,a]=n(i);return e<i||e===i&&t<a})(W["wphl-version"],e)&&(S=i("welcome-new-addon",e,1)):(W={},S=i("welcome"));const M={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"}[N]||"en",U=`${o}/${s}/i18n/${M}.json`,O=W["wphl-version"]===a;e=Promise.all([mw.loader.using("mediawiki.util"),(async()=>{O&&W["wphl-lang"]===M||(W=await $.ajax(U,{dataType:"json",cache:!0}),t.setObject("Wikiplus-highlight-i18n",W)),mw.messages.set(W)})()]);const _=(e,i)=>0===e.length?Promise.resolve():i?mw.loader.using(e):$.ajax(o+"/"+(1<e.length?"combine/":"")+e.join(),{dataType:"script",cache:!0});let z;const D=async e=>{let i=[];const t=[],a=[],n="function"==typeof window.CodeMirror,s=n?window.CodeMirror:{modes:{},prototype:{},commands:{},optionHandlers:{}};["mediawiki","widget"].includes(e)&&!s.modes.mediawiki&&(mw.loader.load(`${o}/${r}/mediawiki.min.css`,"text/css"),(w?t:i).push(r+"/mediawiki.min.js")),"mediawiki"===e&&"object"==typeof k.config&&k.config.tags.html&&(e="html"),n||((w?i:a).push(x.lib),w||mw.loader.load(`${o}/${l}/lib/codemirror.min.css`,"text/css")),!s.prototype.getSearchCursor&&j.includes("search")&&a.push(v.searchcursor),!s.commands.findForward&&j.includes("search")&&a.push(v.search),!s.optionHandlers.styleActiveLine&&j.includes("activeLine")&&a.push(v.activeLine),!s.optionHandlers.styleSelectedText&&j.includes("search")&&a.push(v.markSelection),!s.optionHandlers.showTrailingSpace&&j.includes("trailingspace")&&a.push(v.trailingspace),!s.optionHandlers.matchBrackets&&j.includes("matchBrackets")&&a.push(v.matchBrackets),!s.optionHandlers.matchTags&&["matchTags","fold"].some(e=>j.includes(e))&&a.push(v.matchTags),!s.optionHandlers.fold&&j.includes("fold")&&a.push(v.fold),["widget","html"].includes(e)?["css","javascript","mediawiki","htmlmixed","xml"].forEach(e=>{s.modes[e]||(i=i.concat(x[e]))}):s.modes[e]||("lua"===e?(w?t:i).push(x.lua):i=i.concat(x[e])),n?await Promise.all([_(i,w),_(t),_(a)]):w?(await _(i,!0),await Promise.all([_(t),_(a)])):(await _(a),await _(i))},A=e=>{d[f]={config:e,time:Date.now()},t.setObject("InPageEditMwConfig",d)},V=async(e,i)=>{var t=i?"javascript":await(async()=>{if(![274,828].includes(h)||u.endsWith("/doc"))return u.endsWith("/doc")?"mediawiki":Q[p];{const e=274===h?"Widget":"Lua";return await mw.loader.using(["oojs-ui-windows","oojs-ui.styles.icons-content"]),await OO.ui.confirm(m("contentmodel"),{actions:[{label:e},{label:"Wikitext",action:"accept"}]})?"mediawiki":e.toLowerCase()}})(),a=D(t);const[n]=await Promise.all([(async(i,t)=>{if(["mediawiki","widget"].includes(i)){w&&b&&await t;let e=mw.config.get("extCodeMirrorConfig");if(e||b||!O||({config:e}=k,mw.config.set("extCodeMirrorConfig",e)),e&&e.redirect&&e.img)return e;if(e)return e;const{magicwords:a,extensiontags:n,functionhooks:s,variables:o}=(await(new mw.Api).get({meta:"siteinfo",siprop:e?"magicwords":"magicwords|extensiontags|functionhooks|variables",formatversion:2}))["query"],l=["msg","raw","msgnw","subst","safesubst"];i=e=>e.flatMap(({aliases:e,name:i})=>e.map(e=>({alias:e,name:i}))),t=e=>g(e.map(({alias:e,name:i})=>[e.replace(/:$/,""),i]));if(e){const[r]=e["functionSynonyms"];r.subst||i(a.filter(({name:e})=>l.includes(e))).forEach(({alias:e,name:i})=>{r[e.replace(/:$/,"")]=i})}else{e={tagModes:{pre:"mw-tag-pre",nowiki:"mw-tag-nowiki",ref:"text/mediawiki"},tags:g(n.map(e=>[e.slice(1,-1),!0])),urlProtocols:mw.config.get("wgUrlProtocols")};const c=new Set([...s,...o,...l]),d=a.filter(({name:e,aliases:i})=>i.some(e=>/^__.+__$/.test(e))||c.has(e)),m=i(d.filter(e=>e["case-sensitive"])),u=i(d.filter(e=>!e["case-sensitive"])).map(({alias:e,name:i})=>({alias:e.toLowerCase(),name:i}));e.doubleUnderscore=[t(u.filter(({alias:e})=>/^__.+__$/.test(e))),t(m.filter(({alias:e})=>/^__.+__$/.test(e)))],e.functionSynonyms=[t(u.filter(({alias:e})=>!/^__.+__|^#$/.test(e))),t(m.filter(({alias:e})=>!/^__.+__|^#$/.test(e)))]}return e.redirect=a.find(({name:e})=>"redirect"===e).aliases,e.img=t(i(a.filter(({name:e})=>e.startsWith("img_")))),mw.config.set("extCodeMirrorConfig",e),A(e),e}})(t,a),a]);"mediawiki"===t&&n.tags.html?(n.tagModes.html="htmlmixed",await D("html")):"widget"!==t||CodeMirror.mimeModes.widget||CodeMirror.defineMIME("widget",{name:"htmlmixed",tags:{noinclude:[[null,null,"mediawiki"]]}});var a=e.height(),s=(z&&z.toTextArea(),i||"json"===p),o=$.client.profile()["name"];(z=CodeMirror.fromTextArea(e[0],$.extend({inputStyle:"safari"===o?"textarea":"contenteditable",lineNumbers:!0,lineWrapping:!0,mode:t,mwConfig:n,json:s,styleActiveLine:j.includes("activeLine"),styleSelectedText:j.includes("search"),showTrailingSpace:j.includes("trailingspace"),matchBrackets:j.includes("matchBrackets")&&("mediawiki"!==t&&!s||{bracketRegex:/[{}[\]]/}),matchTags:j.includes("matchTags")&&["mediawiki","widget"].includes(t),fold:j.includes("fold")&&["mediawiki","widget"].includes(t)},"mediawiki"===t?{}:{indentUnit:j.includes("indentWithSpace")?y:"4",indentWithTabs:!j.includes("indentWithSpace")}))).setSize(null,a),z.refresh();const l=z.getWrapperElement();if(l.id="Wikiplus-CodeMirror",["mediawiki","widget"].includes(t)&&j.includes("contextmenu")){C.disabled=!1;const[r]=mw.config.get("extCodeMirrorConfig")["functionSynonyms"];e=i=>Object.keys(r).filter(e=>r[e]===i).map(e=>e.startsWith("#")?e:"#"+e);const c=e("invoke"),d=e("widget");await mw.loader.using("mediawiki.Title"),$(l).on("contextmenu",".cm-mw-template-name",function(){const e=this.textContent.replace(/\u200e/g,"").trim(),i=new mw.Title(e);return 0!==i.namespace||e.startsWith(":")?open(i.getUrl(),"_blank"):open(mw.util.getUrl("Template:"+e),"_blank"),!1}).on("contextmenu",".cm-mw-parserfunction-name + .cm-mw-parserfunction-delimiter + .cm-mw-parserfunction",function(){var e=this.previousSibling.previousSibling.textContent.trim().toLowerCase();return c.includes(e)?open(mw.util.getUrl("Module:"+this.textContent),"_blank"):d.includes(e)&&open(mw.util.getUrl("Widget:"+this.textContent,{action:"edit"}),"_blank"),!1})}else C.disabled=!0;$("#Wikiplus-Quickedit-Jump").children("a").attr("href","#Wikiplus-CodeMirror"),i||(o=()=>{$("#Wikiplus-Quickedit-Submit").triggerHandler("click")},s=()=>{$("#Wikiplus-Quickedit-MinorEdit").click(),$("#Wikiplus-Quickedit-Submit").triggerHandler("click")},z.addKeyMap($.extend({"Ctrl-S":o,"Cmd-S":o,"Shift-Ctrl-S":s,"Shift-Cmd-S":s},Wikiplus.getSetting("esc_to_exit_quickedit")?{Esc(){$("#Wikiplus-Quickedit-Back").triggerHandler("click")}}:{}))),mw.hook("wiki-codemirror").fire(z)},F=new MutationObserver(e=>{const i=$(e.flatMap(({addedNodes:e})=>[...e])).find("#Wikiplus-Quickedit, #Wikiplus-Setting-Input");0!==i.length&&V(i,"Wikiplus-Setting-Input"===i.attr("id"))}),J=(F.observe(document.body,{childList:!0}),document.getElementById("wphl-style")||mw.loader.addStyleTag("#Wikiplus-Quickedit+.CodeMirror,#Wikiplus-Setting-Input+.CodeMirror{border:1px solid #c8ccd1;line-height:1.3;clear:both}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}")),{get:q=function(e){return e.value},set:K=function(e,i){e.value=i}}=(J.id="wphl-style",$.valHooks.textarea||{}),R=e=>["Wikiplus-Quickedit","Wikiplus-Setting-Input"].includes(e.id);$.valHooks.textarea={get(e){return R(e)&&z?z.getValue():q(e)},set(e,i){R(e)&&z?z.setValue(i):K(e,i)}},await e;let T,L,I,H,P;const G=(e=j)=>{P.toggle(e.includes("indentWithSpace"))};const X=$(mw.util.addPortletLink({minerva:"page-actions-overflow",citizen:"p-actions"}[c]||"p-cactions","#",m("portlet"),"wphl-settings")).click(async e=>{if(e.preventDefault(),!T){await mw.loader.using(["oojs-ui-windows","oojs-ui.styles.icons-content"]),T=new OO.ui.MessageDialog({id:"Wikiplus-highlight-dialog"});const i=new OO.ui.WindowManager;i.$element.appendTo(document.body),i.addWindows([T]),L=new OO.ui.CheckboxMultiselectInputWidget({options:[{data:"search",label:m("addon-search")},{data:"activeLine",label:m("addon-active-line")},{data:"trailingspace",label:m("addon-trailingspace")},{data:"matchBrackets",label:m("addon-matchbrackets")},{data:"matchTags",label:m("addon-matchtags")},{data:"fold",label:m("addon-fold")},{data:"contextmenu",label:m("addon-contextmenu")},{data:"indentWithSpace",label:m("addon-indentwithspace")}],value:j}).on("change",G),I=new OO.ui.NumberInputWidget({min:0,value:y}),H=new OO.ui.FieldLayout(L,{label:m("addon-label"),notices:[m("addon-notice")],align:"top"}),P=new OO.ui.FieldLayout(I,{label:m("addon-indent")}),G()}T.open({title:m("addon-title"),message:H.$element.add(P.$element).add($("<p>",{html:m("feedback")})),actions:[{action:"reject",label:mw.msg("ooui-dialog-message-reject")},{action:"accept",label:mw.msg("ooui-dialog-message-accept"),flags:"progressive"}],size:"en"===M?"medium":"small"}).closing.then(e=>{H.$element.detach(),P.$element.detach(),"object"==typeof e&&"accept"===e.action&&(j=L.getValue(),y=I.getValue(),t.setObject("Wikiplus-highlight-addons",j),t.setObject("Wikiplus-highlight-indent",y))})});"minerva"===c&&X.find("a").addClass("mw-ui-icon-minerva-settings"),"function"==typeof S&&S().find("#wphl-settings-notify").click(e=>{e.preventDefault(),$("#wphl-settings").triggerHandler("click")})})();
|
|
7
|
+
(async()=>{"use strict";var e="2.13.1";const t="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{var t=JSON.stringify(i);return localStorage.setItem(e,t)}catch(e){return!1}}},g=Object.fromEntries||(e=>{const i={};for(var[t,a]of e)i[t]=a;return i}),p=Array.prototype.flat||function(){return this.reduce((e,i)=>e.concat(i),[])},n=e=>e.split(".").map(e=>Number(e));const r=(e,...i)=>mw.msg("wphl-"+e,...i);var i=(...i)=>()=>{var e=$("<p>",{html:r(...i)});return mw.notify(e,{type:"success",autoHideSeconds:"long",tag:"wikiplus-highlight"}),e},a=n(e).slice(0,2).join(".");const s="//fastly.jsdelivr.net",l="npm/codemirror@5.65.3",d="gh/bhsd-harry/codemirror-mediawiki@1.1.5",o="npm/wikiplus-highlight@"+a,{wgPageName:c,wgNamespaceNumber:m,wgPageContentModel:u,wgServerName:P,wgScriptPath:U,wgUserLanguage:N,skin:B}=mw.config.values,h=null!==mw.loader.getState("ext.CodeMirror"),w=t.getObject("InPageEditMwConfig")||{},H=""+P+U,f=w[H]||{},k=f.time<Date.now()-2592e6,Q={css:"css","sanitized-css":"css",javascript:"javascript",json:"javascript",wikitext:"mediawiki"},b=h?{lib:"ext.CodeMirror.lib",css:"ext.CodeMirror.lib.mode.css",javascript:"ext.CodeMirror.lib.mode.javascript",lua:l+"/mode/lua/lua.min.js",mediawiki:k?"ext.CodeMirror.data":[],htmlmixed:"ext.CodeMirror.lib.mode.htmlmixed",xml:[]}:{lib:l+"/lib/codemirror.min.js",css:l+"/mode/css/css.min.js",javascript:l+"/mode/javascript/javascript.min.js",lua:l+"/mode/lua/lua.min.js",mediawiki:[],htmlmixed:l+"/mode/htmlmixed/htmlmixed.min.js",xml:l+"/mode/xml/xml.min.js"},y={searchcursor:l+"/addon/search/searchcursor.min.js",search:o+"/search.min.js",markSelection:l+"/addon/selection/mark-selection.min.js",activeLine:l+"/addon/selection/active-line.min.js",trailingspace:l+"/addon/edit/trailingspace.min.js",matchBrackets:l+"/addon/edit/matchbrackets.min.js",closeBrackets:l+"/addon/edit/closebrackets.min.js",matchTags:o+"/matchtags.min.js",fold:o+"/fold.min.js"},x=[{option:"styleSelectedText",addon:"search",download:"markSelection",only:!0},{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 j=t.getObject("Wikiplus-highlight-addons")||["search"],v=t.getObject("Wikiplus-highlight-indent")||"4";const D={'"':"quot","'":"apos","<":"lt",">":"gt","&":"amp"," ":"nbsp"},C=i=>e=>{e.replaceSelection(e.getSelection().split("\n").map(i).join("\n"),"around")},q=C(e=>e.split("").map(e=>{if(e in D)return`&${D[e]};`;const i=e.charCodeAt();return i<256?`&#${i};`:`&#x${i.toString(16)};`}).join("")),W=({keyMap:e})=>e.default===e.pcDefault,V={"Ctrl-/":q,"Ctrl-\\":C(encodeURIComponent)},F={"Cmd-/":q,"Cmd-\\":C(encodeURIComponent)},J=async(c,e)=>{if(["mediawiki","widget"].includes(e)&&j.includes("contextmenu")){const i=$(c.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 m=e("invoke"),u=e("widget");await mw.loader.using("mediawiki.Title"),i.contextmenu(({pageX:e,pageY:i})=>{const t=c.coordsChar({left:e,top:i}),{line:a,ch:n}=t,o=c.getTokenTypeAt(t);if(/\bmw-(?:template-name|parserfunction)\b/.test(o)){const s=c.getLineTokens(a),r=s.findIndex(({start:e,end:i})=>e<n&&i>=n),l=s[r].string.replace(/\u200e/g,"").replace(/_/g," ").trim();if(/\bmw-template-name\b/.test(o)){const d=new mw.Title(l);return 0!==d.namespace||l.startsWith(":")?open(d.getUrl(),"_blank"):open(mw.util.getUrl("Template:"+l),"_blank"),!1}if(!(r<2)&&/\bmw-parserfunction-delimiter\b/.test(s[r-1].type)&&/\bmw-parserfunction-name\b/.test(s[r-2].type)){e=s[r-2].string.trim().toLowerCase();if(m.includes(e))open(mw.util.getUrl("Module:"+l),"_blank");else{if(!u.includes(e))return;open(mw.util.getUrl("Widget:"+l,{action:"edit"}),"_blank")}return!1}}})}};let M=t.getObject("Wikiplus-highlight-i18n"),S;M?((e,i)=>{var[e,t]=n(e),[i,a]=n(i);return e<i||e===i&&t<a})(M["wphl-version"],e)&&(S=i("welcome-new-addon",e,2)):(M={},S=i("welcome"));const O={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"}[N]||"en",K=`${s}/${o}/i18n/${O}.json`,R=M["wphl-version"]===a;e=Promise.all([mw.loader.using("mediawiki.util"),(async()=>{R&&M["wphl-lang"]===O||(M=await $.ajax(K,{dataType:"json",cache:!0}),t.setObject("Wikiplus-highlight-i18n",M)),mw.messages.set(M)})()]);const _=(e,i)=>0===e.length?Promise.resolve():i?mw.loader.using(e):$.ajax(s+"/"+(1<e.length?"combine/":"")+e.join(),{dataType:"script",cache:!0});let z;const X=(e,i=!1)=>{const t=[];for(var{option:a,addon:n=a,download:o=Array.isArray(n)?a:n,only:s}of x)s&&i||a in e.optionHandlers||!Y(n,j)||t.push(y[o]);return t},Y=(e,i)=>Array.isArray(e)?e.some(e=>i.includes(e)):i.includes(e),G=async e=>{let i=[];const t=[],a=[],n="function"==typeof window.CodeMirror,o=n?window.CodeMirror:{modes:{},prototype:{},commands:{},optionHandlers:{}};["mediawiki","widget"].includes(e)&&!o.modes.mediawiki&&(mw.loader.load(`${s}/${d}/mediawiki.min.css`,"text/css"),(h?t:i).push(d+"/mediawiki.min.js")),"mediawiki"===e&&f.config&&f.config.tags.html&&(e="html"),n||((h?i:a).push(b.lib),h||mw.loader.load(`${s}/${l}/lib/codemirror.min.css`,"text/css")),!o.prototype.getSearchCursor&&j.includes("search")&&a.push(y.searchcursor),!o.commands.findForward&&j.includes("search")&&a.push(y.search),a.push(...X(o)),["widget","html"].includes(e)?["css","javascript","mediawiki","htmlmixed","xml"].forEach(e=>{o.modes[e]||(i=i.concat(b[e]))}):o.modes[e]||("lua"===e?(h?t:i).push(b.lua):i=i.concat(b[e])),n?await Promise.all([_(i,h),_(t),_(a)]):h?(await _(i,!0),await Promise.all([_(t),_(a)])):(await _(a),await _(i))},Z=e=>{w[H]={config:e,time:Date.now()},t.setObject("InPageEditMwConfig",w)},ee=async(e,i)=>{const n=i?"javascript":await(async()=>{if(![274,828].includes(m)||c.endsWith("/doc"))return c.endsWith("/doc")?"mediawiki":Q[u];{const e=274===m?"Widget":"Lua";return await mw.loader.using(["oojs-ui-windows","oojs-ui.styles.icons-content"]),await OO.ui.confirm(r("contentmodel"),{actions:[{label:e},{label:"Wikitext",action:"accept"}]})?"mediawiki":e.toLowerCase()}})();var t=G(n);const[a]=await Promise.all([(async(i,t)=>{if(["mediawiki","widget"].includes(i)){h&&k&&await t;let e=mw.config.get("extCodeMirrorConfig");if(e||k||!R||({config:e}=f,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:o,variables:s}=(await(new mw.Api).get({meta:"siteinfo",siprop:e?"magicwords":"magicwords|extensiontags|functionhooks|variables",formatversion:2}))["query"],r=["msg","raw","msgnw","subst","safesubst"];i=e=>p.call(e.map(({aliases:e,name:i})=>e.map(e=>({alias:e,name:i})))),t=e=>g(e.map(({alias:e,name:i})=>[e.replace(/:$/,""),i]));if(e){const[l]=e["functionSynonyms"];l.subst||i(a.filter(({name:e})=>r.includes(e))).forEach(({alias:e,name:i})=>{l[e.replace(/:$/,"")]=i})}else{e={tagModes:{pre:"mw-tag-pre",nowiki:"mw-tag-nowiki",ref:"text/mediawiki"},tags:g(n.map(e=>[e.slice(1,-1),!0])),urlProtocols:mw.config.get("wgUrlProtocols")};const d=new Set([...o,...s,...r]),c=a.filter(({name:e,aliases:i})=>i.some(e=>/^__.+__$/.test(e))||d.has(e)),m=i(c.filter(e=>e["case-sensitive"])),u=i(c.filter(e=>!e["case-sensitive"])).map(({alias:e,name:i})=>({alias:e.toLowerCase(),name:i}));e.doubleUnderscore=[t(u.filter(({alias:e})=>/^__.+__$/.test(e))),t(m.filter(({alias:e})=>/^__.+__$/.test(e)))],e.functionSynonyms=[t(u.filter(({alias:e})=>!/^__.+__|^#$/.test(e))),t(m.filter(({alias:e})=>!/^__.+__|^#$/.test(e)))]}return e.redirect=a.find(({name:e})=>"redirect"===e).aliases,e.img=t(i(a.filter(({name:e})=>e.startsWith("img_")))),mw.config.set("extCodeMirrorConfig",e),Z(e),e}})(n,t),t]);"mediawiki"===n&&a.tags.html?(a.tagModes.html="htmlmixed",await G("html")):"widget"!==n||CodeMirror.mimeModes.widget||CodeMirror.defineMIME("widget",{name:"htmlmixed",tags:{noinclude:[[null,null,"mediawiki"]]}});var t=e.height();z&&z.toTextArea();const o=i||"json"===u,s=$.client.profile()["name"];(z=CodeMirror.fromTextArea(e[0],$.extend({inputStyle:"safari"===s?"textarea":"contenteditable",lineNumbers:!0,lineWrapping:!0,mode:n,mwConfig:a,json:o},g(x.map(({option:e,addon:i=e,modes:t,complex:a=e=>!t||t.includes(e)})=>{i=Array.isArray(i)?i[0]:i;return[e,j.includes(i)&&a(n,o)]})),"mediawiki"===n?{extraKeys:j.includes("escape")&&(W(CodeMirror)?V:F)}:{indentUnit:j.includes("indentWithSpace")?v:"4",indentWithTabs:!j.includes("indentWithSpace")}))).setSize(null,t),z.refresh(),J(z,n),$("#Wikiplus-Quickedit-Jump").children("a").attr("href","#Wikiplus-CodeMirror"),i||(e=()=>{$("#Wikiplus-Quickedit-Submit").triggerHandler("click")},t=()=>{$("#Wikiplus-Quickedit-MinorEdit").click(),$("#Wikiplus-Quickedit-Submit").triggerHandler("click")},z.addKeyMap($.extend(W(CodeMirror)?{"Ctrl-S":e,"Shift-Ctrl-S":t}:{"Cmd-S":e,"Shift-Cmd-S":t},Wikiplus.getSetting("esc_to_exit_quickedit")?{Esc(){$("#Wikiplus-Quickedit-Back").triggerHandler("click")}}:{}))),mw.hook("wiki-codemirror").fire(z)},ie=new MutationObserver(e=>{const i=$(p.call(e.map(({addedNodes:e})=>[...e]))).find("#Wikiplus-Quickedit, #Wikiplus-Setting-Input");0!==i.length&&ee(i,"Wikiplus-Setting-Input"===i.attr("id"))}),te=(ie.observe(document.body,{childList:!0}),document.getElementById("wphl-style")||mw.loader.addStyleTag("#Wikiplus-Quickedit+.CodeMirror,#Wikiplus-Setting-Input+.CodeMirror{border:1px solid #c8ccd1;line-height:1.3;clear:both}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}")),{get:ae=function(e){return e.value},set:ne=function(e,i){e.value=i}}=(te.id="wphl-style",$.valHooks.textarea||{}),oe=e=>["Wikiplus-Quickedit","Wikiplus-Setting-Input"].includes(e.id);$.valHooks.textarea={get(e){return oe(e)&&z?z.getValue():ae(e)},set(e,i){oe(e)&&z?z.setValue(i):ne(e,i)}},await e;let I,T,A,E,L;const se=(e=j)=>{L.toggle(e.includes("indentWithSpace"))};const re=$(mw.util.addPortletLink({minerva:"page-actions-overflow",citizen:"p-actions"}[B]||"p-cactions","#",r("portlet"),"wphl-settings")).click(async e=>{if(e.preventDefault(),!I){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;i.$element.appendTo(document.body),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:r("addon-"+t.toLowerCase())}}),...["escape","contextmenu","indentWithSpace","otherEditors"].map(e=>({data:e,label:r("addon-"+e.toLowerCase())}))],value:j}).on("change",se),A=new OO.ui.NumberInputWidget({min:0,value:v}),E=new OO.ui.FieldLayout(T,{label:r("addon-label"),notices:[r("addon-notice")],align:"top"}),L=new OO.ui.FieldLayout(A,{label:r("addon-indent")}),se()}e="object"==typeof window.Wikiplus;T.$element.find(".oo-ui-checkboxInputWidget").first().toggleClass("oo-ui-widget-enabled",e).children("input").prop("disabled",!e),I.open({title:r("addon-title"),message:E.$element.add(L.$element).add($("<p>",{html:r("feedback")})),actions:[{action:"reject",label:mw.msg("ooui-dialog-message-reject")},{action:"accept",label:mw.msg("ooui-dialog-message-accept"),flags:"progressive"}],size:"en"===O?"medium":"small"}).closing.then(e=>{E.$element.detach(),L.$element.detach(),"object"==typeof e&&"accept"===e.action&&(j=T.getValue(),v=A.getValue(),t.setObject("Wikiplus-highlight-addons",j),t.setObject("Wikiplus-highlight-indent",v))})}),le=("minerva"===B&&re.find("a").addClass("mw-ui-icon-minerva-settings"),"function"==typeof S&&S().find("#wphl-settings-notify").click(e=>{e.preventDefault(),$("#wphl-settings").triggerHandler("click")}),async i=>{if(j.includes("otherEditors")){let e=i.getOption("mode");e="text/mediawiki"===e?"mediawiki":e;var t=X(CodeMirror,!0),a=i.getOption("json");await _(t);for(const{option:o,addon:s=o,modes:r,complex:l=e=>!r||r.includes(e)}of x.filter(({only:e})=>!e)){var n=Array.isArray(s)?s[0]:s;void 0===i.getOption(o)&&j.includes(n)&&i.setOption(o,l(e,a))}"mediawiki"!==e&&j.includes("indentWithSpace")?(i.setOption("indentUnit",v),i.setOption("indentWithTabs",!1)):"mediawiki"===e&&j.includes("escape")&&i.addKeyMap(W(CodeMirror)?V:F,!0),J(i,e)}});mw.hook("InPageEdit.quickEdit.codemirror").add(({cm:e})=>le(e)),mw.hook("inspector").add(e=>le(e))})();
|
|
8
8
|
//# sourceMappingURL=main.min.js.map
|
package/dist/main.min.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"../","sources":["main.js"],"names":["version","storage","mw","getObject","key","json","localStorage","getItem","JSON","parse","e","setObject","value","let","stringify","setItem","fromEntries","Object","entries","obj","getVersion","str","split","map","s","Number","msg","args","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","activeLine","markSelection","trailingspace","matchBrackets","matchTags","fold","addons","indent","contextmenuStyle","document","getElementById","addStyleTag","id","disabled","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","I18N_CDN","isLatest","i18nPromise","Promise","all","using","async","ajax","dataType","cache","messages","set","setI18N","getScript","urls","local","length","resolve","cm","initMode","scripts","externalScript","addonScript","loaded","window","CodeMirror","CM","modes","prototype","commands","optionHandlers","includes","load","push","tags","getSearchCursor","findForward","styleActiveLine","styleSelectedText","showTrailingSpace","some","addon","forEach","lang","concat","updateCachedConfig","renderEditor","$target","setting","mode","endsWith","pageMode","OO","ui","confirm","actions","label","action","toLowerCase","getPageMode","initModePromise","mwConfig","get","redirect","img","magicwords","extensiontags","functionhooks","variables","Api","meta","siprop","formatversion","query","otherMagicwords","getAliases","words","flatMap","aliases","name","alias","getConfig","replace","insensitive","functionSynonyms","subst","filter","tagModes","pre","nowiki","ref","urlProtocols","realMagicwords","Set","allMagicwords","test","has","sensitive","word","doubleUnderscore","find","startsWith","getMwConfig","mimeModes","widget","defineMIME","noinclude","height","toTextArea","client","profile","fromTextArea","extend","inputStyle","lineNumbers","lineWrapping","bracketRegex","indentUnit","indentWithTabs","setSize","refresh","wrapper","getWrapperElement","synonyms","getSysnonyms","keys","invoke","on","text","this","textContent","trim","title","Title","namespace","open","getUrl","util","parserFunction","previousSibling","children","attr","submit","triggerHandler","submitMinor","click","addKeyMap","Ctrl-S","Cmd-S","Shift-Ctrl-S","Shift-Cmd-S","Wikiplus","getSetting","Esc","hook","fire","observer","MutationObserver","records","$editArea","addedNodes","wphlStyle","observe","body","childList","elem","valHooks","textarea","isWikiplus","getValue","setValue","dialog","indentWidget","field","indentField","toggleIndent","toggle","$portlet","addPortletLink","minerva","citizen","preventDefault","MessageDialog","windowManager","WindowManager","$element","appendTo","addWindows","CheckboxMultiselectInputWidget","options","data","NumberInputWidget","min","FieldLayout","notices","align","message","add","flags","size","closing","then","detach","addClass"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sourceRoot":"../","sources":["main.js"],"names":["version","storage","mw","getObject","key","json","localStorage","getItem","JSON","parse","e","setObject","value","stringify","setItem","fromEntries","Object","entries","obj","flat","Array","prototype","this","reduce","acc","cur","concat","getVersion","str","split","map","s","Number","msg","args","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","options","option","addon","download","only","complex","mode","bracketRegex","modes","let","addons","indent","entity","\"","'","<",">","&"," ","convert","func","doc","replaceSelection","getSelection","escapeHTML","c","code","charCodeAt","toString","isPc","keyMap","default","pcDefault","extraKeysPc","Ctrl-/","Ctrl-\\","encodeURIComponent","extraKeysMac","Cmd-/","Cmd-\\","handleContextMenu","async","includes","$wrapper","getWrapperElement","addClass","synonyms","get","functionSynonyms","invoke","调用","widget","小工具","getSysnonyms","keys","filter","startsWith","using","contextmenu","pageX","pageY","pos","coordsChar","left","top","line","ch","getTokenTypeAt","test","tokens","getLineTokens","index","findIndex","start","end","text","string","replace","trim","title","Title","namespace","open","getUrl","util","parserFunction","toLowerCase","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","I18N_CDN","isLatest","i18nPromise","Promise","all","ajax","dataType","cache","messages","set","setI18N","getScript","urls","local","length","resolve","cm","getAddonScript","CM","other","addonScript","isArray","optionHandlers","intersect","push","arr1","arr2","some","ele","initMode","scripts","externalScript","loaded","window","CodeMirror","commands","load","tags","getSearchCursor","findForward","forEach","lang","updateCachedConfig","renderEditor","$target","setting","endsWith","pageMode","OO","ui","confirm","actions","label","getPageMode","initModePromise","mwConfig","ref","tagModes","redirect","img","magicwords","extensiontags","functionhooks","variables","Api","meta","siprop","formatversion","query","otherMagicwords","getAliases","words","call","aliases","name","alias","getConfig","insensitive","subst","pre","nowiki","urlProtocols","realMagicwords","Set","allMagicwords","has","sensitive","word","doubleUnderscore","find","getMwConfig","mimeModes","defineMIME","noinclude","height","toTextArea","client","profile","fromTextArea","extend","inputStyle","lineNumbers","lineWrapping","mod","mainAddon","extraKeys","indentUnit","indentWithTabs","setSize","refresh","children","attr","submit","triggerHandler","submitMinor","click","addKeyMap","Ctrl-S","Shift-Ctrl-S","Cmd-S","Shift-Cmd-S","Wikiplus","getSetting","Esc","hook","fire","observer","MutationObserver","records","$editArea","addedNodes","wphlStyle","observe","document","body","childList","getElementById","addStyleTag","elem","id","valHooks","textarea","isWikiplus","getValue","setValue","dialog","indentWidget","field","indentField","toggleIndent","toggle","$portlet","addPortletLink","minerva","citizen","preventDefault","MessageDialog","windowManager","WindowManager","$element","appendTo","addWindows","CheckboxMultiselectInputWidget","data","on","NumberInputWidget","min","FieldLayout","notices","align","wikiplusLoaded","first","toggleClass","prop","message","add","flags","size","closing","then","detach","handleOtherEditors","getOption","undefined","setOption"],"mappings":"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"}
|
package/fold.js
CHANGED
|
@@ -9,21 +9,31 @@
|
|
|
9
9
|
const {Pos, cmpPos} = CodeMirror;
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
|
+
* 只用于title属性的消息,不存在时fallback到键名
|
|
12
13
|
* @param {string} key
|
|
13
14
|
* @param {string|undefined} argKey
|
|
14
15
|
* @returns {string}
|
|
15
16
|
*/
|
|
16
|
-
const msg = (key, argKey) =>
|
|
17
|
+
const msg = (key, argKey) => {
|
|
18
|
+
const fullKey = `wphl-${key}`,
|
|
19
|
+
message = (argKey === undefined ? mw.msg(fullKey) : mw.msg(fullKey, msg(argKey)))
|
|
20
|
+
.replace(/</g, '<').replace(/>/g, '>');
|
|
21
|
+
return message === `⧼${fullKey}⧽` ? key : message;
|
|
22
|
+
};
|
|
17
23
|
|
|
18
24
|
const braceRegex = /\bmw-template-bracket\b/,
|
|
19
|
-
$placeholder = $('<span>', {text: '\u22ef'}),
|
|
25
|
+
$placeholder = $('<span>', {text: '\u22ef', class: 'CodeMirror-widget-unfold'}),
|
|
26
|
+
$delimiter = $('<span>', {text: '|', class: 'cm-mw-template-delimiter'}),
|
|
20
27
|
$tt = $('<div>', {class: 'CodeMirror-tooltip', text: '\uff0d'}).click(function() {
|
|
21
|
-
/** @type {{cm
|
|
22
|
-
|
|
23
|
-
$clonedPlaceholder = $placeholder.clone()
|
|
28
|
+
const /** @type {CodeMirror.FoldData} */ {cm, from, to, type} = $(this).fadeOut('fast').data(),
|
|
29
|
+
notTag = ['template', 'comment'].includes(type),
|
|
30
|
+
$clonedPlaceholder = $placeholder.clone()
|
|
31
|
+
.attr('title', msg('unfold', notTag ? `fold-${type}` : `<${type}>`)),
|
|
24
32
|
mark = cm.markText(from, to, {
|
|
25
|
-
replacedWith:
|
|
26
|
-
|
|
33
|
+
replacedWith: type === 'template'
|
|
34
|
+
? $('<span>', {html: [$delimiter.clone(), $clonedPlaceholder]})[0]
|
|
35
|
+
: $clonedPlaceholder[0],
|
|
36
|
+
selectLeft: type === 'template',
|
|
27
37
|
selectRight: false,
|
|
28
38
|
_isFold: true,
|
|
29
39
|
});
|
|
@@ -34,14 +44,14 @@
|
|
|
34
44
|
|
|
35
45
|
/** @param {JQuery<HTMLElement>} $tooltip */
|
|
36
46
|
function hideTooltip($tooltip) {
|
|
37
|
-
let
|
|
47
|
+
let timeout = -1,
|
|
38
48
|
executeTime = 0;
|
|
39
49
|
return /** @param {number} wait */ (wait, update = true) => {
|
|
40
50
|
if (update || executeTime - Date.now() > wait) {
|
|
41
51
|
clearTimeout(timeout);
|
|
42
52
|
timeout = setTimeout(() => {
|
|
43
53
|
$tooltip.fadeOut('fast');
|
|
44
|
-
timeout =
|
|
54
|
+
timeout = -1;
|
|
45
55
|
}, wait);
|
|
46
56
|
executeTime = Date.now() + wait;
|
|
47
57
|
}
|
|
@@ -52,6 +62,7 @@
|
|
|
52
62
|
* @param {CodeMirror.Editor} cm
|
|
53
63
|
* @param {CodeMirror.Position} where
|
|
54
64
|
* @param {1|-1} dir
|
|
65
|
+
* @returns {CodeMirror.MarkerRange}
|
|
55
66
|
*/
|
|
56
67
|
function scanForDelimiterAndBracket(cm, where, dir) {
|
|
57
68
|
const maxScanLen = 10000,
|
|
@@ -60,7 +71,8 @@
|
|
|
60
71
|
? Math.min(cm.lastLine() + 1, where.line + maxScanLines)
|
|
61
72
|
: Math.max(cm.firstLine() - 1, where.line - maxScanLines);
|
|
62
73
|
let stack = 0,
|
|
63
|
-
|
|
74
|
+
hasDelimiter = dir < 0,
|
|
75
|
+
/** @type {CodeMirror.Position} */ delimiter;
|
|
64
76
|
for (let {line} = where; line !== lineEnd; line += dir) {
|
|
65
77
|
const curLine = cm.getLine(line);
|
|
66
78
|
if (!curLine) {
|
|
@@ -77,12 +89,15 @@
|
|
|
77
89
|
}
|
|
78
90
|
for (; pos !== end; pos += dir) {
|
|
79
91
|
const ch = curLine.charAt(pos);
|
|
80
|
-
if (!
|
|
92
|
+
if (!hasDelimiter && /[^\s|]/.test(ch)) {
|
|
93
|
+
delimiter = Pos(line, pos + 1);
|
|
94
|
+
}
|
|
95
|
+
if (!(hasDelimiter ? /[{}]/ : /[{}|]/).test(ch)) {
|
|
81
96
|
continue;
|
|
82
97
|
}
|
|
83
98
|
const type = cm.getTokenTypeAt(Pos(line, pos + 1)) || '';
|
|
84
99
|
if (ch === '|' && stack === 0 && /\bmw-template-delimiter\b/.test(type)) {
|
|
85
|
-
|
|
100
|
+
hasDelimiter = true;
|
|
86
101
|
} else if (ch === '|' || !braceRegex.test(type)) {
|
|
87
102
|
continue;
|
|
88
103
|
} else if (dir > 0 && ch === '{' || dir < 0 && ch === '}') {
|
|
@@ -90,7 +105,7 @@
|
|
|
90
105
|
} else if (stack > 0) {
|
|
91
106
|
stack--;
|
|
92
107
|
} else {
|
|
93
|
-
return {delimiter,
|
|
108
|
+
return {from: hasDelimiter && delimiter, to: Pos(line, pos + (dir > 0 ? 0 : 1))};
|
|
94
109
|
}
|
|
95
110
|
}
|
|
96
111
|
}
|
|
@@ -107,46 +122,73 @@
|
|
|
107
122
|
if (!/\bmw-template\d*-ground\b/.test(type) || /\bmw-template-(?:bracket|name)\b/.test(type)) {
|
|
108
123
|
return;
|
|
109
124
|
}
|
|
110
|
-
const {bracket} = scanForDelimiterAndBracket(cm, cursor, -1);
|
|
125
|
+
const {to: bracket} = scanForDelimiterAndBracket(cm, cursor, -1);
|
|
111
126
|
if (!bracket) {
|
|
112
127
|
return;
|
|
113
128
|
}
|
|
114
|
-
const {
|
|
115
|
-
if (typeof from === 'object' &&
|
|
129
|
+
const {from, to} = scanForDelimiterAndBracket(cm, bracket, 1);
|
|
130
|
+
if (typeof from === 'object' && (from.line < to.line || from.ch < to.ch - 2)) {
|
|
116
131
|
return {from, to};
|
|
117
132
|
}
|
|
118
133
|
}
|
|
119
134
|
|
|
120
|
-
/**
|
|
135
|
+
/**
|
|
136
|
+
* @param {CodeMirror.Editor} cm
|
|
137
|
+
* @param {CodeMirror.Position} cursor
|
|
138
|
+
* @returns {CodeMirror.MarkerRange|undefined}
|
|
139
|
+
*/
|
|
140
|
+
function findEnclosingComment(cm, cursor) {
|
|
141
|
+
const {type, string, start, end} = cm.getTokenAt(cursor),
|
|
142
|
+
{ch} = cursor;
|
|
143
|
+
if (!/\bmw-comment\b/.test(type)
|
|
144
|
+
|| string.startsWith('<!--') && ch <= start + 4
|
|
145
|
+
|| string.endsWith('-->') && ch >= end - 3
|
|
146
|
+
) {
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
const index = cm.indexFromPos(cursor),
|
|
150
|
+
text = cm.getValue(),
|
|
151
|
+
fromIndex = text.slice(0, index - 1).search(/<!--(?:(?!-->).)*$/s);
|
|
152
|
+
let toIndex = text.slice(index).indexOf('-->');
|
|
153
|
+
toIndex = toIndex === -1 ? text.length : toIndex + index;
|
|
154
|
+
return {from: cm.posFromIndex(fromIndex + 4), to: cm.posFromIndex(toIndex)};
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
/** @param {CodeMirror.EditorFoldable} cm */
|
|
121
158
|
function showTooltip(cm) {
|
|
122
|
-
/** @type {{$tooltip: JQuery<HTMLElement>, hide: (wait: number, update?: boolean) => void}} */
|
|
123
159
|
const {$tooltip, hide} = cm.state.fold;
|
|
124
160
|
cm.operation(() => {
|
|
125
161
|
if (cm.somethingSelected()) {
|
|
126
162
|
hide(500, false);
|
|
127
163
|
return;
|
|
128
164
|
}
|
|
129
|
-
const cursor = cm.getCursor()
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
165
|
+
const cursor = cm.getCursor();
|
|
166
|
+
let range = findEnclosingComment(cm, cursor),
|
|
167
|
+
type = 'comment';
|
|
168
|
+
if (!range) {
|
|
169
|
+
const template = findEnclosingTemplate(cm, cursor);
|
|
170
|
+
let tags = cm.findEnclosingTag(cursor);
|
|
171
|
+
if (tags && cmpPos(tags.open.to, tags.close.from) === 0) {
|
|
172
|
+
tags = undefined;
|
|
173
|
+
}
|
|
174
|
+
if (!template && !tags) {
|
|
175
|
+
hide(500, false);
|
|
176
|
+
return;
|
|
177
|
+
} else if (!tags || template && cmpPos(template.from, tags.open.to) > 0) {
|
|
178
|
+
range = template;
|
|
179
|
+
type = 'template';
|
|
180
|
+
} else {
|
|
181
|
+
range = {from: tags.open.to, to: tags.close.from};
|
|
182
|
+
type = tags.open.tag;
|
|
183
|
+
}
|
|
144
184
|
}
|
|
145
185
|
const {top, left} = cm.charCoords(cursor, 'local'),
|
|
146
|
-
height = $tooltip.outerHeight()
|
|
147
|
-
|
|
148
|
-
|
|
186
|
+
height = $tooltip.outerHeight(),
|
|
187
|
+
notTag = ['template', 'comment'].includes(type);
|
|
188
|
+
$tooltip.attr('title', msg('fold', notTag ? `fold-${type}` : `<${type}>`))
|
|
189
|
+
.toggleClass('cm-mw-htmltag-name', !notTag)
|
|
149
190
|
.toggleClass('cm-mw-template-name', type === 'template')
|
|
191
|
+
.toggleClass('cm-mw-comment', type === 'comment')
|
|
150
192
|
.css({top: top > height ? top - height : top + 17, left})
|
|
151
193
|
.data({...range, type})
|
|
152
194
|
.show();
|
|
@@ -154,7 +196,31 @@
|
|
|
154
196
|
});
|
|
155
197
|
}
|
|
156
198
|
|
|
157
|
-
CodeMirror.
|
|
199
|
+
CodeMirror.defineExtension(
|
|
200
|
+
'scanForDelimiterAndBracket',
|
|
201
|
+
/** @type {function(this: CodeMirror.Editor, CodeMirror.Position, 1|-1): CodeMirror.MarkerRange} */
|
|
202
|
+
function(where, dir) {
|
|
203
|
+
return scanForDelimiterAndBracket(this, where || this.getCursor(), dir || 1);
|
|
204
|
+
},
|
|
205
|
+
);
|
|
206
|
+
|
|
207
|
+
CodeMirror.defineExtension(
|
|
208
|
+
'findEnclosingTemplate',
|
|
209
|
+
/** @type {function(this: CodeMirror.Editor, CodeMirror.Position): CodeMirror.MarkerRange} */
|
|
210
|
+
function(pos) {
|
|
211
|
+
return findEnclosingTemplate(this, pos || this.getCursor());
|
|
212
|
+
},
|
|
213
|
+
);
|
|
214
|
+
|
|
215
|
+
CodeMirror.defineExtension(
|
|
216
|
+
'findEnclosingComment',
|
|
217
|
+
/** @type {function(this: CodeMirror.Editor, CodeMirror.Position): CodeMirror.MarkerRange} */
|
|
218
|
+
function(pos) {
|
|
219
|
+
return findEnclosingComment(this, pos || this.getCursor());
|
|
220
|
+
},
|
|
221
|
+
);
|
|
222
|
+
|
|
223
|
+
CodeMirror.defineOption('fold', false, (/** @type {CodeMirror.EditorFoldable} */ cm, val, old) => {
|
|
158
224
|
if (old && old !== CodeMirror.Init) {
|
|
159
225
|
cm.off('cursorActivity', showTooltip);
|
|
160
226
|
if (cm.state.fold) {
|
|
@@ -174,6 +240,6 @@
|
|
|
174
240
|
'.CodeMirror-sizer{overflow:visible}'
|
|
175
241
|
+ '.CodeMirror-tooltip{position:absolute;z-index:101;cursor:pointer;'
|
|
176
242
|
+ 'background-color:#ffd;border:1px solid;padding:0 1px;font-size:10pt;line-height:1.2}'
|
|
177
|
-
+ '.CodeMirror-widget{cursor:pointer;border:1px dotted}',
|
|
243
|
+
+ '.CodeMirror-widget-unfold{cursor:pointer;border:1px dotted}',
|
|
178
244
|
);
|
|
179
245
|
})();
|
package/i18n/en.json
CHANGED
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
{
|
|
2
|
-
"wphl-version": "2.
|
|
2
|
+
"wphl-version": "2.13.1",
|
|
3
3
|
"wphl-lang": "en",
|
|
4
4
|
"wphl-addon-search": "Search",
|
|
5
|
-
"wphl-addon-
|
|
5
|
+
"wphl-addon-activeline": "Show active line",
|
|
6
6
|
"wphl-addon-trailingspace": "Show trailing spaces",
|
|
7
7
|
"wphl-addon-matchbrackets": "Highlight matching/nonmatching brackets",
|
|
8
|
+
"wphl-addon-closebrackets": "Auto-close brackets and quotes",
|
|
8
9
|
"wphl-addon-matchtags": "Highlight matching/nonmatching tags",
|
|
9
10
|
"wphl-addon-fold": "Fold template arguments and tags' innerHTML",
|
|
11
|
+
"wphl-addon-escape": "Keyboard shortcuts for HTML/URL encoding",
|
|
10
12
|
"wphl-addon-contextmenu": "Open the template or module page when right clicking",
|
|
11
13
|
"wphl-addon-indentwithspace": "Indent JavaScript/CSS/Lua codes with spaces instead of tabs",
|
|
12
14
|
"wphl-addon-indent": "Indent",
|
|
15
|
+
"wphl-addon-othereditors": "Apply selected addons to other editors",
|
|
13
16
|
"wphl-addon-label": "Please select the addons you wish to load",
|
|
14
17
|
"wphl-addon-notice": "Changes will apply when opening a new Wikiplus dialog.",
|
|
15
18
|
"wphl-addon-title": "Wikiplus Highlight Addons",
|
|
@@ -17,7 +20,7 @@
|
|
|
17
20
|
"wphl-unfold": "Click here to unfold $1",
|
|
18
21
|
"wphl-fold": "Click here to fold $1",
|
|
19
22
|
"wphl-fold-template": "template arguments",
|
|
20
|
-
"wphl-fold-
|
|
23
|
+
"wphl-fold-comment": "HTML comment",
|
|
21
24
|
"wphl-contentmodel": "Please choose the content model:",
|
|
22
25
|
"wphl-feedback": "Bug reports or suggestions are welcome at <a href=\"https://github.com/bhsd-harry/Wikiplus-highlight/issues\" target=\"_blank\">GitHub</a> .",
|
|
23
26
|
"wphl-portlet": "Wikiplus Highlight",
|
package/i18n/zh-hans.json
CHANGED
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
{
|
|
2
|
-
"wphl-version": "2.
|
|
2
|
+
"wphl-version": "2.13.1",
|
|
3
3
|
"wphl-lang": "zh-hans",
|
|
4
4
|
"wphl-addon-search": "搜索",
|
|
5
|
-
"wphl-addon-
|
|
5
|
+
"wphl-addon-activeline": "高亮显示光标所在行",
|
|
6
6
|
"wphl-addon-trailingspace": "显示尾随空格",
|
|
7
7
|
"wphl-addon-matchbrackets": "高亮显示匹配和未匹配的括号",
|
|
8
|
+
"wphl-addon-closebrackets": "自动闭合括号和引号",
|
|
8
9
|
"wphl-addon-matchtags": "高亮显示匹配和未匹配的标签",
|
|
9
10
|
"wphl-addon-fold": "折叠模板参数和标签内部文本",
|
|
11
|
+
"wphl-addon-escape": "添加HTML和URL编码快捷键",
|
|
10
12
|
"wphl-addon-contextmenu": "右键点击可打开模板或模块页面",
|
|
11
13
|
"wphl-addon-indentwithspace": "代码缩进使用空格而非Tab",
|
|
12
14
|
"wphl-addon-indent": "缩进",
|
|
15
|
+
"wphl-addon-othereditors": "将选中的插件用于其他编辑器",
|
|
13
16
|
"wphl-addon-label": "请选择您希望加载的插件",
|
|
14
17
|
"wphl-addon-notice": "更改将于打开新的Wikiplus编辑区时生效。",
|
|
15
18
|
"wphl-addon-title": "Wikiplus高亮插件",
|
|
@@ -17,7 +20,7 @@
|
|
|
17
20
|
"wphl-unfold": "点击以展开$1",
|
|
18
21
|
"wphl-fold": "点击以折叠$1",
|
|
19
22
|
"wphl-fold-template": "模板参数",
|
|
20
|
-
"wphl-fold-
|
|
23
|
+
"wphl-fold-comment": "HTML注释",
|
|
21
24
|
"wphl-contentmodel": "请选择内容模型:",
|
|
22
25
|
"wphl-feedback": "欢迎将错误报告或是改进建议提交到 <a href=\"https://github.com/bhsd-harry/Wikiplus-highlight/issues\" target=\"_blank\">GitHub</a> !",
|
|
23
26
|
"wphl-portlet": "Wikiplus高亮设置",
|
package/i18n/zh-hant.json
CHANGED
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
{
|
|
2
|
-
"wphl-version": "2.
|
|
2
|
+
"wphl-version": "2.13.1",
|
|
3
3
|
"wphl-lang": "zh-hant",
|
|
4
4
|
"wphl-addon-search": "搜尋",
|
|
5
|
-
"wphl-addon-
|
|
5
|
+
"wphl-addon-activeline": "突出顯示游標所在行",
|
|
6
6
|
"wphl-addon-trailingspace": "顯示尾隨空格",
|
|
7
|
-
"wphl-addon-matchbrackets": "
|
|
7
|
+
"wphl-addon-matchbrackets": "突出顯示匹配和未匹配的括號",
|
|
8
|
+
"wphl-addon-closebrackets": "自動閉合括號和引號 ",
|
|
8
9
|
"wphl-addon-matchtags": "突出顯示匹配和未匹配的標籤",
|
|
9
10
|
"wphl-addon-fold": "摺疊模板參數和標籤內部文字",
|
|
11
|
+
"wphl-addon-escape": "添加HTML和URL編碼快速鍵",
|
|
10
12
|
"wphl-addon-contextmenu": "右鍵點擊可打開模板或模組頁面",
|
|
11
13
|
"wphl-addon-indentwithspace": "代碼縮排使用空格而非Tab",
|
|
12
14
|
"wphl-addon-indent": "縮排",
|
|
15
|
+
"wphl-addon-othereditors": "將選中的外掛程式用於其他編輯器",
|
|
13
16
|
"wphl-addon-label": "請選擇您希望載入的外掛程式",
|
|
14
17
|
"wphl-addon-notice": "更改將於打開新的Wikiplus編輯區時生效。",
|
|
15
18
|
"wphl-addon-title": "Wikiplus突顯外掛程式",
|
|
@@ -17,7 +20,7 @@
|
|
|
17
20
|
"wphl-unfold": "點擊以展開$1",
|
|
18
21
|
"wphl-fold": "點擊以摺疊$1",
|
|
19
22
|
"wphl-fold-template": "模板參數",
|
|
20
|
-
"wphl-fold-
|
|
23
|
+
"wphl-fold-comment": "HTML注釋",
|
|
21
24
|
"wphl-contentmodel": "請選擇內容模型:",
|
|
22
25
|
"wphl-feedback": "歡迎將錯誤報告或是改進建議提交到 <a href=\"https://github.com/bhsd-harry/Wikiplus-highlight/issues\" target=\"_blank\">GitHub</a> !",
|
|
23
26
|
"wphl-portlet": "Wikiplus突顯設定",
|