{
  "description": "Compile D sources with the DMD reference compiler. Import paths, version identifiers, -run, -check and -preview switches are left out.",
  "options": [
    {
      "names": [
        "-of"
      ],
      "description": "Written as -of<name>.",
      "args": {
        "name": "output",
        "description": "Written as -of<name>.",
        "isOptional": false,
        "template": "filepaths"
      }
    },
    {
      "names": [
        "-c"
      ],
      "description": "Compile only (no link)"
    },
    {
      "names": [
        "-O"
      ],
      "description": "Optimize"
    },
    {
      "names": [
        "-release"
      ],
      "description": "No asserts or contract checks."
    },
    {
      "names": [
        "-inline"
      ],
      "description": "Inline functions"
    },
    {
      "names": [
        "-g"
      ],
      "description": "Symbolic debug info"
    },
    {
      "names": [
        "-debug"
      ],
      "description": "Compile debug code"
    },
    {
      "names": [
        "-unittest"
      ],
      "description": "Compile unit tests"
    },
    {
      "names": [
        "-main"
      ],
      "description": "Add default main()"
    },
    {
      "names": [
        "-w"
      ],
      "description": "Warnings as errors"
    },
    {
      "names": [
        "-wi"
      ],
      "description": "Warnings as messages"
    },
    {
      "names": [
        "-lib"
      ],
      "description": "Build a library"
    },
    {
      "names": [
        "-shared"
      ],
      "description": "Build a shared library"
    },
    {
      "names": [
        "-betterC"
      ],
      "description": "BetterC mode"
    }
  ],
  "args": [
    {
      "name": "sources",
      "isOptional": true,
      "isVariadic": true,
      "template": "filepaths"
    }
  ],
  "name": "dmd"
}
