{
  "name": "iconv",
  "description": "Character set conversion",
  "options": [
    {
      "names": [
        "--help"
      ],
      "description": "Show help for iconv"
    },
    {
      "names": [
        "--version"
      ],
      "description": "Output version information and exit"
    },
    {
      "names": [
        "-f",
        "--from-code"
      ],
      "description": "Specifies the encoding of the input",
      "exclusiveOn": [
        "-l",
        "--list"
      ],
      "args": [
        {
          "name": "encoding",
          "generators": [
            {
              "script": [
                "bash",
                "-c",
                "iconv -l | command tr ' ' '\\n' | sort"
              ]
            }
          ]
        }
      ]
    },
    {
      "names": [
        "-t",
        "--to-code"
      ],
      "description": "Specifies the encoding of the output",
      "exclusiveOn": [
        "-l",
        "--list"
      ],
      "args": [
        {
          "name": "encoding",
          "generators": [
            {
              "script": [
                "bash",
                "-c",
                "iconv -l | command tr ' ' '\\n' | sort"
              ]
            }
          ]
        }
      ]
    },
    {
      "names": [
        "-c"
      ],
      "description": "Discard unconvertible characters",
      "exclusiveOn": [
        "-l",
        "--list"
      ]
    },
    {
      "names": [
        "-l",
        "--list"
      ],
      "description": "List the supported encodings",
      "exclusiveOn": [
        "-f",
        "--from-code",
        "-t",
        "--to-code",
        "--unicode-subst",
        "--byte-subst",
        "--widechar-subst"
      ]
    },
    {
      "names": [
        "--unicode-subst"
      ],
      "description": "Substitution for unconvertible Unicode characters",
      "separator": "=",
      "exclusiveOn": [
        "-l",
        "--list"
      ],
      "args": [
        {
          "name": "FORMATSTRING",
          "description": "The formatstring must be a format string in the same format as for the printf command"
        }
      ]
    },
    {
      "names": [
        "--byte-subst"
      ],
      "description": "Substitution for unconvertible bytes",
      "separator": "=",
      "exclusiveOn": [
        "-l",
        "--list"
      ],
      "args": [
        {
          "name": "FORMATSTRING",
          "description": "The formatstring must be a format string in the same format as for the printf command"
        }
      ]
    },
    {
      "names": [
        "--widechar-subst"
      ],
      "description": "Substitution for unconvertible wide characters",
      "separator": "=",
      "exclusiveOn": [
        "-l",
        "--list"
      ],
      "args": [
        {
          "name": "FORMATSTRING",
          "description": "The formatstring must be a format string in the same format as for the printf command"
        }
      ]
    }
  ],
  "args": [
    {
      "name": "inputfile",
      "isVariadic": true,
      "template": "filepaths"
    }
  ]
}
