const e=Object.freeze({displayName:"Prolog",fileTypes:["pl","pro"],name:"prolog",patterns:[{include:"#comments"},{begin:"(?<=:-)\\s*",end:"(\\.)",endCaptures:{1:{name:"keyword.control.clause.bodyend.prolog"}},name:"meta.clause.body.prolog",patterns:[{include:"#comments"},{include:"#builtin"},{include:"#controlandkeywords"},{include:"#atom"},{include:"#variable"},{include:"#constants"},{match:".",name:"meta.clause.body.prolog"}]},{begin:"^\\s*([a-z][a-zA-Z0-9_]*)(\\(?)(?=.*:-.*)",beginCaptures:{1:{name:"entity.name.function.clause.prolog"},2:{name:"punctuation.definition.parameters.begin"}},end:"((\\)?))\\s*(:-)",endCaptures:{1:{name:"punctuation.definition.parameters.end"},3:{name:"keyword.control.clause.bodybegin.prolog"}},name:"meta.clause.head.prolog",patterns:[{include:"#atom"},{include:"#variable"},{include:"#constants"}]},{begin:"^\\s*([a-z][a-zA-Z0-9_]*)(\\(?)(?=.*-->.*)",beginCaptures:{1:{name:"entity.name.function.dcg.prolog"},2:{name:"punctuation.definition.parameters.begin"}},end:"((\\)?))\\s*(-->)",endCaptures:{1:{name:"punctuation.definition.parameters.end"},3:{name:"keyword.control.dcg.bodybegin.prolog"}},name:"meta.dcg.head.prolog",patterns:[{include:"#atom"},{include:"#variable"},{include:"#constants"}]},{begin:"(?<=-->)\\s*",end:"(\\.)",endCaptures:{1:{name:"keyword.control.dcg.bodyend.prolog"}},name:"meta.dcg.body.prolog",patterns:[{include:"#comments"},{include:"#controlandkeywords"},{include:"#atom"},{include:"#variable"},{include:"#constants"},{match:".",name:"meta.dcg.body.prolog"}]},{begin:"^\\s*([a-zA-Z][a-zA-Z0-9_]*)(\\(?)(?!.*(:-|-->).*)",beginCaptures:{1:{name:"entity.name.function.fact.prolog"},2:{name:"punctuation.definition.parameters.begin"}},end:"((\\)?))\\s*(\\.)(?!\\d+)",endCaptures:{1:{name:"punctuation.definition.parameters.end"},3:{name:"keyword.control.fact.end.prolog"}},name:"meta.fact.prolog",patterns:[{include:"#comments"},{include:"#atom"},{include:"#variable"},{include:"#constants"}]}],repository:{atom:{patterns:[{match:"(?)",beginCaptures:{1:{name:"keyword.control.if.prolog"}},end:"(;)",endCaptures:{1:{name:"keyword.control.else.prolog"}},name:"meta.if.prolog",patterns:[{include:"$self"},{include:"#builtin"},{include:"#comments"},{include:"#atom"},{include:"#variable"},{match:".",name:"meta.if.body.prolog"}]},{match:"!",name:"keyword.control.cut.prolog"},{match:"(\\s(is)\\s)|=:=|=\\.\\.|=?\\\\?=|\\\\\\+|@?>|@?=?<|\\+|\\*|\\-",name:"keyword.operator.prolog"}]},variable:{patterns:[{match:"(?