{"name":"TLA","scopeName":"source.tla","patterns":[{"name":"comment.line.slash-star","match":"\\\\\\*.*$"},{"name":"comment.block","begin":"\\(\\*","end":"\\*\\)"},{"name":"markup.other.startbreak","match":"\\={4,}"},{"name":"markup.other.endbreak","match":"={4,}"},{"name":"constant.numeric","match":"\\b(\\\\h[0-9a-fA-F]+|\\\\o[0-9]+|\\\\b[01]+|\\d+\\.\\d+|\\d+)\\b"},{"name":"constant.language.tla","match":"\\b(BOOLEAN|FALSE|STRING|TRUE)\\b"},{"name":"keyword.operator.definition.tla","match":"\\b==\\b"},{"name":"keyword.operator.logic.tla","match":"(\\/\\\\|\\\\\\/|\\=\u003e|\u003c\\=\u003e|\\|\\=|\\=\\||\\|\\-|\\-\\||~)"},{"name":"keyword.operator.comparison.tla","match":"\u003c\\=|\u003e\\=|\\=|\u003c|\u003e|\\/\\=|\\#"},{"name":"keyword.operator.assignment.tla","match":"\\b=\\b"},{"name":"keyword.operator.temporal.quantification.tla","match":"(\\\\EE|\\\\AA)"},{"name":"keyword.operator.quantification.tla","match":"(\\\\E|\\\\A)"},{"name":"keyword.operator.sets.tla","match":"(\\\\notin|:)"},{"name":"keyword.operator.functions.tla","match":"(\\|\\-\u003e|\\-\u003e)"},{"name":"keyword.operator.latex.tla","match":"\\\\(approx|asymp|bigcirc|bullet|cap|cdot|circ|cong|cup|div|doteq|equiv|geq|gg|in|intersect|land|leq|ll|lor|o|odot|ominus|oplus|oslash|otimes|prec|preceq|propto|sim|simeq|sqcap|sqcup|sqsubset|sqsubseteq|sqsupset|sqsupseteq|star|subset|subseteq|succ|succeq|supset|supseteq|union|uplus|wr)\\b"},{"name":"keyword.operator.arithmetic.tla","match":"\\b(\\+|\\-|\\*|\\/){1}\\b"},{"name":"keyword.operator.temporal.tla","match":"(\\[\\]|\\\u003c\\\u003e|\\-\\+\\-\u003e)"},{"include":"#reserved-words"},{"name":"string.quoted.double.tla","begin":"\"","end":"\""},{"name":"string.quoted.single.tla","begin":"';\n\t\t\tend = '"},{"name":"meta.structure.list.tla","begin":"(\\[)","end":"(\\])","patterns":[{"contentName":"meta.structure.list.item.tla","begin":"(?\u003c=\\[|\\,)\\s*(?![\\],])","end":"\\s*(?:(,)|(?=\\]))","patterns":[{"include":"$self"}],"endCaptures":{"1":{"name":"punctuation.separator.list.tla"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.list.begin.tla"}},"endCaptures":{"1":{"name":"punctuation.definition.list.end.tla"}}},{"name":"meta.structure.tuple.tla","match":"(\u003c\u003c)(\\s*(\u003e\u003e))","captures":{"1":{"name":"punctuation.definition.tuple.begin.tla"},"2":{"name":"meta.empty-tuple.tla"},"3":{"name":"punctuation.definition.tuple.end.tla"}}}],"repository":{"reserved-words":{"name":"keyword.control.tla","match":"\\b(ACTION|ASSUME|ASSUMPTION|AXIOM|BY|CASE|CHOOSE|CONSTANT|CONSTANTS|COROLLARY|DEF|DEFINE|DEFS|DOMAIN|ELSE|ENABLED|EXCEPT|EXTENDS|HAVE|HIDE|IF|IN|INSTANCE|LAMBDA|LEMMA|LET|LOCAL|MODULE|NEW|OBVIOUS|OMITTED|ONLY|OTHER|PICK|PROOF|PROPOSITION|PROVE|QED|RECURSIVE|SF_|STATE|SUBSET|SUFFICES|TAKE|TEMPORAL|THEN|THEOREM|UNCHANGED|UNION|USE|VARIABLE|VARIABLES|WF_|WITH|WITNESS)\\b"}}}
