name: D fileTypes:

firstLineMatch: ^#!.*bdmdb. scopeName: source.d repository:

string_escaped_char: 
  patterns: 
  - name: constant.character.escape.c
    match: \\(\\|[abefnprtv'"?]|[0-3]\d{,2}|[4-7]\d?|x[a-zA-Z0-9]+)
  - name: invalid.illegal.unknown-escape.c
    match: \\.
string_placeholder: 
  patterns: 
  - name: constant.other.placeholder.c
    match: "(?x)%\n\
      \t\t\t\t\t\t(\\d+\\$)?                             # field (argument #)\n\
      \t\t\t\t\t\t[#0\\- +']*                           # flags\n\
      \t\t\t\t\t\t[,;:_]?                              # separator character (AltiVec)\n\
      \t\t\t\t\t\t((-?\\d+)|\\*(-?\\d+\\$)?)?              # minimum field width\n\
      \t\t\t\t\t\t(\\.((-?\\d+)|\\*(-?\\d+\\$)?)?)?         # precision\n\
      \t\t\t\t\t\t(hh|h|ll|l|j|t|z|q|L|vh|vl|v|hv|hl)? # length modifier\n\
      \t\t\t\t\t\t[diouxXDOUeEfFgGaACcSspn%]           # conversion type\n\
      \t\t\t\t\t"
  - name: invalid.illegal.placeholder.c
    match: "%"
comment_nested_block_content: 
  captures: 
    "0": 
      name: punctuation.definition.comment.d
  begin: /\+
  end: \+/
  patterns: 
  - include: "#comment_nested_block_content"

uuid: F02BBA11-F58F-4E85-8698-FC74E339D6C3 foldingStartMarker: (?x)/**(?!*)|^(?!*?//|[^{]*?/*(?!.*?*/.*?{)).*?{s*($|//|/*(?!.*?*/.*S)) patterns:

foldingStopMarker: (?<!*)**/|^s*} keyEquivalent: ^~D comment: D language