{ "comment": "This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.", "fileTypes": [ "ecl" ], "name": "ECLiPSe 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*", "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" } ] }, { "include": "source.prolog" } ], "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" }, { "match": "(#|&|\\$)(<|>|=)|(#|&|\\$)?(::)|\\.\\.|or|and|(#|&|\\$)\\\\=", "name": "keyword.operator.prolog.eclipse" } ] }, "variable": { "patterns": [ { "match": "(?