jump-to-line.js
8 years ago
jump-to-line.min.js
8 years ago
match-highlighter.js
8 years ago
match-highlighter.min.js
8 years ago
matchesonscrollbar.css
8 years ago
matchesonscrollbar.js
8 years ago
matchesonscrollbar.min.js
8 years ago
search.js
8 years ago
search.min.js
8 years ago
searchcursor.js
8 years ago
searchcursor.min.js
8 years ago
searchcursor.min.js
1 lines
| 1 | !function(t){"object"==typeof exports&&"object"==typeof module?t(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],t):t(CodeMirror)}(function(t){"use strict";function n(t){var n=t.flags;return null!=n?n:(t.ignoreCase?"i":"")+(t.global?"g":"")+(t.multiline?"m":"")}function e(t,e){for(var r=n(t),i=r,o=0;o<e.length;o++)-1==i.indexOf(e.charAt(o))&&(i+=e.charAt(o));return r==i?t:new RegExp(t.source,i)}function r(t){return/\\s|\\n|\n|\\W|\\D|\[\^/.test(t.source)}function i(t,n,r){n=e(n,"g");for(var i=r.line,o=r.ch,l=t.lastLine();i<=l;i++,o=0){n.lastIndex=o;var h=t.getLine(i),s=n.exec(h);if(s)return{from:v(i,s.index),to:v(i,s.index+s[0].length),match:s}}}function o(t,n,o){if(!r(n))return i(t,n,o);n=e(n,"gm");for(var l,h=1,s=o.line,c=t.lastLine();s<=c;){for(var f=0;f<h&&!(s>c);f++){var u=t.getLine(s++);l=null==l?u:l+"\n"+u}h*=2,n.lastIndex=o.ch;var a=n.exec(l);if(a){var g=l.slice(0,a.index).split("\n"),m=a[0].split("\n"),d=o.line+g.length-1,p=g[g.length-1].length;return{from:v(d,p),to:v(d+m.length-1,1==m.length?p+m[0].length:m[m.length-1].length),match:a}}}}function l(t,n){for(var e,r=0;;){n.lastIndex=r;var i=n.exec(t);if(!i)return e;if(e=i,(r=e.index+(e[0].length||1))==t.length)return e}}function h(t,n,r){n=e(n,"g");for(var i=r.line,o=r.ch,h=t.firstLine();i>=h;i--,o=-1){var s=t.getLine(i);o>-1&&(s=s.slice(0,o));var c=l(s,n);if(c)return{from:v(i,c.index),to:v(i,c.index+c[0].length),match:c}}}function s(t,n,r){n=e(n,"gm");for(var i,o=1,h=r.line,s=t.firstLine();h>=s;){for(var c=0;c<o;c++){var f=t.getLine(h--);i=null==i?f.slice(0,r.ch):f+"\n"+i}o*=2;var u=l(i,n);if(u){var a=i.slice(0,u.index).split("\n"),g=u[0].split("\n"),m=h+a.length,d=a[a.length-1].length;return{from:v(m,d),to:v(m+g.length-1,1==g.length?d+g[0].length:g[g.length-1].length),match:u}}}}function c(t,n,e,r){if(t.length==n.length)return e;for(var i=0,o=e+Math.max(0,t.length-n.length);;){if(i==o)return i;var l=i+o>>1,h=r(t.slice(0,l)).length;if(h==e)return l;h>e?o=l:i=l+1}}function f(t,n,e,r){if(!n.length)return null;var i=r?g:m,o=i(n).split(/\r|\n\r?/);t:for(var l=e.line,h=e.ch,s=t.lastLine()+1-o.length;l<=s;l++,h=0){var f=t.getLine(l).slice(h),u=i(f);if(1==o.length){var a=u.indexOf(o[0]);if(-1==a)continue t;var e=c(f,u,a,i)+h;return{from:v(l,c(f,u,a,i)+h),to:v(l,c(f,u,a+o[0].length,i)+h)}}var d=u.length-o[0].length;if(u.slice(d)==o[0]){for(var p=1;p<o.length-1;p++)if(i(t.getLine(l+p))!=o[p])continue t;var x=t.getLine(l+o.length-1),L=i(x),C=o[o.length-1];if(L.slice(0,C.length)==C)return{from:v(l,c(f,u,d,i)+h),to:v(l+o.length-1,c(x,L,C.length,i))}}}}function u(t,n,e,r){if(!n.length)return null;var i=r?g:m,o=i(n).split(/\r|\n\r?/);t:for(var l=e.line,h=e.ch,s=t.firstLine()-1+o.length;l>=s;l--,h=-1){var f=t.getLine(l);h>-1&&(f=f.slice(0,h));var u=i(f);if(1==o.length){var a=u.lastIndexOf(o[0]);if(-1==a)continue t;return{from:v(l,c(f,u,a,i)),to:v(l,c(f,u,a+o[0].length,i))}}var d=o[o.length-1];if(u.slice(0,d.length)==d){for(var p=1,e=l-o.length+1;p<o.length-1;p++)if(i(t.getLine(e+p))!=o[p])continue t;var x=t.getLine(l+1-o.length),L=i(x);if(L.slice(L.length-o[0].length)==o[0])return{from:v(l+1-o.length,c(x,L,x.length-o[0].length,i)),to:v(l,c(f,u,d.length,i))}}}}function a(t,n,r,l){this.atOccurrence=!1,this.doc=t,r=r?t.clipPos(r):v(0,0),this.pos={from:r,to:r};var c;"object"==typeof l?c=l.caseFold:(c=l,l=null),"string"==typeof n?(null==c&&(c=!1),this.matches=function(e,r){return(e?u:f)(t,n,r,c)}):(n=e(n,"gm"),l&&!1===l.multiline?this.matches=function(e,r){return(e?h:i)(t,n,r)}:this.matches=function(e,r){return(e?s:o)(t,n,r)})}var g,m,v=t.Pos;String.prototype.normalize?(g=function(t){return t.normalize("NFD").toLowerCase()},m=function(t){return t.normalize("NFD")}):(g=function(t){return t.toLowerCase()},m=function(t){return t}),a.prototype={findNext:function(){return this.find(!1)},findPrevious:function(){return this.find(!0)},find:function(n){for(var e=this.matches(n,this.doc.clipPos(n?this.pos.from:this.pos.to));e&&0==t.cmpPos(e.from,e.to);)n?e.from.ch?e.from=v(e.from.line,e.from.ch-1):e=e.from.line==this.doc.firstLine()?null:this.matches(n,this.doc.clipPos(v(e.from.line-1))):e.to.ch<this.doc.getLine(e.to.line).length?e.to=v(e.to.line,e.to.ch+1):e=e.to.line==this.doc.lastLine()?null:this.matches(n,v(e.to.line+1,0));if(e)return this.pos=e,this.atOccurrence=!0,this.pos.match||!0;var r=v(n?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(n,e){if(this.atOccurrence){var r=t.splitLines(n);this.doc.replaceRange(r,this.pos.from,this.pos.to,e),this.pos.to=v(this.pos.from.line+r.length-1,r[r.length-1].length+(1==r.length?this.pos.from.ch:0))}}},t.defineExtension("getSearchCursor",function(t,n,e){return new a(this.doc,t,n,e)}),t.defineDocExtension("getSearchCursor",function(t,n,e){return new a(this,t,n,e)}),t.defineExtension("selectMatches",function(n,e){for(var r=[],i=this.getSearchCursor(n,this.getCursor("from"),e);i.findNext()&&!(t.cmpPos(i.to(),this.getCursor("to"))>0);)r.push({anchor:i.from(),head:i.to()});r.length&&this.setSelections(r,0)})}); |