{"name":"JsLIGO","scopeName":"source.jsligo","patterns":[{"include":"#string"},{"include":"#block_comment"},{"include":"#line_comment"},{"include":"#attribute"},{"include":"#macro"},{"include":"#letbinding"},{"include":"#typedefinition"},{"include":"#controlkeywords"},{"include":"#numericliterals"},{"include":"#operators"},{"include":"#identifierconstructor"},{"include":"#moduleaccess "},{"include":"#modulealias"},{"include":"#moduledeclaration"}],"repository":{"attribute":{"name":"keyword.control.attribute.jsligo","match":"(/\\s*@.*\\s*|/\\*\\s*@.*\\*/)"},"block_comment":{"name":"comment.block.jsligo","begin":"/\\*","end":"\\*\\/"},"controlkeywords":{"name":"keyword.control.jsligo","match":"\\b(switch|case|default|if|else|for|of|while|return|break|export)\\b"},"identifierconstructor":{"match":"\\b([A-Z][a-zA-Z0-9_$]*)\\s+","captures":{"1":{"name":"variable.other.enummember.jsligo"}}},"letbinding":{"match":"\\b(let|const)\\b\\s*\\b([a-zA-Z$_][a-zA-Z0-9$_]*)","captures":{"1":{"name":"keyword.other.jsligo"},"2":{"name":"entity.name.function.jsligo"}}},"line_comment":{"name":"comment.block.jsligo","match":"\\/\\/.*$"},"macro":{"name":"meta.preprocessor.jsligo","match":"^\\#[a-zA-Z]+"},"moduleaccess ":{"match":"\\b([A-Z][\\.a-zA-Z0-9_$]*)\\.([a-zA-Z0-9_$]*)","captures":{"1":{"name":"storage.class.jsligo"},"2":{"name":"storage.var.jsligo"}}},"modulealias":{"match":"\\b(import)\\b\\s*\\b([A-Z][a-zA-Z0-9_$]*)","captures":{"1":{"name":"keyword.control.jsligo"},"2":{"name":"storage.class.jsligo"}}},"moduledeclaration":{"match":"\\b(namespace)\\b\\s*\\b([A-Z][a-zA-Z0-9_$]*)","captures":{"1":{"name":"keyword.other.jsligo"},"2":{"name":"storage.class.jsligo"}}},"numericliterals":{"name":"constant.numeric.jsligo","match":"(\\+|\\-)?[0-9]+(n|tz|tez|mutez|)\\b"},"operators":{"name":"keyword.operator.jsligo","match":"\\s+(\\-|\\+|%|\u0026\u0026|\\|\\||==|!=|\u003c=|\u003e=|\u003c|\u003e|\\*|/|=|!|\\*=|/=|%=|\\+=|\\-=)\\s+"},"string":{"name":"string.quoted.double.jsligo","begin":"\\\"","end":"\\\""},"typedefinition":{"name":"entity.name.type.jsligo","match":"\\b(type)\\b"}}}