blob: 6c02c3aa239a07ec20efb00238169c32a285f1bc [file] [log] [blame]
CodeMirror.defineMode("javascript",function(e,r){function t(e){for(var r,t=!1,n=!1;null!=(r=e.next());){if(!t){if("/"==r&&!n)return;"["==r?n=!0:n&&"]"==r&&(n=!1)}t=!t&&"\\"==r}}function n(e,r,t){return dr=e,pr=t,r}function a(e,r){var a=e.next();if('"'==a||"'"==a)return r.tokenize=i(a),r.tokenize(e,r);if("."==a&&e.match(/^\d+(?:[eE][+\-]?\d+)?/))return n("number","number");if("."==a&&e.match(".."))return n("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(a))return n(a);if("="==a&&e.eat(">"))return n("=>","operator");if("0"==a&&e.eat(/x/i))return e.eatWhile(/[\da-f]/i),n("number","number");if(/\d/.test(a))return e.match(/^\d*(?:\.\d*)?(?:[eE][+\-]?\d+)?/),n("number","number");if("/"==a)return e.eat("*")?(r.tokenize=o,o(e,r)):e.eat("/")?(e.skipToEnd(),n("comment","comment")):"operator"==r.lastType||"keyword c"==r.lastType||"sof"==r.lastType||/^[\[{}\(,;:]$/.test(r.lastType)?(t(e),e.eatWhile(/[gimy]/),n("regexp","string-2")):(e.eatWhile(hr),n("operator","operator",e.current()));if("`"==a)return r.tokenize=u,u(e,r);if("#"==a)return e.skipToEnd(),n("error","error");if(hr.test(a))return e.eatWhile(hr),n("operator","operator",e.current());e.eatWhile(/[\w\$_]/);var c=e.current(),l=xr.propertyIsEnumerable(c)&&xr[c];return l&&"."!=r.lastType?n(l.type,l.style,c):n("variable","variable",c)}function i(e){return function(r,t){var i,o=!1;if(yr&&"@"==r.peek()&&r.match(gr))return t.tokenize=a,n("jsonld-keyword","meta");for(;null!=(i=r.next())&&(i!=e||o);)o=!o&&"\\"==i;return o||(t.tokenize=a),n("string","string")}}function o(e,r){for(var t,i=!1;t=e.next();){if("/"==t&&i){r.tokenize=a;break}i="*"==t}return n("comment","comment")}function u(e,r){for(var t,i=!1;null!=(t=e.next());){if(!i&&("`"==t||"$"==t&&e.eat("{"))){r.tokenize=a;break}i=!i&&"\\"==t}return n("quasi","string-2",e.current())}function c(e,r){r.fatArrowAt&&(r.fatArrowAt=null);var t=e.string.indexOf("=>",e.start);if(!(0>t)){for(var n=0,a=!1,i=t-1;i>=0;--i){var o=e.string.charAt(i),u=wr.indexOf(o);if(u>=0&&3>u){if(!n){++i;break}if(0==--n)break}else if(u>=3&&6>u)++n;else if(/[$\w]/.test(o))a=!0;else if(a&&!n){++i;break}}a&&!n&&(r.fatArrowAt=i)}}function l(e,r,t,n,a,i){this.indented=e,this.column=r,this.type=t,this.prev=a,this.info=i,null!=n&&(this.align=n)}function s(e,r){for(var t=e.localVars;t;t=t.next)if(t.name==r)return!0;for(var n=e.context;n;n=n.prev)for(var t=n.vars;t;t=t.next)if(t.name==r)return!0}function f(e,r,t,n,a){var i=e.cc;for(jr.state=e,jr.stream=a,jr.marked=null,jr.cc=i,e.lexical.hasOwnProperty("align")||(e.lexical.align=!0);;){var o=i.length?i.pop():kr?g:h;if(o(t,n)){for(;i.length&&i[i.length-1].lex;)i.pop()();return jr.marked?jr.marked:"variable"==t&&s(e,n)?"variable-2":r}}}function d(){for(var e=arguments.length-1;e>=0;e--)jr.cc.push(arguments[e])}function p(){return d.apply(null,arguments),!0}function v(e){function t(r){for(var t=r;t;t=t.next)if(t.name==e)return!0;return!1}var n=jr.state;if(n.context){if(jr.marked="def",t(n.localVars))return;n.localVars={name:e,next:n.localVars}}else{if(t(n.globalVars))return;r.globalVars&&(n.globalVars={name:e,next:n.globalVars})}}function m(){jr.state.context={prev:jr.state.context,vars:jr.state.localVars},jr.state.localVars=Vr}function y(){jr.state.localVars=jr.state.context.vars,jr.state.context=jr.state.context.prev}function k(e,r){var t=function(){var t=jr.state,n=t.indented;"stat"==t.lexical.type&&(n=t.lexical.indented),t.lexical=new l(n,jr.stream.column(),e,null,t.lexical,r)};return t.lex=!0,t}function b(){var e=jr.state;e.lexical.prev&&(")"==e.lexical.type&&(e.indented=e.lexical.indented),e.lexical=e.lexical.prev)}function x(e){return function(r){return r==e?p():";"==e?d():p(arguments.callee)}}function h(e,r){return"var"==e?p(k("vardef",r.length),D,x(";"),b):"keyword a"==e?p(k("form"),g,h,b):"keyword b"==e?p(k("form"),h,b):"{"==e?p(k("}"),U,b):";"==e?p():"if"==e?p(k("form"),g,h,b,K):"function"==e?p(Z):"for"==e?p(k("form"),L,h,b):"variable"==e?p(k("stat"),O):"switch"==e?p(k("form"),g,k("}","switch"),x("{"),U,b,b):"case"==e?p(g,x(":")):"default"==e?p(x(":")):"catch"==e?p(k("form"),m,x("("),er,x(")"),h,b,y):"module"==e?p(k("form"),m,ar,y,b):"class"==e?p(k("form"),rr,nr,b):"export"==e?p(k("form"),ir,b):"import"==e?p(k("form"),or,b):d(k("stat"),g,x(";"),b)}function g(e){return M(e,!1)}function w(e){return M(e,!0)}function M(e,r){if(jr.state.fatArrowAt==jr.stream.start){var t=r?A:I;if("("==e)return p(m,k(")"),q(F,")"),b,x("=>"),t,y);if("variable"==e)return d(m,F,x("=>"),t,y)}var n=r?E:C;return Mr.hasOwnProperty(e)?p(n):"function"==e?p(Z):"keyword c"==e?p(r?V:j):"("==e?p(k(")"),j,fr,x(")"),b,n):"operator"==e||"spread"==e?p(r?w:g):"["==e?p(k("]"),lr,b,n):"{"==e?N(W,"}",null,n):p()}function j(e){return e.match(/[;\}\)\],]/)?d():d(g)}function V(e){return e.match(/[;\}\)\],]/)?d():d(w)}function C(e,r){return","==e?p(g):E(e,r,!1)}function E(e,r,t){var n=0==t?C:E,a=0==t?g:w;return"=>"==r?p(m,t?A:I,y):"operator"==e?/\+\+|--/.test(r)?p(n):"?"==r?p(g,x(":"),a):p(a):"quasi"==e?(jr.cc.push(n),z(r)):";"!=e?"("==e?N(w,")","call",n):"."==e?p(P,n):"["==e?p(k("]"),j,x("]"),b,n):void 0:void 0}function z(e){return"${"!=e.slice(e.length-2)?p():p(g,T)}function T(e){return"}"==e?(jr.marked="string-2",jr.state.tokenize=u,p()):void 0}function I(e){return c(jr.stream,jr.state),d("{"==e?h:g)}function A(e){return c(jr.stream,jr.state),d("{"==e?h:w)}function O(e){return":"==e?p(b,h):d(C,x(";"),b)}function P(e){return"variable"==e?(jr.marked="property",p()):void 0}function W(e,r){if("variable"==e){if(jr.marked="property","get"==r||"set"==r)return p($)}else if("number"==e||"string"==e)jr.marked=yr?"property":e+" property";else if("["==e)return p(g,x("]"),S);return Mr.hasOwnProperty(e)?p(S):void 0}function $(e){return"variable"!=e?d(S):(jr.marked="property",p(Z))}function S(e){return":"==e?p(w):"("==e?d(Z):void 0}function q(e,r){function t(n){if(","==n){var a=jr.state.lexical;return"call"==a.info&&(a.pos=(a.pos||0)+1),p(e,t)}return n==r?p():p(x(r))}return function(n){return n==r?p():d(e,t)}}function N(e,r,t){for(var n=3;n<arguments.length;n++)jr.cc.push(arguments[n]);return p(k(r,t),q(e,r),b)}function U(e){return"}"==e?p():d(h,U)}function _(e){return br&&":"==e?p(B):void 0}function B(e){return"variable"==e?(jr.marked="variable-3",p()):void 0}function D(){return d(F,_,H,J)}function F(e,r){return"variable"==e?(v(r),p()):"["==e?N(F,"]"):"{"==e?N(G,"}"):void 0}function G(e,r){return"variable"!=e||jr.stream.match(/^\s*:/,!1)?("variable"==e&&(jr.marked="property"),p(x(":"),F,H)):(v(r),p(H))}function H(e,r){return"="==r?p(w):void 0}function J(e){return","==e?p(D):void 0}function K(e,r){return"keyword b"==e&&"else"==r?p(k("form"),h,b):void 0}function L(e){return"("==e?p(k(")"),Q,x(")"),b):void 0}function Q(e){return"var"==e?p(D,x(";"),X):";"==e?p(X):"variable"==e?p(R):d(g,x(";"),X)}function R(e,r){return"in"==r||"of"==r?(jr.marked="keyword",p(g)):p(C,X)}function X(e,r){return";"==e?p(Y):"in"==r||"of"==r?(jr.marked="keyword",p(g)):d(g,x(";"),Y)}function Y(e){")"!=e&&p(g)}function Z(e,r){return"*"==r?(jr.marked="keyword",p(Z)):"variable"==e?(v(r),p(Z)):"("==e?p(m,k(")"),q(er,")"),b,h,y):void 0}function er(e){return"spread"==e?p(er):d(F,_)}function rr(e,r){return"variable"==e?(v(r),p(tr)):void 0}function tr(e,r){return"extends"==r?p(g):void 0}function nr(e){return"{"==e?N(W,"}"):void 0}function ar(e,r){return"string"==e?p(h):"variable"==e?(v(r),p(cr)):void 0}function ir(e,r){return"*"==r?(jr.marked="keyword",p(cr,x(";"))):"default"==r?(jr.marked="keyword",p(g,x(";"))):d(h)}function or(e){return"string"==e?p():d(ur,cr)}function ur(e,r){return"{"==e?N(ur,"}"):("variable"==e&&v(r),p())}function cr(e,r){return"from"==r?(jr.marked="keyword",p(g)):void 0}function lr(e){return"]"==e?p():d(w,sr)}function sr(e){return"for"==e?d(fr,x("]")):","==e?p(q(w,"]")):d(q(w,"]"))}function fr(e){return"for"==e?p(L,fr):"if"==e?p(g,fr):void 0}var dr,pr,vr=e.indentUnit,mr=r.statementIndent,yr=r.jsonld,kr=r.json||yr,br=r.typescript,xr=function(){function e(e){return{type:e,style:"keyword"}}var r=e("keyword a"),t=e("keyword b"),n=e("keyword c"),a=e("operator"),i={type:"atom",style:"atom"},o={"if":e("if"),"while":r,"with":r,"else":t,"do":t,"try":t,"finally":t,"return":n,"break":n,"continue":n,"new":n,"delete":n,"throw":n,"debugger":n,"var":e("var"),"const":e("var"),let:e("var"),"function":e("function"),"catch":e("catch"),"for":e("for"),"switch":e("switch"),"case":e("case"),"default":e("default"),"in":a,"typeof":a,"instanceof":a,"true":i,"false":i,"null":i,undefined:i,NaN:i,Infinity:i,"this":e("this"),module:e("module"),"class":e("class"),"super":e("atom"),"yield":n,"export":e("export"),"import":e("import"),"extends":n};if(br){var u={type:"variable",style:"variable-3"},c={"interface":e("interface"),"extends":e("extends"),constructor:e("constructor"),"public":e("public"),"private":e("private"),"protected":e("protected"),"static":e("static"),string:u,number:u,bool:u,any:u};for(var l in c)o[l]=c[l]}return o}(),hr=/[+\-*&%=<>!?|~^]/,gr=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/,wr="([{}])",Mr={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,"this":!0,"jsonld-keyword":!0},jr={state:null,column:null,marked:null,cc:null},Vr={name:"this",next:{name:"arguments"}};return b.lex=!0,{startState:function(e){var t={tokenize:a,lastType:"sof",cc:[],lexical:new l((e||0)-vr,0,"block",!1),localVars:r.localVars,context:r.localVars&&{vars:r.localVars},indented:0};return r.globalVars&&(t.globalVars=r.globalVars),t},token:function(e,r){if(e.sol()&&(r.lexical.hasOwnProperty("align")||(r.lexical.align=!1),r.indented=e.indentation(),c(e,r)),r.tokenize!=o&&e.eatSpace())return null;var t=r.tokenize(e,r);return"comment"==dr?t:(r.lastType="operator"!=dr||"++"!=pr&&"--"!=pr?dr:"incdec",f(r,t,dr,pr,e))},indent:function(e,t){if(e.tokenize==o)return CodeMirror.Pass;if(e.tokenize!=a)return 0;for(var n=t&&t.charAt(0),i=e.lexical,u=e.cc.length-1;u>=0;--u){var c=e.cc[u];if(c==b)i=i.prev;else if(c!=K)break}"stat"==i.type&&"}"==n&&(i=i.prev),mr&&")"==i.type&&"stat"==i.prev.type&&(i=i.prev);var l=i.type,s=n==l;return"vardef"==l?i.indented+("operator"==e.lastType||","==e.lastType?i.info+1:0):"form"==l&&"{"==n?i.indented:"form"==l?i.indented+vr:"stat"==l?i.indented+("operator"==e.lastType||","==e.lastType?mr||vr:0):"switch"!=i.info||s||0==r.doubleIndentSwitch?i.align?i.column+(s?0:1):i.indented+(s?0:vr):i.indented+(/^(?:case|default)\b/.test(t)?vr:2*vr)},electricChars:":{}",blockCommentStart:kr?null:"/*",blockCommentEnd:kr?null:"*/",lineComment:kr?null:"//",fold:"brace",helperType:kr?"json":"javascript",jsonldMode:yr,jsonMode:kr}}),CodeMirror.defineMIME("text/javascript","javascript"),CodeMirror.defineMIME("text/ecmascript","javascript"),CodeMirror.defineMIME("application/javascript","javascript"),CodeMirror.defineMIME("application/ecmascript","javascript"),CodeMirror.defineMIME("application/json",{name:"javascript",json:!0}),CodeMirror.defineMIME("application/x-json",{name:"javascript",json:!0}),CodeMirror.defineMIME("application/ld+json",{name:"javascript",jsonld:!0}),CodeMirror.defineMIME("text/typescript",{name:"javascript",typescript:!0}),CodeMirror.defineMIME("application/typescript",{name:"javascript",typescript:!0});