@taufik-nurrohman/text-editor.source 2.2.10 → 2.2.11
Sign up to get free protection for your applications and to get access to all the features.
- package/index.js +2 -2
- package/index.min.js +1 -1
- package/index.mjs +2 -2
- package/package.json +1 -1
package/index.js
CHANGED
@@ -166,7 +166,7 @@
|
|
166
166
|
}
|
167
167
|
return true;
|
168
168
|
}
|
169
|
-
if ('Enter' === keyValue) {
|
169
|
+
if ('Enter' === keyValue || SHIFT_PREFIX + 'Enter' === keyValue) {
|
170
170
|
var _of$$2 = of.$(),
|
171
171
|
_after2 = _of$$2.after,
|
172
172
|
_before2 = _of$$2.before,
|
@@ -303,7 +303,7 @@
|
|
303
303
|
lineMatchIndent = lineMatch && lineMatch[1] || "";
|
304
304
|
if (before || after) {
|
305
305
|
if (queue.Shift) {
|
306
|
-
// Insert line
|
306
|
+
// Insert line above with `⎈⇧↵`
|
307
307
|
return of.select(start - toCount(lineBefore)).wrap(lineMatchIndent, '\n').insert(value).record(), false;
|
308
308
|
}
|
309
309
|
// Insert line below with `⎈↵`
|
package/index.min.js
CHANGED
@@ -23,4 +23,4 @@
|
|
23
23
|
* SOFTWARE.
|
24
24
|
*
|
25
25
|
*/
|
26
|
-
!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports):"function"==typeof define&&define.amd?define(["exports"],r):r(((e="undefined"!=typeof globalThis?globalThis:e||self).TE=e.TE||{},e.TE.Source={}))}(this,(function(e){"use strict";var r=function(e,r){return-1!==r.indexOf(e)},t=function(e){return function(e){return void 0!==e}(e)&&!function(e){return null===e}(e)},n=function(e){return e.length},i=window,o=function(e){return n=RegExp,(r=e)&&t(n)&&r instanceof n;var r,n},a=function(e,r){return o(e)?e:(e=e.replace(/\//g,"\\/"),RegExp(e,t(r)?r:"g"))};function u(e,r){return new Promise((function(t,n){var o=i[e].apply(i,r);return o?t(o):n(o)}))}var s={source:{pairs:{"`":"`","(":")","{":"}","[":"]",'"':'"',"'":"'","<":">"},type:null}};["alert","confirm","prompt"].forEach((function(e){s.source[e]=function(){for(var r=arguments.length,t=Array(r),n=0;n<r;n++)t[n]=arguments[n];return u(e,t)}}));var c={};c.toggle=function(e,r,i,o){void 0===o&&(o=!1),r||""===r||(r=e);var a=this,u=a.$(),s=u.after,c=u.before,f=u.value,l=n(r),p=n(e);return i&&r===f.slice(-l)&&e===f.slice(0,p)||r===s.slice(0,l)&&e===c.slice(-p)?a.peel(e,r,i):(!1!==o&&("string"==typeof o?o=[o,o]:function(e){return Array.isArray(e)}(o)||(o=["",""]),t(o[1])||(o[1]=o[0]),a.trim(o[0],o[1])),a.wrap(e,r,i))};var f="Control-";var
|
26
|
+
!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports):"function"==typeof define&&define.amd?define(["exports"],r):r(((e="undefined"!=typeof globalThis?globalThis:e||self).TE=e.TE||{},e.TE.Source={}))}(this,(function(e){"use strict";var r=function(e,r){return-1!==r.indexOf(e)},t=function(e){return function(e){return void 0!==e}(e)&&!function(e){return null===e}(e)},n=function(e){return e.length},i=window,o=function(e){return n=RegExp,(r=e)&&t(n)&&r instanceof n;var r,n},a=function(e,r){return o(e)?e:(e=e.replace(/\//g,"\\/"),RegExp(e,t(r)?r:"g"))};function u(e,r){return new Promise((function(t,n){var o=i[e].apply(i,r);return o?t(o):n(o)}))}var s={source:{pairs:{"`":"`","(":")","{":"}","[":"]",'"':'"',"'":"'","<":">"},type:null}};["alert","confirm","prompt"].forEach((function(e){s.source[e]=function(){for(var r=arguments.length,t=Array(r),n=0;n<r;n++)t[n]=arguments[n];return u(e,t)}}));var c={};c.toggle=function(e,r,i,o){void 0===o&&(o=!1),r||""===r||(r=e);var a=this,u=a.$(),s=u.after,c=u.before,f=u.value,l=n(r),p=n(e);return i&&r===f.slice(-l)&&e===f.slice(0,p)||r===s.slice(0,l)&&e===c.slice(-p)?a.peel(e,r,i):(!1!==o&&("string"==typeof o?o=[o,o]:function(e){return Array.isArray(e)}(o)||(o=["",""]),t(o[1])||(o[1]=o[0]),a.trim(o[0],o[1])),a.wrap(e,r,i))};var f="Control-",l="Shift-";var p,d,v,h=(p=function(e){return e.record()},d=100,function(){var e=arguments,r=this;v&&clearTimeout(v),v=setTimeout((function(){return p.apply(r,e)}),d)});var y=s;e.canKeyDown=function(e,t){var n,i,o=t.state.source.tab||t.state.tab||"\t",a=t.state.source.pairs||{},u=Object.values(a),s=e.key,c=e.queue,f=e+"";if(c.Alt||c.Control)return!0;if(" "===f){var p=t.$(),d=p.after,v=p.before,h=p.value;return n=a[i=v.slice(-1)],!(!h&&n&&i&&n===d[0])||(t.wrap(" "," "),!1)}if("Enter"===f||l+"Enter"===f){var y=t.$(),w=y.after,b=y.before,m=y.value,$=b.split("\n").pop().match(/^(\s+)/),g=$&&$[1]||"";if(!m){if(w&&b&&(n=a[i=b.slice(-1)])&&n===w[0])return t.wrap("\n"+g+(i!==n?o:""),"\n"+g).record(),!1;if(g)return t.insert("\n"+g,-1).record(),!1}return!0}if("Backspace"===f){var E=t.$(),T=E.after,A=E.before,D=E.value;T.split("\n")[0];var K=A.split("\n").pop(),W=K.match(/^(\s+)/),k=W&&W[1]||"";return n=a[i=A.slice(-1)],"\\"===i?!0:D?!(T&&A&&n&&n===T[0]&&!A.endsWith("\\"+i))||(t.record().peel(i,n).record(),!1):(n=a[i=A.trim().slice(-1)])&&i&&(T.startsWith(" "+n)&&A.endsWith(i+" ")||T.startsWith("\n"+k+n)&&A.endsWith(i+"\n"+k))?(t.trim("","").record(),!1):K.endsWith(o)?(t.pull(o).record(),!1):!(T&&A&&!A.endsWith("\\"+i)&&n===T[0]&&i===A.slice(-1))||(t.peel(i,n).record(),!1)}var x=t.$(),j=x.after,q=x.before,C=x.start,S=x.value;if("\\"===(i=q.slice(-1)))return!0;if(n=r(j[0],u)?j[0]:a[i],!S&&j&&q&&n&&s===n)return t.select(C+1).record(),!1;for(i in a){if(n=a[i],s===i&&n)return t.wrap(i,n).record(),!1;if(s===n){if(S)return t.record().wrap(i,n).record(),!1;break}}return!0},e.canKeyDownDent=function(e,r){var t=r.state.source.tab||r.state.tab||"\t";e.key,e.queue;var n=e+"";return f+"]"===n?(r.push(t).record(),!1):f+"["!==n||(r.pull(t).record(),!1)},e.canKeyDownEnter=function(e,r){e.key;var t=e.queue;if(t.Control&&t.Enter){var i=r.$(),o=i.after,a=i.before,u=i.end,s=i.start,c=i.value,f=o.split("\n").shift(),l=a.split("\n").pop(),p=l.match(/^(\s+)/),d=p&&p[1]||"";if(a||o)return t.Shift?(r.select(s-n(l)).wrap(d,"\n").insert(c).record(),!1):(r.select(u+n(f)).wrap("\n"+d,"").insert(c).record(),!1)}return!0},e.canKeyDownHistory=function(e,r){var t=e+"";return f+"y"===t?(r.redo(),!1):f+"z"!==t||(r.undo(),!1)},e.canKeyDownMove=function(e,t){e.key;var i=e+"";if(!e.queue.Control)return!0;var o,u,s,c=t.$(),l=c.after,p=c.before,d=c.end,v=c.start,h=c.value,y=t.state.source.pairs||{},w=[];if(h){for(o in y)(u=y[o])&&w.push("(?:\\"+o+"(?:\\\\.|[^\\"+o+(u!==o?"\\"+u:"")+"])*\\"+u+")");if(w.push("\\w+"),w.push("\\s+"),w.push("[\\s\\S]"),f+"ArrowLeft"===i)return(s=p.match(a("("+w.join("|")+")$","")))?(t.insert("").select(v-n(s[0])).insert(h),t.record(),!1):(t.select(),!1);if(f+"ArrowRight"===i)return(s=l.match(a("^("+w.join("|")+")","")))?(t.insert("").select(d+n(s[0])-n(h)).insert(h),t.record(),!1):(t.select(),!1)}var b=l.split("\n").shift(),m=p.split("\n").pop(),$=m.match(/^(\s+)/);if($&&$[1],d+=n(b),v-=n(m),h=m+h+b,f+"ArrowUp"===i){if(!r("\n",p))return t.select(),!1;t.insert(""),t.replace(/^([^\n]*?)(\n|$)/,"$2",1),t.replace(/(^|\n)([^\n]*?)$/,"",-1);var g=t.$();return p=g.before,v=g.start,m=p.split("\n").pop(),t.select(v-=n(m)).wrap(h,"\n"),t.select(v,v+n(h)),t.record(),!1}if(f+"ArrowDown"===i){if(!r("\n",l))return t.select(),!1;t.insert(""),t.replace(/^([^\n]*?)(\n|$)/,"",1),t.replace(/(^|\n)([^\n]*?)$/,"$1",-1);var E=t.$();return l=E.after,d=E.end,b=l.split("\n").shift(),t.select(d+=n(b)).wrap("\n",h),d+=1,t.select(d,d+n(h)),t.record(),!1}return!0},e.canKeyDownTab=function(e,r){var t=r.state.source.tab||r.state.tab||"\t",n=e+"";return"Tab"===n?(r.push(t).record(),!1):l+"Tab"!==n||(r.pull(t).record(),!1)},e.canKeyUp=function(e,r){return h(r),!0},e.state=y,e.that=c,Object.defineProperty(e,"__esModule",{value:!0})}));
|
package/index.mjs
CHANGED
@@ -88,7 +88,7 @@ export function canKeyDown(map, of) {
|
|
88
88
|
}
|
89
89
|
return true;
|
90
90
|
}
|
91
|
-
if ('Enter' === keyValue) {
|
91
|
+
if ('Enter' === keyValue || SHIFT_PREFIX + 'Enter' === keyValue) {
|
92
92
|
let {after, before, value} = of.$(),
|
93
93
|
lineBefore = before.split('\n').pop(),
|
94
94
|
lineMatch = lineBefore.match(/^(\s+)/),
|
@@ -211,7 +211,7 @@ export function canKeyDownEnter(map, of) {
|
|
211
211
|
lineMatchIndent = lineMatch && lineMatch[1] || "";
|
212
212
|
if (before || after) {
|
213
213
|
if (queue.Shift) {
|
214
|
-
// Insert line
|
214
|
+
// Insert line above with `⎈⇧↵`
|
215
215
|
return of.select(start - toCount(lineBefore)).wrap(lineMatchIndent, '\n').insert(value).record(), false;
|
216
216
|
}
|
217
217
|
// Insert line below with `⎈↵`
|
package/package.json
CHANGED