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.defineMode("velocity",function(){function a(a){var b={},c=a.split(" ");for(var d=0;d<c.length;++d)b[c[d]]=true;return b}var b=a("#end #else #break #stop #[[ #]] "+"#{end} #{else} #{break} #{stop}");var c=a("#if #elseif #foreach #set #include #parse #macro #define #evaluate "+"#{if} #{elseif} #{foreach} #{set} #{include} #{parse} #{macro} #{define} #{evaluate}");var d=a("$foreach.count $foreach.hasNext $foreach.first $foreach.last $foreach.topmost $foreach.parent.count $foreach.parent.hasNext $foreach.parent.first $foreach.parent.last $foreach.parent $velocityCount $!bodyContent $bodyContent");var e=/[+\-*&%=<>!?:\/|]/;function f(a,b,c){b.tokenize=c;return c(a,b)}function g(a,g){var k=g.beforeParams;g.beforeParams=false;var l=a.next();if(l=="'"&&!g.inString&&g.inParams){g.lastTokenWasBuiltin=false;return f(a,g,h(l))}else if(l=='"'){g.lastTokenWasBuiltin=false;if(g.inString){g.inString=false;return"string"}else if(g.inParams)return f(a,g,h(l))}else if(/[\[\]{}\(\),;\.]/.test(l)){if(l=="("&&k)g.inParams=true;else if(l==")"){g.inParams=false;g.lastTokenWasBuiltin=true}return null}else if(/\d/.test(l)){g.lastTokenWasBuiltin=false;a.eatWhile(/[\w\.]/);return"number"}else if(l=="#"&&a.eat("*")){g.lastTokenWasBuiltin=false;return f(a,g,i)}else if(l=="#"&&a.match(/ *\[ *\[/)){g.lastTokenWasBuiltin=false;return f(a,g,j)}else if(l=="#"&&a.eat("#")){g.lastTokenWasBuiltin=false;a.skipToEnd();return"comment"}else if(l=="$"){a.eatWhile(/[\w\d\$_\.{}-]/);if(d&&d.propertyIsEnumerable(a.current())){return"keyword"}else{g.lastTokenWasBuiltin=true;g.beforeParams=true;return"builtin"}}else if(e.test(l)){g.lastTokenWasBuiltin=false;a.eatWhile(e);return"operator"}else{a.eatWhile(/[\w\$_{}@]/);var m=a.current();if(b&&b.propertyIsEnumerable(m))return"keyword";if(c&&c.propertyIsEnumerable(m)||a.current().match(/^#@?[a-z0-9_]+ *$/i)&&a.peek()=="("&&!(c&&c.propertyIsEnumerable(m.toLowerCase()))){g.beforeParams=true;g.lastTokenWasBuiltin=false;return"keyword"}if(g.inString){g.lastTokenWasBuiltin=false;return"string"}if(a.pos>m.length&&a.string.charAt(a.pos-m.length-1)=="."&&g.lastTokenWasBuiltin)return"builtin";g.lastTokenWasBuiltin=false;return null}}function h(a){return function(b,c){var d=false,e,f=false;while((e=b.next())!=null){if(e==a&&!d){f=true;break}if(a=='"'&&b.peek()=="$"&&!d){c.inString=true;f=true;break}d=!d&&e=="\\"}if(f)c.tokenize=g;return"string"}}function i(a,b){var c=false,d;while(d=a.next()){if(d=="#"&&c){b.tokenize=g;break}c=d=="*"}return"comment"}function j(a,b){var c=0,d;while(d=a.next()){if(d=="#"&&c==2){b.tokenize=g;break}if(d=="]")c++;else if(d!=" ")c=0}return"meta"}return{startState:function(){return{tokenize:g,beforeParams:false,inParams:false,inString:false,lastTokenWasBuiltin:false}},token:function(a,b){if(a.eatSpace())return null;return b.tokenize(a,b)},blockCommentStart:"#*",blockCommentEnd:"*#",lineComment:"##",fold:"velocity"}});a.defineMIME("text/velocity","velocity")});
2//# sourceMappingURL=velocity.min.js.map