{"name":"Golo","scopeName":"source.golo","patterns":[{"name":"comment.line.number-sign.golo","match":"(#).*$\n?"},{"name":"comment.block.golo","begin":"----","end":"----","captures":{"0":{"name":"punctuation.definition.comment.golo"}}},{"name":"comment.block.golo","begin":"/\\*","end":"\\*/","captures":{"0":{"name":"punctuation.definition.comment.golo"}}},{"name":"string.quoted.third.golo","begin":"\"\"\"","end":"\"\"\"","patterns":[{"name":"variable.parameter.template.golo","match":"(\\$\\w+|\\$\\{[^\\}]+\\})"},{"name":"constant.character.escape.golo","match":"\\\\."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.golo"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.golo"}}},{"name":"string.quoted.double.golo","begin":"\"","end":"\"","patterns":[{"name":"variable.parameter.template.golo","match":"(\\$\\w+|\\$\\{[^\\}]+\\})"},{"name":"constant.character.escape.golo","match":"\\\\."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.golo"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.golo"}}},{"name":"string.quoted.single.golo","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.golo","match":"\\\\."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.golo"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.golo"}}},{"name":"constant.language.golo","match":"\\b(true|false|null|super|)\\b"},{"name":"constant.numeric.golo","match":"\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)([LlFfUuDd]|UL|ul)?\\b"},{"name":"constant.other.golo","match":"\\b([A-Z][A-Z0-9_]+)\\b"},{"name":"constant.other.golo","match":"\\b(this|checkResult|checkArguments|withContext)\\b"},{"name":"storage.modifier.golo","match":"\\b(var|let|val|local|extends|implements|overrides|interfaces)\\b"},{"name":"keyword.control.catch-exception.golo","match":"\\b(try|catch|finally|throw|raise)\\b"},{"name":"keyword.control.golo","match":"\\b(if|then|else|match|while|for|foreach|do|return|when|otherwise|where|break|continue)\\b"},{"name":"keyword.other.golo","match":"\\b(println|print|readln|readpwd|function|fun|pimp|spawn|send|shutdown|augment|AdapterFabric|DynamicObject|Thread|Promise|promise|Observable|DynamicVariable|defaultContext|module|import|fileToText|textToFile|mapEntry|compile|TemplateEngine|EvaluationEnvironment|asInterfaceInstance|)\\b"},{"name":"support.function.js","match":"\\b(define|fail|onSet|onFail|onChange|invokeWithArguments|stringify|value|get|set|future|times|each|filter|map)\\b"},{"name":"keyword.operator.golo","match":"\\b(in|not|and|or|is|isnt|as|andThen|bindTo|bindAt|\\?:|orIfNull|oftype)\\b"},{"name":"keyword.operator.comparison.golo","match":"(==|!=|\u003c=|\u003e=|\u003c\u003e|\u003c|\u003e|\\?:)"},{"name":"keyword.operator.assignment.golo","match":"(=)"},{"name":"keyword.operator.declaration.golo","match":"(:|\\||)"},{"name":"keyword.operator.dot.golo","match":"(\\.)"},{"name":"keyword.operator.increment-decrement.golo","match":"(\\-\\-|\\+\\+)"},{"name":"keyword.operator.arithmetic.golo","match":"(\\-|\\+|\\*|\\/|%)"},{"name":"keyword.operator.logical.golo","match":"(!|\u0026\u0026|\\|\\|)"},{"name":"support.class.golo","match":"\\b(struct|range\\[|tuple\\[|array\\[|map\\[|set\\[|vector\\[|list\\[)|\\[|\\]|\\b"},{"name":"support.class.golo","match":"(\\{|\\}|@|\\(|\\))"}]}