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";function b(a){var b={};for(var c=0;c<a.length;c++)b[a[c]]=true;return b}var c=b(["_","var","let","class","enum","extension","import","protocol","struct","func","typealias","associatedtype","open","public","internal","fileprivate","private","deinit","init","new","override","self","subscript","super","convenience","dynamic","final","indirect","lazy","required","static","unowned","unowned(safe)","unowned(unsafe)","weak","as","is","break","case","continue","default","else","fallthrough","for","guard","if","in","repeat","switch","where","while","defer","return","inout","mutating","nonmutating","catch","do","rethrows","throw","throws","try","didSet","get","set","willSet","assignment","associativity","infix","left","none","operator","postfix","precedence","precedencegroup","prefix","right","Any","AnyObject","Type","dynamicType","Self","Protocol","__COLUMN__","__FILE__","__FUNCTION__","__LINE__"]);var d=b(["var","let","class","enum","extension","import","protocol","struct","func","typealias","associatedtype","for"]);var e=b(["true","false","nil","self","super","_"]);var f=b(["Array","Bool","Character","Dictionary","Double","Float","Int","Int8","Int16","Int32","Int64","Never","Optional","Set","String","UInt8","UInt16","UInt32","UInt64","Void"]);var g="+-/*%=|&<>~^?!";var h=":;,.(){}[]";var i=/^\-?0b[01][01_]*/;var j=/^\-?0o[0-7][0-7_]*/;var k=/^\-?0x[\dA-Fa-f][\dA-Fa-f_]*(?:(?:\.[\dA-Fa-f][\dA-Fa-f_]*)?[Pp]\-?\d[\d_]*)?/;var l=/^\-?\d[\d_]*(?:\.\d[\d_]*)?(?:[Ee]\-?\d[\d_]*)?/;var m=/^\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1/;var n=/^\.(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/;var o=/^\#[A-Za-z]+/;var p=/^@(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/;function q(a,b,q){if(a.sol())b.indented=a.indentation();if(a.eatSpace())return null;var r=a.peek();if(r=="/"){if(a.match("//")){a.skipToEnd();return"comment"}if(a.match("/*")){b.tokenize.push(t);return t(a,b)}}if(a.match(o))return"builtin";if(a.match(p))return"attribute";if(a.match(i))return"number";if(a.match(j))return"number";if(a.match(k))return"number";if(a.match(l))return"number";if(a.match(n))return"property";if(g.indexOf(r)>-1){a.next();return"operator"}if(h.indexOf(r)>-1){a.next();a.match("..");return"punctuation"}var u;if(u=a.match(/("""|"|')/)){var v=s.bind(null,u[0]);b.tokenize.push(v);return v(a,b)}if(a.match(m)){var w=a.current();if(f.hasOwnProperty(w))return"variable-2";if(e.hasOwnProperty(w))return"atom";if(c.hasOwnProperty(w)){if(d.hasOwnProperty(w))b.prev="define";return"keyword"}if(q=="define")return"def";return"variable"}a.next();return null}function r(){var a=0;return function(b,c,d){var e=q(b,c,d);if(e=="punctuation"){if(b.current()=="(")++a;else if(b.current()==")"){if(a==0){b.backUp(1);c.tokenize.pop();return c.tokenize[c.tokenize.length-1](b,c)}else--a}}return e}}function s(a,b,c){var d=a.length==1;var e,f=false;while(e=b.peek()){if(f){b.next();if(e=="("){c.tokenize.push(r());return"string"}f=false}else if(b.match(a)){c.tokenize.pop();return"string"}else{b.next();f=e=="\\"}}if(d){c.tokenize.pop()}return"string"}function t(a,b){var c;while(true){a.match(/^[^\/*]+/,true);c=a.next();if(!c)break;if(c==="/"&&a.eat("*")){b.tokenize.push(t)}else if(c==="*"&&a.eat("/")){b.tokenize.pop()}}return"comment"}function u(a,b,c){this.prev=a;this.align=b;this.indented=c}function v(a,b){var c=b.match(/^\s*($|\/[\/\*])/,false)?null:b.column()+1;a.context=new u(a.context,c,a.indented)}function w(a){if(a.context){a.indented=a.context.indented;a.context=a.context.prev}}a.defineMode("swift",function(a){return{startState:function(){return{prev:null,context:null,indented:0,tokenize:[]}},token:function(a,b){var c=b.prev;b.prev=null;var d=b.tokenize[b.tokenize.length-1]||q;var e=d(a,b,c);if(!e||e=="comment")b.prev=c;else if(!b.prev)b.prev=e;if(e=="punctuation"){var f=/[\(\[\{]|([\]\)\}])/.exec(a.current());if(f)(f[1]?w:v)(b,a)}return e},indent:function(b,c){var d=b.context;if(!d)return 0;var e=/^[\]\}\)]/.test(c);if(d.align!=null)return d.align-(e?1:0);return d.indented+(e?0:a.indentUnit)},electricInput:/^\s*[\)\}\]]$/,lineComment:"//",blockCommentStart:"/*",blockCommentEnd:"*/",fold:"brace",closeBrackets:"()[]{}''\"\"``"}});a.defineMIME("text/x-swift","swift")});
2//# sourceMappingURL=swift.min.js.map