{
  "name": "swift",
  "description": "Swift compiler",
  "subcommands": [
    {
      "name": "build",
      "description": "Build sources into binary products",
      "options": [
        {
          "names": [
            "--help",
            "-h",
            "-help"
          ],
          "description": "Show help information"
        },
        {
          "names": [
            "--version"
          ],
          "description": "Show the version"
        },
        {
          "names": [
            "--build-tests"
          ],
          "description": "Build both source and test targets"
        },
        {
          "names": [
            "--show-bin-path"
          ],
          "description": "Print the binary output path"
        },
        {
          "names": [
            "--target"
          ],
          "description": "Build the specified target",
          "takes_arg": true,
          "arg": {
            "name": "target",
            "description": "The name of the target to build"
          }
        },
        {
          "names": [
            "--product"
          ],
          "description": "Build the specified product",
          "takes_arg": true,
          "arg": {
            "name": "product",
            "description": "The name of the product to build"
          }
        }
      ]
    },
    {
      "name": "run",
      "description": "Build and run an executable product",
      "options": [
        {
          "names": [
            "--help",
            "-h",
            "-help"
          ],
          "description": "Show help information"
        },
        {
          "names": [
            "--version"
          ],
          "description": "Show the version"
        },
        {
          "names": [
            "--skip-build"
          ],
          "description": "Skip building the executable product"
        },
        {
          "names": [
            "--build-tests"
          ],
          "description": "Build both source and test targets"
        },
        {
          "names": [
            "--repl"
          ],
          "description": "Launch Swift REPL for the package"
        }
      ],
      "args": [
        {
          "name": "executable",
          "description": "The executable to run"
        },
        {
          "name": "arguments",
          "description": "The arguments to pass to the executable"
        }
      ]
    },
    {
      "name": "test",
      "description": "Build and run tests",
      "options": [
        {
          "names": [
            "--help",
            "-h",
            "-help"
          ],
          "description": "Show help information"
        },
        {
          "names": [
            "--version"
          ],
          "description": "Show the version"
        },
        {
          "names": [
            "--skip-build"
          ],
          "description": "Skip building the test target"
        },
        {
          "names": [
            "--parallel"
          ],
          "description": "Run the tests in parallel"
        },
        {
          "names": [
            "--num-workers"
          ],
          "description": "Number of tests to execute in parallel",
          "takes_arg": true,
          "arg": {
            "name": "num-workers",
            "description": "Number of tests to execute in parallel"
          }
        },
        {
          "names": [
            "-l",
            "--list-tests"
          ],
          "description": "Lists test methods in specifier format"
        },
        {
          "names": [
            "--show-codecov-path"
          ],
          "description": "Print the path of the exported code coverage JSON file"
        },
        {
          "names": [
            "-s",
            "--specifier"
          ]
        },
        {
          "names": [
            "--filter"
          ],
          "description": "Run test cases matching regular expression",
          "takes_arg": true,
          "arg": {
            "name": "regex",
            "description": "<test-target>.<test-case> or <test-target>.<test-case>/<test>"
          }
        },
        {
          "names": [
            "--skip"
          ],
          "description": "Skip test cases matching regular expression",
          "takes_arg": true,
          "arg": {
            "name": "regex",
            "description": "<test-target>.<test-case> or <test-target>.<test-case>/<test>"
          }
        },
        {
          "names": [
            "--xunit-output"
          ],
          "description": "Path where the xUnit xml file should be generated",
          "takes_arg": true,
          "arg": {
            "name": "path",
            "description": "Path where the xUnit xml file should be generated"
          }
        },
        {
          "names": [
            "--test-product"
          ],
          "description": "Test the specified product",
          "takes_arg": true,
          "arg": {
            "name": "product",
            "description": "The product to be tested"
          }
        }
      ]
    },
    {
      "name": "package",
      "description": "Perform operations on Swift packages",
      "subcommands": [
        {
          "name": "clean",
          "description": "Delete build artifacts",
          "options": [
            {
              "names": [
                "--help",
                "-h",
                "-help"
              ],
              "description": "Show help information"
            },
            {
              "names": [
                "--version"
              ],
              "description": "Show the version"
            }
          ]
        },
        {
          "name": "purge-cache",
          "description": "Purge the global repository cache",
          "options": [
            {
              "names": [
                "--help",
                "-h",
                "-help"
              ],
              "description": "Show help information"
            },
            {
              "names": [
                "--version"
              ],
              "description": "Show the version"
            }
          ]
        },
        {
          "name": "reset",
          "description": "Reset the complete cache/build directory",
          "options": [
            {
              "names": [
                "--help",
                "-h",
                "-help"
              ],
              "description": "Show help information"
            },
            {
              "names": [
                "--version"
              ],
              "description": "Show the version"
            }
          ]
        },
        {
          "name": "update",
          "description": "Update package dependencies",
          "options": [
            {
              "names": [
                "--help",
                "-h",
                "-help"
              ],
              "description": "Show help information"
            },
            {
              "names": [
                "--version"
              ],
              "description": "Show the version"
            },
            {
              "names": [
                "-n",
                "-dry-run"
              ],
              "description": "Display the list of dependencies that can be updated"
            }
          ]
        },
        {
          "name": "describe",
          "description": "Describe the current package",
          "options": [
            {
              "names": [
                "--help",
                "-h",
                "-help"
              ],
              "description": "Show help information"
            },
            {
              "names": [
                "--version"
              ],
              "description": "Show the version"
            },
            {
              "names": [
                "--type"
              ],
              "description": "The output type",
              "takes_arg": true,
              "arg": {
                "name": "type",
                "description": "The output type",
                "suggestions": [
                  "json",
                  "text"
                ]
              }
            }
          ]
        },
        {
          "name": "init",
          "description": "Initialize a new package",
          "options": [
            {
              "names": [
                "--help",
                "-h",
                "-help"
              ],
              "description": "Show help information"
            },
            {
              "names": [
                "--version"
              ],
              "description": "Show the version"
            },
            {
              "names": [
                "--type"
              ],
              "description": "The package type",
              "takes_arg": true,
              "arg": {
                "name": "type",
                "description": "The package type",
                "suggestions": [
                  "empty",
                  "library",
                  "executable",
                  "system-module",
                  "manifest"
                ]
              }
            },
            {
              "names": [
                "--name"
              ],
              "description": "Provide custom package name",
              "takes_arg": true,
              "arg": {
                "name": "name",
                "description": "The package name"
              }
            }
          ]
        },
        {
          "name": "experimental-api-diff",
          "description": "Diagnose API-breaking changes to Swift modules in a package",
          "options": [
            {
              "names": [
                "--help",
                "-h",
                "-help"
              ],
              "description": "Show help information"
            },
            {
              "names": [
                "--version"
              ],
              "description": "Show the version"
            },
            {
              "names": [
                "--invert-baseline"
              ],
              "description": "Invert the baseline which is helpful for determining API additions"
            }
          ],
          "args": [
            {
              "name": "treeish",
              "description": "The baseline treeish to compare to (e.g. a commit hash, branch name, tag, etc.)"
            }
          ]
        },
        {
          "name": "dump-symbol-graph",
          "description": "Dump Symbol Graph",
          "options": [
            {
              "names": [
                "--help",
                "-h",
                "-help"
              ],
              "description": "Show help information"
            },
            {
              "names": [
                "--version"
              ],
              "description": "Show the version"
            }
          ]
        },
        {
          "name": "dump-pif",
          "description": "Dump PIF",
          "options": [
            {
              "names": [
                "--help",
                "-h",
                "-help"
              ],
              "description": "Show help information"
            },
            {
              "names": [
                "--version"
              ],
              "description": "Show the version"
            },
            {
              "names": [
                "--preserve-structure"
              ],
              "description": "Preserve the internal structure of PIF"
            }
          ]
        },
        {
          "name": "dump-package",
          "description": "Print parsed Package.swift as JSON",
          "options": [
            {
              "names": [
                "--help",
                "-h",
                "-help"
              ],
              "description": "Show help information"
            },
            {
              "names": [
                "--version"
              ],
              "description": "Show the version"
            }
          ]
        },
        {
          "name": "edit",
          "description": "Put a package in editable mode",
          "options": [
            {
              "names": [
                "--help",
                "-h",
                "-help"
              ],
              "description": "Show help information"
            },
            {
              "names": [
                "--version"
              ],
              "description": "Show the version"
            },
            {
              "names": [
                "--revision"
              ],
              "description": "The revision to edit",
              "takes_arg": true,
              "arg": {
                "name": "revision",
                "description": "The revision to edit"
              }
            },
            {
              "names": [
                "--branch"
              ],
              "description": "The branch to create",
              "takes_arg": true,
              "arg": {
                "name": "branch",
                "description": "The branch to create"
              }
            },
            {
              "names": [
                "--path"
              ],
              "description": "Create or use the checkout at this path",
              "takes_arg": true,
              "arg": {
                "name": "path",
                "description": "Create or use the checkout at this path"
              }
            }
          ]
        },
        {
          "name": "unedit",
          "description": "Remove a package from editable mode",
          "options": [
            {
              "names": [
                "--help",
                "-h",
                "-help"
              ],
              "description": "Show help information"
            },
            {
              "names": [
                "--version"
              ],
              "description": "Show the version"
            },
            {
              "names": [
                "--force"
              ],
              "description": "Unedit the package even if it has uncommitted and unpushed changes"
            }
          ],
          "args": [
            {
              "name": "package-name",
              "description": "The name of the package to unedit"
            }
          ]
        },
        {
          "name": "config",
          "description": "Manipulate configuration of the package",
          "subcommands": [
            {
              "name": "set-mirror",
              "description": "Set a mirror for a dependency",
              "options": [
                {
                  "names": [
                    "--help",
                    "-h",
                    "-help"
                  ],
                  "description": "Show help information"
                },
                {
                  "names": [
                    "--version"
                  ],
                  "description": "Show the version"
                },
                {
                  "names": [
                    "--package-url"
                  ],
                  "description": "The package dependency url",
                  "takes_arg": true,
                  "arg": {
                    "name": "package-url",
                    "description": "The package dependency url"
                  }
                },
                {
                  "names": [
                    "--original-url"
                  ],
                  "description": "The original url",
                  "takes_arg": true,
                  "arg": {
                    "name": "original-url",
                    "description": "The original url"
                  }
                },
                {
                  "names": [
                    "--mirror-url"
                  ],
                  "description": "The mirror url",
                  "takes_arg": true,
                  "arg": {
                    "name": "original-url",
                    "description": "The mirror url"
                  }
                }
              ]
            },
            {
              "name": "unset-mirror",
              "description": "Remove an existing mirror",
              "options": [
                {
                  "names": [
                    "--help",
                    "-h",
                    "-help"
                  ],
                  "description": "Show help information"
                },
                {
                  "names": [
                    "--version"
                  ],
                  "description": "Show the version"
                },
                {
                  "names": [
                    "--package-url"
                  ],
                  "description": "The package dependency url",
                  "takes_arg": true,
                  "arg": {
                    "name": "package-url",
                    "description": "The package dependency url"
                  }
                },
                {
                  "names": [
                    "--original-url"
                  ],
                  "description": "The original url",
                  "takes_arg": true,
                  "arg": {
                    "name": "original-url",
                    "description": "The original url"
                  }
                },
                {
                  "names": [
                    "--mirror-url"
                  ],
                  "description": "The mirror url",
                  "takes_arg": true,
                  "arg": {
                    "name": "original-url",
                    "description": "The mirror url"
                  }
                }
              ]
            },
            {
              "name": "get-mirror",
              "description": "Print mirror configuration for the given package dependency",
              "options": [
                {
                  "names": [
                    "--help",
                    "-h",
                    "-help"
                  ],
                  "description": "Show help information"
                },
                {
                  "names": [
                    "--version"
                  ],
                  "description": "Show the version"
                },
                {
                  "names": [
                    "--package-url"
                  ],
                  "description": "The package dependency url",
                  "takes_arg": true,
                  "arg": {
                    "name": "package-url",
                    "description": "The package dependency url"
                  }
                },
                {
                  "names": [
                    "--original-url"
                  ],
                  "description": "The original url",
                  "takes_arg": true,
                  "arg": {
                    "name": "original-url",
                    "description": "The original url"
                  }
                }
              ]
            }
          ],
          "options": [
            {
              "names": [
                "--help",
                "-h",
                "-help"
              ],
              "description": "Show help information"
            },
            {
              "names": [
                "--version"
              ],
              "description": "Show the version"
            }
          ]
        },
        {
          "name": "resolve",
          "description": "Resolve package dependencies",
          "options": [
            {
              "names": [
                "--help",
                "-h",
                "-help"
              ],
              "description": "Show help information"
            },
            {
              "names": [
                "--version"
              ],
              "description": "Show the version",
              "takes_arg": true,
              "arg": {
                "name": "version",
                "description": "The version to resolve at"
              }
            },
            {
              "names": [
                "--branch"
              ],
              "description": "The branch to resolve at",
              "takes_arg": true,
              "arg": {
                "name": "branch",
                "description": "The branch to resolve at"
              }
            },
            {
              "names": [
                "--revision"
              ],
              "description": "The revision to resolve at",
              "takes_arg": true,
              "arg": {
                "name": "revision",
                "description": "The revision to resolve at"
              }
            }
          ],
          "args": [
            {
              "name": "package-name",
              "description": "The name of the package to resolve"
            }
          ]
        },
        {
          "name": "show-dependencies",
          "description": "Print the resolved dependency graph",
          "options": [
            {
              "names": [
                "--help",
                "-h",
                "-help"
              ],
              "description": "Show help information"
            },
            {
              "names": [
                "--version"
              ],
              "description": "Show the version"
            },
            {
              "names": [
                "--format"
              ],
              "description": "The format type",
              "takes_arg": true,
              "arg": {
                "name": "format",
                "description": "The format type",
                "suggestions": [
                  "text",
                  "dot",
                  "json",
                  "flatlist"
                ]
              }
            }
          ]
        },
        {
          "name": "tools-version",
          "description": "Manipulate tools version of the current package",
          "options": [
            {
              "names": [
                "--help",
                "-h",
                "-help"
              ],
              "description": "Show help information"
            },
            {
              "names": [
                "--version"
              ],
              "description": "Show the version"
            },
            {
              "names": [
                "--format"
              ],
              "description": "The format type",
              "takes_arg": true,
              "arg": {
                "name": "format",
                "description": "The format type",
                "suggestions": [
                  "text",
                  "dot",
                  "json",
                  "flatlist"
                ]
              }
            },
            {
              "names": [
                "--set-current"
              ],
              "description": "Set tools version of package to the current tools version in use"
            },
            {
              "names": [
                "--set"
              ],
              "description": "Set tools version of package to the given value",
              "takes_arg": true,
              "arg": {
                "name": "tools version",
                "description": "The tools version"
              }
            }
          ]
        },
        {
          "name": "generate-xcodeproj",
          "description": "Generates an Xcode project (this command will be deprecated soon)",
          "options": [
            {
              "names": [
                "--help",
                "-h",
                "-help"
              ],
              "description": "Show help information"
            },
            {
              "names": [
                "--version"
              ],
              "description": "Show the version"
            },
            {
              "names": [
                "--xcconfig-overrides"
              ],
              "description": "Path to xcconfig file",
              "takes_arg": true,
              "arg": {
                "name": "path",
                "description": "Path to xcconfig file"
              }
            },
            {
              "names": [
                "--output"
              ],
              "description": "Path where the Xcode project should be generated",
              "takes_arg": true,
              "arg": {
                "name": "path",
                "description": "Path where the Xcode project should be generated"
              }
            },
            {
              "names": [
                "--legacy-scheme-generator"
              ],
              "description": "Use the legacy scheme generator"
            },
            {
              "names": [
                "--watch"
              ],
              "description": "Watch for changes to the Package manifest to regenerate the Xcode project"
            },
            {
              "names": [
                "--skip-extra-files"
              ],
              "description": "Do not add file references for extra files to the generated Xcode project"
            }
          ]
        },
        {
          "name": "compute-checksum",
          "description": "Compute the checksum for a binary artifact",
          "options": [
            {
              "names": [
                "--help",
                "-h",
                "-help"
              ],
              "description": "Show help information"
            },
            {
              "names": [
                "--version"
              ],
              "description": "Show the version"
            }
          ]
        },
        {
          "name": "archive-source",
          "description": "Create a source archive for the package",
          "options": [
            {
              "names": [
                "--help",
                "-h",
                "-help"
              ],
              "description": "Show help information"
            },
            {
              "names": [
                "--version"
              ],
              "description": "Show the version"
            },
            {
              "names": [
                "-o",
                "--output"
              ],
              "description": "The absolute or relative path for the generated source archive",
              "takes_arg": true,
              "arg": {
                "name": "path",
                "description": "The absolute or relative path for the generated source archive"
              }
            }
          ]
        },
        {
          "name": "completion-tool",
          "description": "Completion tool (for shell completions)",
          "options": [
            {
              "names": [
                "--help",
                "-h",
                "-help"
              ],
              "description": "Show help information"
            },
            {
              "names": [
                "--version"
              ],
              "description": "Show the version"
            }
          ],
          "args": [
            {
              "name": "mode",
              "description": "The completion tool mode",
              "suggestions": [
                "generate-bash-script",
                "generate-zsh-script",
                "generate-fish-script",
                "list-dependencies",
                "list-executables"
              ]
            }
          ]
        }
      ],
      "options": [
        {
          "names": [
            "--help",
            "-h",
            "-help"
          ],
          "description": "Show help information"
        },
        {
          "names": [
            "--version"
          ],
          "description": "Show the version"
        },
        {
          "names": [
            "-Xcc"
          ],
          "description": "Pass a flag through to all C compiler invocations",
          "takes_arg": true,
          "arg": {
            "name": "flag",
            "description": "The flag to pass through to all C compiler invocations"
          }
        },
        {
          "names": [
            "-Xswiftc"
          ],
          "description": "Pass a flag through to all Swift compiler invocations",
          "takes_arg": true,
          "arg": {
            "name": "flag",
            "description": "The flag to pass through to all Swift compiler invocations"
          }
        },
        {
          "names": [
            "-Xlinker"
          ],
          "description": "Pass a flag through to all linker invocations",
          "takes_arg": true,
          "arg": {
            "name": "flag",
            "description": "The flag to pass through to all linker invocations"
          }
        },
        {
          "names": [
            "-c",
            "--configuration"
          ],
          "description": "Build with configuration (default: debug)",
          "takes_arg": true,
          "arg": {
            "name": "configuration",
            "description": "The build configuration",
            "suggestions": [
              "debug",
              "release"
            ]
          }
        },
        {
          "names": [
            "--build-path"
          ],
          "description": "Specify build/cache directory",
          "takes_arg": true,
          "arg": {
            "name": "path",
            "description": "The path to a specific build/cache directory"
          }
        },
        {
          "names": [
            "--cache-path"
          ],
          "description": "Specify the shared cache directory",
          "takes_arg": true,
          "arg": {
            "name": "path",
            "description": "The path to a specific shared cache directory"
          }
        },
        {
          "names": [
            "--enable-repository-cache"
          ],
          "description": "Enable the use of a shared cache when fetching repositories (default: enabled)"
        },
        {
          "names": [
            "--disable-repository-cache"
          ],
          "description": "Disable the use of a shared cache when fetching repositories (default: enabled)"
        },
        {
          "names": [
            "-C",
            "--chdir"
          ],
          "description": "The custom working directory that the tool should operate in",
          "takes_arg": true,
          "arg": {
            "name": "chdir"
          }
        },
        {
          "names": [
            "--package-path"
          ],
          "description": "Change working directory before any other operation",
          "takes_arg": true,
          "arg": {
            "name": "path",
            "description": "The working directory path to change to"
          }
        },
        {
          "names": [
            "--multiroot-data-file"
          ],
          "description": "The path to the file containing multiroot package data. This is currently Xcode's workspace file",
          "takes_arg": true,
          "arg": {
            "name": "multiroot-data-file"
          }
        },
        {
          "names": [
            "--enable-prefetching"
          ],
          "description": "Enable prefetching in resolver which will kick off parallel git cloning (default: enabled)"
        },
        {
          "names": [
            "--disable-prefetching"
          ],
          "description": "Disable  prefetching in resolver which will kick off parallel git cloning (default: enabled)"
        },
        {
          "names": [
            "-v",
            "--verbose"
          ],
          "description": "Increase verbosity of informational output"
        },
        {
          "names": [
            "--disable-sandbox"
          ],
          "description": "Disable using the sandbox when executing subprocesses"
        },
        {
          "names": [
            "--manifest-cache"
          ],
          "description": "Caching mode of Package.swift manifests",
          "takes_arg": true,
          "arg": {
            "name": "mode",
            "description": "The caching mode",
            "suggestions": [
              "shared",
              "local",
              "none"
            ]
          }
        },
        {
          "names": [
            "--destination"
          ],
          "description": "Path to the compilation destination describing JSON file",
          "takes_arg": true,
          "arg": {
            "name": "path",
            "description": "The path to the compilation destination describing JSON file"
          }
        },
        {
          "names": [
            "--triple"
          ],
          "description": "The compilation destination's target triple",
          "takes_arg": true,
          "arg": {
            "name": "triple",
            "description": "The compilation destination's target triple"
          }
        },
        {
          "names": [
            "--sdk"
          ],
          "description": "Path to the compilation destination's SDK",
          "takes_arg": true,
          "arg": {
            "name": "path",
            "description": "Path to the compilation destination's SDK"
          }
        },
        {
          "names": [
            "--toolchain"
          ],
          "description": "Path to the compilation destination's toolchain",
          "takes_arg": true,
          "arg": {
            "name": "path",
            "description": "Path to the compilation destination's toolchain"
          }
        },
        {
          "names": [
            "--static-swift-stdlib"
          ],
          "description": "Link Swift stdlib statically (default: false)"
        },
        {
          "names": [
            "--no-static-swift-stdlib"
          ],
          "description": "Don't link Swift stdlib statically (default: false)"
        },
        {
          "names": [
            "--skip-update"
          ],
          "description": "Skip updating dependencies from their remote during a resolution"
        },
        {
          "names": [
            "--sanitize"
          ],
          "description": "Turn on runtime checks for erroneous behavior",
          "takes_arg": true,
          "arg": {
            "name": "type",
            "description": "What to sanitize",
            "suggestions": [
              "address",
              "thread",
              "undefined",
              "scudo"
            ]
          }
        },
        {
          "names": [
            "--enable-code-coverage"
          ],
          "description": "Enable code coverage (default: disabled)"
        },
        {
          "names": [
            "--disable-code-coverage"
          ],
          "description": "Disable code coverage (default: disabled)"
        },
        {
          "names": [
            "--force-resolved-versions",
            "--disable-automatic-resolution",
            "--only-use-versions-from-resolved-file"
          ],
          "description": "Only use versions from the Package.resolved file and fail resolution if it is out-of-date"
        },
        {
          "names": [
            "--auto-index-store"
          ],
          "description": "Enable or disable indexing-while-building feature (default: auto)"
        },
        {
          "names": [
            "--enable-index-store"
          ],
          "description": "Enable indexing-while-building feature (default: auto)"
        },
        {
          "names": [
            "--disable-index-store"
          ],
          "description": "Disable indexing-while-building feature (default: auto)"
        },
        {
          "names": [
            "--enable-parseable-module-interfaces"
          ],
          "description": "Whether to enable generation of `.swiftinterface`s alongside `.swiftmodule`s"
        },
        {
          "names": [
            "--trace-resolver"
          ],
          "description": "Write dependency resolver trace to a file"
        },
        {
          "names": [
            "-j",
            "--jobs"
          ],
          "description": "The number of jobs to spawn in parallel during the build process",
          "takes_arg": true,
          "arg": {
            "name": "jobs",
            "description": "The number of jobs to spawn in parallel during the build process"
          }
        },
        {
          "names": [
            "--enable-build-manifest-caching"
          ],
          "description": "Whether to enable llbuild manifest caching (default: enabled)"
        },
        {
          "names": [
            "--disable-build-manifest-caching"
          ],
          "description": "Whether to disable llbuild manifest caching (default: enabled)"
        },
        {
          "names": [
            "--emit-swift-module-separately"
          ],
          "description": "Emit the Swift module separately from the object files"
        },
        {
          "names": [
            "--use-integrated-swift-driver"
          ],
          "description": "Whether to use the integrated Swift driver rather than shelling out to a separate process"
        },
        {
          "names": [
            "--experimental-explicit-module-build"
          ],
          "description": "Whether to use the explicit module build flow (with the integrated driver)"
        },
        {
          "names": [
            "--print-manifest-job-graph"
          ],
          "description": "Write the command graph for the build manifest as a graphviz file"
        },
        {
          "names": [
            "--build-system"
          ],
          "description": "The build system to use (default: native)",
          "takes_arg": true,
          "arg": {
            "name": "build system",
            "description": "The build system to use",
            "suggestions": [
              "native",
              "xcode"
            ]
          }
        },
        {
          "names": [
            "--netrc"
          ],
          "description": "Whether to load .netrc files for authenticating with remote servers when downloading binary artifacts or communicating with a registry",
          "takes_arg": true,
          "arg": {
            "name": "bool",
            "description": "Whether to load .netrc files for authenticating with remote servers when downloading binary artifacts or communicating with a registry"
          }
        },
        {
          "names": [
            "--netrc-file"
          ],
          "description": "The path to the .netrc file used when `netrc` is `true`",
          "takes_arg": true,
          "arg": {
            "name": "path",
            "description": "The path to the .netrc file used when `netrc` is `true`"
          }
        }
      ]
    }
  ],
  "options": [
    {
      "names": [
        "--help",
        "-h",
        "-help"
      ],
      "description": "Show help information"
    },
    {
      "names": [
        "--version"
      ],
      "description": "Show the version"
    },
    {
      "names": [
        "-access-notes-path"
      ],
      "description": "Specify YAML file to override attributes on Swift declarations in this module",
      "takes_arg": true,
      "arg": {
        "name": "path",
        "description": "Specify YAML file to override attributes on Swift declarations in this module"
      }
    },
    {
      "names": [
        "-assert-config"
      ],
      "description": "Specify the assert_configuration replacement",
      "takes_arg": true,
      "arg": {
        "name": "configuration",
        "description": "The assert_configuration replacement",
        "suggestions": [
          "Debug",
          "Release",
          "Unchecked",
          "DisableReplacement"
        ]
      }
    },
    {
      "names": [
        "-async-main"
      ],
      "description": "Resolve main function as if it were called from an asynchronous context"
    },
    {
      "names": [
        "-clang-target"
      ],
      "description": "Separately set the target we should use for internal Clang instance",
      "takes_arg": true,
      "arg": {
        "name": "target",
        "description": "The target we should use for internal Clang instance"
      }
    },
    {
      "names": [
        "-color-diagnostics"
      ],
      "description": "Print diagnostics in color"
    },
    {
      "names": [
        "-continue-building-after-errors"
      ],
      "description": "Continue building, even after errors are encountered"
    },
    {
      "names": [
        "-coverage-prefix-map"
      ],
      "description": "Remap source paths in coverage info",
      "takes_arg": true,
      "arg": {
        "name": "prefix",
        "description": "The remap source paths in coverage info"
      }
    },
    {
      "names": [
        "-debug-info-format"
      ],
      "description": "Specify the debug info format type",
      "takes_arg": true,
      "arg": {
        "name": "type",
        "description": "The debug info format type",
        "suggestions": [
          "dwarf",
          "codeview"
        ]
      }
    },
    {
      "names": [
        "-debug-info-store-invocation"
      ],
      "description": "Emit the compiler invocation in the debug info"
    },
    {
      "names": [
        "-debug-prefix-map"
      ],
      "description": "Remap source paths in debug info",
      "takes_arg": true,
      "arg": {
        "name": "prefix=replacement",
        "description": "The remap source paths in debug info"
      }
    },
    {
      "names": [
        "-diagnostic-style"
      ],
      "description": "The formatting style used when printing diagnostics",
      "takes_arg": true,
      "arg": {
        "name": "style",
        "description": "The formatting style used when printing diagnostics",
        "suggestions": [
          "swift",
          "llvm"
        ]
      }
    },
    {
      "names": [
        "-disable-actor-data-race-checks"
      ],
      "description": "Disable runtime checks for actor data races"
    },
    {
      "names": [
        "-disable-autolinking-runtime-compatibility-concurrency"
      ],
      "description": "Do not use autolinking for the concurrency runtime compatibility library"
    },
    {
      "names": [
        "-disable-autolinking-runtime-compatibility-dynamic-replacements"
      ],
      "description": "Do not use autolinking for the dynamic replacement runtime compatibility library"
    },
    {
      "names": [
        "-disable-autolinking-runtime-compatibility"
      ],
      "description": "Do not use autolinking for runtime compatibility libraries"
    },
    {
      "names": [
        "-disable-clang-target"
      ],
      "description": "Disable a separately specified target triple for Clang instance to use"
    },
    {
      "names": [
        "-disable-incremental-imports"
      ],
      "description": "Disable cross-module incremental build metadata and driver scheduling for Swift modules"
    },
    {
      "names": [
        "-disable-only-one-dependency-file"
      ],
      "description": "Disables incremental build optimization that only produces one dependencies file"
    },
    {
      "names": [
        "-disallow-use-new-driver"
      ],
      "description": "Disable using new swift-driver"
    },
    {
      "names": [
        "-D"
      ],
      "description": "Marks a conditional compilation flag as true",
      "takes_arg": true,
      "arg": {
        "name": "flag",
        "description": "The conditional compilation flag to mark as true"
      }
    },
    {
      "names": [
        "-embed-tbd-for-module"
      ],
      "description": "Embed symbols from the module in the emitted tbd file",
      "takes_arg": true,
      "arg": {
        "name": "module",
        "description": "Embed symbols from the module in the emitted tbd file"
      }
    },
    {
      "names": [
        "-enable-actor-data-race-checks"
      ],
      "description": "Emit runtime checks for actor data races"
    },
    {
      "names": [
        "-enable-bare-slash-regex"
      ],
      "description": "Enable the use of forward slash regular-expression literal syntax"
    },
    {
      "names": [
        "-enable-experimental-additive-arithmetic-derivation"
      ],
      "description": "Enable experimental 'AdditiveArithmetic' derived conformances"
    },
    {
      "names": [
        "-enable-experimental-concise-pound-file"
      ],
      "description": "Enable experimental concise '#file' identifier"
    },
    {
      "names": [
        "-enable-experimental-cxx-interop"
      ],
      "description": "Allow importing C++ modules into Swift (experimental feature)"
    },
    {
      "names": [
        "-enable-experimental-forward-mode-differentiation"
      ],
      "description": "Enable experimental forward mode differentiation"
    },
    {
      "names": [
        "-enable-incremental-imports"
      ],
      "description": "Enable cross-module incremental build metadata and driver scheduling for Swift modules"
    },
    {
      "names": [
        "-enable-library-evolution"
      ],
      "description": "Build the module to allow binary-compatible library evolution"
    },
    {
      "names": [
        "-enable-only-one-dependency-file"
      ],
      "description": "Enables incremental build optimization that only produces one dependencies file"
    },
    {
      "names": [
        "-enforce-exclusivity"
      ],
      "description": "Enforce law of exclusivity",
      "takes_arg": true,
      "arg": {
        "name": "enforcement",
        "description": "Enforce law of exclusivity"
      }
    },
    {
      "names": [
        "-experimental-cxx-stdlib"
      ],
      "description": "C++ standard library to use; forwarded to Clang's -std lib flag",
      "takes_arg": true,
      "arg": {
        "name": "stdlib",
        "description": "C++ standard library to use; forwarded to Clang's -std lib flag"
      }
    },
    {
      "names": [
        "-file-compilation-dir"
      ],
      "description": "The compilation directory to embed in the debug info. Coverage mapping is not supported yet",
      "takes_arg": true,
      "arg": {
        "name": "path",
        "description": "The compilation directory to embed in the debug info"
      }
    },
    {
      "names": [
        "-file-prefix-map"
      ],
      "description": "Remap source paths in debug, coverage, and index info",
      "takes_arg": true,
      "arg": {
        "name": "prefix",
        "description": "The remap source paths in debug, coverage, and index info"
      }
    },
    {
      "names": [
        "-framework"
      ],
      "description": "Specifies a framework which should be linked against",
      "takes_arg": true,
      "arg": {
        "name": "framework",
        "description": "The framework which should be linked against"
      }
    },
    {
      "names": [
        "-Fsystem"
      ],
      "description": "Add directory to system framework search path",
      "takes_arg": true,
      "arg": {
        "name": "directory",
        "description": "The directory to add to the system framework search path"
      }
    },
    {
      "names": [
        "-F"
      ],
      "description": "Add directory to framework search path",
      "takes_arg": true,
      "arg": {
        "name": "directory",
        "description": "The directory to add to the framework search path"
      }
    },
    {
      "names": [
        "-gdwarf-types"
      ],
      "description": "Emit full DWARF type info"
    },
    {
      "names": [
        "-gline-tables-only"
      ],
      "description": "Emit minimal debug info for backtraces only"
    },
    {
      "names": [
        "-gnone"
      ],
      "description": "Don't emit debug info"
    },
    {
      "names": [
        "-g"
      ],
      "description": "Emit debug info. This is the preferred setting for debugging with LLDB"
    },
    {
      "names": [
        "-index-ignore-clang-modules"
      ],
      "description": "Avoid indexing clang modules (pcms)"
    },
    {
      "names": [
        "-index-store-path"
      ],
      "description": "Store indexing data to path",
      "takes_arg": true,
      "arg": {
        "name": "path",
        "description": "The path to store indexing data to"
      }
    },
    {
      "names": [
        "-index-unit-output-path"
      ],
      "description": "Use the specified path as the output path in the produced index data",
      "takes_arg": true,
      "arg": {
        "name": "path",
        "description": "The specified path as the output path in the produced index data"
      }
    },
    {
      "names": [
        "-I"
      ],
      "description": "Add directory to the import search path",
      "takes_arg": true,
      "arg": {
        "name": "directory",
        "description": "The directory to add to the import search path"
      }
    },
    {
      "names": [
        "-j"
      ],
      "description": "Number of commands to execute in parallel",
      "takes_arg": true,
      "arg": {
        "name": "value",
        "description": "The number of commands to execute in parallel"
      }
    },
    {
      "names": [
        "-libc"
      ],
      "description": "The libc runtime library to use",
      "takes_arg": true,
      "arg": {
        "name": "runtime",
        "description": "The libc runtime library to use"
      }
    },
    {
      "names": [
        "-locale"
      ],
      "description": "Choose a language for diagnostic messages",
      "takes_arg": true,
      "arg": {
        "name": "code",
        "description": "The locale code"
      }
    },
    {
      "names": [
        "-localization-path"
      ],
      "description": "Path to localized diagnostic messages directory",
      "takes_arg": true,
      "arg": {
        "name": "path",
        "description": "The path to localized diagnostic messages directory"
      }
    },
    {
      "names": [
        "-L"
      ],
      "description": "Add directory to library link search path",
      "takes_arg": true,
      "arg": {
        "name": "directory",
        "description": "The directory to add to the library link search path"
      }
    },
    {
      "names": [
        "-l"
      ],
      "description": "Specifies a library which should be linked against",
      "takes_arg": true,
      "arg": {
        "name": "path",
        "description": "Specifies a library which should be linked against"
      }
    },
    {
      "names": [
        "-module-abi-name"
      ],
      "description": "ABI name to use for the contents of this module",
      "takes_arg": true,
      "arg": {
        "name": "name",
        "description": "The ABI name to use for the contents of this module"
      }
    },
    {
      "names": [
        "-module-alias"
      ],
      "description": "If a source file imports or references module <alias_name>, the <underlying_name> is used for the contents of the file",
      "takes_arg": true,
      "arg": {
        "name": "alias",
        "description": "The module alias and the contents of the file to be used"
      }
    },
    {
      "names": [
        "-module-cache-path"
      ],
      "description": "Specifies the Clang module cache path",
      "takes_arg": true,
      "arg": {
        "name": "path",
        "description": "Specifies the Clang module cache path"
      }
    },
    {
      "names": [
        "-module-link-name"
      ],
      "description": "Library to link against when using this module",
      "takes_arg": true,
      "arg": {
        "name": "name",
        "description": "Library to link against when using this module"
      }
    },
    {
      "names": [
        "-module-name"
      ],
      "description": "Name of the module to build",
      "takes_arg": true,
      "arg": {
        "name": "name",
        "description": "Name of the module to build"
      }
    },
    {
      "names": [
        "-no-color-diagnostics"
      ],
      "description": "Do not print diagnostics in color"
    },
    {
      "names": [
        "-no-warnings-as-errors"
      ],
      "description": "Don't treat warnings as error"
    },
    {
      "names": [
        "-nostdimport"
      ],
      "description": "Don't search the standard library import path for modules"
    },
    {
      "names": [
        "-num-threads"
      ],
      "description": "Enable multi-threading and specify number of threads",
      "takes_arg": true,
      "arg": {
        "name": "value",
        "description": "The number of threads"
      }
    },
    {
      "names": [
        "-Onone"
      ],
      "description": "Compile without any optimization"
    },
    {
      "names": [
        "-Osize"
      ],
      "description": "Compile with optimizations and target small code size"
    },
    {
      "names": [
        "-Ounchecked"
      ],
      "description": "Compile with optimizations and remove runtime safety checks"
    },
    {
      "names": [
        "-O"
      ],
      "description": "Compile with optimizations"
    },
    {
      "names": [
        "-prefix-serialized-debugging-options"
      ],
      "description": "Apply debug prefix mappings to serialized debug info in Swiftmodule files"
    },
    {
      "names": [
        "-pretty-print"
      ],
      "description": "Pretty-print the output JSON"
    },
    {
      "names": [
        "-print-educational-notes"
      ],
      "description": "Include educational notes in printed diagnostic output, if available"
    },
    {
      "names": [
        "-print-target-info"
      ],
      "description": "Print target information for the given target <triple>, such as x86_64-apple-macos10.9"
    },
    {
      "names": [
        "-Rcross-import"
      ],
      "description": "Emit a remark if a cross-import of a module is triggered"
    },
    {
      "names": [
        "-remove-runtime-asserts"
      ],
      "description": "Remove runtime safety checks"
    },
    {
      "names": [
        "-requirement-machine-abstract-signatures"
      ],
      "description": "Control usage of experimental generic signature minimization",
      "takes_arg": true,
      "arg": {
        "name": "value",
        "description": "The control usage of experimental generic signature minimization",
        "suggestions": [
          "on",
          "off",
          "verify",
          "check"
        ]
      }
    },
    {
      "names": [
        "-requirement-machine-inferred-signatures"
      ],
      "description": "Control usage of experimental generic signature minimization",
      "takes_arg": true,
      "arg": {
        "name": "value",
        "description": "The control usage of experimental generic signature minimization",
        "suggestions": [
          "on",
          "off",
          "verify",
          "check"
        ]
      }
    },
    {
      "names": [
        "-requirement-machine-protocol-signatures"
      ],
      "description": "Control usage of experimental protocol requirement signature minimization",
      "takes_arg": true,
      "arg": {
        "name": "value",
        "description": "The control usage of experimental protocol requirement signature minimization",
        "suggestions": [
          "on",
          "off",
          "verify",
          "check"
        ]
      }
    },
    {
      "names": [
        "-Rmodule-loading"
      ],
      "description": "Emit a remark and file path of each loaded module"
    },
    {
      "names": [
        "-Rpass-missed"
      ],
      "description": "Report missed transformations by optimization passes whose name matches the given POSIX regular expression",
      "takes_arg": true,
      "arg": {
        "name": "regex",
        "description": "Regex to match missed transformations"
      }
    },
    {
      "names": [
        "-Rpass"
      ],
      "description": "Report performed transformations by optimization passes whose name matches the given POSIX regular expression",
      "takes_arg": true,
      "arg": {
        "name": "regex",
        "description": "Regex to match performed transformations"
      }
    },
    {
      "names": [
        "-runtime-compatibility-version"
      ],
      "description": "Link compatibility library for Swift runtime version, or 'none'",
      "takes_arg": true,
      "arg": {
        "name": "version",
        "description": "Swift runtime version, or 'none'"
      }
    },
    {
      "names": [
        "-save-optimization-record-passes"
      ],
      "description": "Only include passes which match a specified regular expression in the generated optimization record (by default, include all passes)",
      "takes_arg": true,
      "arg": {
        "name": "regex",
        "description": "Regex to specify passes to be included in the optimization record"
      }
    },
    {
      "names": [
        "-save-optimization-record-path"
      ],
      "description": "Specify the file name of any generated optimization record",
      "takes_arg": true,
      "arg": {
        "name": "filename",
        "description": "The file name of any generated optimization record"
      }
    },
    {
      "names": [
        "-save-optimization-record"
      ],
      "description": "Generate an optimization record file in a specific format",
      "takes_arg": true,
      "arg": {
        "name": "format",
        "description": "The format"
      }
    },
    {
      "names": [
        "-save-optimization-record"
      ],
      "description": "Generate a YAML optimization record file"
    },
    {
      "names": [
        "-sdk"
      ],
      "description": "Compile against a specific SDK",
      "takes_arg": true,
      "arg": {
        "name": "sdk",
        "description": "The SDK to compile against"
      }
    },
    {
      "names": [
        "-serialize-diagnostics-path"
      ],
      "description": "Emit a serialized diagnostics file",
      "takes_arg": true,
      "arg": {
        "name": "path",
        "description": "The path to write the file to"
      }
    },
    {
      "names": [
        "-static-executable"
      ],
      "description": "Statically link the executable"
    },
    {
      "names": [
        "-static-stdlib"
      ],
      "description": "Statically link the Swift standard library"
    },
    {
      "names": [
        "-strict-concurrency"
      ],
      "description": "Specify the how strict concurrency checking will be",
      "takes_arg": true,
      "arg": {
        "name": "concurrency",
        "description": "The concurrency",
        "suggestions": [
          "minimal",
          "targeted",
          "complete"
        ]
      }
    },
    {
      "names": [
        "-suppress-warnings"
      ],
      "description": "Suppress all warnings"
    },
    {
      "names": [
        "-swift-isa-ptrauth-mode"
      ],
      "description": "Mode for staging isa/super signing",
      "takes_arg": true,
      "arg": {
        "name": "mode",
        "description": "Mode for staging isa/super signing",
        "suggestions": [
          "LegacyAndStrip",
          "NewAndStrip",
          "NewAndAuth"
        ]
      }
    },
    {
      "names": [
        "-swift-ptrauth-mode"
      ],
      "description": "Mode for staging pointer authentication",
      "takes_arg": true,
      "arg": {
        "name": "mode",
        "description": "Mode for staging pointer authentication",
        "suggestions": [
          "LegacyAndStrip",
          "NewAndStrip",
          "NewAndAuth"
        ]
      }
    },
    {
      "names": [
        "-swift-version"
      ],
      "description": "Interpret input according to a specific Swift language version number",
      "takes_arg": true,
      "arg": {
        "name": "version",
        "description": "Swift language version number"
      }
    },
    {
      "names": [
        "-target-cpu"
      ],
      "description": "Generate code for a particular CPU variant",
      "takes_arg": true,
      "arg": {
        "name": "cpu",
        "description": "The CPU variant"
      }
    },
    {
      "names": [
        "-target-min-inlining-version"
      ],
      "description": "Require inlinable code with no '@available' attribute to back-deploy to this version of the '-target' OS",
      "takes_arg": true,
      "arg": {
        "name": "version",
        "description": "The target version"
      }
    },
    {
      "names": [
        "-target-variant"
      ],
      "description": "Generate 'zippered' code for macCatalyst that can run on the specified variant target triple in addition to the main -target triple",
      "takes_arg": true,
      "arg": {
        "name": "variant",
        "description": "The target variant"
      }
    },
    {
      "names": [
        "-target"
      ],
      "description": "Generate code for the given target <triple>, such as x86_64-apple-macos10.9",
      "takes_arg": true,
      "arg": {
        "name": "triple",
        "description": "The target triple"
      }
    },
    {
      "names": [
        "-use-ld"
      ],
      "description": "Specifies the linker to be used",
      "takes_arg": true,
      "arg": {
        "name": "linker",
        "description": "The linker to be used"
      }
    },
    {
      "names": [
        "-user-module-version"
      ],
      "description": "Module version specified from Swift module authors",
      "takes_arg": true,
      "arg": {
        "name": "module",
        "description": "The module version"
      }
    },
    {
      "names": [
        "-vfsoverlay"
      ],
      "description": "Add directory to VFS overlay file",
      "takes_arg": true,
      "arg": {
        "name": "directory",
        "description": "The directory to the VFS overlay file"
      }
    },
    {
      "names": [
        "-v"
      ],
      "description": "Show commands to run and use verbose output"
    },
    {
      "names": [
        "-warn-concurrency"
      ],
      "description": "Warn about code that is unsafe according to the Swift Concurrency model and will become ill-formed in a future language version"
    },
    {
      "names": [
        "-warn-implicit-overrides"
      ],
      "description": "Warn about implicit overrides of protocol members"
    },
    {
      "names": [
        "-warn-swift3-objc-inference-complete"
      ],
      "description": "Warn about deprecated @objc inference in Swift 3 for every declaration that will no longer be inferred as @objc in Swift 4"
    },
    {
      "names": [
        "-warn-swift3-objc-inference-minimal"
      ],
      "description": "Warn about deprecated @objc inference in Swift 3 based on direct uses of the Objective-C entrypoint"
    },
    {
      "names": [
        "-warnings-as-errors"
      ],
      "description": "Treat warnings as errors"
    },
    {
      "names": [
        "-working-directory"
      ],
      "description": "Resolve file paths relative to the specified directory",
      "takes_arg": true,
      "arg": {
        "name": "directory",
        "description": "Resolve file paths relative to the specified directory"
      }
    },
    {
      "names": [
        "-Xcc"
      ],
      "description": "Pass <arg> to the C/C++/Objective-C compiler",
      "takes_arg": true,
      "arg": {
        "name": "arg",
        "description": "Argument to pass to the C/C++/Objective-C compiler"
      }
    },
    {
      "names": [
        "-Xlinker"
      ],
      "description": "Specifies an option which should be passed to the linker",
      "takes_arg": true,
      "arg": {
        "name": "arg",
        "description": "Option to be passed to the linker"
      }
    }
  ]
}
