{
  "fileTypes": [],
  "injectionSelector": "L:text.html.markdown",
  "patterns": [{ "include": "#ocaml-code-block" }],
  "repository": {
    "ocaml-code-block": {
      "begin": "(^|\\G)([[:space:]]*)(\\`{3,}|~{3,})[[:space:]]*(?i:(ml|ocaml)([[:space:]]+[^`~]*)?$)",
      "name": "markup.fenced_code.block.markdown",
      "end": "(^|\\G)(\\2|[[:space:]]{0,3})(\\3)[[:space:]]*$",
      "beginCaptures": {
        "3": { "name": "punctuation.definition.markdown" },
        "4": { "name": "fenced_code.block.language.markdown" },
        "5": { "name": "fenced_code.block.language.attributes.markdown" }
      },
      "endCaptures": {
        "3": { "name": "punctuation.definition.markdown" }
      },
      "patterns": [
        {
          "begin": "(^|\\G)([[:space:]]*)(.*)",
          "while": "(^|\\G)(?![[:space:]]*([`~]{3,})[[:space:]]*$)",
          "contentName": "meta.embedded.block.ocaml",
          "patterns": [
            {
              "include": "source.ocaml"
            }
          ]
        }
      ]
    }
  },
  "scopeName": "markdown.ocaml.codeblock"
}
