--- 
name: camlp4
scopeName: source.camlp4.ocaml
repository: 
  camlpppp-streams: 
    patterns: 
    - name: meta.camlp4-stream.element.ocaml
      endCaptures: 
        "1": 
          name: punctuation.separator.camlp4.ocaml
      begin: (')
      beginCaptures: 
        "1": 
          name: punctuation.definition.camlp4.simple-element.ocaml
      end: (;)(?=\s*')|(?=\s*>])
      patterns: 
      - include: source.ocaml
uuid: 37538B6B-CEFA-4DAE-B1E4-1218DB82B37F
foldingStartMarker: (\bEXTEND\B)
patterns: 
- name: meta.camlp4-stream.ocaml
  endCaptures: 
    "1": 
      name: punctuation.definition.camlp4-stream.ocaml
  begin: (\[<)(?=.*?>])
  beginCaptures: 
    "1": 
      name: punctuation.definition.camlp4-stream.ocaml
  end: (?=>])
  patterns: 
  - include: "#camlpppp-streams"
- name: punctuation.definition.camlp4-stream.ocaml
  match: \[<|>]
- name: keyword.other.camlp4.ocaml
  match: \bparser\b|<(<|:)|>>|\$(:|\${0,1})
foldingStopMarker: (\bEND\b)
