Current File : /home/pacjaorg/public_html/kmm/media/vendor/codemirror/addon/search/searchcursor.min.js |
(function(v){typeof exports=="object"&&typeof module=="object"?v(require("../../lib/codemirror")):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],v):v(CodeMirror)})(function(v){"use strict";var s=v.Pos;function S(e){var t=e.flags;return t??(e.ignoreCase?"i":"")+(e.global?"g":"")+(e.multiline?"m":"")}function d(e,t){for(var n=S(e),r=n,l=0;l<t.length;l++)r.indexOf(t.charAt(l))==-1&&(r+=t.charAt(l));return n==r?e:new RegExp(e.source,r)}function x(e){return/\\s|\\n|\n|\\W|\\D|\[\^/.test(e.source)}function b(e,t,n){t=d(t,"g");for(var r=n.line,l=n.ch,i=e.lastLine();r<=i;r++,l=0){t.lastIndex=l;var f=e.getLine(r),h=t.exec(f);if(h)return{from:s(r,h.index),to:s(r,h.index+h[0].length),match:h}}}function I(e,t,n){if(!x(t))return b(e,t,n);t=d(t,"gm");for(var r,l=1,i=n.line,f=e.lastLine();i<=f;){for(var h=0;h<l&&!(i>f);h++){var L=e.getLine(i++);r=r==null?L:r+`
`+L}l=l*2,t.lastIndex=n.ch;var c=t.exec(r);if(c){var a=r.slice(0,c.index).split(`
`),u=c[0].split(`
`),o=n.line+a.length-1,g=a[a.length-1].length;return{from:s(o,g),to:s(o+u.length-1,u.length==1?g+u[0].length:u[u.length-1].length),match:c}}}}function E(e,t,n){for(var r,l=0;l<=e.length;){t.lastIndex=l;var i=t.exec(e);if(!i)break;var f=i.index+i[0].length;if(f>e.length-n)break;(!r||f>r.index+r[0].length)&&(r=i),l=i.index+1}return r}function R(e,t,n){t=d(t,"g");for(var r=n.line,l=n.ch,i=e.firstLine();r>=i;r--,l=-1){var f=e.getLine(r),h=E(f,t,l<0?0:f.length-l);if(h)return{from:s(r,h.index),to:s(r,h.index+h[0].length),match:h}}}function j(e,t,n){if(!x(t))return R(e,t,n);t=d(t,"gm");for(var r,l=1,i=e.getLine(n.line).length-n.ch,f=n.line,h=e.firstLine();f>=h;){for(var L=0;L<l&&f>=h;L++){var c=e.getLine(f--);r=r==null?c:c+`
`+r}l*=2;var a=E(r,t,i);if(a){var u=r.slice(0,a.index).split(`
`),o=a[0].split(`
`),g=f+u.length,p=u[u.length-1].length;return{from:s(g,p),to:s(g+o.length-1,o.length==1?p+o[0].length:o[o.length-1].length),match:a}}}}var F,P;String.prototype.normalize?(F=function(e){return e.normalize("NFD").toLowerCase()},P=function(e){return e.normalize("NFD")}):(F=function(e){return e.toLowerCase()},P=function(e){return e});function m(e,t,n,r){if(e.length==t.length)return n;for(var l=0,i=n+Math.max(0,e.length-t.length);;){if(l==i)return l;var f=l+i>>1,h=r(e.slice(0,f)).length;if(h==n)return f;h>n?i=f:l=f+1}}function y(e,t,n,r){if(!t.length)return null;var l=r?F:P,i=l(t).split(/\r|\n\r?/);t:for(var f=n.line,h=n.ch,L=e.lastLine()+1-i.length;f<=L;f++,h=0){var c=e.getLine(f).slice(h),a=l(c);if(i.length==1){var u=a.indexOf(i[0]);if(u==-1)continue t;var n=m(c,a,u,l)+h;return{from:s(f,m(c,a,u,l)+h),to:s(f,m(c,a,u+i[0].length,l)+h)}}else{var o=a.length-i[0].length;if(a.slice(o)!=i[0])continue t;for(var g=1;g<i.length-1;g++)if(l(e.getLine(f+g))!=i[g])continue t;var p=e.getLine(f+i.length-1),O=l(p),w=i[i.length-1];if(O.slice(0,w.length)!=w)continue t;return{from:s(f,m(c,a,o,l)+h),to:s(f+i.length-1,m(p,O,w.length,l))}}}}function z(e,t,n,r){if(!t.length)return null;var l=r?F:P,i=l(t).split(/\r|\n\r?/);t:for(var f=n.line,h=n.ch,L=e.firstLine()-1+i.length;f>=L;f--,h=-1){var c=e.getLine(f);h>-1&&(c=c.slice(0,h));var a=l(c);if(i.length==1){var u=a.lastIndexOf(i[0]);if(u==-1)continue t;return{from:s(f,m(c,a,u,l)),to:s(f,m(c,a,u+i[0].length,l))}}else{var o=i[i.length-1];if(a.slice(0,o.length)!=o)continue t;for(var g=1,n=f-i.length+1;g<i.length-1;g++)if(l(e.getLine(n+g))!=i[g])continue t;var p=e.getLine(f+1-i.length),O=l(p);if(O.slice(O.length-i[0].length)!=i[0])continue t;return{from:s(f+1-i.length,m(p,O,p.length-i[0].length,l)),to:s(f,m(c,a,o.length,l))}}}}function k(e,t,n,r){this.atOccurrence=!1,this.afterEmptyMatch=!1,this.doc=e,n=n?e.clipPos(n):s(0,0),this.pos={from:n,to:n};var l;typeof r=="object"?l=r.caseFold:(l=r,r=null),typeof t=="string"?(l==null&&(l=!1),this.matches=function(i,f){return(i?z:y)(e,t,f,l)}):(t=d(t,"gm"),!r||r.multiline!==!1?this.matches=function(i,f){return(i?j:I)(e,t,f)}:this.matches=function(i,f){return(i?R:b)(e,t,f)})}k.prototype={findNext:function(){return this.find(!1)},findPrevious:function(){return this.find(!0)},find:function(e){var t=this.doc.clipPos(e?this.pos.from:this.pos.to);if(this.afterEmptyMatch&&this.atOccurrence&&(t=s(t.line,t.ch),e?(t.ch--,t.ch<0&&(t.line--,t.ch=(this.doc.getLine(t.line)||"").length)):(t.ch++,t.ch>(this.doc.getLine(t.line)||"").length&&(t.ch=0,t.line++)),v.cmpPos(t,this.doc.clipPos(t))!=0))return this.atOccurrence=!1;var n=this.matches(e,t);if(this.afterEmptyMatch=n&&v.cmpPos(n.from,n.to)==0,n)return this.pos=n,this.atOccurrence=!0,this.pos.match||!0;var r=s(e?this.doc.firstLine():this.doc.lastLine()+1,0);return this.pos={from:r,to:r},this.atOccurrence=!1},from:function(){if(this.atOccurrence)return this.pos.from},to:function(){if(this.atOccurrence)return this.pos.to},replace:function(e,t){if(this.atOccurrence){var n=v.splitLines(e);this.doc.replaceRange(n,this.pos.from,this.pos.to,t),this.pos.to=s(this.pos.from.line+n.length-1,n[n.length-1].length+(n.length==1?this.pos.from.ch:0))}}},v.defineExtension("getSearchCursor",function(e,t,n){return new k(this.doc,e,t,n)}),v.defineDocExtension("getSearchCursor",function(e,t,n){return new k(this,e,t,n)}),v.defineExtension("selectMatches",function(e,t){for(var n=[],r=this.getSearchCursor(e,this.getCursor("from"),t);r.findNext()&&!(v.cmpPos(r.to(),this.getCursor("to"))>0);)n.push({anchor:r.from(),head:r.to()});n.length&&this.setSelections(n,0)})});