Spade
Mini Shell
| Directory:~$ /home/lmsyaran/public_html/j3/media/editors/codemirror/mode/swift/ |
| [Home] [System Details] [Kill Me] |
!(function(a){"object"==typeof
exports&&"object"==typeof
module?a(require("../../lib/codemirror")):"function"==typeof
define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use
strict";function b(a){for(var
b={},c=0;c<a.length;c++)b[a[c]]=!0;return b}function
c(a,b,c){if(a.sol()&&(b.indented=a.indentation()),a.eatSpace())return
null;var d=a.peek();if("/"==d){if(a.match("//"))return
a.skipToEnd(),"comment";if(a.match("/*"))return
b.tokenize.push(f),f(a,b)}if(a.match(v))return"builtin";if(a.match(w))return"attribute";if(a.match(p))return"number";if(a.match(q))return"number";if(a.match(r))return"number";if(a.match(s))return"number";if(a.match(u))return"property";if(n.indexOf(d)>-1)return
a.next(),"operator";if(o.indexOf(d)>-1)return
a.next(),a.match(".."),"punctuation";var
g;if(g=a.match(/("""|"|')/)){var
h=e.bind(null,g[0]);return b.tokenize.push(h),h(a,b)}if(a.match(t)){var
i=a.current();return
m.hasOwnProperty(i)?"variable-2":l.hasOwnProperty(i)?"atom":j.hasOwnProperty(i)?(k.hasOwnProperty(i)&&(b.prev="define"),"keyword"):"define"==c?"def":"variable"}return
a.next(),null}function d(){var a=0;return function(b,d,e){var
f=c(b,d,e);if("punctuation"==f)if("("==b.current())++a;else
if(")"==b.current()){if(0==a)return
b.backUp(1),d.tokenize.pop(),d.tokenize[d.tokenize.length-1](b,d);--a}return
f}}function e(a,b,c){for(var
e,f=1==a.length,g=!1;e=b.peek();)if(g){if(b.next(),"("==e)return
c.tokenize.push(d()),"string";g=!1}else{if(b.match(a))return
c.tokenize.pop(),"string";b.next(),g="\\"==e}return
f&&c.tokenize.pop(),"string"}function f(a,b){for(var
c;;){if(a.match(/^[^\/*]+/,!0),!(c=a.next()))break;"/"===c&&a.eat("*")?b.tokenize.push(f):"*"===c&&a.eat("/")&&b.tokenize.pop()}return"comment"}function
g(a,b,c){this.prev=a,this.align=b,this.indented=c}function h(a,b){var
c=b.match(/^\s*($|\/[\/\*])/,!1)?null:b.column()+1;a.context=new
g(a.context,c,a.indented)}function
i(a){a.context&&(a.indented=a.context.indented,a.context=a.context.prev)}var
j=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__"]),k=b(["var","let","class","enum","extension","import","protocol","struct","func","typealias","associatedtype","for"]),l=b(["true","false","nil","self","super","_"]),m=b(["Array","Bool","Character","Dictionary","Double","Float","Int","Int8","Int16","Int32","Int64","Never","Optional","Set","String","UInt8","UInt16","UInt32","UInt64","Void"]),n="+-/*%=|&<>~^?!",o=":;,.(){}[]",p=/^\-?0b[01][01_]*/,q=/^\-?0o[0-7][0-7_]*/,r=/^\-?0x[\dA-Fa-f][\dA-Fa-f_]*(?:(?:\.[\dA-Fa-f][\dA-Fa-f_]*)?[Pp]\-?\d[\d_]*)?/,s=/^\-?\d[\d_]*(?:\.\d[\d_]*)?(?:[Ee]\-?\d[\d_]*)?/,t=/^\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1/,u=/^\.(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/,v=/^\#[A-Za-z]+/,w=/^@(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/;a.defineMode("swift",(function(a){return{startState:function(){return{prev:null,context:null,indented:0,tokenize:[]}},token:function(a,b){var
d=b.prev;b.prev=null;var
e=b.tokenize[b.tokenize.length-1]||c,f=e(a,b,d);if(f&&"comment"!=f?b.prev||(b.prev=f):b.prev=d,"punctuation"==f){var
g=/[\(\[\{]|([\]\)\}])/.exec(a.current());g&&(g[1]?i:h)(b,a)}return
f},indent:function(b,c){var d=b.context;if(!d)return 0;var
e=/^[\]\}\)]/.test(c);return
null!=d.align?d.align-(e?1:0):d.indented+(e?0:a.indentUnit)},electricInput:/^\s*[\)\}\]]$/,lineComment:"//",blockCommentStart:"/*",blockCommentEnd:"*/",fold:"brace",closeBrackets:"()[]{}''\"\"``"}})),a.defineMIME("text/x-swift","swift")}));