import javascript from './javascript.mjs' const lang = Object.freeze(JSON.parse("{\"displayName\":\"CoffeeScript\",\"name\":\"coffee\",\"patterns\":[{\"include\":\"#jsx\"},{\"captures\":{\"1\":{\"name\":\"keyword.operator.new.coffee\"},\"2\":{\"name\":\"storage.type.class.coffee\"},\"3\":{\"name\":\"entity.name.type.instance.coffee\"},\"4\":{\"name\":\"entity.name.type.instance.coffee\"}},\"match\":\"(new)\\\\s+(?:(class)\\\\s+(\\\\w+(?:\\\\.\\\\w*)*)?|(\\\\w+(?:\\\\.\\\\w*)*))\",\"name\":\"meta.class.instance.constructor.coffee\"},{\"begin\":\"'''\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.coffee\"}},\"end\":\"'''\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.coffee\"}},\"name\":\"string.quoted.single.heredoc.coffee\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.escape.backslash.coffee\"}},\"match\":\"(\\\\\\\\).\",\"name\":\"constant.character.escape.backslash.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\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.escape.backslash.coffee\"}},\"match\":\"(\\\\\\\\).\",\"name\":\"constant.character.escape.backslash.coffee\"},{\"include\":\"#interpolated_coffee\"}]},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.string.begin.coffee\"},\"2\":{\"name\":\"source.js.embedded.coffee\",\"patterns\":[{\"include\":\"source.js\"}]},\"3\":{\"name\":\"punctuation.definition.string.end.coffee\"}},\"match\":\"(`)(.*)(`)\",\"name\":\"string.quoted.script.coffee\"},{\"begin\":\"(?)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.coffee\"},\"2\":{\"name\":\"variable.other.readwrite.instance.coffee\"},\"3\":{\"name\":\"keyword.operator.assignment.coffee\"}},\"end\":\"[-=]>\",\"endCaptures\":{\"0\":{\"name\":\"storage.type.function.coffee\"}},\"name\":\"meta.function.coffee\",\"patterns\":[{\"include\":\"#function_params\"}]},{\"begin\":\"(?<=\\\\s|^)(?:((')([^']*?)('))|((\\\")([^\\\"]*?)(\\\")))\\\\s*([:=])\\\\s*(?=(\\\\([^()]*\\\\)\\\\s*)?[-=]>)\",\"beginCaptures\":{\"1\":{\"name\":\"string.quoted.single.coffee\"},\"2\":{\"name\":\"punctuation.definition.string.begin.coffee\"},\"3\":{\"name\":\"entity.name.function.coffee\"},\"4\":{\"name\":\"punctuation.definition.string.end.coffee\"},\"5\":{\"name\":\"string.quoted.double.coffee\"},\"6\":{\"name\":\"punctuation.definition.string.begin.coffee\"},\"7\":{\"name\":\"entity.name.function.coffee\"},\"8\":{\"name\":\"punctuation.definition.string.end.coffee\"},\"9\":{\"name\":\"keyword.operator.assignment.coffee\"}},\"end\":\"[-=]>\",\"endCaptures\":{\"0\":{\"name\":\"storage.type.function.coffee\"}},\"name\":\"meta.function.coffee\",\"patterns\":[{\"include\":\"#function_params\"}]},{\"begin\":\"(?=(\\\\([^()]*\\\\)\\\\s*)?[-=]>)\",\"end\":\"[-=]>\",\"endCaptures\":{\"0\":{\"name\":\"storage.type.function.coffee\"}},\"name\":\"meta.function.inline.coffee\",\"patterns\":[{\"include\":\"#function_params\"}]},{\"begin\":\"(?<=\\\\s|^)(\\\\{)(?=[^\\\"#']+?}[]}\\\\s]*=)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.destructuring.begin.bracket.curly.coffee\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.destructuring.end.bracket.curly.coffee\"}},\"name\":\"meta.variable.assignment.destructured.object.coffee\",\"patterns\":[{\"include\":\"$self\"},{\"match\":\"[$A-Z_a-z]\\\\w*\",\"name\":\"variable.assignment.coffee\"}]},{\"begin\":\"(?<=\\\\s|^)(\\\\[)(?=[^\\\"#']+?][]}\\\\s]*=)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.destructuring.begin.bracket.square.coffee\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.destructuring.end.bracket.square.coffee\"}},\"name\":\"meta.variable.assignment.destructured.array.coffee\",\"patterns\":[{\"include\":\"$self\"},{\"match\":\"[$A-Z_a-z]\\\\w*\",\"name\":\"variable.assignment.coffee\"}]},{\"match\":\"\\\\b(?|-\\\\d|[\\\"'\\\\[{]))\",\"end\":\"(?=\\\\s*(?|-\\\\d|[\\\"'\\\\[{])))\",\"beginCaptures\":{\"1\":{\"name\":\"variable.other.readwrite.instance.coffee\"},\"2\":{\"patterns\":[{\"include\":\"#function_names\"}]}},\"end\":\"(?=\\\\s*(?)\",\"name\":\"meta.tag.coffee\"}]},\"jsx-expression\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"meta.brace.curly.coffee\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.curly.coffee\"}},\"patterns\":[{\"include\":\"#double_quoted_string\"},{\"include\":\"$self\"}]},\"jsx-tag\":{\"patterns\":[{\"begin\":\"(<)([-.\\\\w]+)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.coffee\"},\"2\":{\"name\":\"entity.name.tag.coffee\"}},\"end\":\"(/?>)\",\"name\":\"meta.tag.coffee\",\"patterns\":[{\"include\":\"#jsx-attribute\"}]}]},\"method_calls\":{\"patterns\":[{\"begin\":\"(?:(\\\\.)|(::))\\\\s*([$\\\\w]+)\\\\s*(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.separator.method.period.coffee\"},\"2\":{\"name\":\"keyword.operator.prototype.coffee\"},\"3\":{\"patterns\":[{\"include\":\"#method_names\"}]}},\"end\":\"(?<=\\\\))\",\"name\":\"meta.method-call.coffee\",\"patterns\":[{\"include\":\"#arguments\"}]},{\"begin\":\"(?:(\\\\.)|(::))\\\\s*([$\\\\w]+)\\\\s*(?=\\\\s+(?!(?|-\\\\d|[\\\"'\\\\[{])))\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.separator.method.period.coffee\"},\"2\":{\"name\":\"keyword.operator.prototype.coffee\"},\"3\":{\"patterns\":[{\"include\":\"#method_names\"}]}},\"end\":\"(?=\\\\s*(?>>??|\\\\|)=)\"},{\"match\":\"<<|>>>?\",\"name\":\"keyword.operator.bitwise.shift.coffee\"},{\"match\":\"!=|<=|>=|==|[<>]\",\"name\":\"keyword.operator.comparison.coffee\"},{\"match\":\"&&|!|\\\\|\\\\|\",\"name\":\"keyword.operator.logical.coffee\"},{\"match\":\"[\\\\&^|~]\",\"name\":\"keyword.operator.bitwise.coffee\"},{\"captures\":{\"1\":{\"name\":\"variable.assignment.coffee\"},\"2\":{\"name\":\"keyword.operator.assignment.coffee\"}},\"match\":\"([$A-Z_a-z][$\\\\w]*)?\\\\s*(=|:(?!:))(?![=>])\"},{\"match\":\"--\",\"name\":\"keyword.operator.decrement.coffee\"},{\"match\":\"\\\\+\\\\+\",\"name\":\"keyword.operator.increment.coffee\"},{\"match\":\"\\\\.\\\\.\\\\.\",\"name\":\"keyword.operator.splat.coffee\"},{\"match\":\"\\\\?\",\"name\":\"keyword.operator.existential.coffee\"},{\"match\":\"[-%*+/]\",\"name\":\"keyword.operator.coffee\"},{\"captures\":{\"1\":{\"name\":\"keyword.operator.logical.coffee\"},\"2\":{\"name\":\"keyword.operator.comparison.coffee\"}},\"match\":\"\\\\b(?