UNPKG

21.3 kBJavaScriptView Raw
1/*!
2* web Studio Code - 🎉 An Editor Used on the Browser Side.
3* git+https://github.com/yelloxing/Web-Studio-Code.git
4*
5* author 心叶
6*
7* version 2.0.4
8*
9* build Fri May 08 2020
10*
11* Copyright yelloxing
12* Released under the MIT license
13*
14* Date:Fri Oct 09 2020 13:07:48 GMT+0800 (GMT+08:00)
15*/
16
17"use strict";function _toConsumableArray(t){return _arrayWithoutHoles(t)||_iterableToArray(t)||_unsupportedIterableToArray(t)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(t,e){if(!t)return;if(typeof t==="string")return _arrayLikeToArray(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor)r=t.constructor.name;if(r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return _arrayLikeToArray(t,e)}function _iterableToArray(t){if(typeof Symbol!=="undefined"&&Symbol.iterator in Object(t))return Array.from(t)}function _arrayWithoutHoles(t){if(Array.isArray(t))return _arrayLikeToArray(t)}function _arrayLikeToArray(t,e){if(e==null||e>t.length)e=t.length;for(var r=0,n=new Array(e);r<e;r++){n[r]=t[r]}return n}function _defineProperty(t,e,r){if(e in t){Object.defineProperty(t,e,{value:r,enumerable:true,configurable:true,writable:true})}else{t[e]=r}return t}function _typeof(t){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function t(e){return typeof e}}else{_typeof=function t(e){return e&&typeof Symbol==="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e}}return _typeof(t)}(function(){"use strict";var t;var e=Object.prototype.toString;function r(t){if(t==null){return t===undefined?"[object Undefined]":"[object Null]"}return e.call(t)}function n(t){if(t===null||_typeof(t)!=="object"||r(t)!="[object Object]"){return false}if(Object.getPrototypeOf(t)===null){return true}var e=t;while(Object.getPrototypeOf(e)!==null){e=Object.getPrototypeOf(e)}return Object.getPrototypeOf(t)===e}function o(t){return t!==null&&_typeof(t)==="object"&&(t.nodeType===1||t.nodeType===9||t.nodeType===11)&&!n(t)}var c={stopPropagation:function t(e){e=e||window.event;if(e.stopPropagation){e.stopPropagation()}else{e.cancelBubble=true}},preventDefault:function t(e){e=e||window.event;if(e.preventDefault){e.preventDefault()}else{e.returnValue=false}},bind:function t(e,r,n){if(window.attachEvent){e.attachEvent("on"+r,n)}else{e.addEventListener(r,n,false)}},trigger:function t(e,r){var n;if(document.createEventObject){n=document.createEventObject();e.fireEvent("on"+r,n)}else{n=document.createEvent("HTMLEvents");n.initEvent(r,true,false);e.dispatchEvent(n)}},toNode:function t(e){var r=document.createElement("div");r.innerHTML=e;var n=r.childNodes;for(var i=0;i<n.length;i++){if(o(n[i]))return n[i]}return null},appendTo:function t(e,r){var n=o(r)?r:this.toNode(r);e.appendChild(n);return n},remove:function t(e){e.parentNode.removeChild(e)},after:function t(e,r){var n=o(r)?r:this.toNode(r);e.parentNode.insertBefore(n,e.nextSibling);return n},css:function t(e,r){for(var n in r){e.style[n]=r[n]}},attr:function t(e,r){for(var n in r){e.setAttribute(n,r[n])}},position:function t(e,r){r=r||window.event;var n=e.getBoundingClientRect();if(!r||!r.clientX)throw new Error("Event is necessary!");var i={x:r.clientX-n.left+e.scrollLeft,y:r.clientY-n.top+e.scrollTop};return i},copy:function t(e){var r=this.appendTo(document.body,"<textarea>"+e+"</textarea>");r.select();try{var n=window.document.execCommand("copy",false,null);if(n){}else{}}catch(t){console.error(t)}document.body.removeChild(r)}};function _(t){var e=_typeof(t);return e==="string"||e==="object"&&t!=null&&!Array.isArray(t)&&r(t)==="[object String]"}function i(t){var e=_typeof(t);return t!=null&&(e==="object"||e==="function")}function f(t){if(!i(t)){return false}var e=r(t);return e==="[object Function]"||e==="[object AsyncFunction]"||e==="[object GeneratorFunction]"||e==="[object Proxy]"}function u(t){this.__helpCalcDOM.innerText=t;return this.__helpCalcDOM.offsetWidth}function s(t,e){if(arguments.length<2)e=e||this.__lineNum;var r=this._contentArray[e];if(t<=40)return 0;if(t-40>=this.$$textWidth(r))return r.length;var n=t-40,i=1;for(;i<r.length;i++){var o=Math.abs(t-40-this.$$textWidth(r.substr(0,i)));if(o>n)break;n=o}return i-1}function l(t,e){return{x:this.$$textWidth(this._contentArray[e].substr(0,t)),y:e*21}}function a(){return this.__cursor1.lineNum!=this.__cursor2.lineNum||this.__cursor1.leftNum!=this.__cursor2.leftNum}function h(t,e,r){var n=this;var i="";i+="<div style='min-width: fit-content;white-space: nowrap;line-height:21px;height:21px;'>";var o=r?"font-size:0;":"";i+="<em style='"+o+"color:"+this._colorNumber+";user-select: none;display:inline-block;font-style:normal;width:35px;text-align:right;margin-right:5px;'>"+(e+1)+"</em>";t.forEach(function(t){var e=t.content;e=e.replace(/\&/g,"&amp;");e=e.replace(/</g,"&lt;");e=e.replace(/>/g,"&gt;");i+="<span style='user-select: none;font-weight:"+n._fontWeight+";white-space: pre;color:"+t.color+"'>"+e+"</span>"});return i+"</div>"}function p(t){return{leftNum:t.__leftNum,lineNum:t.__lineNum,x:t.__cursorLeft,y:t.__cursorTop,lineHeight:21}}function d(){var e=this;this._el.innerHTML="";c.css(this._el,{"font-size":"12px",position:"relative",cursor:"text","font-family":this._fontFamily,background:this._colorBackground,overflow:"auto"});c.bind(this._el,"click",function(){setTimeout(function(){e.__focusDOM.focus()})});this.__helpCalcDOM=c.appendTo(this._el,"<span></span>");c.css(this.__helpCalcDOM,{position:"absolute","z-index":"-1","white-space":"pre",top:0,left:0,color:"rgba(0,0,0,0)","font-weight":this._fontWeight});this.__helpInputDOM=c.appendTo(this._el,"<div></div>");c.css(this.__helpInputDOM,{position:"absolute","z-index":1});c.bind(this.__helpInputDOM,"click",function(t){c.stopPropagation(t);c.preventDefault(t);e.__focusDOM.focus()});this.__focusDOM=c.appendTo(this._el,"<textarea></textarea>");c.css(this.__focusDOM,{position:"absolute",width:"6px","margin-top":"3px",height:"15px","line-height":"15px",resize:"none",overflow:"hidden",padding:"0",outline:"none",border:"none",background:"rgba(0,0,0,0)",color:this._colorCursor});c.attr(this.__focusDOM,{wrap:"off",autocorrect:"off",autocapitalize:"off",spellcheck:"false"});if(this._readonly){c.attr(this.__focusDOM,{readonly:true})}this.__showDOM=c.appendTo(this._el,"<div></div>");c.css(this.__showDOM,{padding:"10px 0"});this.__selectCanvas=c.appendTo(this._el,"<canvas></canvas>");c.css(this.__selectCanvas,{position:"absolute",left:"40px",top:"10px",opacity:"0.5"});this.$$updateCanvasSize(1,1)}function m(){c.css(this.__focusDOM,{left:40+this.$$textWidth(this._contentArray[this.__lineNum])+"px",top:10+this.__lineNum*21+"px"})}function y(){var r=this;if(this.__diff&&this.__diff.beginNum+this.__diff.endNum>10){var t=this.__showDOM.childNodes;var e=t.length;for(var n=e-this.__diff.endNum-1;n>=this.__diff.beginNum;n--){c.remove(t[n])}if(this.__diff.beginNum>0){for(var i=this.__formatData.length-1-this.__diff.endNum;i>=this.__diff.beginNum;i--){c.after(t[this.__diff.beginNum-1],this.$$toTemplate(this.__formatData[i],i,this._noLineNumber))}}else{for(var o=0;o<this.__formatData.length-this.__diff.endNum;o++){c.appendTo(this.__showDOM,this.$$toTemplate(this.__formatData[o],o,this._noLineNumber))}}t=this.__showDOM.childNodes;for(var _=this.__diff.beginNum;_<this.__formatData.length;_++){t[_].getElementsByTagName("em")[0].innerText=_+1}}else if(this.__diff!="not update"){var u="";this.__formatData.forEach(function(t,e){u+=r.$$toTemplate(t,e,r._noLineNumber)});this.__showDOM.innerHTML=u}this.__diff="not update";var s=this.__showDOM.childNodes[this.__lineNum];if(!this._readonly&&this.__lineDom){this.__lineDom.style.backgroundColor="rgba(0, 0, 0, 0)";s.style.backgroundColor=this._colorEdit}this.__lineDom=s}function N(){var _=this;var u=this.__selectCanvas.getContext("2d");u.fillStyle=this._colorSelect;u.clearRect(0,0,this.__selectCanvas.scrollWidth,this.__selectCanvas.scrollHeight);var t=function t(e,r,n){var i=_.$$calcCanvasXY(e,n);var o=_.$$calcCanvasXY(r,n);if(e==r&&e==0){u.fillRect(i.x,i.y,5,21)}else{u.fillRect(i.x,i.y,o.x-i.x,21)}};if(this.__cursor1.lineNum==this.__cursor2.lineNum&&this.__cursor1.leftNum==this.__cursor2.leftNum)return;u.beginPath();if(this.__cursor1.lineNum==this.__cursor2.lineNum){t(this.__cursor1.leftNum,this.__cursor2.leftNum,this.__cursor1.lineNum)}else{var e,r;if(this.__cursor1.lineNum<this.__cursor2.lineNum){e=this.__cursor1;r=this.__cursor2}else{e=this.__cursor2;r=this.__cursor1}t(e.leftNum,this._contentArray[e.lineNum].length,e.lineNum);t(0,r.leftNum,r.lineNum);for(var n=e.lineNum+1;n<r.lineNum;n++){t(0,this._contentArray[n].length,n)}}}function $(){this.__cursorTop=this.__lineNum*21+10;this.__cursorLeft=40+this.$$textWidth(this._contentArray[this.__lineNum].substring(0,this.__leftNum));c.css(this.__focusDOM,{top:this.__cursorTop+"px",left:this.__cursorLeft+"px"})}function b(t,e){if(arguments.length<2){t=this._el.scrollWidth-40;e=this._el.scrollHeight-10}c.css(this.__selectCanvas,{width:t+"px",height:e+"px"});c.attr(this.__selectCanvas,{width:t,height:e})}function v(){this.$$updateCanvasSize(1,1);this.__cursor1={leftNum:0,lineNum:0};this.__cursor2={leftNum:0,lineNum:0}}function g(){var t=this.__cursor2,e=this.__cursor1;if(this.__cursor1.lineNum<this.__cursor2.lineNum){t=this.__cursor1;e=this.__cursor2}else if(this.__cursor1.lineNum==this.__cursor2.lineNum){if(this.__cursor1.leftNum<this.__cursor2.leftNum){t=this.__cursor1;e=this.__cursor2}}var r=this._contentArray[t.lineNum].substr(0,t.leftNum)+this._contentArray[e.lineNum].substr(e.leftNum);this._contentArray.splice(t.lineNum,e.lineNum-t.lineNum+1,r);this.__leftNum=this.__cursor1.leftNum=this.__cursor2.leftNum=t.leftNum;this.__lineNum=this.__cursor1.lineNum=this.__cursor2.lineNum=t.lineNum;this.$$cancelSelect()}var A=(t={48:[0,")"],49:[1,"!"],50:[2,"@"],51:[3,"#"],52:[4,"$"],53:[5,"%"],54:[6,"^"],55:[7,"&"],56:[8,"*"],57:[9,"("],96:[0,0],97:1,98:2,99:3,100:4,101:5,102:6,103:7,104:8,105:9,106:"*",107:"+",109:"-",110:".",111:"/",65:["a","A"],66:["b","B"],67:["c","C"],68:["d","D"],69:["e","E"],70:["f","F"],71:["g","G"],72:["h","H"],73:["i","I"],74:["j","J"],75:["k","K"],76:["l","L"],77:["m","M"],78:["n","N"],79:["o","O"],80:["p","P"],81:["q","Q"],82:["r","R"],83:["s","S"],84:["t","T"],85:["u","U"],86:["v","V"],87:["w","W"],88:["x","X"],89:["y","Y"],90:["z","Z"],37:"left",38:"up",39:"right",40:"down",33:"page up",34:"page down",35:"end",36:"home",16:"shift",17:"ctrl",18:"alt",91:"command",92:"command",93:"command",9:"tab",20:"caps lock",32:"spacebar",8:"backspace",13:"enter",27:"esc",46:"delete",45:"insert",144:"number lock",145:"scroll lock",12:"clear"},_defineProperty(t,"45","insert"),_defineProperty(t,19,"pause"),_defineProperty(t,112,"f1"),_defineProperty(t,113,"f2"),_defineProperty(t,114,"f3"),_defineProperty(t,115,"f4"),_defineProperty(t,116,"f5"),_defineProperty(t,117,"f6"),_defineProperty(t,118,"f7"),_defineProperty(t,119,"f8"),_defineProperty(t,120,"f9"),_defineProperty(t,121,"f10"),_defineProperty(t,122,"f11"),_defineProperty(t,123,"f12"),_defineProperty(t,189,["-","_"]),_defineProperty(t,187,["=","+"]),_defineProperty(t,219,["[","{"]),_defineProperty(t,221,["]","}"]),_defineProperty(t,220,["\\","|"]),_defineProperty(t,186,[";",":"]),_defineProperty(t,222,["'",'"']),_defineProperty(t,188,[",","<"]),_defineProperty(t,190,[".",">"]),_defineProperty(t,191,["/","?"]),_defineProperty(t,192,["`","~"]),t);var w=["shift","ctrl","alt"];function D(t){t=t||window.event;var e=t.keyCode||t.which;var r=A[e]||e;if(!r)return;if(r.constructor!==Array)r=[r,r];var n=t.shiftKey?"shift+":"",i=t.altKey?"alt+":"",o=t.ctrlKey?"ctrl+":"";var _="",u=o+n+i;if(w.indexOf(r[0])>=0){r[0]=r[1]=""}var s=t.code=="Key"+t.key&&!n;_=u+(u==""&&s?r[1]:r[0]);if(r[0]==""){_=_.replace(/\+$/,"")}return _}function x(){var s=this;var e=false;var r=function t(e){var r=c.position(s._el,e);var n=Math.round((r.y-20.5)/21);if(n<0)n=0;if(n>=s._contentArray.length)n=s._contentArray.length-1;return{leftNum:s.$$bestLeftNum(r.x,n),lineNum:n}};var l=function t(){var e=s.__cursor2,r=s.__cursor1;if(s.__cursor1.lineNum<s.__cursor2.lineNum){e=s.__cursor1;r=s.__cursor2}else if(s.__cursor1.lineNum==s.__cursor2.lineNum){if(s.__cursor1.leftNum<s.__cursor2.leftNum){e=s.__cursor1;r=s.__cursor2}return s._contentArray[e.lineNum].substring(e.leftNum,r.leftNum)}var n="";n+=s._contentArray[e.lineNum].substr(e.leftNum)+"\n";for(var i=e.lineNum+1;i<r.lineNum;i++){n+=s._contentArray[i]+"\n"}n+=s._contentArray[r.lineNum].substr(0,r.leftNum);return n};c.bind(this._el,"mousedown",function(t){e=true;s.__cursor2=s.__cursor1=r(t);s.$$updateCanvasSize();s.$$updateSelectView()});c.bind(this._el,"mousemove",function(t){if(!e)return;s.__cursor2=r(t);s.$$updateSelectView()});c.bind(this._el,"mouseup",function(){return e=false});c.bind(this._el,"mouseout",function(){return e=false});c.bind(this._el,"click",function(t){s.__helpInputDOM.innerHTML="";var e=c.position(s._el,t);var r=Math.round((e.y-20.5)/21);if(r<0||r>=s._contentArray.length)return;s.__lineNum=r;s.__leftNum=s.$$bestLeftNum(e.x);s.$$updateCursorPosition();s.$$updateView()});var a=function t(e){e=e||s.__focusDOM.value;e=s.$$filterText(e);s.__focusDOM.value="";if(s.$$selectIsNotBlank())s.$$deleteSelect();if(/^\n$/.test(e)){if(s.__leftNum>=s._contentArray[s.__lineNum].length){s._contentArray.splice(s.__lineNum+1,0,"")}else{s._contentArray.splice(s.__lineNum+1,0,s._contentArray[s.__lineNum].substring(s.__leftNum));s._contentArray[s.__lineNum]=s._contentArray[s.__lineNum].substring(0,s.__leftNum)}s.__lineNum+=1;s.__leftNum=0}else{var r=e.split(/\n/);if(r.length<=1){s._contentArray[s.__lineNum]=s._contentArray[s.__lineNum].substring(0,s.__leftNum)+e+s._contentArray[s.__lineNum].substring(s.__leftNum);s.__leftNum+=e.length}else{var n;var i=s._contentArray[s.__lineNum].substring(0,s.__leftNum);var o=s._contentArray[s.__lineNum].substring(s.__leftNum);r[0]=i+r[0];r[r.length-1]+=o;(n=s._contentArray).splice.apply(n,[s.__lineNum,1].concat(_toConsumableArray(r)));s.__lineNum+=r.length-1;s.__leftNum=r[r.length-1].length-o.length}}s.__formatData=s.$$diff(s.$shader(s._contentArray.join("\n")));s.$$updateCursorPosition();s.$$updateView();s.__updated__()};c.bind(this.__focusDOM,"compositionstart",function(){s.__needUpdate=false;s.__focusDOM.style.color="rgba(0,0,0,0)";s.__focusDOM.style.borderLeft="1px solid "+s._colorCursor});c.bind(this.__focusDOM,"compositionend",function(){s.__needUpdate=true;s.__focusDOM.style.color=s._colorCursor;s.__focusDOM.style.borderLeft="none";a();if(s.$input!=null)s.__helpInputEvent=s.$input(s.__helpInputDOM,p(s),s._contentArray)||{}});c.bind(this.__focusDOM,"input",function(){if(s.__needUpdate){a();if(s.$input!=null)s.__helpInputEvent=s.$input(s.__helpInputDOM,p(s),s._contentArray)||{}}});c.bind(this._el,"keydown",function(t){var e=D(t);if(s.__helpInputDOM.innerHTML!=""){var r=s.__helpInputEvent[e];if(f(r)){if(!r())return}else{s.__helpInputDOM.innerHTML=""}}if(s._readonly&&["ctrl+a","ctrl+c"].indexOf(e)<0)return;switch(e){case"ctrl+a":{s.__cursor1={leftNum:0,lineNum:0};s.__cursor2={lineNum:s._contentArray.length-1,leftNum:s._contentArray[s._contentArray.length-1].length};s.$$updateSelectView();break}case"ctrl+c":{if(s.$$selectIsNotBlank()){c.copy(l());s.__focusDOM.focus()}break}case"ctrl+x":{if(s.$$selectIsNotBlank()){c.copy(l());s.__focusDOM.focus();s.$$deleteSelect();s.__formatData=s.$$diff(s.$shader(s._contentArray.join("\n")));s.$$updateCursorPosition();s.$$updateView();s.$$cancelSelect();s.__updated__()}break}case"tab":{c.stopPropagation(t);c.preventDefault(t);var n="";for(var i=0;i<s._tabSpace;i++){n+=" "}if(s.$$selectIsNotBlank()){var o=s.__cursor1.lineNum,_=s.__cursor2.lineNum;if(o>_){o=s.__cursor2.lineNum;_=s.__cursor1.lineNum}for(var u=o;u<=_;u++){s._contentArray[u]=n+s._contentArray[u]}s.__cursor1.leftNum+=s._tabSpace;s.__cursor2.leftNum+=s._tabSpace;s.__leftNum+=s._tabSpace;s.__formatData=s.$$diff(s.$shader(s._contentArray.join("\n")));s.$$updateCursorPosition();s.$$updateView();s.$$updateCanvasSize();s.$$updateSelectView();s.__updated__()}else{a(n)}break}case"up":{if(s.__lineNum<=0)return;s.__lineNum-=1;s.__leftNum=s.$$bestLeftNum(s.$$textWidth(s._contentArray[s.__lineNum+1].substr(0,s.__leftNum))+40);s.$$updateCursorPosition();s.$$updateView();s.$$cancelSelect();s._el.scrollTop-=21;break}case"down":{if(s.__lineNum>=s._contentArray.length-1)return;s.__lineNum+=1;s.__leftNum=s.$$bestLeftNum(s.$$textWidth(s._contentArray[s.__lineNum-1].substr(0,s.__leftNum))+40);s.$$updateCursorPosition();s.$$updateView();s.$$cancelSelect();s._el.scrollTop+=21;break}case"left":{if(s.__leftNum<=0){if(s.__lineNum<=0)return;s.__lineNum-=1;s.__leftNum=s._contentArray[s.__lineNum].length}else{s.__leftNum-=1}s.$$updateCursorPosition();s.$$cancelSelect();break}case"right":{if(s.__leftNum>=s._contentArray[s.__lineNum].length){if(s.__lineNum>=s._contentArray.length-1)return;s.__lineNum+=1;s.__leftNum=0}else{s.__leftNum+=1}s.$$updateCursorPosition();s.$$cancelSelect();break}case"backspace":{if(s.$$selectIsNotBlank()){s.$$deleteSelect()}else{if(s.__leftNum<=0){if(s.__lineNum<=0)return;s.__lineNum-=1;s.__leftNum=s._contentArray[s.__lineNum].length;s._contentArray[s.__lineNum]+=s._contentArray[s.__lineNum+1];s._contentArray.splice(s.__lineNum+1,1)}else{s.__leftNum-=1;s._contentArray[s.__lineNum]=s._contentArray[s.__lineNum].substring(0,s.__leftNum)+s._contentArray[s.__lineNum].substring(s.__leftNum+1)}}s.__formatData=s.$$diff(s.$shader(s._contentArray.join("\n")));s.$$updateCursorPosition();s.$$updateView();s.$$cancelSelect();s.__updated__();break}}})}var O=function t(e,r){if(e.length!=r.length)return false;for(var n=0;n<e.length;n++){if(e[n].content!=r[n].content||e[n].color!=r[n].color)return false}return true};function M(t){var e=this.__formatData;if(e){var r=0;for(var n=0;n<e.length&&n<t.length;n++){if(!O(e[n],t[n])){break}r+=1}var i=0;for(var o=1;o<=e.length&&o<=t.length;o++){if(!O(e[e.length-o],t[t.length-o])){break}i+=1}var _=Math.min(e.length,t.length);if(r+i>=_){i=_-r-1;if(i<0)i=0}this.__diff={beginNum:r,endNum:i}}return t}function S(t){var e="";for(var r=0;r<this._tabSpace;r++){e+=" "}return t.replace(/\t/g,e)}var P=function t(e){var n=this;if(!(this instanceof t)){throw new Error("WSCode is a constructor and should be called with the `new` keyword")}if(o(e.el)){var r=function t(){var e=[];n._contentArray.forEach(function(t){e.push([{content:t,color:n._colorText}])});return e};var i=function t(e){return e};this._el=e.el;e.color=e.color||{};this._colorBackground=e.color.background||"#d6d6e4";this._colorText=e.color.text||"#000000";this._colorNumber=e.color.number||"#888484";this._colorEdit=e.color.edit||"#eaeaf1";this._colorCursor=e.color.cursor||"#ff0000";this._colorSelect=e.color.select||"#6c6cf1";this._fontFamily=e["font-family"]||"新宋体";this._fontWeight=e["font-weight"]||600;this._tabSpace=e.tabSpace||4;this._readonly=e.readonly||false;this._noLineNumber=e.noLineNumber||false;this._contentArray=_(e.content)?(this.$$filterText(e.content)+"").split("\n"):[""];this.$shader=f(e.shader)?e.shader:r;this.$format=f(e.format)?e.format:i;this.$input=f(e.input)?e.input:null}else{throw new Error("options.el is not a element!")}this.$$initDom();this.__needUpdate=true;this.__lineNum=this._contentArray.length-1;this.__leftNum=this._contentArray[this.__lineNum].length;this.__cursor1=this.__cursor2={leftNum:0,lineNum:0};this.__formatData=this.$$diff(this.$shader(this._contentArray.join("\n")));this.$$initView();this.$$updateView();this.$$bindEvent();this.__updated__=function(){};this.updated=function(t){n.__updated__=t};this.valueOf=function(){return n._contentArray.join("\n")};this.input=function(){var t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:"";var e=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;var r=arguments.length>2&&arguments[2]!==undefined?arguments[2]:0;if(e!=0){if(r!=0){n._contentArray[n.__lineNum]=n._contentArray[n.__lineNum].substring(0,n.__leftNum+e)+n._contentArray[n.__lineNum].substring(n.__leftNum+e+r)}n.__leftNum+=e}n.__focusDOM.value=t;c.trigger(n.__focusDOM,"input");n.__focusDOM.focus()};this.format=function(){n._contentArray=n.$format(n._contentArray.join("\n"),n._tabSpace).split("\n");n.__lineNum=n._contentArray.length-1;n.__leftNum=n._contentArray[n.__lineNum].length;n.__formatData=n.$$diff(n.$shader(n._contentArray.join("\n")));n.$$updateView();n.$$initView()}};P.prototype.$$textWidth=u;P.prototype.$$bestLeftNum=s;P.prototype.$$calcCanvasXY=l;P.prototype.$$selectIsNotBlank=a;P.prototype.$$filterText=S;P.prototype.$$toTemplate=h;P.prototype.$$initDom=d;P.prototype.$$initView=m;P.prototype.$$updateView=y;P.prototype.$$updateSelectView=N;P.prototype.$$updateCursorPosition=$;P.prototype.$$updateCanvasSize=b;P.prototype.$$cancelSelect=v;P.prototype.$$deleteSelect=g;P.prototype.$$bindEvent=x;P.prototype.$$diff=M;P.author="心叶(yelloxing@gmail.com)";if((typeof module==="undefined"?"undefined":_typeof(module))==="object"&&_typeof(module.exports)==="object"){module.exports=P}else{window.WSCode=P}})();
\No newline at end of file