function O(O){for(var T={},E=O.split(" "),I=0;I=&?:\/!|]/;function S(O,T,E){return T.tokenize=E,E(O,T)}function t(O,T){for(var E,I=!1;E=O.next();){if("/"==E&&I){T.tokenize=L;break}I="*"==E}return"comment"}function L(O,T){var E,I=O.next();return'"'==I||"'"==I?S(O,T,(E=I,function(O,T){for(var I,N=!1,A=!1;null!=(I=O.next());){if(I==E&&!N){A=!0;break}N=!N&&"\\"==I}return!A&&N||(T.tokenize=L),"error"})):/[\[\]{}\(\),;\.]/.test(I)?null:/\d/.test(I)?(O.eatWhile(/[\w\.]/),"number"):"/"==I?O.eat("*")?S(O,T,t):(O.eatWhile(R),"operator"):"-"==I?O.eat("-")?(O.skipToEnd(),"comment"):(O.eatWhile(R),"operator"):R.test(I)?(O.eatWhile(R),"operator"):(O.eatWhile(/[\w\$_]/),A&&A.propertyIsEnumerable(O.current().toUpperCase())&&!O.eat(")")&&!O.eat(".")?"keyword":N&&N.propertyIsEnumerable(O.current().toUpperCase())?"builtin":e&&e.propertyIsEnumerable(O.current().toUpperCase())?"type":"variable")}const r={name:"pig",startState:function(){return{tokenize:L,startOfLine:!0}},token:function(O,T){return O.eatSpace()?null:T.tokenize(O,T)},languageData:{autocomplete:(T+I+E).split(" ")}};export{r as pig};