Current File : /home/pacjaorg/public_html/kmm/media/vendor/codemirror/addon/edit/closebrackets.min.js |
(function(r){typeof exports=="object"&&typeof module=="object"?r(require("../../lib/codemirror")):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],r):r(CodeMirror)})(function(r){var R={pairs:`()[]{}''""`,closeBefore:`)]}'":;>`,triples:"",explode:"[]{}"},f=r.Pos;r.defineOption("autoCloseBrackets",!1,function(e,t,n){n&&n!=r.Init&&(e.removeKeyMap(B),e.state.closeBrackets=null),t&&(x(S(t,"pairs")),e.state.closeBrackets=t,e.addKeyMap(B))});function S(e,t){return t=="pairs"&&typeof e=="string"?e:typeof e=="object"&&e[t]!=null?e[t]:R[t]}var B={Backspace:F,Enter:K};function x(e){for(var t=0;t<e.length;t++){var n=e.charAt(t),i="'"+n+"'";B[i]||(B[i]=E(n))}}x(R.pairs+"`");function E(e){return function(t){return W(t,e)}}function O(e){var t=e.state.closeBrackets;if(!t||t.override)return t;var n=e.getModeAt(e.getCursor());return n.closeBrackets||t}function F(e){var t=O(e);if(!t||e.getOption("disableInput"))return r.Pass;for(var n=S(t,"pairs"),i=e.listSelections(),a=0;a<i.length;a++){if(!i[a].empty())return r.Pass;var o=I(e,i[a].head);if(!o||n.indexOf(o)%2!=0)return r.Pass}for(var a=i.length-1;a>=0;a--){var s=i[a].head;e.replaceRange("",f(s.line,s.ch-1),f(s.line,s.ch+1),"+delete")}}function K(e){var t=O(e),n=t&&S(t,"explode");if(!n||e.getOption("disableInput"))return r.Pass;for(var i=e.listSelections(),a=0;a<i.length;a++){if(!i[a].empty())return r.Pass;var o=I(e,i[a].head);if(!o||n.indexOf(o)%2!=0)return r.Pass}e.operation(function(){var s=e.lineSeparator()||`
`;e.replaceSelection(s+s,null),b(e,-1),i=e.listSelections();for(var h=0;h<i.length;h++){var k=i[h].head.line;e.indentLine(k,null,!0),e.indentLine(k+1,null,!0)}})}function b(e,t){for(var n=[],i=e.listSelections(),a=0,o=0;o<i.length;o++){var s=i[o];s.head==e.getCursor()&&(a=o);var h=s.head.ch||t>0?{line:s.head.line,ch:s.head.ch+t}:{line:s.head.line-1};n.push({anchor:h,head:h})}e.setSelections(n,a)}function L(e){var t=r.cmpPos(e.anchor,e.head)>0;return{anchor:new f(e.anchor.line,e.anchor.ch+(t?-1:1)),head:new f(e.head.line,e.head.ch+(t?1:-1))}}function W(e,t){var n=O(e);if(!n||e.getOption("disableInput"))return r.Pass;var i=S(n,"pairs"),a=i.indexOf(t);if(a==-1)return r.Pass;for(var o=S(n,"closeBefore"),s=S(n,"triples"),h=i.charAt(a+1)==t,k=e.listSelections(),c=a%2==0,d,A=0;A<k.length;A++){var j=k[A],l=j.head,v,P=e.getRange(l,f(l.line,l.ch+1));if(c&&!j.empty())v="surround";else if((h||!c)&&P==t)h&&q(e,l)?v="both":s.indexOf(t)>=0&&e.getRange(l,f(l.line,l.ch+3))==t+t+t?v="skipThree":v="skip";else if(h&&l.ch>1&&s.indexOf(t)>=0&&e.getRange(f(l.line,l.ch-2),l)==t+t){if(l.ch>2&&/\bstring/.test(e.getTokenTypeAt(f(l.line,l.ch-2))))return r.Pass;v="addFour"}else if(h){var w=l.ch==0?" ":e.getRange(f(l.line,l.ch-1),l);if(!r.isWordChar(P)&&w!=t&&!r.isWordChar(w))v="both";else return r.Pass}else if(c&&(P.length===0||/\s/.test(P)||o.indexOf(P)>-1))v="both";else return r.Pass;if(!d)d=v;else if(d!=v)return r.Pass}var u=a%2?i.charAt(a-1):t,y=a%2?t:i.charAt(a+1);e.operation(function(){if(d=="skip")b(e,1);else if(d=="skipThree")b(e,3);else if(d=="surround"){for(var g=e.getSelections(),p=0;p<g.length;p++)g[p]=u+g[p]+y;e.replaceSelections(g,"around"),g=e.listSelections().slice();for(var p=0;p<g.length;p++)g[p]=L(g[p]);e.setSelections(g)}else d=="both"?(e.replaceSelection(u+y,null),e.triggerElectric(u+y),b(e,-1)):d=="addFour"&&(e.replaceSelection(u+u+u+u,"before"),b(e,1))})}function I(e,t){var n=e.getRange(f(t.line,t.ch-1),f(t.line,t.ch+1));return n.length==2?n:null}function q(e,t){var n=e.getTokenAt(f(t.line,t.ch+1));return/\bstring/.test(n.type)&&n.start==t.ch&&(t.ch==0||!/\bstring/.test(e.getTokenTypeAt(t)))}});