{ "fileTypes": [ "mll" ], "foldingStartMarker": "{", "foldingStopMarker": "}", "keyEquivalent": "^~O", "name": "OCamllex", "patterns": [ { "begin": "^\\s*({)", "beginCaptures": { "1": { "name": "punctuation.section.embedded.ocaml.begin.ocamllex" } }, "end": "^\\s*(})", "endCaptures": { "1": { "name": "punctuation.section.embedded.ocaml.end.ocamllex" } }, "name": "meta.embedded.ocaml", "patterns": [ { "include": "source.ocaml" } ] }, { "begin": "\\b(let)\\s+([a-z][a-zA-Z0-9'_]*)\\s+=", "beginCaptures": { "1": { "name": "keyword.other.pattern-definition.ocamllex" }, "2": { "name": "entity.name.type.pattern.stupid-goddamn-hack.ocamllex" } }, "end": "^(?:\\s*let)|(?:\\s*(rule|$))", "name": "meta.pattern-definition.ocaml", "patterns": [ { "include": "#match-patterns" } ] }, { "begin": "(rule|and)\\s+([a-z][a-zA-Z0-9_]*)\\s+(=)\\s+(parse)(?=\\s*$)|((?