--- comment: "CoffeeScript Syntax: version 1" fileTypes: - coffee - Cakefile foldingStartMarker: .*(->|=>)\s*$|.*[\[{]\s*$ foldingStopMarker: ^\s*$|^\s*[}\]]\s*$ keyEquivalent: ^~C name: CoffeeScript patterns: - captures: "1": name: variable.parameter.function.coffee "2": name: storage.type.function.coffee comment: "match stuff like: a -> \xE2\x80\xA6 " match: (\([^()]*?\))\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.double.heredoc.coffee patterns: - match: \\. name: constant.character.escape.coffee - include: "#interpolated_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 - begin: "###(?!#)" captures: "0": name: punctuation.definition.comment.coffee end: "###[ \\t]*\\n" name: comment.block.coffee - captures: "1": name: punctuation.definition.comment.coffee match: (#).*$\n? name: comment.line.coffee - begin: /{3} end: /{3}[imgy]{0,4} name: string.regexp.coffee patterns: - include: "#interpolated_coffee" - include: "#embedded_comment" - match: /(?![\s/*+{}?]).*?[^\\]/[igmy]{0,4}(?![a-zA-Z0-9]) name: string.regexp.coffee - match: \b(?=|<<=|>>=|>>>=|<>|<|>|!|&&|\?|\||\|\||\:|\*=|(?))) 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(?