You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
information-system/wysiwyg/plugins/codemirror/js/codemirror.mode.javascript....

1 line
17 KiB
JavaScript

!function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define("mode/javascript/javascript.js",["../../lib/codemirror"],e):e(CodeMirror)}(function(e){e.defineMode("javascript",function(t,r){function n(e){for(var t,r=!1,n=!1;null!=(t=e.next());){if(!r){if("/"==t&&!n)return;"["==t?n=!0:n&&"]"==t&&(n=!1)}r=!r&&"\\"==t}}function a(e,t,r){return Be=e,He=r,t}function i(e,t){var r=e.next();if('"'==r||"'"==r)return t.tokenize=o(r),t.tokenize(e,t);if("."==r&&e.match(/^\d+(?:[eE][+\-]?\d+)?/))return a("number","number");if("."==r&&e.match(".."))return a("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(r))return a(r);if("="==r&&e.eat(">"))return a("=>","operator");if("0"==r&&e.match(/^(?:x[\da-f]+|o[0-7]+|b[01]+)n?/i))return a("number","number");if(/\d/.test(r))return e.match(/^\d*(?:n|(?:\.\d*)?(?:[eE][+\-]?\d+)?)?/),a("number","number");if("/"==r)return e.eat("*")?(t.tokenize=c,c(e,t)):e.eat("/")?(e.skipToEnd(),a("comment","comment")):Ue(e,t,1)?(n(e),e.match(/^\b(([gimyus])(?![gimyus]*\2))+\b/),a("regexp","string-2")):(e.eat("="),a("operator","operator",e.current()));if("`"==r)return t.tokenize=s,s(e,t);if("#"==r)return e.skipToEnd(),a("error","error");if(Qe.test(r))return">"==r&&t.lexical&&">"==t.lexical.type||(e.eat("=")?"!"!=r&&"="!=r||e.eat("="):/[<>*+\-]/.test(r)&&(e.eat(r),">"==r&&e.eat(r))),a("operator","operator",e.current());if(Ke.test(r)){e.eatWhile(Ke);var i=e.current();if("."!=t.lastType){if(Le.propertyIsEnumerable(i)){var u=Le[i];return a(u.type,u.style,i)}if("async"==i&&e.match(/^(\s|\/\*.*?\*\/)*[\[\(\w]/,!1))return a("async","keyword",i)}return a("variable","variable",i)}}function o(e){return function(t,r){var n,o=!1;if(De&&"@"==t.peek()&&t.match(Re))return r.tokenize=i,a("jsonld-keyword","meta");for(;null!=(n=t.next())&&(n!=e||o);)o=!o&&"\\"==n;return o||(r.tokenize=i),a("string","string")}}function c(e,t){for(var r,n=!1;r=e.next();){if("/"==r&&n){t.tokenize=i;break}n="*"==r}return a("comment","comment")}function s(e,t){for(var r,n=!1;null!=(r=e.next());){if(!n&&("`"==r||"$"==r&&e.eat("{"))){t.tokenize=i;break}n=!n&&"\\"==r}return a("quasi","string-2",e.current())}function u(e,t){t.fatArrowAt&&(t.fatArrowAt=null);var r=e.string.indexOf("=>",e.start);if(!(r<0)){if(Ge){var n=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(e.string.slice(e.start,r));n&&(r=n.index)}for(var a=0,i=!1,o=r-1;o>=0;--o){var c=e.string.charAt(o),s=Xe.indexOf(c);if(s>=0&&s<3){if(!a){++o;break}if(0==--a){"("==c&&(i=!0);break}}else if(s>=3&&s<6)++a;else if(Ke.test(c))i=!0;else{if(/["'\/]/.test(c))return;if(i&&!a){++o;break}}}i&&!a&&(t.fatArrowAt=o)}}function f(e,t,r,n,a,i){this.indented=e,this.column=t,this.type=r,this.prev=a,this.info=i,null!=n&&(this.align=n)}function l(e,t){for(var r=e.localVars;r;r=r.next)if(r.name==t)return!0;for(var n=e.context;n;n=n.prev)for(var r=n.vars;r;r=r.next)if(r.name==t)return!0}function d(e,t,r,n,a){var i=e.cc;for(Ze.state=e,Ze.stream=a,Ze.marked=null,Ze.cc=i,Ze.style=t,e.lexical.hasOwnProperty("align")||(e.lexical.align=!0);;){if((i.length?i.pop():Fe?I:E)(r,n)){for(;i.length&&i[i.length-1].lex;)i.pop()();return Ze.marked?Ze.marked:"variable"==r&&l(e,n)?"variable-2":t}}}function p(){for(var e=arguments.length-1;e>=0;e--)Ze.cc.push(arguments[e])}function m(){return p.apply(null,arguments),!0}function v(e,t){for(var r=t;r;r=r.next)if(r.name==e)return!0;return!1}function k(e){var t=Ze.state;if(Ze.marked="def",t.context)if("var"==t.lexical.info&&t.context&&t.context.block){var n=y(e,t.context);if(null!=n)return void(t.context=n)}else if(!v(e,t.localVars))return void(t.localVars=new x(e,t.localVars));r.globalVars&&!v(e,t.globalVars)&&(t.globalVars=new x(e,t.globalVars))}function y(e,t){if(t){if(t.block){var r=y(e,t.prev);return r?r==t.prev?t:new b(r,t.vars,!0):null}return v(e,t.vars)?t:new b(t.prev,new x(e,t.vars),!1)}return null}function w(e){return"public"==e||"private"==e||"protected"==e||"abstract"==e||"readonly"==e}function b(e,t,r){this.prev=e,this.vars=t,this.block=r}function x(e,t){this.name=e,this.next=t}function h(){Ze.state.context=new b(Ze.state.context,Ze.state.localVars,!1),Ze.state.localVars=_e}function g(){Ze.state.context=new b(Ze.state.context,Ze.state.localVars,!0),Ze.state.localVars=null}function j(){Ze.state.localVars=Ze.state.context.vars,Ze.state.context=Ze.state.context.prev}function M(e,t){var r=function(){var r=Ze.state,n=r.indented;if("stat"==r.lexical.type)n=r.lexical.indented;else for(var a=r.lexical;a&&")"==a.type&&a.align;a=a.prev)n=a.indented;r.lexical=new f(n,Ze.stream.column(),e,null,r.lexical,t)};return r.lex=!0,r}function V(){var e=Ze.state;e.lexical.prev&&(")"==e.lexical.type&&(e.indented=e.lexical.indented),e.lexical=e.lexical.prev)}function A(e){function t(r){return r==e?m():";"==e||"}"==r||")"==r||"]"==r?p():m(t)}return t}function E(e,t){return"var"==e?m(M("vardef",t),se,A(";"),V):"keyword a"==e?m(M("form"),$,E,V):"keyword b"==e?m(M("form"),E,V):"keyword d"==e?Ze.stream.match(/^\s*$/,!1)?m():m(M("stat"),O,A(";"),V):"debugger"==e?m(A(";")):"{"==e?m(M("}"),g,X,V,j):";"==e?m():"if"==e?("else"==Ze.state.lexical.info&&Ze.state.cc[Ze.state.cc.length-1]==V&&Ze.state.cc.pop()(),m(M("form"),$,E,V,me)):"function"==e?m(we):"for"==e?m(M("form"),ve,E,V):"class"==e||Ge&&"interface"==t?(Ze.marked="keyword",m(M("form","class"==e?e:t),je,V)):"variable"==e?Ge&&"declare"==t?(Ze.marked="keyword",m(E)):Ge&&("module"==t||"enum"==t||"type"==t)&&Ze.stream.match(/^\s*\w/,!1)?(Ze.marked="keyword","enum"==t?m(Pe):"type"==t?m(xe,A("operator"),ee,A(";")):m(M("form"),ue,A("{"),M("}"),X,V,V)):Ge&&"namespace"==t?(Ze.marked="keyword",m(M("form"),I,E,V)):Ge&&"abstract"==t?(Ze.marked="keyword",m(E)):m(M("stat"),D):"switch"==e?m(M("form"),$,A("{"),M("}","switch"),g,X,V,V,j):"case"==e?m(I,A(":")):"default"==e?m(A(":")):"catch"==e?m(M("form"),h,z,E,V,j):"export"==e?m(M("stat"),Ee,V):"import"==e?m(M("stat"),Ie,V):"async"==e?m(E):"@"==t?m(I,E):p(M("stat"),I,A(";"),V)}function z(e){if("("==e)return m(he,A(")"))}function I(e,t){return C(e,t,!1)}function T(e,t){return C(e,t,!0)}function $(e){return"("!=e?p():m(M(")"),I,A(")"),V)}function C(e,t,r){if(Ze.state.fatArrowAt==Ze.stream.start){var n=r?B:U;if("("==e)return m(h,M(")"),Q(he,")"),V,A("=>"),n,j);if("variable"==e)return p(h,ue,A("=>"),n,j)}var a=r?P:q;return Ye.hasOwnProperty(e)?m(a):"function"==e?m(we,a):"class"==e||Ge&&"interface"==t?(Ze.marked="keyword",m(M("form"),ge,V)):"keyword c"==e||"async"==e?m(r?T:I):"("==e?m(M(")"),O,A(")"),V,a):"operator"==e||"spread"==e?m(r?T:I):"["==e?m(M("]"),qe,V,a):"{"==e?R(G,"}",null,a):"quasi"==e?p(S,a):"new"==e?m(H(r)):"import"==e?m(I):m()}function O(e){return e.match(/[;\}\)\],]/)?p():p(I)}function q(e,t){return","==e?m(I):P(e,t,!1)}function P(e,t,r){var n=0==r?q:P,a=0==r?I:T;return"=>"==e?m(h,r?B:U,j):"operator"==e?/\+\+|--/.test(t)||Ge&&"!"==t?m(n):Ge&&"<"==t&&Ze.stream.match(/^([^>]|<.*?>)*>\s*\(/,!1)?m(M(">"),Q(ee,">"),V,n):"?"==t?m(I,A(":"),a):m(a):"quasi"==e?p(S,n):";"!=e?"("==e?R(T,")","call",n):"."==e?m(F,n):"["==e?m(M("]"),O,A("]"),V,n):Ge&&"as"==t?(Ze.marked="keyword",m(ee,n)):"regexp"==e?(Ze.state.lastType=Ze.marked="operator",Ze.stream.backUp(Ze.stream.pos-Ze.stream.start-1),m(a)):void 0:void 0}function S(e,t){return"quasi"!=e?p():"${"!=t.slice(t.length-2)?m(S):m(I,N)}function N(e){if("}"==e)return Ze.marked="string-2",Ze.state.tokenize=s,m(S)}function U(e){return u(Ze.stream,Ze.state),p("{"==e?E:I)}function B(e){return u(Ze.stream,Ze.state),p("{"==e?E:T)}function H(e){return function(t){return"."==t?m(e?W:J):"variable"==t&&Ge?m(ie,e?P:q):p(e?T:I)}}function J(e,t){if("target"==t)return Ze.marked="keyword",m(q)}function W(e,t){if("target"==t)return Ze.marked="keyword",m(P)}function D(e){return":"==e?m(V,E):p(q,A(";"),V)}function F(e){if("variable"==e)return Ze.marked="property",m()}function G(e,t){if("async"==e)return Ze.marked="property",m(G);if("variable"==e||"keyword"==Ze.style){if(Ze.marked="property","get"==t||"set"==t)return m(K);var r;return Ge&&Ze.state.fatArrowAt==Ze.stream.start&&(r=Ze.stream.match(/^\s*:\s*/,!1))&&(Ze.state.fatArrowAt=Ze.stream.pos+r[0].length),m(L)}return"number"==e||"string"==e?(Ze.marked=De?"property":Ze.style+" property",m(L)):"jsonld-keyword"==e?m(L):Ge&&w(t)?(Ze.marked="keyword",m(G)):"["==e?m(I,Y,A("]"),L):"spread"==e?m(T,L):"*"==t?(Ze.marked="keyword",m(G)):":"==e?p(L):void 0}function K(e){return"variable"!=e?p(L):(Ze.marked="property",m(we))}function L(e){return":"==e?m(T):"("==e?p(we):void 0}function Q(e,t,r){function n(a,i){if(r?r.indexOf(a)>-1:","==a){var o=Ze.state.lexical;return"call"==o.info&&(o.pos=(o.pos||0)+1),m(function(r,n){return r==t||n==t?p():p(e)},n)}return a==t||i==t?m():r&&r.indexOf(";")>-1?p(e):m(A(t))}return function(r,a){return r==t||a==t?m():p(e,n)}}function R(e,t,r){for(var n=3;n<arguments.length;n++)Ze.cc.push(arguments[n]);return m(M(t,r),Q(e,t),V)}function X(e){return"}"==e?m():p(E,X)}function Y(e,t){if(Ge){if(":"==e||"in"==t)return m(ee);if("?"==t)return m(Y)}}function Z(e){if(Ge&&":"==e)return Ze.stream.match(/^\s*\w+\s+is\b/,!1)?m(I,_,ee):m(ee)}function _(e,t){if("is"==t)return Ze.marked="keyword",m()}function ee(e,t){return"keyof"==t||"typeof"==t||"infer"==t?(Ze.marked="keyword",m("typeof"==t?T:ee)):"variable"==e||"void"==t?(Ze.marked="type",m(ae)):"|"==t||"&"==t?m(ee):"string"==e||"number"==e||"atom"==e?m(ae):"["==e?m(M("]"),Q(ee,"]",","),V,ae):"{"==e?m(M("}"),Q(re,"}",",;"),V,ae):"("==e?m(Q(ne,")"),te,ae):"<"==e?m(Q(ee,">"),ee):void 0}function te(e){if("=>"==e)return m(ee)}function re(e,t){return"variable"==e||"keyword"==Ze.style?(Ze.marked="property",m(re)):"?"==t||"number"==e||"string"==e?m(re):":"==e?m(ee):"["==e?m(A("variable"),Y,A("]"),re):"("==e?p(be,re):void 0}function ne(e,t){return"variable"==e&&Ze.stream.match(/^\s*[?:]/,!1)||"?"==t?m(ne):":"==e?m(ee):"spread"==e?m(ne):p(ee)}function ae(e,t){return"<"==t?m(M(">"),Q(ee,">"),V,ae):"|"==t||"."==e||"&"==t?m(ee):"["==e?m(ee,A("]"),ae):"extends"==t||"implements"==t?(Ze.marked="keyword",m(ee)):"?"==t?m(ee,A(":"),ee):void 0}function ie(e,t){if("<"==t)return m(M(">"),Q(ee,">"),V,ae)}function oe(){return p(ee,ce)}function ce(e,t){if("="==t)return m(ee)}function se(e,t){return"enum"==t?(Ze.marked="keyword",m(Pe)):p(ue,Y,de,pe)}function ue(e,t){return Ge&&w(t)?(Ze.marked="keyword",m(ue)):"variable"==e?(k(t),m()):"spread"==e?m(ue):"["==e?R(le,"]"):"{"==e?R(fe,"}"):void 0}function fe(e,t){return"variable"!=e||Ze.stream.match(/^\s*:/,!1)?("variable"==e&&(Ze.marked="property"),"spread"==e?m(ue):"}"==e?p():"["==e?m(I,A("]"),A(":"),fe):m(A(":"),ue,de)):(k(t),m(de))}function le(){return p(ue,de)}function de(e,t){if("="==t)return m(T)}function pe(e){if(","==e)return m(se)}function me(e,t){if("keyword b"==e&&"else"==t)return m(M("form","else"),E,V)}function ve(e,t){return"await"==t?m(ve):"("==e?m(M(")"),ke,V):void 0}function ke(e){return"var"==e?m(se,ye):"variable"==e?m(ye):p(ye)}function ye(e,t){return")"==e?m():";"==e?m(ye):"in"==t||"of"==t?(Ze.marked="keyword",m(I,ye)):p(I,ye)}function we(e,t){return"*"==t?(Ze.marked="keyword",m(we)):"variable"==e?(k(t),m(we)):"("==e?m(h,M(")"),Q(he,")"),V,Z,E,j):Ge&&"<"==t?m(M(">"),Q(oe,">"),V,we):void 0}function be(e,t){return"*"==t?(Ze.marked="keyword",m(be)):"variable"==e?(k(t),m(be)):"("==e?m(h,M(")"),Q(he,")"),V,Z,j):Ge&&"<"==t?m(M(">"),Q(oe,">"),V,be):void 0}function xe(e,t){return"keyword"==e||"variable"==e?(Ze.marked="type",m(xe)):"<"==t?m(M(">"),Q(oe,">"),V):void 0}function he(e,t){return"@"==t&&m(I,he),"spread"==e?m(he):Ge&&w(t)?(Ze.marked="keyword",m(he)):Ge&&"this"==e?m(Y,de):p(ue,Y,de)}function ge(e,t){return"variable"==e?je(e,t):Me(e,t)}function je(e,t){if("variable"==e)return k(t),m(Me)}function Me(e,t){return"<"==t?m(M(">"),Q(oe,">"),V,Me):"extends"==t||"implements"==t||Ge&&","==e?("implements"==t&&(Ze.marked="keyword"),m(Ge?ee:I,Me)):"{"==e?m(M("}"),Ve,V):void 0}function Ve(e,t){return"async"==e||"variable"==e&&("static"==t||"get"==t||"set"==t||Ge&&w(t))&&Ze.stream.match(/^\s+[\w$\xa1-\uffff]/,!1)?(Ze.marked="keyword",m(Ve)):"variable"==e||"keyword"==Ze.style?(Ze.marked="property",m(Ge?Ae:we,Ve)):"number"==e||"string"==e?m(Ge?Ae:we,Ve):"["==e?m(I,Y,A("]"),Ge?Ae:we,Ve):"*"==t?(Ze.marked="keyword",m(Ve)):Ge&&"("==e?p(be,Ve):";"==e||","==e?m(Ve):"}"==e?m():"@"==t?m(I,Ve):void 0}function Ae(e,t){if("?"==t)return m(Ae);if(":"==e)return m(ee,de);if("="==t)return m(T);var r=Ze.state.lexical.prev;return p(r&&"interface"==r.info?be:we)}function Ee(e,t){return"*"==t?(Ze.marked="keyword",m(Oe,A(";"))):"default"==t?(Ze.marked="keyword",m(I,A(";"))):"{"==e?m(Q(ze,"}"),Oe,A(";")):p(E)}function ze(e,t){return"as"==t?(Ze.marked="keyword",m(A("variable"))):"variable"==e?p(T,ze):void 0}function Ie(e){return"string"==e?m():"("==e?p(I):p(Te,$e,Oe)}function Te(e,t){return"{"==e?R(Te,"}"):("variable"==e&&k(t),"*"==t&&(Ze.marked="keyword"),m(Ce))}function $e(e){if(","==e)return m(Te,$e)}function Ce(e,t){if("as"==t)return Ze.marked="keyword",m(Te)}function Oe(e,t){if("from"==t)return Ze.marked="keyword",m(I)}function qe(e){return"]"==e?m():p(Q(T,"]"))}function Pe(){return p(M("form"),ue,A("{"),M("}"),Q(Se,"}"),V,V)}function Se(){return p(ue,de)}function Ne(e,t){return"operator"==e.lastType||","==e.lastType||Qe.test(t.charAt(0))||/[,.]/.test(t.charAt(0))}function Ue(e,t,r){return t.tokenize==i&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(t.lastType)||"quasi"==t.lastType&&/\{\s*$/.test(e.string.slice(0,e.pos-(r||0)))}var Be,He,Je=t.indentUnit,We=r.statementIndent,De=r.jsonld,Fe=r.json||De,Ge=r.typescript,Ke=r.wordCharacters||/[\w$\xa1-\uffff]/,Le=function(){function e(e){return{type:e,style:"keyword"}}var t=e("keyword a"),r=e("keyword b"),n=e("keyword c"),a=e("keyword d"),i=e("operator"),o={type:"atom",style:"atom"};return{if:e("if"),while:t,with:t,else:r,do:r,try:r,finally:r,return:a,break:a,continue:a,new:e("new"),delete:n,void:n,throw:n,debugger:e("debugger"),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:i,typeof:i,instanceof:i,true:o,false:o,null:o,undefined:o,NaN:o,Infinity:o,this:e("this"),class:e("class"),super:e("atom"),yield:n,export:e("export"),import:e("import"),extends:n,await:n}}(),Qe=/[+\-*&%=<>!?|~^@]/,Re=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/,Xe="([{}])",Ye={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,"jsonld-keyword":!0},Ze={state:null,column:null,marked:null,cc:null},_e=new x("this",new x("arguments",null));return j.lex=!0,V.lex=!0,{startState:function(e){var t={tokenize:i,lastType:"sof",cc:[],lexical:new f((e||0)-Je,0,"block",!1),localVars:r.localVars,context:r.localVars&&new b(null,null,!1),indented:e||0};return r.globalVars&&"object"==typeof r.globalVars&&(t.globalVars=r.globalVars),t},token:function(e,t){if(e.sol()&&(t.lexical.hasOwnProperty("align")||(t.lexical.align=!1),t.indented=e.indentation(),u(e,t)),t.tokenize!=c&&e.eatSpace())return null;var r=t.tokenize(e,t);return"comment"==Be?r:(t.lastType="operator"!=Be||"++"!=He&&"--"!=He?Be:"incdec",d(t,r,Be,He,e))},indent:function(t,n){if(t.tokenize==c)return e.Pass;if(t.tokenize!=i)return 0;var a,o=n&&n.charAt(0),s=t.lexical;if(!/^\s*else\b/.test(n))for(var u=t.cc.length-1;u>=0;--u){var f=t.cc[u];if(f==V)s=s.prev;else if(f!=me)break}for(;("stat"==s.type||"form"==s.type)&&("}"==o||(a=t.cc[t.cc.length-1])&&(a==q||a==P)&&!/^[,\.=+\-*:?[\(]/.test(n));)s=s.prev;We&&")"==s.type&&"stat"==s.prev.type&&(s=s.prev);var l=s.type,d=o==l;return"vardef"==l?s.indented+("operator"==t.lastType||","==t.lastType?s.info.length+1:0):"form"==l&&"{"==o?s.indented:"form"==l?s.indented+Je:"stat"==l?s.indented+(Ne(t,n)?We||Je:0):"switch"!=s.info||d||0==r.doubleIndentSwitch?s.align?s.column+(d?0:1):s.indented+(d?0:Je):s.indented+(/^(?:case|default)\b/.test(n)?Je:2*Je)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:Fe?null:"/*",blockCommentEnd:Fe?null:"*/",blockCommentContinue:Fe?null:" * ",lineComment:Fe?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:Fe?"json":"javascript",jsonldMode:De,jsonMode:Fe,expressionAllowed:Ue,skipExpression:function(e){var t=e.cc[e.cc.length-1];t!=I&&t!=T||e.cc.pop()}}}),e.registerHelper("wordChars","javascript",/[\w$]/),e.defineMIME("text/javascript","javascript"),e.defineMIME("text/ecmascript","javascript"),e.defineMIME("application/javascript","javascript"),e.defineMIME("application/x-javascript","javascript"),e.defineMIME("application/ecmascript","javascript"),e.defineMIME("application/json",{name:"javascript",json:!0}),e.defineMIME("application/x-json",{name:"javascript",json:!0}),e.defineMIME("application/ld+json",{name:"javascript",jsonld:!0}),e.defineMIME("text/typescript",{name:"javascript",typescript:!0}),e.defineMIME("application/typescript",{name:"javascript",typescript:!0})}),function(e){"function"==typeof e.define&&e.define("modeJs",["mode/javascript/javascript.js"],function(){})}(this);