b0y-101 Mini Shell


Current Path : E:/www/pl/media/editors/codemirror/addon/edit/
File Upload :
Current File : E:/www/pl/media/editors/codemirror/addon/edit/closebrackets.min.js

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

Copyright © 2019 by b0y-101