!function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)}((function(e){"use strict";e.defineMode("pig",(function(e,O){var T=O.keywords,E=O.builtins,I=O.types,t=O.multiLineStrings,N=/[*+\-%<>=&?:\/!|]/;function A(e,O,T){return O.tokenize=T,T(e,O)}function r(e,O){for(var T,E=!1;T=e.next();){if("/"==T&&E){O.tokenize=R;break}E="*"==T}return"comment"}function R(e,O){var S,n=e.next();return'"'==n||"'"==n?A(e,O,(S=n,function(e,O){for(var T,E=!1,I=!1;null!=(T=e.next());){if(T==S&&!E){I=!0;break}E=!E&&"\\"==T}return(I||!E&&!t)&&(O.tokenize=R),"error"})):/[\[\]{}\(\),;\.]/.test(n)?null:/\d/.test(n)?(e.eatWhile(/[\w\.]/),"number"):"/"==n?e.eat("*")?A(e,O,r):(e.eatWhile(N),"operator"):"-"==n?e.eat("-")?(e.skipToEnd(),"comment"):(e.eatWhile(N),"operator"):N.test(n)?(e.eatWhile(N),"operator"):(e.eatWhile(/[\w\$_]/),T&&T.propertyIsEnumerable(e.current().toUpperCase())&&!e.eat(")")&&!e.eat(".")?"keyword":E&&E.propertyIsEnumerable(e.current().toUpperCase())?"variable-2":I&&I.propertyIsEnumerable(e.current().toUpperCase())?"variable-3":"variable")}return{startState:function(){return{tokenize:R,startOfLine:!0}},token:function(e,O){return e.eatSpace()?null:O.tokenize(e,O)}}})),function(){function O(e){for(var O={},T=e.split(" "),E=0;E