comment CoffeeScript Syntax: version 1 fileTypes coffee Cakefile foldingStartMarker ^.*[:=] \{[^\}]*$ foldingStopMarker \s*\} name CoffeeScript patterns captures 1 name variable.parameter.function.coffee 2 name variable.parameter.function.coffee 4 name variable.parameter.function.coffee 5 name storage.type.function.coffee comment match stuff like: a -> … match (\()([a-zA-Z0-9_?.\$]*(,\s*[a-zA-Z0-9_?.\$]+)*)(\))\s*((=|-)>) name meta.inline.function.coffee captures 1 name keyword.operator.new.coffee 2 name entity.name.type.instance.coffee match (new)\s+(\w+(?:\.\w*)?) name meta.class.instance.constructor begin ("""|''') beginCaptures 0 name punctuation.definition.string.begin.coffee end ("""|''') endCaptures 0 name punctuation.definition.string.end.coffee name string.quoted.heredoc.coffee begin ` beginCaptures 0 name punctuation.definition.string.begin.coffee end ` endCaptures 0 name punctuation.definition.string.end.coffee name string.quoted.script.coffee patterns match \\(x\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.) name constant.character.escape.coffee captures 1 name punctuation.definition.comment.coffee match (#).*$\n? name comment.line.coffee begin (?<=[=(:\s]|^|return)\s*(/)(?![\s/*+{}?]) beginCaptures 1 name punctuation.definition.string.begin.coffee end (/)[igmy]* endCaptures 1 name punctuation.definition.string.end.coffee name string.regexp.coffee patterns match \\. name constant.character.escape.coffee match \b(break|by|catch|continue|else|finally|for|in|of|if|return|switch|then|throw|try|unless|when|while)\b name keyword.control.coffee captures 1 name variable.assignment.coffee match (?=[a-zA-Z\$_])([a-zA-Z\$_](\w|\$|\.)*\s*(?=(?!\::)\:(?!(\s*\(.*\))?\s*((=|-)>)))) name variable.assignment.coffee begin (?<=\s|^)(\[)(?=.*?\]\s*:) beginCaptures 0 name keyword.operator.coffee end (\]\s*:) endCaptures 0 name keyword.operator.coffee name meta.variable.assignment.destructured.coffee patterns include #variable_name include #instance_variable include #single_quoted_string include #double_quoted_string include #numeric captures 2 name entity.name.function.coffee match (\s*)(?=[a-zA-Z\$_])([a-zA-Z\$_](\w|\$|:|\.)*\s*(?=\:(\s*\(.*\))?\s*((=|-)>))) name meta.function.coffee match (=|-)> name storage.type.function.coffee match \b(true|on|yes)\b name constant.language.boolean.true.coffee match \b(false|off|no)\b name constant.language.boolean.false.coffee match \bnull\b name constant.language.null.coffee match \b(super|this|extends)\b name variable.language.coffee captures 1 name storage.type.class.coffee 2 name entity.name.type.class.coffee 3 name entity.other.inherited-class.coffee 4 name keyword.control.inheritance.coffee match (class)\s+([a-zA-Z\$_]\w+)(\s+(extends)\s+[a-zA-Z\$_]\w*)? name meta.class.coffee match \b(debugger|\\)\b name keyword.other.coffee match !|%|&|\*|\/|\-\-|\-|\+\+|\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\?|\|\||\:|\*=|(?<!\()/=|%=|\+=|\-=|&=|\^=|\b(instanceof|new|delete|typeof|and|or|is|isnt|not)\b name keyword.operator.coffee match \b(Infinity|NaN|undefined)\b name constant.language.coffee match \; name punctuation.terminator.statement.coffee match ,[ |\t]* name meta.delimiter.object.comma.coffee match \. name meta.delimiter.method.period.coffee match \{|\} name meta.brace.curly.coffee match \(|\) name meta.brace.round.coffee match \[|\]\s* name meta.brace.square.coffee include #instance_variable include #single_quoted_string include #double_quoted_string include #numeric repository double_quoted_string patterns begin " beginCaptures 0 name punctuation.definition.string.begin.coffee end " endCaptures 0 name punctuation.definition.string.end.coffee name string.quoted.double.coffee patterns match \\(x\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.) name constant.character.escape.coffee include #interpolated_coffee instance_variable patterns match (@)([a-zA-Z_\$]\w*)? name variable.other.readwrite.instance.coffee interpolated_coffee patterns begin \$\{ captures 0 name punctuation.section.embedded.coffee end \} name source.coffee.embedded.source patterns include $self captures 1 name punctuation.definition.variable.coffee match (\$)@[a-zA-Z_]\w*(\.\w+)* name variable.other.readwrite.coffee captures 1 name punctuation.definition.variable.coffee match (\$)(?!@)[a-zA-Z_]\w*(\.\w+)* name source.coffee.embedded.source numeric patterns match (?<!\$)\b((0(x|X)[0-9a-fA-F]+)|([0-9]+(\.[0-9]+)?(e[+\-]?[0-9]+)?))\b name constant.numeric.coffee single_quoted_string patterns begin ' beginCaptures 0 name punctuation.definition.string.begin.coffee end ' endCaptures 0 name punctuation.definition.string.end.coffee name string.quoted.single.coffee patterns match \\(x\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.) name constant.character.escape.coffee variable_name patterns captures 1 name variable.assignment.coffee match ([a-zA-Z\$_]\w*(\.\w+)*) name variable.assignment.coffee scopeName source.coffee uuid 5B520980-A7D5-4E10-8582-1A4C889A8DE5