{"name":"J","scopeName":"source.j","patterns":[{"include":"#direct_noun_defn"},{"include":"#direct_defn"},{"include":"#operator"},{"include":"#copula"},{"include":"#string"},{"include":"#bracket"},{"include":"#explicit_defn"},{"include":"#modifier_explicit_defn"},{"include":"#explicit_string_defn"},{"include":"#noun_defn"},{"include":"#number"},{"include":"#note"},{"include":"#comment"}],"repository":{"bracket":{"patterns":[{"name":"meta.bracket.j","match":"(?:\\(|\\)|,)(?!('|(?:\\.'))*\\.?')"}]},"comment":{"patterns":[{"name":"comment.line.j","match":"\\b(NB\\.).*$","captures":{"1":{"name":"punctuation.definition.comment.begin.j"}}}]},"copula":{"patterns":[{"name":"copula.global.j","match":"=:"},{"name":"copula.local.j","match":"=\\."}]},"direct_defn":{"patterns":[{"name":"definition.explicit.block.j","begin":"((\\{\\{)(\\)[mdvac])(.*$)|(\\{\\{)(?![.:\\)]))","end":"(\\}\\})(?![.:])","patterns":[{"include":"#direct_noun_defn"},{"include":"#direct_defn"},{"include":"#explicit_arg"},{"include":"#explicit_operand"},{"include":"#operator"},{"include":"#copula"},{"include":"#string"},{"include":"#keyword"},{"include":"#number"},{"include":"#comment"}],"beginCaptures":{"0":{"name":"punctuation.definition.explicit.begin.j"}},"endCaptures":{"0":{"name":"punctuation.definition.explicit.end.j"}}}]},"direct_noun_defn":{"patterns":[{"name":"string.noun.j","begin":"(\\{\\{)(\\)n)","end":"(^\\}\\})(?![.:])","beginCaptures":{"0":{"name":"punctuation.definition.string.block.begin.j"}},"endCaptures":{"0":{"name":"punctuation.definition.explicit.end.j"}}}]},"explicit_arg":{"patterns":[{"name":"variable.parameter.j","match":"\\b[xy](?![\\w.:])"}]},"explicit_defn":{"patterns":[{"name":"definition.explicit.block.j","begin":"\\b([34]|13|verb|monad|dyad)\\s+(:\\s*0|define)\\b","end":"^\\s*\\)\\s*\\n","patterns":[{"include":"#direct_noun_defn"},{"include":"#direct_defn"},{"include":"#explicit_arg"},{"include":"#operator"},{"include":"#copula"},{"include":"#string"},{"include":"#keyword"},{"include":"#number"},{"include":"#comment"}],"beginCaptures":{"0":{"name":"punctuation.definition.explicit.begin.j"}},"endCaptures":{"0":{"name":"punctuation.definition.explicit.end.j"}}}]},"explicit_operand":{"patterns":[{"name":"variable.parameter.j","match":"\\b[nmuv](?![\\w.:])"}]},"explicit_string_defn":{"patterns":[{"name":"definition.explicit.string.j","match":"\\b(([1-4]|adverb|conjunction|verb|monad|dyad)\\s+(:|def))\\s*((')[^']*(?:''[^']*)*('))","captures":{"1":{"name":"punctuation.definition.explicit.begin.j"},"4":{"name":"string.quoted.single.j"}}}]},"keyword":{"patterns":[{"name":"keyword.control.j","match":"\\b(if|do|else|elseif|for|select|case|fcase)\\.(?![.:])"},{"name":"keyword.control.j","match":"\\b(assert|break|continue|return|while|whilst)\\.(?![.:])"},{"name":"keyword.control.j","match":"\\b(throw|try|catch|catchd|catcht)\\.(?![.:])"},{"name":"keyword.control.j","match":"\\b(for_[A-Za-z][A-Za-z_0-9]*|goto_[A-Za-z][A-Za-z_0-9]*|label_[A-Za-z][A-Za-z_0-9]*)\\.(?![.:])"},{"name":"keyword.control.end.j","match":"\\bend\\.(?![.:])"}]},"modifier_explicit_defn":{"patterns":[{"name":"definition.explicit.block.j","begin":"\\b([12]|adverb|conjunction)\\s+(:\\s*0|define)\\b","end":"^\\s*\\)\\s*\\n","patterns":[{"include":"#direct_noun_defn"},{"include":"#direct_defn"},{"include":"#explicit_arg"},{"include":"#explicit_operand"},{"include":"#operator"},{"include":"#copula"},{"include":"#string"},{"include":"#keyword"},{"include":"#number"},{"include":"#comment"}],"beginCaptures":{"0":{"name":"punctuation.definition.explicit.begin.j"}},"endCaptures":{"0":{"name":"punctuation.definition.explicit.end.j"}}}]},"note":{"patterns":[{"name":"comment.block.note.j","begin":"^\\s*\\bNote\\b","end":"^\\s*\\)\\s*\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.j"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.j"}}},{"name":"comment.line.note.j","match":"\\bNote\\b(?!\\s*\\=[:.])\\s*[\\'\\d].*$"}]},"noun_defn":{"patterns":[{"name":"string.noun.j","begin":"\\b(0|noun)\\s+(:\\s*0|define)\\b","end":"^\\s*\\)\\s*\\n","beginCaptures":{"0":{"name":"punctuation.definition.string.block.begin.j"}},"endCaptures":{"0":{"name":"punctuation.definition.explicit.end.j"}}}]},"number":{"patterns":[{"name":"constant.numeric.j","match":"\\b[_0-9][_0-9\\.a-zA-Z]*\\b(?![.:])"}]},"operator":{"patterns":[{"name":"keyword.other.noun.j","match":"\\b(_\\.|a\\.|a:)(?![.:])"},{"name":"keyword.operator.verb.j","match":"((_?[1-9]:)|(\\b0:)|({::))(?![.:])"},{"name":"keyword.operator.verb.j","match":"\\b((p\\.\\.)|([AcCeEiIjLopr]\\.)|([ipqsux]:))(?![.:])"},{"name":"keyword.operator.verb.j","match":"([\u003c\u003e\\+\\*\\-%$|,#{}^~\"?]\\.)(?![.:])"},{"name":"keyword.operator.verb.j","match":"([\u003c\u003e\\+\\*\\-%$|,#{};~\"_/\\\\\\[]:)(?![.:])"},{"name":"keyword.operator.verb.j","match":"([\u003c\u003e\\+\\*\\-%$|,#{!;^=?\\[\\]])(?![.:])"},{"name":"keyword.operator.adverb.j","match":"\\b(([bfMt]\\.)|(t:))(?![.:])"},{"name":"keyword.operator.adverb.j","match":"(([/\\\\]\\.)|([~/\\\\}]))(?![.:])"},{"name":"keyword.operator.conjunction.j","match":"\\b(([dDHT]\\.)|([DLS]:))(?![.:])"},{"name":"keyword.operator.conjunction.j","match":"((\u0026\\.:)|([\u0026@!;]\\.)|([\u0026@!`^]:)|([\u0026@`\"]))(?![.:])"},{"name":"keyword.operator.conjunction.j","match":"(?\u003c=\\s)([.:][.:]|[.:])(?![.:])"}]},"string":{"patterns":[{"name":"string.quoted.single.j","match":"(')[^']*(?:''[^']*)*(')","captures":{"1":{"name":"punctuation.definition.string.begin.j"},"2":{"name":"punctuation.definition.string.end.j"}}}]}}}