{
  "name": "black",
  "description": "Python code formatter",
  "options": [
    {
      "names": [
        "--code",
        "-c"
      ],
      "description": "Format the code passed in as a string",
      "takes_arg": true,
      "arg": {
        "name": "string"
      }
    },
    {
      "names": [
        "--line-length",
        "-l"
      ],
      "description": "How many characters per line to allow",
      "takes_arg": true,
      "arg": {
        "name": "line length"
      }
    },
    {
      "names": [
        "--target-version",
        "-t"
      ],
      "description": "Python versions that should be supported",
      "takes_arg": true,
      "arg": {
        "name": "python version",
        "suggestions": [
          "py33",
          "py34",
          "py35",
          "py36",
          "py37",
          "py38",
          "py39",
          "py310"
        ]
      }
    },
    {
      "names": [
        "--pyi"
      ],
      "description": "Format all input files regardless of file extension"
    },
    {
      "names": [
        "--ipynb"
      ],
      "description": "Format all input files like Jupyter Notebooks regardless of file extension"
    },
    {
      "names": [
        "--python-cell-magics"
      ],
      "description": "Add the given magic to the list of known python-magics",
      "takes_arg": true,
      "arg": {
        "name": "python-magic",
        "suggestions": [
          "python",
          "python3",
          "timeit",
          "prun",
          "time",
          "pypy",
          "capture"
        ]
      }
    },
    {
      "names": [
        "--skip-string-normalization",
        "-S"
      ],
      "description": "Don't normalize string quotes or prefixes"
    },
    {
      "names": [
        "--skip-magic-trailing-comma",
        "-C"
      ],
      "description": "Don't use trailing commas as a reason to split lines"
    },
    {
      "names": [
        "--preview"
      ],
      "description": "Enable potentially disruptive style changes"
    },
    {
      "names": [
        "--check"
      ],
      "description": "Don't write the files back, just return the status"
    },
    {
      "names": [
        "--diff"
      ],
      "description": "Don't write the files back, just output a diff for each file on stdout"
    },
    {
      "names": [
        "--color"
      ],
      "description": "Show colored diff"
    },
    {
      "names": [
        "--no-color"
      ],
      "description": "Show uncolored diff"
    },
    {
      "names": [
        "--fast"
      ],
      "description": "Skip temporary sanity checks"
    },
    {
      "names": [
        "--safe"
      ],
      "description": "Run temporary sanity checks"
    },
    {
      "names": [
        "--required-version"
      ],
      "description": "Require a specific version of Black",
      "takes_arg": true,
      "arg": {
        "name": "version"
      }
    },
    {
      "names": [
        "--include"
      ],
      "description": "Regex that matches files and directories that should be included on recursive searches",
      "takes_arg": true,
      "arg": {
        "name": "Regex"
      }
    },
    {
      "names": [
        "--exclude"
      ],
      "description": "Regex that matches files and directories that should be excluded on recursive searches",
      "takes_arg": true,
      "arg": {
        "name": "Regex"
      }
    },
    {
      "names": [
        "--extend-exclude"
      ],
      "description": "Additional exlusions",
      "takes_arg": true,
      "arg": {
        "name": "Regex"
      }
    },
    {
      "names": [
        "--force-exclude"
      ],
      "description": "Exlude matching files and folders even when passed explicitly",
      "takes_arg": true,
      "arg": {
        "name": "Regex"
      }
    },
    {
      "names": [
        "--stdin-filename"
      ],
      "description": "The name of the file when passing it through stdin",
      "takes_arg": true,
      "arg": {
        "name": "file",
        "template": "filepaths"
      }
    },
    {
      "names": [
        "--workers",
        "-W"
      ],
      "description": "Number of parallel workers",
      "takes_arg": true,
      "arg": {
        "name": "integer"
      }
    },
    {
      "names": [
        "--quiet",
        "-q"
      ],
      "description": "Don't emit non-error messages to stderr"
    },
    {
      "names": [
        "--verbose",
        "-v"
      ],
      "description": "Also emit messages about files that were not changed or were ignored due to exclusion patterns"
    },
    {
      "names": [
        "--version"
      ],
      "description": "Show the version"
    },
    {
      "names": [
        "--config"
      ],
      "description": "Read configuration from filepath",
      "takes_arg": true,
      "arg": {
        "name": "file",
        "template": "filepaths"
      }
    },
    {
      "names": [
        "--help",
        "-h"
      ],
      "description": "Show usage information"
    }
  ],
  "args": [
    {
      "name": "file or directory",
      "is_variadic": true,
      "template": "filepaths"
    }
  ]
}
