mirror of
https://github.com/haiwen/seahub.git
synced 2025-07-04 10:46:58 +00:00
4 lines
117 KiB
JavaScript
4 lines
117 KiB
JavaScript
|
window.CodeMirror=function(){"use strict";function a(d,e){function kc(a){f.onDragEvent&&f.onDragEvent(oc,X(a))||$(a)}function nc(a){return a>=0&&Hb.size>a}function pc(a){return R(Hb,a)}function qc(a,b){Yb=!0;for(var c=b-a.height,d=a;d;d=d.parent)d.height+=c}function rc(a,b){return a.styles||a.highlight(Gb,a.stateAfter=he(S(a)),f.tabSize),a.getContent(f.tabSize,b,f.lineWrapping)}function sc(a){var b={line:0,ch:0};Kc(b,{line:Hb.size-1,ch:pc(Hb.size-1).text.length},Ab(a),b,b),Tb=!0}function tc(a){var b=[];return Hb.iter(0,Hb.size,function(a){b.push(a.text)}),b.join(a||"\n")}function uc(){Math.abs(F.scrollTop-Ob)>1&&(Ob=vb.scrollTop=F.scrollTop,gd([]))}function vc(){f.fixedGutter&&hb.style.left!=vb.scrollLeft+"px"&&(hb.style.left=vb.scrollLeft+"px"),Math.abs(vb.scrollTop-Ob)>1&&(Ob=vb.scrollTop,F.scrollTop!=Ob&&(F.scrollTop=Ob),gd([])),f.onScroll&&f.onScroll(oc)}function wc(a){function h(b){t&&(vb.draggable=!1),Pb=!1,k(),l(),10>Math.abs(a.clientX-b.clientX)+Math.abs(a.clientY-b.clientY)&&(Y(b),pd(c.line,c.ch,!0),ad())}function q(a){if("single"==e)md(c,a);else if("double"==e){var b=wd(a);qb(a,m)?md(b.from,n):md(m,b.to)}else"triple"==e&&(qb(a,m)?md(n,rd({line:a.line,ch:0})):md(m,rd({line:a.line+1,ch:0})))}function r(a){var b=ae(a,!0);if(b&&!pb(b,i)){Jb||Ic(),i=b,q(b),Tb=!1;var c=fd();(b.line>=c.to||b.line<c.from)&&(j=setTimeout(ne(function(){r(a)}),150))}}function s(a){clearTimeout(j);var b=ae(a);b&&q(b),Y(a),ad(),Tb=!0,u(),k()}ld(bb(a,"shiftKey"));for(var b=_(a);b!=yb;b=b.parentNode)if(b.parentNode==lb&&b!=ib)return;for(var b=_(a);b!=yb;b=b.parentNode)if(b.parentNode==gb)return f.onGutterClick&&f.onGutterClick(oc,xb(gb.childNodes,b)+_b,a),Y(a);var c=ae(a);switch(ab(a)){case 3:return o&&ce(a),void 0;case 2:return c&&pd(c.line,c.ch,!0),setTimeout(ad,20),Y(a),void 0}if(!c)return _(a)==vb&&Y(a),void 0;Jb||Ic();var d=+new Date,e="single";if(Nb&&Nb.time>d-400&&pb(Nb.pos,c))e="triple",Y(a),setTimeout(ad,20),xd(c.line);else if(Mb&&Mb.time>d-400&&pb(Mb.pos,c)){e="double",Nb={time:d,pos:c},Y(a);var g=wd(c);md(g.from,g.to)}else Mb={time:d,pos:c};var j,i=c;if(f.dragDrop&&fb&&!f.readOnly&&!pb(Kb.from,Kb.to)&&!qb(c,Kb.from)&&!qb(Kb.to,c)&&"single"==e){t&&(vb.draggable=!0);var k=cb(document,"mouseup",ne(h),!0),l=cb(vb,"drop",ne(h),!0);return Pb=!0,vb.dragDrop&&vb.dragDrop(),void 0}Y(a),"single"==e&&pd(c.line,c.ch,!0);var m=Kb.from,n=Kb.to,u=cb(document,"mousemove",ne(function(a){clearTimeout(j),Y(a),p||ab(a)?r(a):s(a)}),!0),k=cb(document,"mouseup",ne(s),!0)}function xc(a){for(var b=_(a);b!=yb;b=b.parentNode)if(b.parentNode==gb)return Y(a);Y(a)}function yc(a){if(!f.onDragEvent||!f.onDragEvent(oc,X(a))){Y(a);var b=ae(a,!0),c=a.dataTransfer.files;if(b&&!f.readOnly)if(c&&c.length&&window.FileReader&&window.File)for(var d=c.length,e=Array(d),g=0,h=function(a,c){var f=new FileReader;f.onload=function(){e[c]=f.result,++g==d&&(b=rd(b),ne(function(){var a=Sc(e.join(""),b,b);md(b,a)})())},f.readAsText(a)},i=0;d>i;++i)h(c[i],i);else{if(Pb&&!qb(b,Kb.from)&&!qb(Kb.to,b))return;try{var e=a.dataTransfer.getData("Text");e&&oe(function(){var a=Kb.from,c=Kb.to;md(b,b),Pb&&Sc("",a,c),Tc(e),ad()})}catch(a){}}}}function zc(a){var b=Wc();a.dataTransfer.setData("Text",b),a.dataTransfer.setDragImage&&a.dataTransfer.setDragImage(sb("img"),0,0)}function Ac(a,b){if("string"==typeof a&&(a=j[a],!a))return!1;var c=Lb;try{f.readOnly&&(Rb=!0),b&&(Lb=null),a(oc)}catch(d){if(d!=eb)throw d;return!1}finally{Lb=c,Rb=!1}return!0}function Cc(a){function j(){i=!0}var b=l(f.keyMap),d=b.auto;clearTimeout(Bc),d&&!n(a)&&(Bc=setTimeout(function(){l(f.keyMap)==b&&(f.keyMap=d.call?d.call(null,oc):d)},50));var e=Cb[bb(a,"keyCode")],g=!1,h=v&&c;if(null==e||a.altGraphKey)return!1;bb(a,"altKey")&&(e="Alt-"+e),bb(a,h?"metaKey":"ctrlKey")&&(e="Ctrl-"+e),bb(a,h?"ctrlKey":"metaKey")&&(e="Cmd-"+e);var i=!1;return g=bb(a,"shiftKey")?m("Shift-"+e,f.extraKeys,f.keyMap,function(a){return Ac(a,!0)},j)||m(e,f.extraKeys,f.keyMap,function(a){return"string"==typeof a&&/^go[A-Z]/.test(a)?Ac(a):void 0},j):m(e,f.extraKeys,f.keyMap,Ac,j),i&&(g=!1),g&&(Y(a),de(),r&&(a.oldKeyCode=a.keyCode,a.keyCode=0)),g}fun
|
||
|
},lineCount:function(){return Hb.size},clipPos:rd,getCursor:function(a){return null==a&&(a=Kb.inverted),rb(a?Kb.from:Kb.to)},somethingSelected:function(){return!pb(Kb.from,Kb.to)},setCursor:ne(function(a,b,c){null==b&&"number"==typeof a.line?pd(a.line,a.ch,c):pd(a,b,c)}),setSelection:ne(function(a,b,c){(c?md:nd)(rd(a),rd(b||a))}),getLine:function(a){return nc(a)?pc(a).text:void 0},getLineHandle:function(a){return nc(a)?pc(a):void 0},setLine:ne(function(a,b){nc(a)&&Sc(b,{line:a,ch:0},{line:a,ch:pc(a).text.length})}),removeLine:ne(function(a){nc(a)&&Sc("",{line:a,ch:0},rd({line:a+1,ch:0}))}),replaceRange:ne(Sc),getRange:function(a,b,c){return Vc(rd(a),rd(b),c)},triggerOnKeyDown:ne(Fc),execCommand:function(a){return j[a](oc)},moveH:ne(td),deleteH:ne(ud),moveV:ne(vd),toggleOverwrite:function(){Qb?(Qb=!1,M.className=M.className.replace(" CodeMirror-overwrite","")):(Qb=!0,M.className+=" CodeMirror-overwrite")},posFromIndex:function(a){var c,b=0;return Hb.iter(0,Hb.size,function(d){var e=d.text.length+1;return e>a?(c=a,!0):(a-=e,++b,void 0)}),rd({line:b,ch:c})},indexFromPos:function(a){if(0>a.line||0>a.ch)return 0;var b=a.ch;return Hb.iter(0,a.line,function(a){b+=a.text.length+1}),b},scrollTo:function(a,b){null!=a&&(vb.scrollLeft=a),null!=b&&(F.scrollTop=vb.scrollTop=b),gd([])},getScrollInfo:function(){return{x:vb.scrollLeft,y:F.scrollTop,height:F.scrollHeight,width:vb.scrollWidth}},scrollIntoView:function(a){var b=Qd(a?rd(a):Kb.inverted?Kb.from:Kb.to);dd(b.x,b.y,b.x,b.yBot)},setSize:function(a,b){function c(a){return a+="",/^\d+$/.test(a)?a+"px":a}null!=a&&(yb.style.width=c(a)),null!=b&&(vb.style.height=c(b)),oc.refresh()},operation:function(a){return ne(a)()},compoundChange:function(a){return oe(a)},refresh:function(){gd(!0,null,Ob),F.scrollHeight>Ob&&(F.scrollTop=Ob)},getInputField:function(){return w},getWrapperElement:function(){return yb},getScrollerElement:function(){return vb},getGutterElement:function(){return hb}},Ec=null,Zc="";Fd.prototype.clear=ne(function(){for(var a,b,c=0;this.lines.length>c;++c){var d=this.lines[c],e=D(d.markedSpans,this);null!=e.from&&(a=S(d)),null!=e.to&&(b=S(d)),d.markedSpans=E(d.markedSpans,e)}null!=a&&Vb.push({from:a,to:b+1}),this.lines.length=0,this.explicitlyCleared=!0}),Fd.prototype.find=function(){for(var a,b,c=0;this.lines.length>c;++c){var d=this.lines[c],e=D(d.markedSpans,this);if(null!=e.from||null!=e.to){var f=S(d);null!=e.from&&(a={line:f,ch:e.from}),null!=e.to&&(b={line:f,ch:e.to})}}return"bookmark"==this.type?a:a&&{from:a,to:b}};var Td,Ud,Vd,Xd,be,Yd=0,ee={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<"},me=0;for(var pe in g)g.propertyIsEnumerable(pe)&&!oc.propertyIsEnumerable(pe)&&(oc[pe]=g[pe]);for(var qe=0;h.length>qe;++qe)h[qe](oc);return oc}function l(a){return"string"==typeof a?k[a]:a}function m(a,b,c,d,e){function f(b){b=l(b);var c=b[a];if(c===!1)return e&&e(),!0;if(null!=c&&d(c))return!0;if(b.nofallthrough)return e&&e(),!0;var g=b.fallthrough;if(null==g)return!1;if("[object Array]"!=Object.prototype.toString.call(g))return f(g);for(var h=0,i=g.length;i>h;++h)if(f(g[h]))return!0;return!1}return b&&f(b)?!0:f(c)}function n(a){var b=Cb[bb(a,"keyCode")];return"Ctrl"==b||"Alt"==b||"Shift"==b||"Mod"==b}function z(a,b){if(b===!0)return b;if(a.copyState)return a.copyState(b);var c={};for(var d in b){var e=b[d];e instanceof Array&&(e=e.concat([])),c[d]=e}return c}function A(a,b,c){return a.startState?a.startState(b,c):!0}function B(a,b){this.pos=this.start=0,this.string=a,this.tabSize=b||8}function D(a,b){if(a)for(var c=0;a.length>c;++c){var d=a[c];if(d.marker==b)return d}}function E(a,b){for(var c,d=0;a.length>d;++d)a[d]!=b&&(c||(c=[])).push(a[d]);return c}function F(a,b,c){if(a)for(var e,d=0;a.length>d;++d){var f=a[d],g=f.marker,h=null==f.from||(g.inclusiveLeft?b>=f.from:b>f.from);if(h||"bookmark"==g.type&&f.from==b&&f.from!=c){var i=null==f.to||(g.inclusiveRight?f.to>=b:f.to>b);(e||(e=[])).push({from:f.from,to:i?null:f.to,marker:g})}}return e}function G(a,b){if(a)for(var d,c=0;a.length>c;++c){var e=a[c],f=e.marker,g=null==e.to||(f.inclusiveRight?e.to>=b:e.to>b);if(g||"boo
|
||
|
if("@"==d)return a.eatWhile(/[\w\\\-]/),j("def",a.current());if("/"==d&&a.eat("*"))return b.tokenize=l,l(a,b);if("<"==d&&a.eat("!"))return b.tokenize=m,m(a,b);if("="==d)j(null,"compare");else{if(("~"==d||"|"==d)&&a.eat("="))return j(null,"compare");if('"'==d||"'"==d)return b.tokenize=n(d),b.tokenize(a,b);if("#"==d)return a.eatWhile(/[\w\\\-]/),j("atom","hash");if("!"==d)return a.match(/^\s*\w*/),j("keyword","important");if(/\d/.test(d))return a.eatWhile(/[\w.%]/),j("number","unit");if("-"!==d)return/[,+>*\/]/.test(d)?j(null,"select-op"):"."==d&&a.match(/^-?[_a-z][_a-z0-9-]*/i)?j("qualifier",c):":"==d?j("operator",d):/[;{}\[\]\(\)]/.test(d)?j(null,d):(a.eatWhile(/[\w\\\-]/),j("property","variable"));if(/\d/.test(a.peek()))return a.eatWhile(/[\w.%]/),j("number","unit");if(a.match(/^[^-]+-/))return j("meta",c)}}function l(a,b){for(var d,c=!1;null!=(d=a.next());){if(c&&"/"==d){b.tokenize=k;break}c="*"==d}return j("comment","comment")}function m(a,b){for(var d,c=0;null!=(d=a.next());){if(c>=2&&">"==d){b.tokenize=k;break}c="-"==d?c+1:0}return j("comment","comment")}function n(a){return function(b,c){for(var e,d=!1;null!=(e=b.next())&&(e!=a||d);)d=!d&&"\\"==e;return d||(c.tokenize=k),j("string","string")}}var c,b=a.indentUnit,d=i(["all","aural","braille","handheld","print","projection","screen","tty","tv","embossed"]),e=i(["width","min-width","max-width","height","min-height","max-height","device-width","min-device-width","max-device-width","device-height","min-device-height","max-device-height","aspect-ratio","min-aspect-ratio","max-aspect-ratio","device-aspect-ratio","min-device-aspect-ratio","max-device-aspect-ratio","color","min-color","max-color","color-index","min-color-index","max-color-index","monochrome","min-monochrome","max-monochrome","resolution","min-resolution","max-resolution","scan","grid"]),f=i(["align-content","align-items","align-self","alignment-adjust","alignment-baseline","anchor-point","animation","animation-delay","animation-direction","animation-duration","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","azimuth","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","baseline-shift","binding","bleed","bookmark-label","bookmark-level","bookmark-state","bookmark-target","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","color","color-profile","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","crop","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","drop-initial-after-adjust","drop-initial-after-align","drop-initial-before-adjust","drop-initial-before-align","drop-initial-size","drop-initial-value","elevation","empty-cells","fit","fit-position","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","float-offset","font","font-feature-settings","font-family","font-kerning","font-language-override","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures"
|
||
|
}if(/\w/.test(h)){var i=a.pos;if("{"==a.look(-2)&&("}"==a.look(0)||a.eatWhile(/\w/)&&"}"==a.look(0)))return"string";a.pos=i}if(/[A-Z]/.test(h)){var l=a.look(-2),i=a.pos;if(a.eatWhile(/[A-Z_]/),!/[\da-z]/.test(a.look(0))){var k=c[a.current()];return k?(k[1]&&(k=k[0]),":"!=l?1==k?"keyword":2==k?"def":3==k?"atom":4==k?"operator":5==k?"variable-2":"meta":"meta"):"meta"}a.pos=i}if(/[a-zA-Z_]/.test(h)){var l=a.look(-2);a.eatWhile(/\w/);var k=c[a.current()];return k?(k[1]&&(k=k[0]),":"!=l?1==k?"keyword":2==k?"def":3==k?"atom":4==k?"operator":5==k?"variable-2":"meta":"meta"):"meta"}return null}var c={"->":4,"++":4,"--":4,"**":4,"=~":4,"!~":4,"*":4,"/":4,"%":4,x:4,"+":4,"-":4,".":4,"<<":4,">>":4,"<":4,">":4,"<=":4,">=":4,lt:4,gt:4,le:4,ge:4,"==":4,"!=":4,"<=>":4,eq:4,ne:4,cmp:4,"~~":4,"&":4,"|":4,"^":4,"&&":4,"||":4,"//":4,"..":4,"...":4,"?":4,":":4,"=":4,"+=":4,"-=":4,"*=":4,",":4,"=>":4,"::":4,not:4,and:4,or:4,xor:4,BEGIN:[5,1],END:[5,1],PRINT:[5,1],PRINTF:[5,1],GETC:[5,1],READ:[5,1],READLINE:[5,1],DESTROY:[5,1],TIE:[5,1],TIEHANDLE:[5,1],UNTIE:[5,1],STDIN:5,STDIN_TOP:5,STDOUT:5,STDOUT_TOP:5,STDERR:5,STDERR_TOP:5,$ARG:5,$_:5,"@ARG":5,"@_":5,$LIST_SEPARATOR:5,'$"':5,$PROCESS_ID:5,$PID:5,$$:5,$REAL_GROUP_ID:5,$GID:5,"$(":5,$EFFECTIVE_GROUP_ID:5,$EGID:5,"$)":5,$PROGRAM_NAME:5,$0:5,$SUBSCRIPT_SEPARATOR:5,$SUBSEP:5,"$;":5,$REAL_USER_ID:5,$UID:5,"$<":5,$EFFECTIVE_USER_ID:5,$EUID:5,"$>":5,$a:5,$b:5,$COMPILING:5,"$^C":5,$DEBUGGING:5,"$^D":5,"${^ENCODING}":5,$ENV:5,"%ENV":5,$SYSTEM_FD_MAX:5,"$^F":5,"@F":5,"${^GLOBAL_PHASE}":5,"$^H":5,"%^H":5,"@INC":5,"%INC":5,$INPLACE_EDIT:5,"$^I":5,"$^M":5,$OSNAME:5,"$^O":5,"${^OPEN}":5,$PERLDB:5,"$^P":5,$SIG:5,"%SIG":5,$BASETIME:5,"$^T":5,"${^TAINT}":5,"${^UNICODE}":5,"${^UTF8CACHE}":5,"${^UTF8LOCALE}":5,$PERL_VERSION:5,"$^V":5,"${^WIN32_SLOPPY_STAT}":5,$EXECUTABLE_NAME:5,"$^X":5,$1:5,$MATCH:5,"$&":5,"${^MATCH}":5,$PREMATCH:5,"$`":5,"${^PREMATCH}":5,$POSTMATCH:5,"$'":5,"${^POSTMATCH}":5,$LAST_PAREN_MATCH:5,"$+":5,$LAST_SUBMATCH_RESULT:5,"$^N":5,"@LAST_MATCH_END":5,"@+":5,"%LAST_PAREN_MATCH":5,"%+":5,"@LAST_MATCH_START":5,"@-":5,"%LAST_MATCH_START":5,"%-":5,$LAST_REGEXP_CODE_RESULT:5,"$^R":5,"${^RE_DEBUG_FLAGS}":5,"${^RE_TRIE_MAXBUF}":5,$ARGV:5,"@ARGV":5,ARGV:5,ARGVOUT:5,$OUTPUT_FIELD_SEPARATOR:5,$OFS:5,"$,":5,$INPUT_LINE_NUMBER:5,$NR:5,"$.":5,$INPUT_RECORD_SEPARATOR:5,$RS:5,"$/":5,$OUTPUT_RECORD_SEPARATOR:5,$ORS:5,"$\\":5,$OUTPUT_AUTOFLUSH:5,"$|":5,$ACCUMULATOR:5,"$^A":5,$FORMAT_FORMFEED:5,"$^L":5,$FORMAT_PAGE_NUMBER:5,"$%":5,$FORMAT_LINES_LEFT:5,"$-":5,$FORMAT_LINE_BREAK_CHARACTERS:5,"$:":5,$FORMAT_LINES_PER_PAGE:5,"$=":5,$FORMAT_TOP_NAME:5,"$^":5,$FORMAT_NAME:5,"$~":5,"${^CHILD_ERROR_NATIVE}":5,$EXTENDED_OS_ERROR:5,"$^E":5,$EXCEPTIONS_BEING_CAUGHT:5,"$^S":5,$WARNING:5,"$^W":5,"${^WARNING_BITS}":5,$OS_ERROR:5,$ERRNO:5,"$!":5,"%OS_ERROR":5,"%ERRNO":5,"%!":5,$CHILD_ERROR:5,"$?":5,$EVAL_ERROR:5,"$@":5,$OFMT:5,"$#":5,"$*":5,$ARRAY_BASE:5,"$[":5,$OLD_PERL_VERSION:5,"$]":5,"if":[1,1],elsif:[1,1],"else":[1,1],"while":[1,1],unless:[1,1],"for":[1,1],foreach:[1,1],abs:1,accept:1,alarm:1,atan2:1,bind:1,binmode:1,bless:1,bootstrap:1,"break":1,caller:1,chdir:1,chmod:1,chomp:1,chop:1,chown:1,chr:1,chroot:1,close:1,closedir:1,connect:1,"continue":[1,1],cos:1,crypt:1,dbmclose:1,dbmopen:1,"default":1,defined:1,"delete":1,die:1,"do":1,dump:1,each:1,endgrent:1,endhostent:1,endnetent:1,endprotoent:1,endpwent:1,endservent:1,eof:1,eval:1,exec:1,exists:1,exit:1,exp:1,fcntl:1,fileno:1,flock:1,fork:1,format:1,formline:1,getc:1,getgrent:1,getgrgid:1,getgrnam:1,gethostbyaddr:1,gethostbyname:1,gethostent:1,getlogin:1,getnetbyaddr:1,getnetbyname:1,getnetent:1,getpeername:1,getpgrp:1,getppid:1,getpriority:1,getprotobyname:1,getprotobynumber:1,getprotoent:1,getpwent:1,getpwnam:1,getpwuid:1,getservbyname:1,getservbyport:1,getservent:1,getsockname:1,getsockopt:1,given:1,glob:1,gmtime:1,"goto":1,grep:1,hex:1,"import":1,index:1,"int":1,ioctl:1,join:1,keys:1,kill:1,last:1,lc:1,lcfirst:1,length:1,link:1,listen:1,local:2,localtime:1,lock:1,log:1,lstat:1,m:null,map:1,mkdir:1,msgctl:1,msgget:1,msgrcv:1,msgsnd:1,my:2,"new":1,next:1,no:1,oct
|