{
  "description": "Formats C, C++, C#, D, Java, Objective-C, Pawn and Vala source with an Uncrustify config. Debug and config-generation options are not included.",
  "options": [
    {
      "names": [
        "-c"
      ],
      "description": "Config file",
      "args": {
        "name": "config",
        "isOptional": false,
        "template": "filepaths"
      }
    },
    {
      "names": [
        "-l"
      ],
      "description": "Required when reading from standard input.",
      "args": {
        "name": "language",
        "description": "Required when reading from standard input.",
        "isOptional": false,
        "suggestions": [
          {
            "name": "C",
            "description": "C"
          },
          {
            "name": "CPP",
            "description": "C++"
          },
          {
            "name": "D",
            "description": "D"
          },
          {
            "name": "CS",
            "description": "C#"
          },
          {
            "name": "JAVA",
            "description": "Java"
          },
          {
            "name": "PAWN",
            "description": "Pawn"
          },
          {
            "name": "VALA",
            "description": "Vala"
          },
          {
            "name": "OC",
            "description": "Objective-C"
          },
          {
            "name": "OC+",
            "description": "Objective-C++"
          }
        ]
      }
    },
    {
      "names": [
        "--check"
      ],
      "description": "Verify nothing would change; exits non-zero otherwise."
    },
    {
      "names": [
        "--replace"
      ],
      "description": "Replace files (with backup)",
      "isDangerous": true
    },
    {
      "names": [
        "--no-backup"
      ],
      "description": "Replace files (no backup)",
      "isDangerous": true
    },
    {
      "names": [
        "-o"
      ],
      "description": "Only valid with a single input file.",
      "args": {
        "name": "output",
        "description": "Only valid with a single input file.",
        "isOptional": false,
        "template": "filepaths"
      },
      "isDangerous": true
    },
    {
      "names": [
        "-q"
      ],
      "description": "Quiet"
    }
  ],
  "args": [
    {
      "name": "files",
      "isOptional": true,
      "isVariadic": true,
      "template": "filepaths"
    }
  ],
  "name": "uncrustify"
}
