1(function(a){if(typeof exports=="object"&&typeof module=="object")a(require("../../lib/codemirror"));else if(typeof define=="function"&&define.amd)define(["../../lib/codemirror"],a);else a(CodeMirror)})(function(a){"use strict";a.defineMIME("text/x-erlang","erlang");a.defineMode("erlang",function(b){"use strict";var c=["-type","-spec","-export_type","-opaque"];var d=["after","begin","catch","case","cond","end","fun","if","let","of","query","receive","try","when"];var e=/[\->,;]/;var f=["->",";",","];var g=["and","andalso","band","bnot","bor","bsl","bsr","bxor","div","not","or","orelse","rem","xor"];var h=/[\+\-\*\/<>=\|:!]/;var i=["=","+","-","*","/",">",">=","<","=<","=:=","==","=/=","/=","||","<-","!"];var j=/[<\(\[\{]/;var k=["<<","(","[","{"];var l=/[>\)\]\}]/;var m=["}","]",")",">>"];var n=["is_atom","is_binary","is_bitstring","is_boolean","is_float","is_function","is_integer","is_list","is_number","is_pid","is_port","is_record","is_reference","is_tuple","atom","binary","bitstring","boolean","function","integer","list","number","pid","port","record","reference","tuple"];var o=["abs","adler32","adler32_combine","alive","apply","atom_to_binary","atom_to_list","binary_to_atom","binary_to_existing_atom","binary_to_list","binary_to_term","bit_size","bitstring_to_list","byte_size","check_process_code","contact_binary","crc32","crc32_combine","date","decode_packet","delete_module","disconnect_node","element","erase","exit","float","float_to_list","garbage_collect","get","get_keys","group_leader","halt","hd","integer_to_list","internal_bif","iolist_size","iolist_to_binary","is_alive","is_atom","is_binary","is_bitstring","is_boolean","is_float","is_function","is_integer","is_list","is_number","is_pid","is_port","is_process_alive","is_record","is_reference","is_tuple","length","link","list_to_atom","list_to_binary","list_to_bitstring","list_to_existing_atom","list_to_float","list_to_integer","list_to_pid","list_to_tuple","load_module","make_ref","module_loaded","monitor_node","node","node_link","node_unlink","nodes","notalive","now","open_port","pid_to_list","port_close","port_command","port_connect","port_control","pre_loaded","process_flag","process_info","processes","purge_module","put","register","registered","round","self","setelement","size","spawn","spawn_link","spawn_monitor","spawn_opt","split_binary","statistics","term_to_binary","time","throw","tl","trunc","tuple_size","tuple_to_list","unlink","unregister","whereis"];var p=/[\w@Ø-ÞÀ-Öß-öø-ÿ]/;var q=/[0-7]{1,3}|[bdefnrstv\\"']|\^[a-zA-Z]|x[0-9a-zA-Z]{2}|x{[0-9a-zA-Z]+}/;function r(a,b){if(b.in_string){b.in_string=!u(a);return z(b,a,"string")}if(b.in_atom){b.in_atom=!v(a);return z(b,a,"atom")}if(a.eatSpace()){return z(b,a,"whitespace")}if(!D(b)&&a.match(/-\s*[a-zß-öø-ÿ][\wØ-ÞÀ-Öß-öø-ÿ]*/)){if(y(a.current(),c)){return z(b,a,"type")}else{return z(b,a,"attribute")}}var r=a.next();if(r=="%"){a.skipToEnd();return z(b,a,"comment")}if(r==":"){return z(b,a,"colon")}if(r=="?"){a.eatSpace();a.eatWhile(p);return z(b,a,"macro")}if(r=="#"){a.eatSpace();a.eatWhile(p);return z(b,a,"record")}if(r=="$"){if(a.next()=="\\"&&!a.match(q)){return z(b,a,"error")}return z(b,a,"number")}if(r=="."){return z(b,a,"dot")}if(r=="'"){if(!(b.in_atom=!v(a))){if(a.match(/\s*\/\s*[0-9]/,false)){a.match(/\s*\/\s*[0-9]/,true);return z(b,a,"fun")}if(a.match(/\s*\(/,false)||a.match(/\s*:/,false)){return z(b,a,"function")}}return z(b,a,"atom")}if(r=='"'){b.in_string=!u(a);return z(b,a,"string")}if(/[A-Z_Ø-ÞÀ-Ö]/.test(r)){a.eatWhile(p);return z(b,a,"variable")}if(/[a-z_ß-öø-ÿ]/.test(r)){a.eatWhile(p);if(a.match(/\s*\/\s*[0-9]/,false)){a.match(/\s*\/\s*[0-9]/,true);return z(b,a,"fun")}var w=a.current();if(y(w,d)){return z(b,a,"keyword")}else if(y(w,g)){return z(b,a,"operator")}else if(a.match(/\s*\(/,false)){if(y(w,o)&&(D(b).token!=":"||D(b,2).token=="erlang")){return z(b,a,"builtin")}else if(y(w,n)){return z(b,a,"guard")}else{return z(b,a,"function")}}else if(x(a)==":"){if(w=="erlang"){return z(b,a,"builtin")}else{return z(b,a,"function")}}else if(y(w,["true","false"])){return z(b,a,"boolean")}else{return z(b,a,"atom")}}var A=/[0-9]/;var B=/[0-9a-zA-Z]/;if(A.test(r)){a.eatWhile(A);if(a.eat("#")){if(!a.eatWhile(B)){a.backUp(1)}}else if(a.eat(".")){if(!a.eatWhile(A)){a.backUp(1)}else{if(a.eat(/[eE]/)){if(a.eat(/[-+]/)){if(!a.eatWhile(A)){a.backUp(2)}}else{if(!a.eatWhile(A)){a.backUp(1)}}}}}return z(b,a,"number")}if(s(a,j,k)){return z(b,a,"open_paren")}if(s(a,l,m)){return z(b,a,"close_paren")}if(t(a,e,f)){return z(b,a,"separator")}if(t(a,h,i)){return z(b,a,"operator")}return z(b,a,null)}function s(a,b,c){if(a.current().length==1&&b.test(a.current())){a.backUp(1);while(b.test(a.peek())){a.next();if(y(a.current(),c)){return true}}a.backUp(a.current().length-1)}return false}function t(a,b,c){if(a.current().length==1&&b.test(a.current())){while(b.test(a.peek())){a.next()}while(0<a.current().length){if(y(a.current(),c)){return true}else{a.backUp(1)}}a.next()}return false}function u(a){return w(a,'"',"\\")}function v(a){return w(a,"'","\\")}function w(a,b,c){while(!a.eol()){var d=a.next();if(d==b){return true}else if(d==c){a.next()}}return false}function x(a){var b=a.match(/([\n\s]+|%[^\n]*\n)*(.)/,false);return b?b.pop():""}function y(a,b){return-1<b.indexOf(a)}function z(a,b,c){E(a,B(c,b));switch(c){case"atom":return"atom";case"attribute":return"attribute";case"boolean":return"atom";case"builtin":return"builtin";case"close_paren":return null;case"colon":return null;case"comment":return"comment";case"dot":return null;case"error":return"error";case"fun":return"meta";case"function":return"tag";case"guard":return"property";case"keyword":return"keyword";case"macro":return"variable-2";case"number":return"number";case"open_paren":return null;case"operator":return"operator";case"record":return"bracket";case"separator":return null;case"string":return"string";case"type":return"def";case"variable":return"variable";default:return null}}function A(a,b,c,d){return{token:a,column:b,indent:c,type:d}}function B(a,b){return A(b.current(),b.column(),b.indentation(),a)}function C(a){return A(a,0,0,a)}function D(a,b){var c=a.tokenStack.length;var d=b?b:1;if(c<d){return false}else{return a.tokenStack[c-d]}}function E(a,b){if(!(b.type=="comment"||b.type=="whitespace")){a.tokenStack=F(a.tokenStack,b);a.tokenStack=G(a.tokenStack)}}function F(a,b){var c=a.length-1;if(0<c&&a[c].type==="record"&&b.type==="dot"){a.pop()}else if(0<c&&a[c].type==="group"){a.pop();a.push(b)}else{a.push(b)}return a}function G(a){if(!a.length)return a;var b=a.length-1;if(a[b].type==="dot"){return[]}if(b>1&&a[b].type==="fun"&&a[b-1].token==="fun"){return a.slice(0,b-1)}switch(a[b].token){case"}":return H(a,{g:["{"]});case"]":return H(a,{i:["["]});case")":return H(a,{i:["("]});case">>":return H(a,{i:["<<"]});case"end":return H(a,{i:["begin","case","fun","if","receive","try"]});case",":return H(a,{e:["begin","try","when","->",",","(","[","{","<<"]});case"->":return H(a,{r:["when"],m:["try","if","case","receive"]});case";":return H(a,{E:["case","fun","if","receive","try","when"]});case"catch":return H(a,{e:["try"]});case"of":return H(a,{e:["case"]});case"after":return H(a,{e:["receive","try"]});default:return a}}function H(a,b){for(var c in b){var d=a.length-1;var e=b[c];for(var f=d-1;-1<f;f--){if(y(a[f].token,e)){var g=a.slice(0,f);switch(c){case"m":return g.concat(a[f]).concat(a[d]);case"r":return g.concat(a[d]);case"i":return g;case"g":return g.concat(C("group"));case"E":return g.concat(a[f]);case"e":return g.concat(a[f])}}}}return c=="E"?[]:a}function I(c,d){var e;var f=b.indentUnit;var g=J(d);var h=D(c,1);var i=D(c,2);if(c.in_string||c.in_atom){return a.Pass}else if(!i){return 0}else if(h.token=="when"){return h.column+f}else if(g==="when"&&i.type==="function"){return i.indent+f}else if(g==="("&&h.token==="fun"){return h.column+3}else if(g==="catch"&&(e=M(c,["try"]))){return e.column}else if(y(g,["end","after","of"])){e=M(c,["begin","case","fun","if","receive","try"]);return e?e.column:a.Pass}else if(y(g,m)){e=M(c,k);return e?e.column:a.Pass}else if(y(h.token,[",","|","||"])||y(g,[",","|","||"])){e=K(c);return e?e.column+e.token.length:f}else if(h.token=="->"){if(y(i.token,["receive","case","if","try"])){return i.column+f+f}else{return i.column+f}}else if(y(h.token,k)){return h.column+h.token.length}else{e=L(c);return O(e)?e.column+f:0}}function J(a){var b=a.match(/,|[a-z]+|\}|\]|\)|>>|\|+|\(/);return O(b)&&b.index===0?b[0]:""}function K(a){var b=a.tokenStack.slice(0,-1);var c=N(b,"type",["open_paren"]);return O(b[c])?b[c]:false}function L(a){var b=a.tokenStack;var c=N(b,"type",["open_paren","separator","keyword"]);var d=N(b,"type",["operator"]);if(O(c)&&O(d)&&c<d){return b[c+1]}else if(O(c)){return b[c]}else{return false}}function M(a,b){var c=a.tokenStack;var d=N(c,"token",b);return O(c[d])?c[d]:false}function N(a,b,c){for(var d=a.length-1;-1<d;d--){if(y(a[d][b],c)){return d}}return false}function O(a){return a!==false&&a!=null}return{startState:function(){return{tokenStack:[],in_string:false,in_atom:false}},token:function(a,b){return r(a,b)},indent:function(a,b){return I(a,b)},lineComment:"%"}})});
2//# sourceMappingURL=erlang.min.js.map