const lang = Object.freeze(JSON.parse("{\"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\":\"(?