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("d",function(b,c){var d=b.indentUnit,e=c.statementIndentUnit||d,f=c.keywords||{},g=c.builtin||{},h=c.blockKeywords||{},i=c.atoms||{},j=c.hooks||{},k=c.multiLineStrings;var l=/[+\-*&%=<>!?|\/]/;var m;function n(a,b){var c=a.next();if(j[c]){var d=j[c](a,b);if(d!==false)return d}if(c=='"'||c=="'"||c=="`"){b.tokenize=o(c);return b.tokenize(a,b)}if(/[\[\]{}\(\),;\:\.]/.test(c)){m=c;return null}if(/\d/.test(c)){a.eatWhile(/[\w\.]/);return"number"}if(c=="/"){if(a.eat("+")){b.tokenize=q;return q(a,b)}if(a.eat("*")){b.tokenize=p;return p(a,b)}if(a.eat("/")){a.skipToEnd();return"comment"}}if(l.test(c)){a.eatWhile(l);return"operator"}a.eatWhile(/[\w\$_\xa1-\uffff]/);var e=a.current();if(f.propertyIsEnumerable(e)){if(h.propertyIsEnumerable(e))m="newstatement";return"keyword"}if(g.propertyIsEnumerable(e)){if(h.propertyIsEnumerable(e))m="newstatement";return"builtin"}if(i.propertyIsEnumerable(e))return"atom";return"variable"}function o(a){return function(b,c){var d=false,e,f=false;while((e=b.next())!=null){if(e==a&&!d){f=true;break}d=!d&&e=="\\"}if(f||!(d||k))c.tokenize=null;return"string"}}function p(a,b){var c=false,d;while(d=a.next()){if(d=="/"&&c){b.tokenize=null;break}c=d=="*"}return"comment"}function q(a,b){var c=false,d;while(d=a.next()){if(d=="/"&&c){b.tokenize=null;break}c=d=="+"}return"comment"}function r(a,b,c,d,e){this.indented=a;this.column=b;this.type=c;this.align=d;this.prev=e}function s(a,b,c){var d=a.indented;if(a.context&&a.context.type=="statement")d=a.context.indented;return a.context=new r(d,b,c,null,a.context)}function t(a){var b=a.context.type;if(b==")"||b=="]"||b=="}")a.indented=a.context.indented;return a.context=a.context.prev}return{startState:function(a){return{tokenize:null,context:new r((a||0)-d,0,"top",false),indented:0,startOfLine:true}},token:function(a,b){var c=b.context;if(a.sol()){if(c.align==null)c.align=false;b.indented=a.indentation();b.startOfLine=true}if(a.eatSpace())return null;m=null;var d=(b.tokenize||n)(a,b);if(d=="comment"||d=="meta")return d;if(c.align==null)c.align=true;if((m==";"||m==":"||m==",")&&c.type=="statement")t(b);else if(m=="{")s(b,a.column(),"}");else if(m=="[")s(b,a.column(),"]");else if(m=="(")s(b,a.column(),")");else if(m=="}"){while(c.type=="statement")c=t(b);if(c.type=="}")c=t(b);while(c.type=="statement")c=t(b)}else if(m==c.type)t(b);else if((c.type=="}"||c.type=="top")&&m!=";"||c.type=="statement"&&m=="newstatement")s(b,a.column(),"statement");b.startOfLine=false;return d},indent:function(b,c){if(b.tokenize!=n&&b.tokenize!=null)return a.Pass;var f=b.context,g=c&&c.charAt(0);if(f.type=="statement"&&g=="}")f=f.prev;var h=g==f.type;if(f.type=="statement")return f.indented+(g=="{"?0:e);else if(f.align)return f.column+(h?0:1);else return f.indented+(h?0:d)},electricChars:"{}",blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:"//",fold:"brace"}});function b(a){var b={},c=a.split(" ");for(var d=0;d<c.length;++d)b[c[d]]=true;return b}var c="body catch class do else enum for foreach foreach_reverse if in interface mixin "+"out scope struct switch try union unittest version while with";a.defineMIME("text/x-d",{name:"d",keywords:b("abstract alias align asm assert auto break case cast cdouble cent cfloat const continue "+"debug default delegate delete deprecated export extern final finally function goto immutable "+"import inout invariant is lazy macro module new nothrow override package pragma private "+"protected public pure ref return shared short static super synchronized template this "+"throw typedef typeid typeof volatile __FILE__ __LINE__ __gshared __traits __vector __parameters "+c),blockKeywords:b(c),builtin:b("bool byte char creal dchar double float idouble ifloat int ireal long real short ubyte "+"ucent uint ulong ushort wchar wstring void size_t sizediff_t"),atoms:b("exit failure success true false null"),hooks:{"@":function(a,b){a.eatWhile(/[\w\$_]/);return"meta"}}})});
2//# sourceMappingURL=d.min.js.map