{"name":"cylc","scopeName":"source.cylc","patterns":[{"include":"#comments"},{"include":"#jinja2"},{"include":"#graphSections"},{"include":"#headers"},{"include":"#settings"},{"include":"#includeFiles"},{"include":"#keywords"},{"include":"#strings"}],"repository":{"comments":{"patterns":[{"name":"comment.line.cylc","begin":"#","end":"(?=[\\n\\r])","patterns":[{"include":"#jinja2"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.cylc"}}}]},"graphSections":{"patterns":[{"begin":"\\b(graph)[\\t ]*(=)[\\t ]*","end":"(?=[#\\n\\r])","patterns":[{"include":"#graphStrings"},{"match":"(?:^|(?\u003c=\"))[\\t ]*+([^#\\n\\r]+)","captures":{"1":{"name":"invalid.illegal.string.cylc"}}}],"beginCaptures":{"1":{"name":"keyword.graph.cylc"},"2":{"name":"keyword.operator.assignment.cylc"}}},{"contentName":"meta.graph-section.cylc","begin":"\\[{2}[\\t ]*graph[\\t ]*\\]{2}","end":"(?=^[\\t ]*\\[)","patterns":[{"include":"#comments"},{"begin":"(\\S[^=#]*)(=)[\\t ]*","end":"(?=[#\\n\\r])","patterns":[{"include":"#graphStrings"},{"match":"(?:^|(?\u003c=\"))[\\t ]*+([^#\\n\\r]+)","captures":{"1":{"name":"invalid.illegal.string.cylc"}}}],"beginCaptures":{"1":{"patterns":[{"include":"#jinja2"},{"name":"keyword.graph.cylc","match":"[\\w\\+\\^\\$][\\w\\+\\-\\^\\$\\/\\t ,:]*"}]},"2":{"name":"keyword.operator.assignment.cylc"}}}],"beginCaptures":{"0":{"patterns":[{"include":"#headers"}]}}}]},"graphStrings":{"patterns":[{"name":"meta.graph-syntax.quoted.triple.cylc","begin":"\\G(\"{3})","end":"(\"{3})","patterns":[{"include":"#graphSyntax"}],"beginCaptures":{"0":{"name":"string.quoted.triple.cylc"},"1":{"name":"punctuation.definition.string.begin.cylc"}},"endCaptures":{"0":{"name":"string.quoted.triple.cylc"},"1":{"name":"punctuation.definition.string.end.cylc"}}},{"name":"meta.graph-syntax.quoted.double.cylc","begin":"\\G(\")","end":"([\"\\n\\r])","patterns":[{"include":"#graphSyntax"}],"beginCaptures":{"0":{"name":"string.quoted.double.cylc"},"1":{"name":"punctuation.definition.string.begin.cylc"}},"endCaptures":{"0":{"name":"string.quoted.double.cylc"},"1":{"name":"punctuation.definition.string.end.cylc"}}},{"name":"meta.graph-syntax.unquoted.cylc","match":"\\G[^#\\n\\r\"]+","captures":{"0":{"patterns":[{"include":"#graphSyntax"}]}}}]},"graphSyntax":{"patterns":[{"include":"#comments"},{"include":"#parameterizations"},{"include":"#jinja2"},{"match":"(\\b\\w[\\w\\+\\-@%]*)((\\[)([^\\]]+)(\\]))?((:)([\\w\\-]+))?\\s*(\\?(?![:\\w]))?","captures":{"1":{"name":"meta.variable.task.cylc"},"2":{"name":"meta.annotation.inter-cycle.cylc"},"3":{"name":"punctuation.section.brackets.begin.cylc"},"4":{"name":"meta.annotation.inter-cycle.cylc","patterns":[{"include":"#jinja2"},{"include":"#intervals"},{"include":"#isodatetimes"},{"match":"\\^","captures":{"0":{"name":"constant.language.cycle-point.cylc"}}},{"name":"keyword.operator.arithmetic.cylc","match":"[\\+\\-]"},{"name":"constant.numeric.integer-point.cylc","match":"\\b\\d+\\b"}]},"5":{"name":"punctuation.section.brackets.end.cylc"},"6":{"name":"meta.annotation.qualifier.cylc"},"7":{"name":"punctuation.definition.annotation.cylc"},"8":{"name":"variable.annotation.cylc"},"9":{"name":"keyword.other.optional-output.cylc"}}},{"name":"keyword.control.trigger.cylc","match":"=\u003e"},{"name":"keyword.other.logical.cylc","match":"[\\|\u0026]"},{"name":"meta.parens.cylc","begin":"\\(","end":"[\\)\\n\\r]","patterns":[{"include":"#graphSyntax"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.cylc"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.cylc"}}},{"name":"meta.variable.suicide.cylc","match":"(?\u003c=^|[\\s\u0026\u003e])(!)(\\b\\w[\\w\\+\\-@%]*)","captures":{"1":{"name":"keyword.other.suicide.cylc"},"2":{"name":"meta.variable.task.cylc"}}},{"name":"variable.other.xtrigger.cylc","match":"(@)[\\w\\-]+","captures":{"1":{"name":"punctuation.definition.variable.cylc"}}},{"name":"constant.character.escape.continuation.cylc","match":"\\\\"}]},"headers":{"patterns":[{"name":"meta.section.cylc","match":"(\\[+)([^\\[\\]]+?)(\\]+)","captures":{"1":{"name":"punctuation.definition.tag.begin.cylc"},"2":{"name":"entity.name.tag.cylc","patterns":[{"include":"#parameterizations"},{"include":"#jinja2"}]},"3":{"name":"punctuation.definition.tag.end.cylc"}}}]},"includeFiles":{"patterns":[{"name":"meta.include.cylc","match":"(%include)[\\t ]*(.*)","captures":{"1":{"name":"keyword.control.include.cylc"},"2":{"name":"string.cylc","patterns":[{"include":"#comments"},{"include":"#jinja2"}]}}}]},"intervals":{"patterns":[{"name":"invalid.illegal.interval.cylc","match":"\\bP\\d+[HS]"},{"name":"constant.numeric.interval.integer.cylc","match":"\\b(P)\\d+\\b","captures":{"1":{"name":"punctuation.definition.period.cylc"}}},{"name":"constant.numeric.interval.iso.cylc","match":"\\b(P)\\d+(W)\\b","captures":{"1":{"name":"punctuation.definition.period.cylc"},"2":{"name":"punctuation.definition.week.cylc"}}},{"name":"constant.numeric.interval.iso.cylc","match":"\\b(P(?=(?:\\d|T\\d)))(?:\\d+(Y))?(?:\\d+(M))?(?:\\d+(D))?(?:(T)(?:\\d+(H))?(?:\\d+(M))?(?:\\d+(S))?)?\\b","captures":{"1":{"name":"punctuation.definition.period.cylc"},"2":{"name":"punctuation.definition.year.cylc"},"3":{"name":"punctuation.definition.month.cylc"},"4":{"name":"punctuation.definition.day.cylc"},"5":{"name":"punctuation.definition.time.cylc"},"6":{"name":"punctuation.definition.hour.cylc"},"7":{"name":"punctuation.definition.min.cylc"},"8":{"name":"punctuation.definition.sec.cylc"}}}]},"isodatetimes":{"patterns":[{"name":"invalid.illegal.isodatetime.cylc","match":"\\b\\d{3,7}T\\d{2,}Z?\\b"},{"name":"invalid.illegal.isodatetime.cylc","match":"\\b(\\d{4})(?:(\\-)(\\d{2}))?(?:(\\-)(\\d{2}))?T\\d{3,}\\b"},{"name":"invalid.illegal.isodatetime.cylc","match":"\\b(\\d{4})(\\d{2})?(\\d{2})?T\\d{2,}(?:[\\+\\-]\\d+)?\\:\\d*\\b"},{"name":"constant.numeric.isodatetime.long.cylc","match":"\\b(\\d{4})(?:(\\-)(\\d{2}))?(?:(\\-)(\\d{2}))?(?:(T)(\\d{2})(?:(:)(\\d{2}))?(?:(:)(\\d{2}))?((Z)|(?:([\\+\\-])(\\d{2})(?:(\\:)(\\d{2}))?))?)?\\b","captures":{"1":{"name":"constant.numeric.year.cylc"},"10":{"name":"punctuation.separator.time.cylc"},"11":{"name":"constant.numeric.sec.cylc"},"12":{"name":"constant.numeric.timezone.long.cylc"},"13":{"name":"punctuation.definition.timezone.cylc"},"14":{"name":"punctuation.definition.timezone.cylc"},"15":{"name":"constant.numeric.hour.cylc"},"16":{"name":"punctuation.separator.time.cylc"},"17":{"name":"constant.numeric.min.cylc"},"2":{"name":"punctuation.separator.date.cylc"},"3":{"name":"constant.numeric.month.cylc"},"4":{"name":"punctuation.separator.date.cylc"},"5":{"name":"constant.numeric.day.cylc"},"6":{"name":"punctuation.definition.time.cylc"},"7":{"name":"constant.numeric.hour.cylc"},"8":{"name":"punctuation.separator.time.cylc"},"9":{"name":"constant.numeric.min.cylc"}}},{"name":"constant.numeric.isodatetime.short.cylc","match":"\\b(\\d{4})(\\d{2})?(\\d{2})?(?:(T)(\\d{2})(\\d{2})?(\\d{2})?((Z)|(?:([\\+\\-])(\\d{2})(\\d{2})?))?)?\\b","captures":{"1":{"name":"constant.numeric.year.cylc"},"10":{"name":"punctuation.definition.timezone.cylc"},"11":{"name":"constant.numeric.hour.cylc"},"12":{"name":"constant.numeric.min.cylc"},"2":{"name":"constant.numeric.month.cylc"},"3":{"name":"constant.numeric.day.cylc"},"4":{"name":"punctuation.definition.time.cylc"},"5":{"name":"constant.numeric.hour.cylc"},"6":{"name":"constant.numeric.min.cylc"},"7":{"name":"constant.numeric.sec.cylc"},"8":{"name":"constant.numeric.isotimezone.short.cylc"},"9":{"name":"punctuation.definition.timezone.cylc"}}}]},"jinja2":{"patterns":[{"name":"meta.embedded.block.jinja","contentName":"source.jinja","begin":"(?={%)","end":"(?\u003c=%})","patterns":[{},{"name":"punctuation.definition.template-expression.begin.jinja","match":"\\G{%[\\+\\-]?"},{"name":"punctuation.definition.template-expression.end.jinja","match":"\\-?%}"}]},{"name":"meta.embedded.block.jinja","contentName":"source.jinja","begin":"(?={{)","end":"(?\u003c=}})","patterns":[{},{"name":"punctuation.definition.template-expression.begin.jinja","match":"\\G{{"},{"name":"punctuation.definition.template-expression.end.jinja","match":"}}"}]},{"name":"comment.block.jinja","begin":"{#","end":"#}","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.jinja"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.jinja"}}}]},"keywords":{"patterns":[{"name":"keyword.control.cylc","match":"\\b(if|for|while|return)\\b"}]},"parameterizations":{"patterns":[{"name":"meta.annotation.parameterization.cylc","begin":"\u003c","end":"(\u003e)((\\[)([^\\]]+)(\\]))?((:)([\\w\\-]+))?\\s*(\\?(?![:\\w]))?","patterns":[{"include":"#jinja2"},{"name":"meta.polling.cylc","patterns":[{"match":"([^\\s\u003c\u003e]+)(?=::)","captures":{"1":{"name":"entity.name.namespace.suite.cylc"}}},{"name":"punctuation.accessor.cylc","match":"(?\u003c=\\S)::(?=\\S)"},{"match":"(?\u003c=::)(\\b\\w[\\w\\+\\-@%]*)","captures":{"1":{"name":"meta.variable.task.cylc"}}},{"match":"(?\u003c!^|[\\s:])((:)([\\w\\-]+))","captures":{"1":{"name":"meta.annotation.qualifier.cylc"},"2":{"name":"punctuation.definition.annotation.cylc"},"3":{"name":"variable.annotation.cylc"}}}]},{"match":"(\\w+)[\\t ]*(=)[\\t ]*(\\w+)","captures":{"1":{"name":"variable.parameter.cylc"},"2":{"name":"keyword.operator.assignment.cylc"},"3":{"patterns":[{"name":"constant.numeric.cylc","match":"\\d+$"},{"name":"variable.other.cylc","match":"\\w+"}]}}},{"match":"([\\+\\-])[\\t ]*(\\d+)(?!\\w)","captures":{"1":{"name":"keyword.operator.arithmetic.cylc"},"2":{"name":"constant.numeric.cylc"}}},{"name":"variable.parameter.cylc","match":"\\w+"},{"name":"punctuation.separator.parameter.cylc","match":","}],"beginCaptures":{"0":{"name":"punctuation.definition.annotation.begin.cylc"}},"endCaptures":{"1":{"name":"punctuation.definition.annotation.end.cylc"},"2":{"name":"meta.annotation.inter-cycle.cylc"},"3":{"name":"punctuation.section.brackets.begin.cylc"},"4":{"name":"meta.annotation.inter-cycle.cylc","patterns":[{"include":"#jinja2"},{"include":"#intervals"},{"include":"#isodatetimes"},{"match":"\\^","captures":{"0":{"name":"constant.language.cycle-point.cylc"}}},{"name":"keyword.operator.arithmetic.cylc","match":"[\\+\\-]"},{"name":"constant.numeric.integer-point.cylc","match":"\\b\\d+\\b"}]},"5":{"name":"punctuation.section.brackets.end.cylc"},"6":{"name":"meta.annotation.qualifier.cylc"},"7":{"name":"punctuation.definition.annotation.cylc"},"8":{"name":"variable.annotation.cylc"},"9":{"name":"keyword.other.optional-output.cylc"}}}]},"settings":{"patterns":[{"name":"meta.setting.cylc","contentName":"meta.value.cylc","begin":"([^=#\\s][^=#\\n\\r]*?)?[\\t ]*(=)[\\t ]*","end":"(?=[#\\n\\r])","patterns":[{"include":"#strings"},{"match":"(?:^|(?\u003c=\"))[\\t ]*+([^#\\n\\r]+)","captures":{"1":{"name":"invalid.illegal.string.cylc"}}},{"include":"#jinja2"},{"match":"([^#\\n\\r]+)","captures":{"1":{"name":"string.unquoted.value.cylc","patterns":[{"include":"#jinja2"}]}}}],"beginCaptures":{"1":{"patterns":[{"include":"#jinja2"},{"name":"variable.other.key.cylc","match":"[\\w\\-\\t ]+"}]},"2":{"name":"keyword.operator.assignment.cylc"}}}]},"strings":{"patterns":[{"name":"string.quoted.triple.cylc","begin":"(\"{3})","end":"(\"{3})","patterns":[{"include":"#jinja2"},{"name":"constant.character.escape.cylc","match":"\\\\."}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.cylc"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.cylc"}}},{"name":"string.quoted.double.cylc","begin":"(\")","end":"([\"\\n\\r])","patterns":[{"include":"#jinja2"},{"name":"constant.character.escape.cylc","match":"\\\\."}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.cylc"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.cylc"}}}]}}}