{"name":"PDDL","scopeName":"source.pddl","patterns":[{"include":"#meta"},{"include":"#keywords"},{"include":"#comments"},{"include":"#scalars"},{"include":"#time-qualifiers"},{"include":"#operators"},{"include":"#parameters"},{"include":"#unexpected"}],"repository":{"comments":{"patterns":[{"name":"comment.line","match":";.*$"}]},"keywords":{"patterns":[{"name":"keyword.control.pddl.header","match":"\\b(define|domain|problem)\\b"},{"name":"keyword.control.pddl.requirements","match":":(strips|typing|negative-preconditions|disjunctive-preconditions|equality|existential-preconditions|universal-preconditions|quantified-preconditions|conditional-effects|fluents|numeric-fluents|object-fluents|adl|durative-actions|duration-inequalities|continuous-effects|derived-predicates|derived-functions|timed-initial-literals|timed-effects|preferences|constraints|action-costs|timed-initial-fluents|time|supply-demand|job-scheduling)\\b"},{"name":"keyword.control.pddl.global","match":":(requirements|types|constants|predicates|functions|derived|action|durative-action|event|process|job|domain|objects|init|goal|metric)\\b"},{"name":"keyword.control.pddl.action","match":":(parameters|precondition|effect)\\b"},{"name":"keyword.control.pddl.action.durative","match":":(parameters|duration|condition|effect)\\b"},{"name":"keyword.control.pddl.action.job","match":":(parameters|duration|condition|effect)\\b"}]},"meta":{"patterns":[{"name":"meta.preprocessor.pre-parsing","match":"^;;\\s*!pre-parsing:\\s*{\\s*type:\\s*\"(command|nunjucks|jinja2|python)\"\\s*,\\s*(command:\\s*\"([\\w:\\-/\\\\\\. ]+)\"\\s*(,\\s*args:\\s*\\[([^\\]]*)\\])?|data:\\s*\"([\\w:\\-/\\\\\\. ]+)\")\\s*}","captures":{"1":{"name":"variable.parameter.pre-parsing.type"},"3":{"name":"variable.parameter.pre-parsing.command"},"5":{"patterns":[{"name":"variable.parameter.pre-parsing.data","begin":"\"","end":"\""}]},"6":{"name":"variable.parameter.pre-parsing.data"}}},{"name":"meta.preprocessor","match":"^;;\\s*!"},{"name":"meta.preprocessor.template.flow-control","match":"{%[^%]+%}"},{"name":"meta.preprocessor.template.literal","match":"{{[^}]+}}"}]},"operators":{"patterns":[{"name":"keyword.operator.logical","match":"\\b(and|not|or|either)\\b"},{"name":"keyword.other.numeric","match":"(\u003e|\u003c|\u003e=|\u003c=|=|/|\\*|\\+)"},{"name":"keyword.other.effects","match":"\\b(assign|increase|decrease|forall|exists)\\b"},{"name":"keyword.other.undefined","match":"\\b(undefined)\\b"},{"name":"keyword.other.metric","match":"\\b(minimize|maximize)\\b"}]},"parameters":{"patterns":[{"name":"variable.parameter","match":"\\?\\w+\\b"}]},"scalars":{"patterns":[{"name":"constant.numeric","match":"\\b[-+]?([0-9]*\\.[0-9]+|[0-9]+)\\b"}]},"time-qualifiers":{"patterns":[{"name":"keyword.other.pddl_qualifier","match":"\\b(at start|at end|over all)\\b"},{"name":"keyword.other.delta_t","match":"#t\\b"}]},"unexpected":{"patterns":[{"name":"invalid.illegal","match":":[\\w-]+\\b"}]}}}
