{ "scopeName": "source.ocaml.opam", "fileTypes": [ "opam" ], "patterns": [ { "include": "#directive" } ], "repository": { "directive": { "patterns": [ { "begin": "\\b(depends)\\b", "end": "(?<=\\])", "beginCaptures": { "1": { "name": "storage.type" } }, "patterns": [ { "match": "\\G(:)", "name": "keyword.other" }, { "begin": "\\[", "end": "\\]", "patterns": [ { "begin": "(\")", "end": "(\")", "beginCaptures": { "1": { "name": "comment.line" } }, "endCaptures": { "1": { "name": "comment.line" } }, "patterns": [ { "match": "\\b([[:alpha:]][[:word:]]*)\\b[[:space:]]*(\\.)?", "captures": { "1": { "name": "entity.name.class" }, "2": { "name": "keyword.other" } } } ] } ] } ] }, { "end": "(?=[:])", "patterns": [ { "begin": "(\")", "end": "(\")", "beginCaptures": { "1": { "name": "keyword.other" } }, "endCaptures": { "1": { "name": "keyword.other" } }, "patterns": [ { "match": "(?<![\\-\\+])(?:(\\b[[:word:]]+\\b)|([*]+))[[:space:]]*([\\./])?", "captures": { "1": { "name": "string.double" }, "2": { "name": "constant.language" }, "3": { "name": "keyword.other" } } } ] }, { "match": "\\b([[:alpha:]][[:word:]]*)\\b([\\-])?", "captures": { "1": { "name": "constant.language" }, "2": { "name": "keyword.other" } } } ] }, { "begin": "(:)", "end": "$", "beginCaptures": { "1": { "name": "keyword.other" } }, "patterns": [ { "begin": "(\")", "end": "(\")", "contentName": "variable.parameter", "beginCaptures": { "1": { "name": "comment.line" } }, "endCaptures": { "1": { "name": "comment.line" } } } ] } ] } } }