{"name":"LiveScript","scopeName":"source.livescript","patterns":[{"name":"storage.type.function.livescript","match":"(?x)\n\t\t\t\t!?[~-]{1,2}\u003e\\*?\n\t\t\t\t|\u003c[~-]{1,2}!?\n\t\t\t\t|\\(\\s* (?= instanceof[\\s)]|and[\\s)]|or[\\s)]|is[\\s)]|isnt[\\s)]|in[\\s)]|import[\\s)]|import\\ all[\\s)] |\\.|[-+/*%^\u0026\u003c\u003e=|][\\b\\s)\\w$]|\\*\\*|\\%\\%)\n\t\t\t\t| (?\u003c=[\\s(]instanceof|[\\s(]and|[\\s(]or|[\\s(]is|[\\s(]isnt|[\\s(]in|[\\s(]import|[\\s(]import\\ all|[\\s(]do|\\.|\\*\\*|\\%\\%|[\\b\\s(\\w$][-+/*%^\u0026\u003c\u003e=|]) \\s*\\)\n\t\t\t"},{"name":"comment.block.livescript","begin":"\\/\\*","end":"\\*\\/","patterns":[{"name":"storage.type.annotation.livescriptscript","match":"@\\w*"}],"captures":{"0":{"name":"punctuation.definition.comment.livescript"}}},{"name":"comment.line.number-sign.livescript","match":"(#)(?!\\{).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.livescript"}}},{"match":"((?:!|~|!~|~!)?function\\*?)\\s+([$\\w\\-]*[$\\w]+)","captures":{"1":{"name":"storage.type.function.livescript"},"2":{"name":"entity.name.function.livescript"}}},{"match":"(new)\\s+(\\w+(?:\\.\\w*)*)","captures":{"1":{"name":"keyword.operator.new.livescript"},"2":{"name":"entity.name.type.instance.livescript"}}},{"name":"keyword.illegal.livescript","match":"\\b(package|private|protected|public|interface|enum|static)(?!-)\\b"},{"name":"string.quoted.heredoc.livescript","begin":"'''","end":"'''","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.livescript"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.livescript"}}},{"name":"string.quoted.double.heredoc.livescript","begin":"\"\"\"","end":"\"\"\"","patterns":[{"name":"constant.character.escape.livescript","match":"\\\\."},{"include":"#interpolated_livescript"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.livescript"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.livescript"}}},{"name":"string.quoted.script.livescript","begin":"``","end":"``","patterns":[{"name":"constant.character.escape.livescript","match":"\\\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.livescript"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.livescript"}}},{"name":"string.array-literal.livescript","begin":"\u003c\\[","end":"\\]\u003e"},{"name":"string.regexp.livescript","match":"/{2}(?![\\s=/*+{}?]).*?[^\\\\]/[igmy]{0,4}(?![a-zA-Z0-9])/{2}"},{"name":"string.regexp.livescript","begin":"/{2}\\n","end":"/{2}[imgy]{0,4}","patterns":[{"include":"#embedded_spaced_comment"},{"include":"#interpolated_livescript"}]},{"name":"string.regexp.livescript","begin":"/{2}","end":"/{2}[imgy]{0,4}","patterns":[{"name":"constant.character.escape.livescript","match":"\\\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)"},{"include":"#interpolated_livescript"}]},{"name":"string.regexp.livescript","match":"/(?![\\s=/*+{}?]).*?[^\\\\]/[igmy]{0,4}(?![a-zA-Z0-9])"},{"name":"keyword.operator.livescript","match":"(?x)\n\t\t\t\t\\b(?\u003c![\\.\\$\\-@])(\n\t\t\t\t\tinstanceof|new|delete|typeof|and|or|is|isnt|not\n\t\t\t\t)(?!\\-|\\s*:)\\b\n\t\t\t"},{"name":"keyword.operator.livescript","match":"\u003c\\||\\|\u003e"},{"name":"keyword.control.livescript","match":"=\u003e"},{"name":"keyword.control.livescript","match":"(?x)\n\t\t\t\t\\b(?\u003c![\\.\\$\\-@])(?:\n\t\t\t\treturn|break|continue|throw\n\t\t\t\t|try|if|while|for|for\\s+own|switch|unless|until\n\t\t\t\t|catch|finally|else|nobreak|case|default|fallthrough|when|otherwise|then\n\t\t\t\t|yield\n\t\t\t\t)(?!\\-|\\s*:)\\b\n\t\t\t"},{"name":"keyword.operator.livescript","match":"(?x)\n\t\t\t\tand=|or=|%|\u0026|\\^|\\*|\\/|(?\u003c![a-zA-Z$_])(\\-)?\\-(?!\\-?\u003e)|\\+\\+|\\+|\n\t\t\t\t~(?!~?\u003e)|==|=|!=|\u003c=|\u003e=|\u003c\u003c=|\u003e\u003e=|\n\t\t\t\t\u003e\u003e\u003e=|\u003c\u003e|\u003c(?!\\[)|(?\u003c!\\])\u003e|(?\u003c!\\w)!(?!([~\\-]+)?\u003e)|\u0026\u0026|\\.\\.(\\.)?|\\s\\.\\s|\\?|\\|\\||\\:|\\*=|(?\u003c!\\()/=|%=|\\+=|\\-=|\\.=|\u0026=\n\t\t\t\t|\\^=\n\t\t\t"},{"name":"storage.type.function.livescript","match":"(?x)\n\t\t\t\t\\b(?\u003c![\\.\\$\\-@])(?:\n\t\t\t\tfunction\n\t\t\t\t)(?!\\-|\\s*:)\\b\n\t\t\t"},{"name":"keyword.other.livescript","match":"(?x)\n\t\t\t\t\\b(?\u003c![\\.\\$\\-@])(?:\n\t\t\t\tthis|throw|then|try|typeof!?|til|to\n\t\t\t\t|continue|const|case|catch|class\n\t\t\t\t|in|instanceof|import|import\\s+all|implements|if|is\n\t\t\t\t|default|delete|debugger|do\n\t\t\t\t|for|for\\s+own|finally|function|from|fallthrough\n\t\t\t\t|super|switch\n\t\t\t\t|else|nobreak|extends|export|eval\n\t\t\t\t|and|arguments\n\t\t\t\t|new|not\n\t\t\t\t|unless|until\n\t\t\t\t|while|with|when\n\t\t\t\t|of|or|otherwise\n\t\t\t\t|let|var|loop\n\t\t\t\t|match\n\t\t\t\t|by|yield\n\t\t\t\t)(?!\\-|\\s*:)\\b\n\t\t\t"},{"match":"([a-zA-Z\\$_](?:[\\w$.-])*)\\s*(?!\\::)((:)|(=(?!\u003e)))\\s*(?!(\\s*!?\\s*\\(.*\\))?\\s*(!?[~-]{1,2}\u003e\\*?))","captures":{"1":{"name":"variable.assignment.livescript"},"3":{"name":"punctuation.separator.key-value, keyword.operator.livescript"},"4":{"name":"keyword.operator.livescript"}}},{"name":"meta.variable.assignment.destructured.livescript","begin":"(?\u003c=\\s|^)([\\[\\{])(?=.*?[\\]\\}]\\s+[:=])","end":"([\\]\\}]\\s*[:=])","patterns":[{"include":"#variable_name"},{"include":"#instance_variable"},{"include":"#single_quoted_string"},{"include":"#double_quoted_string"},{"include":"#numeric"}],"beginCaptures":{"0":{"name":"keyword.operator.livescript"}},"endCaptures":{"0":{"name":"keyword.operator.livescript"}}},{"name":"meta.function.livescript","match":"(?x)\n\t\t\t\t(\\s*)\n\t\t\t\t(?=[a-zA-Z\\$_])\n\t\t\t\t([a-zA-Z\\$_]([\\w$.:-])*)\\s*\n\t\t\t\t(?=[:=](\\s*!?\\s*\\(.*\\))?\\s*(!?[~-]{1,2}\u003e\\*?))\n\t\t\t","captures":{"2":{"name":"entity.name.function.livescript"},"3":{"name":"entity.name.function.livescript"},"4":{"name":"variable.parameter.function.livescript"},"5":{"name":"storage.type.function.livescript"}}},{"name":"constant.language.boolean.true.livescript","match":"\\b(?\u003c!\\.)(true|on|yes)(?!\\s*:)\\b"},{"name":"constant.language.boolean.false.livescript","match":"\\b(?\u003c!\\.)(false|off|no)(?!\\s*:)\\b"},{"name":"constant.language.null.livescript","match":"\\b(?\u003c!\\.)(null|void)(?!\\s*:)\\b"},{"name":"variable.language.livescript","match":"\\b(?\u003c!\\.)(super|this|extends)(?!\\s*:)\\b"},{"name":"meta.class.livescript","match":"(class\\b)\\s+(@?[a-zA-Z$_][\\w$.-]*)?(?:\\s+(extends)\\s+(@?[a-zA-Z$_][\\w$.-]*))?","captures":{"1":{"name":"storage.type.class.livescript"},"2":{"name":"entity.name.type.class.livescript"},"3":{"name":"keyword.control.inheritance.livescript"},"4":{"name":"entity.other.inherited-class.livescript"}}},{"name":"keyword.other.livescript","match":"\\b(debugger|\\\\)\\b"},{"name":"support.class.livescript","match":"(?x)\\b(\n\t\t\t\tArray|ArrayBuffer|Blob|Boolean|Date|document|event|Function|\n\t\t\t\tInt(8|16|32|64)Array|Math|Map|Number|\n\t\t\t\tObject|Proxy|RegExp|Set|String|WeakMap|\n\t\t\t\twindow|Uint(8|16|32|64)Array|XMLHttpRequest\n\t\t\t)\\b"},{"name":"entity.name.type.object.livescript","match":"\\b(console)\\b"},{"name":"constant.language.livescript","match":"\\b(Infinity|NaN|undefined)\\b"},{"name":"punctuation.terminator.statement.livescript","match":"\\;"},{"name":"meta.delimiter.object.comma.livescript","match":",[ |\\t]*"},{"name":"meta.delimiter.method.period.livescript","match":"\\."},{"name":"meta.brace.curly.livescript","match":"\\{|\\}"},{"name":"meta.brace.round.livescript","match":"\\(|\\)"},{"name":"meta.brace.square.livescript","match":"\\[|\\]\\s*"},{"include":"#instance_variable"},{"include":"#backslash_string"},{"include":"#single_quoted_string"},{"include":"#double_quoted_string"},{"include":"#numeric"},{"match":"()(@|@@|[$\\w\\-]*[$\\w]+)\\s*(`)","captures":{"1":{"name":"keyword.operator.livescript"},"2":{"name":"meta.function-call.livescript"},"3":{"name":"keyword.operator.livescript"}}},{"name":"keyword.operator.livescript","match":"`"},{"match":"()(@|@@|[$\\w\\-]*[$\\w]+)(?:(\\??\\!)|[(])","captures":{"1":{"name":"keyword.operator.livescript"},"2":{"name":"meta.function-call.livescript"},"3":{"name":"keyword.operator.livescript"}}},{"match":"(@|@@|[$\\w\\-]*[$\\w]+)(\\?)? (?!\\s*(((by|of|and|or|with|when|unless|if|is|isnt|else|nobreak|for|from|not in|in|catch|til|to|then|import|extends|implements|instanceof)\\b)|[=:.*\\/+\\-%\\^\u003c\u003e][ =)]|[`}%*)]|/(?!.*?/)|\u0026\u0026|[.][^.]|=\u003e|\\/ +|\\||\\|\\||\\-\\-|\\+\\+|\\|\u003e|\u003c|\\||$|\\n|\\#|/\\*))","captures":{"1":{"name":"meta.function-call.livescript"},"2":{"name":"keyword.operator.livescript"}}},{"name":"keyword.control.livescript","match":"\\| _"},{"name":"keyword.control.livescript","match":"\\|(?![.])"},{"name":"keyword.operator.livescript","match":"\\|"},{"name":"support.function.console.livescript","match":"((?\u003c=console\\.)(debug|warn|info|log|error|time(End|-end)|assert))\\b"},{"name":"support.function.livescript","match":"(?x)\\b(\n\t\t\t\tdecodeURI(Component)?|encodeURI(Component)?|eval|parse(Float|Int)|require\n\t\t\t)\\b"},{"name":"support.function.prelude.livescript","match":"(?x)(?\u003c![.-])\\b(\n\t\t\t\tmap|filter|reject|partition|find|each|head|tail|last|initial|empty|\n\t\t\t\tvalues|keys|length|cons|append|join|reverse|fold(l|r)?1?|unfoldr|\n\t\t\t\tand(List|-list)|or(List|-list)|any|all|unique|sum|product|mean|compact|\n\t\t\t\tconcat(Map|-map)?|maximum|minimum|scan(l|r)?1?|replicate|slice|apply|\n\t\t\t\tsplit(At|-at)?|take(While|-while)?|drop(While|-while)?|span|first|\n\t\t\t\tbreak(It|-it)|list(ToObj|-to-obj)|obj(ToFunc|-to-func)|\n\t\t\t\tpairs(ToObj|-to-obj)|obj(ToPairs|-to-pairs|ToLists|-to-lists)|\n\t\t\t\tzip(All|-all)?(With|-with)?|compose|curry|partial|flip|fix|\n\t\t\t\tsort(With|-with|By|-by)?|group(By|-by)|break(List|-list|Str|-str)|\n\t\t\t\tdifference|intersection|union|average|flatten|chars|unchars|repeat|\n\t\t\t\tlines|unlines|words|unwords|max|min|negate|abs|signum|quot|rem|div|mod|\n\t\t\t\trecip|pi|tau|exp|sqrt|ln|pow|sin|cos|tan|asin|acos|atan|atan2|truncate|\n\t\t\t\tround|ceiling|floor|is(It|-it)NaN|even|odd|gcd|lcm|disabled__id\n\t\t\t)\\b(?![.-])"},{"name":"support.function.semireserved.livescript","match":"(?x)(?\u003c![.-])\\b(that|it|e|_)\\b"},{"name":"support.function.method.array.livescript","match":"(?x)((?\u003c=(\\.|\\]|\\)))(\n\t\t\t\tapply|call|concat|every|filter|for(Each|-each)|\n\t\t\t\tfrom|has(Own|-own)(Property|-property)|index(Of|-of)|\n\t\t\t\tis(Prototype|-prototype)(Of|-of)|join|last(Index|-index)(Of|-of)|\n\t\t\t\tmap|of|pop|property(Is|-is)(Enumerable|-enumerable)|push|\n\t\t\t\treduce(Right|-right)?|reverse|shift|slice|some|sort|\n\t\t\t\tsplice|to(Locale|-locale)?(String|-string)|unshift|valueOf\n\t\t\t))\\b(?!-) "},{"name":"support.function.static.array.livescript","match":"(?x)((?\u003c=Array\\.)(\n\t\t\t\tisArray\n\t\t\t))\\b"},{"name":"support.function.static.object.livescript","match":"(?x)((?\u003c=Object\\.)(\n\t\t\t\tcreate|define(Propert|-propert)(ies|y)|freeze|\n\t\t\t\tget(Own|-own)(Property|-property)(Descriptors?|Names)|\n\t\t\t\tget(Property|-property)(Descriptor|Names)|getPrototypeOf|\n\t\t\t\tis((Extensible|-extensible)|(Frozen|-frozen)|(Sealed|-sealed))?|\n\t\t\t\tkeys|prevent(Extensions|-extensions)|seal\n\t\t\t))\\b"},{"name":"support.function.static.math.livescript","match":"(?x)((?\u003c=Math\\.)(\n\t\t\t\tabs|acos|acosh|asin|asinh|atan|atan2|atanh|ceil|cos|cosh|exp|expm1|floor|\n\t\t\t\thypot|log|log10|log1p|log2|max|min|pow|random|round|sign|sin|sinh|sqrt|\n\t\t\t\ttan|tanh|trunc\n\t\t\t))\\b"},{"name":"support.function.static.number.livescript","match":"(?x)((?\u003c=Number\\.)(\n\t\t\t\tis(Finite|Integer|NaN)|to(Integer|-integer)\n\t\t\t))\\b"},{"name":"variable.other.livescript","match":"[\\$\\w][\\w-]*"}],"repository":{"backslash_string":{"patterns":[{"contentName":"string.quoted.single.livescript","begin":"\\\\([\\\\)\\s,\\};\\]])?","end":"(?=[\\\\)\\s,\\};\\]])","beginCaptures":{"0":{"name":"string.quoted.single.livescript"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.livescript"}}}]},"constructor_variable":{"patterns":[{"name":"variable.other.readwrite.constructor.livescript","match":"([a-zA-Z$_][\\w$-]*)(@{2})([a-zA-Z$_][\\w$-]*)?"}]},"double_quoted_string":{"patterns":[{"name":"string.quoted.double.livescript","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.livescript","match":"\\\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)"},{"include":"#interpolated_livescript"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.livescript"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.livescript"}}}]},"embedded_comment":{"patterns":[{"name":"comment.line.number-sign.livescript","match":"(?\u003c!\\\\)(#).*$\\n","captures":{"1":{"name":"punctuation.definition.comment.livescript"}}}]},"embedded_spaced_comment":{"patterns":[{"name":"comment.line.number-sign.livescript","match":"(?\u003c!\\\\)(#\\s).*$\\n","captures":{"1":{"name":"punctuation.definition.comment.livescript"}}}]},"instance_variable":{"patterns":[{"name":"variable.other.readwrite.instance.livescript","match":"(?\u003c![$\\w\\-])(@)"}]},"interpolated_livescript":{"patterns":[{"name":"source.livescript.embedded.source","begin":"\\#\\{","end":"\\}","patterns":[{"include":"$self"}],"captures":{"0":{"name":"punctuation.section.embedded.livescript"}}},{"name":"source.livescript.embedded.source.simple","match":"#([a-zA-Z$_-]+|@)","begin":"\\#","patterns":[{"include":"$self"}]}]},"numeric":{"patterns":[{"name":"constant.numeric.livescript","match":"(?\u003c![\\$@a-zA-Z_])(([0-9]+r[0-9_]+)|((16r|0[xX])[0-9a-fA-F_]+)|([0-9]+(\\.[0-9]+[0-9_]*)?(e[+\\-]?[0-9_]+)?)[_a-zA-Z0-9]*)"}]},"single_quoted_string":{"patterns":[{"name":"string.quoted.single.livescript","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.livescript","match":"\\\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.livescript"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.livescript"}}}]},"variable_name":{"patterns":[{"name":"variable.assignment.livescript","match":"([a-zA-Z\\$_][\\w$-]*(\\.\\w+)*)(?!\\-)","captures":{"1":{"name":"variable.assignment.livescript"}}}]}}}