1(function(a){if(typeof exports=="object"&&typeof module=="object")a(require("../../lib/codemirror"),require("../javascript/javascript"),require("../css/css"),require("../htmlmixed/htmlmixed"));else if(typeof define=="function"&&define.amd)define(["../../lib/codemirror","../javascript/javascript","../css/css","../htmlmixed/htmlmixed"],a);else a(CodeMirror)})(function(a){"use strict";a.defineMode("pug",function(b){var c="keyword";var d="meta";var e="builtin";var f="qualifier";var g={"{":"}","(":")","[":"]"};var h=a.getMode(b,"javascript");function i(){this.javaScriptLine=false;this.javaScriptLineExcludesColon=false;this.javaScriptArguments=false;this.javaScriptArgumentsDepth=0;this.isInterpolating=false;this.interpolationNesting=0;this.jsState=a.startState(h);this.restOfLine="";this.isIncludeFiltered=false;this.isEach=false;this.lastTag="";this.scriptType="";this.isAttrs=false;this.attrsNest=[];this.inAttributeName=true;this.attributeIsType=false;this.attrValue="";this.indentOf=Infinity;this.indentToken="";this.innerMode=null;this.innerState=null;this.innerModeForLine=false}i.prototype.copy=function(){var b=new i;b.javaScriptLine=this.javaScriptLine;b.javaScriptLineExcludesColon=this.javaScriptLineExcludesColon;b.javaScriptArguments=this.javaScriptArguments;b.javaScriptArgumentsDepth=this.javaScriptArgumentsDepth;b.isInterpolating=this.isInterpolating;b.interpolationNesting=this.interpolationNesting;b.jsState=a.copyState(h,this.jsState);b.innerMode=this.innerMode;if(this.innerMode&&this.innerState){b.innerState=a.copyState(this.innerMode,this.innerState)}b.restOfLine=this.restOfLine;b.isIncludeFiltered=this.isIncludeFiltered;b.isEach=this.isEach;b.lastTag=this.lastTag;b.scriptType=this.scriptType;b.isAttrs=this.isAttrs;b.attrsNest=this.attrsNest.slice();b.inAttributeName=this.inAttributeName;b.attributeIsType=this.attributeIsType;b.attrValue=this.attrValue;b.indentOf=this.indentOf;b.indentToken=this.indentToken;b.innerModeForLine=this.innerModeForLine;return b};function j(a,b){if(a.sol()){b.javaScriptLine=false;b.javaScriptLineExcludesColon=false}if(b.javaScriptLine){if(b.javaScriptLineExcludesColon&&a.peek()===":"){b.javaScriptLine=false;b.javaScriptLineExcludesColon=false;return}var c=h.token(a,b.jsState);if(a.eol())b.javaScriptLine=false;return c||true}}function k(a,b){if(b.javaScriptArguments){if(b.javaScriptArgumentsDepth===0&&a.peek()!=="("){b.javaScriptArguments=false;return}if(a.peek()==="("){b.javaScriptArgumentsDepth++}else if(a.peek()===")"){b.javaScriptArgumentsDepth--}if(b.javaScriptArgumentsDepth===0){b.javaScriptArguments=false;return}var c=h.token(a,b.jsState);return c||true}}function l(a){if(a.match(/^yield\b/)){return"keyword"}}function m(a){if(a.match(/^(?:doctype) *([^\n]+)?/)){return d}}function n(a,b){if(a.match("#{")){b.isInterpolating=true;b.interpolationNesting=0;return"punctuation"}}function o(a,b){if(b.isInterpolating){if(a.peek()==="}"){b.interpolationNesting--;if(b.interpolationNesting<0){a.next();b.isInterpolating=false;return"punctuation"}}else if(a.peek()==="{"){b.interpolationNesting++}return h.token(a,b.jsState)||true}}function p(a,b){if(a.match(/^case\b/)){b.javaScriptLine=true;return c}}function q(a,b){if(a.match(/^when\b/)){b.javaScriptLine=true;b.javaScriptLineExcludesColon=true;return c}}function r(a){if(a.match(/^default\b/)){return c}}function s(a,b){if(a.match(/^extends?\b/)){b.restOfLine="string";return c}}function t(a,b){if(a.match(/^append\b/)){b.restOfLine="variable";return c}}function u(a,b){if(a.match(/^prepend\b/)){b.restOfLine="variable";return c}}function v(a,b){if(a.match(/^block\b *(?:(prepend|append)\b)?/)){b.restOfLine="variable";return c}}function w(a,b){if(a.match(/^include\b/)){b.restOfLine="string";return c}}function x(a,b){if(a.match(/^include:([a-zA-Z0-9\-]+)/,false)&&a.match("include")){b.isIncludeFiltered=true;return c}}function y(a,b){if(b.isIncludeFiltered){var c=H(a,b);b.isIncludeFiltered=false;b.restOfLine="string";return c}}function z(a,b){if(a.match(/^mixin\b/)){b.javaScriptLine=true;return c}}function A(a,b){if(a.match(/^\+([-\w]+)/)){if(!a.match(/^\( *[-\w]+ *=/,false)){b.javaScriptArguments=true;b.javaScriptArgumentsDepth=0}return"variable"}if(a.match(/^\+#{/,false)){a.next();b.mixinCallAfter=true;return n(a,b)}}function B(a,b){if(b.mixinCallAfter){b.mixinCallAfter=false;if(!a.match(/^\( *[-\w]+ *=/,false)){b.javaScriptArguments=true;b.javaScriptArgumentsDepth=0}return true}}function C(a,b){if(a.match(/^(if|unless|else if|else)\b/)){b.javaScriptLine=true;return c}}function D(a,b){if(a.match(/^(- *)?(each|for)\b/)){b.isEach=true;return c}}function E(a,b){if(b.isEach){if(a.match(/^ in\b/)){b.javaScriptLine=true;b.isEach=false;return c}else if(a.sol()||a.eol()){b.isEach=false}else if(a.next()){while(!a.match(/^ in\b/,false)&&a.next());return"variable"}}}function F(a,b){if(a.match(/^while\b/)){b.javaScriptLine=true;return c}}function G(a,b){var c;if(c=a.match(/^(\w(?:[-:\w]*\w)?)\/?/)){b.lastTag=c[1].toLowerCase();if(b.lastTag==="script"){b.scriptType="application/javascript"}return"tag"}}function H(c,d){if(c.match(/^:([\w\-]+)/)){var e;if(b&&b.innerModes){e=b.innerModes(c.current().substring(1))}if(!e){e=c.current().substring(1)}if(typeof e==="string"){e=a.getMode(b,e)}U(c,d,e);return"atom"}}function I(a,b){if(a.match(/^(!?=|-)/)){b.javaScriptLine=true;return"punctuation"}}function J(a){if(a.match(/^#([\w-]+)/)){return e}}function K(a){if(a.match(/^\.([\w-]+)/)){return f}}function L(a,b){if(a.peek()=="("){a.next();b.isAttrs=true;b.attrsNest=[];b.inAttributeName=true;b.attrValue="";b.attributeIsType=false;return"punctuation"}}function M(b,c){if(c.isAttrs){if(g[b.peek()]){c.attrsNest.push(g[b.peek()])}if(c.attrsNest[c.attrsNest.length-1]===b.peek()){c.attrsNest.pop()}else if(b.eat(")")){c.isAttrs=false;return"punctuation"}if(c.inAttributeName&&b.match(/^[^=,\)!]+/)){if(b.peek()==="="||b.peek()==="!"){c.inAttributeName=false;c.jsState=a.startState(h);if(c.lastTag==="script"&&b.current().trim().toLowerCase()==="type"){c.attributeIsType=true}else{c.attributeIsType=false}}return"attribute"}var d=h.token(b,c.jsState);if(c.attributeIsType&&d==="string"){c.scriptType=b.current().toString()}if(c.attrsNest.length===0&&(d==="string"||d==="variable"||d==="keyword")){try{Function("","var x "+c.attrValue.replace(/,\s*$/,"").replace(/^!/,""));c.inAttributeName=true;c.attrValue="";b.backUp(b.current().length);return M(b,c)}catch(e){}}c.attrValue+=b.current();return d||true}}function N(a,b){if(a.match(/^&attributes\b/)){b.javaScriptArguments=true;b.javaScriptArgumentsDepth=0;return"keyword"}}function O(a){if(a.sol()&&a.eatSpace()){return"indent"}}function P(a,b){if(a.match(/^ *\/\/(-)?([^\n]*)/)){b.indentOf=a.indentation();b.indentToken="comment";return"comment"}}function Q(a){if(a.match(/^: */)){return"colon"}}function R(a,b){if(a.match(/^(?:\| ?| )([^\n]+)/)){return"string"}if(a.match(/^(<[^\n]*)/,false)){U(a,b,"htmlmixed");b.innerModeForLine=true;return V(a,b,true)}}function S(a,b){if(a.eat(".")){var c=null;if(b.lastTag==="script"&&b.scriptType.toLowerCase().indexOf("javascript")!=-1){c=b.scriptType.toLowerCase().replace(/"|'/g,"")}else if(b.lastTag==="style"){c="css"}U(a,b,c);return"dot"}}function T(a){a.next();return null}function U(c,d,e){e=a.mimeModes[e]||e;e=b.innerModes?b.innerModes(e)||e:e;e=a.mimeModes[e]||e;e=a.getMode(b,e);d.indentOf=c.indentation();if(e&&e.name!=="null"){d.innerMode=e}else{d.indentToken="string"}}function V(b,c,d){if(b.indentation()>c.indentOf||c.innerModeForLine&&!b.sol()||d){if(c.innerMode){if(!c.innerState){c.innerState=c.innerMode.startState?a.startState(c.innerMode,b.indentation()):{}}return b.hideFirstChars(c.indentOf+2,function(){return c.innerMode.token(b,c.innerState)||true})}else{b.skipToEnd();return c.indentToken}}else if(b.sol()){c.indentOf=Infinity;c.indentToken=null;c.innerMode=null;c.innerState=null}}function W(a,b){if(a.sol()){b.restOfLine=""}if(b.restOfLine){a.skipToEnd();var c=b.restOfLine;b.restOfLine="";return c}}function X(){return new i}function Y(a){return a.copy()}function Z(a,b){var c=V(a,b)||W(a,b)||o(a,b)||y(a,b)||E(a,b)||M(a,b)||j(a,b)||k(a,b)||B(a,b)||l(a)||m(a)||n(a,b)||p(a,b)||q(a,b)||r(a)||s(a,b)||t(a,b)||u(a,b)||v(a,b)||w(a,b)||x(a,b)||z(a,b)||A(a,b)||C(a,b)||D(a,b)||F(a,b)||G(a,b)||H(a,b)||I(a,b)||J(a)||K(a)||L(a,b)||N(a,b)||O(a)||R(a,b)||P(a,b)||Q(a)||S(a,b)||T(a);return c===true?null:c}return{startState:X,copyState:Y,token:Z}},"javascript","css","htmlmixed");a.defineMIME("text/x-pug","pug");a.defineMIME("text/x-jade","pug")});
2//# sourceMappingURL=pug.min.js.map