# Print an optspec for argparse to handle cmd's options that are independent of any subcommand.
function __fish_rustup_global_optspecs
	string join \n v/verbose q/quiet h/help V/version
end

function __fish_rustup_needs_command
	# Figure out if the current invocation already has a command.
	set -l cmd (commandline -opc)
	set -e cmd[1]
	argparse -s (__fish_rustup_global_optspecs) -- $cmd 2>/dev/null
	or return
	if set -q argv[1]
		# Also print the command, so this can be used to figure out what it is.
		echo $argv[1]
		return 1
	end
	return 0
end

function __fish_rustup_using_subcommand
	set -l cmd (__fish_rustup_needs_command)
	test -z "$cmd"
	and return 1
	contains -- $cmd[1] $argv
end

complete -c rustup -n "__fish_rustup_needs_command" -s v -l verbose -d 'Set log level to \'DEBUG\' if \'RUSTUP_LOG\' is unset'
complete -c rustup -n "__fish_rustup_needs_command" -s q -l quiet -d 'Disable progress output, set log level to \'WARN\' if \'RUSTUP_LOG\' is unset'
complete -c rustup -n "__fish_rustup_needs_command" -s h -l help -d 'Print help'
complete -c rustup -n "__fish_rustup_needs_command" -s V -l version -d 'Print version'
complete -c rustup -n "__fish_rustup_needs_command" -a "install" -d 'Install or update the given toolchains, or by default the active toolchain'
complete -c rustup -n "__fish_rustup_needs_command" -a "uninstall" -d 'Uninstall the given toolchains'
complete -c rustup -n "__fish_rustup_needs_command" -a "dump-testament" -d 'Dump information about the build'
complete -c rustup -n "__fish_rustup_needs_command" -a "toolchain" -d 'Install, uninstall, or list toolchains'
complete -c rustup -n "__fish_rustup_needs_command" -a "default" -d 'Set the default toolchain'
complete -c rustup -n "__fish_rustup_needs_command" -a "show" -d 'Show the active and installed toolchains or profiles'
complete -c rustup -n "__fish_rustup_needs_command" -a "update" -d 'Update Rust toolchains and rustup'
complete -c rustup -n "__fish_rustup_needs_command" -a "check" -d 'Check for updates to Rust toolchains and rustup'
complete -c rustup -n "__fish_rustup_needs_command" -a "target" -d 'Modify a toolchain\'s supported targets'
complete -c rustup -n "__fish_rustup_needs_command" -a "component" -d 'Modify a toolchain\'s installed components'
complete -c rustup -n "__fish_rustup_needs_command" -a "override" -d 'Modify toolchain overrides for directories'
complete -c rustup -n "__fish_rustup_needs_command" -a "run" -d 'Run a command with an environment configured for a given toolchain'
complete -c rustup -n "__fish_rustup_needs_command" -a "which" -d 'Display which binary will be run for a given command'
complete -c rustup -n "__fish_rustup_needs_command" -a "doc" -d 'Open the documentation for the current toolchain'
complete -c rustup -n "__fish_rustup_needs_command" -a "man" -d 'View the man page for a given command'
complete -c rustup -n "__fish_rustup_needs_command" -a "self" -d 'Modify the rustup installation'
complete -c rustup -n "__fish_rustup_needs_command" -a "set" -d 'Alter rustup settings'
complete -c rustup -n "__fish_rustup_needs_command" -a "completions" -d 'Generate tab-completion scripts for your shell'
complete -c rustup -n "__fish_rustup_needs_command" -a "help" -d 'Print this message or the help of the given subcommand(s)'
complete -c rustup -n "__fish_rustup_using_subcommand install" -l profile -r -f -a "minimal\t''
default\t''
complete\t''"
complete -c rustup -n "__fish_rustup_using_subcommand install" -s c -l component -d 'Comma-separated list of components to be added on installation' -r
complete -c rustup -n "__fish_rustup_using_subcommand install" -s t -l target -d 'Comma-separated list of targets to be added on installation' -r
complete -c rustup -n "__fish_rustup_using_subcommand install" -l no-self-update -d 'Don\'t perform self update when running the `rustup toolchain install` command'
complete -c rustup -n "__fish_rustup_using_subcommand install" -l no-update -d 'Don\'t try to update the installed toolchain'
complete -c rustup -n "__fish_rustup_using_subcommand install" -l force -d 'Force an update, even if some components are missing'
complete -c rustup -n "__fish_rustup_using_subcommand install" -l allow-downgrade -d 'Allow rustup to downgrade the toolchain to satisfy your component choice'
complete -c rustup -n "__fish_rustup_using_subcommand install" -l force-non-host -d 'Install toolchains that require an emulator. See https://github.com/rust-lang/rustup/wiki/Non-host-toolchains'
complete -c rustup -n "__fish_rustup_using_subcommand install" -l override -d 'Set the installed toolchain as the override for the current directory'
complete -c rustup -n "__fish_rustup_using_subcommand install" -s h -l help -d 'Print help'
complete -c rustup -n "__fish_rustup_using_subcommand uninstall" -s h -l help -d 'Print help'
complete -c rustup -n "__fish_rustup_using_subcommand dump-testament" -s h -l help -d 'Print help'
complete -c rustup -n "__fish_rustup_using_subcommand toolchain; and not __fish_seen_subcommand_from list install uninstall link help" -s h -l help -d 'Print help'
complete -c rustup -n "__fish_rustup_using_subcommand toolchain; and not __fish_seen_subcommand_from list install uninstall link help" -f -a "list" -d 'List installed toolchains'
complete -c rustup -n "__fish_rustup_using_subcommand toolchain; and not __fish_seen_subcommand_from list install uninstall link help" -f -a "install" -d 'Install or update the given toolchains, or by default the active toolchain'
complete -c rustup -n "__fish_rustup_using_subcommand toolchain; and not __fish_seen_subcommand_from list install uninstall link help" -f -a "uninstall" -d 'Uninstall the given toolchains'
complete -c rustup -n "__fish_rustup_using_subcommand toolchain; and not __fish_seen_subcommand_from list install uninstall link help" -f -a "link" -d 'Create a custom toolchain by symlinking to a directory'
complete -c rustup -n "__fish_rustup_using_subcommand toolchain; and not __fish_seen_subcommand_from list install uninstall link help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
complete -c rustup -n "__fish_rustup_using_subcommand toolchain; and __fish_seen_subcommand_from list" -s v -l verbose -d 'Enable verbose output with toolchain information'
complete -c rustup -n "__fish_rustup_using_subcommand toolchain; and __fish_seen_subcommand_from list" -s q -l quiet -d 'Force the output to be a single column'
complete -c rustup -n "__fish_rustup_using_subcommand toolchain; and __fish_seen_subcommand_from list" -s h -l help -d 'Print help'
complete -c rustup -n "__fish_rustup_using_subcommand toolchain; and __fish_seen_subcommand_from install" -l profile -r -f -a "minimal\t''
default\t''
complete\t''"
complete -c rustup -n "__fish_rustup_using_subcommand toolchain; and __fish_seen_subcommand_from install" -s c -l component -d 'Comma-separated list of components to be added on installation' -r
complete -c rustup -n "__fish_rustup_using_subcommand toolchain; and __fish_seen_subcommand_from install" -s t -l target -d 'Comma-separated list of targets to be added on installation' -r
complete -c rustup -n "__fish_rustup_using_subcommand toolchain; and __fish_seen_subcommand_from install" -l no-self-update -d 'Don\'t perform self update when running the `rustup toolchain install` command'
complete -c rustup -n "__fish_rustup_using_subcommand toolchain; and __fish_seen_subcommand_from install" -l no-update -d 'Don\'t try to update the installed toolchain'
complete -c rustup -n "__fish_rustup_using_subcommand toolchain; and __fish_seen_subcommand_from install" -l force -d 'Force an update, even if some components are missing'
complete -c rustup -n "__fish_rustup_using_subcommand toolchain; and __fish_seen_subcommand_from install" -l allow-downgrade -d 'Allow rustup to downgrade the toolchain to satisfy your component choice'
complete -c rustup -n "__fish_rustup_using_subcommand toolchain; and __fish_seen_subcommand_from install" -l force-non-host -d 'Install toolchains that require an emulator. See https://github.com/rust-lang/rustup/wiki/Non-host-toolchains'
complete -c rustup -n "__fish_rustup_using_subcommand toolchain; and __fish_seen_subcommand_from install" -l override -d 'Set the installed toolchain as the override for the current directory'
complete -c rustup -n "__fish_rustup_using_subcommand toolchain; and __fish_seen_subcommand_from install" -s h -l help -d 'Print help'
complete -c rustup -n "__fish_rustup_using_subcommand toolchain; and __fish_seen_subcommand_from uninstall" -s h -l help -d 'Print help'
complete -c rustup -n "__fish_rustup_using_subcommand toolchain; and __fish_seen_subcommand_from link" -s h -l help -d 'Print help'
complete -c rustup -n "__fish_rustup_using_subcommand toolchain; and __fish_seen_subcommand_from help" -f -a "list" -d 'List installed toolchains'
complete -c rustup -n "__fish_rustup_using_subcommand toolchain; and __fish_seen_subcommand_from help" -f -a "install" -d 'Install or update the given toolchains, or by default the active toolchain'
complete -c rustup -n "__fish_rustup_using_subcommand toolchain; and __fish_seen_subcommand_from help" -f -a "uninstall" -d 'Uninstall the given toolchains'
complete -c rustup -n "__fish_rustup_using_subcommand toolchain; and __fish_seen_subcommand_from help" -f -a "link" -d 'Create a custom toolchain by symlinking to a directory'
complete -c rustup -n "__fish_rustup_using_subcommand toolchain; and __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
complete -c rustup -n "__fish_rustup_using_subcommand default" -l force-non-host -d 'Install toolchains that require an emulator. See https://github.com/rust-lang/rustup/wiki/Non-host-toolchains'
complete -c rustup -n "__fish_rustup_using_subcommand default" -s h -l help -d 'Print help'
complete -c rustup -n "__fish_rustup_using_subcommand show; and not __fish_seen_subcommand_from active-toolchain home profile help" -s v -l verbose -d 'Enable verbose output with rustc information for all installed toolchains'
complete -c rustup -n "__fish_rustup_using_subcommand show; and not __fish_seen_subcommand_from active-toolchain home profile help" -s h -l help -d 'Print help'
complete -c rustup -n "__fish_rustup_using_subcommand show; and not __fish_seen_subcommand_from active-toolchain home profile help" -f -a "active-toolchain" -d 'Show the active toolchain'
complete -c rustup -n "__fish_rustup_using_subcommand show; and not __fish_seen_subcommand_from active-toolchain home profile help" -f -a "home" -d 'Display the computed value of RUSTUP_HOME'
complete -c rustup -n "__fish_rustup_using_subcommand show; and not __fish_seen_subcommand_from active-toolchain home profile help" -f -a "profile" -d 'Show the default profile used for the `rustup install` command'
complete -c rustup -n "__fish_rustup_using_subcommand show; and not __fish_seen_subcommand_from active-toolchain home profile help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
complete -c rustup -n "__fish_rustup_using_subcommand show; and __fish_seen_subcommand_from active-toolchain" -s v -l verbose -d 'Enable verbose output with rustc information'
complete -c rustup -n "__fish_rustup_using_subcommand show; and __fish_seen_subcommand_from active-toolchain" -s h -l help -d 'Print help'
complete -c rustup -n "__fish_rustup_using_subcommand show; and __fish_seen_subcommand_from home" -s h -l help -d 'Print help'
complete -c rustup -n "__fish_rustup_using_subcommand show; and __fish_seen_subcommand_from profile" -s h -l help -d 'Print help'
complete -c rustup -n "__fish_rustup_using_subcommand show; and __fish_seen_subcommand_from help" -f -a "active-toolchain" -d 'Show the active toolchain'
complete -c rustup -n "__fish_rustup_using_subcommand show; and __fish_seen_subcommand_from help" -f -a "home" -d 'Display the computed value of RUSTUP_HOME'
complete -c rustup -n "__fish_rustup_using_subcommand show; and __fish_seen_subcommand_from help" -f -a "profile" -d 'Show the default profile used for the `rustup install` command'
complete -c rustup -n "__fish_rustup_using_subcommand show; and __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
complete -c rustup -n "__fish_rustup_using_subcommand update" -l no-self-update -d 'Don\'t perform self update when running the `rustup update` command'
complete -c rustup -n "__fish_rustup_using_subcommand update" -l force -d 'Force an update, even if some components are missing'
complete -c rustup -n "__fish_rustup_using_subcommand update" -l force-non-host -d 'Install toolchains that require an emulator. See https://github.com/rust-lang/rustup/wiki/Non-host-toolchains'
complete -c rustup -n "__fish_rustup_using_subcommand update" -s h -l help -d 'Print help'
complete -c rustup -n "__fish_rustup_using_subcommand check" -l no-self-update -d 'Don\'t check for self update when running the `rustup check` command'
complete -c rustup -n "__fish_rustup_using_subcommand check" -s h -l help -d 'Print help'
complete -c rustup -n "__fish_rustup_using_subcommand target; and not __fish_seen_subcommand_from list add remove help" -s h -l help -d 'Print help'
complete -c rustup -n "__fish_rustup_using_subcommand target; and not __fish_seen_subcommand_from list add remove help" -f -a "list" -d 'List installed and available targets'
complete -c rustup -n "__fish_rustup_using_subcommand target; and not __fish_seen_subcommand_from list add remove help" -f -a "add" -d 'Add a target to a Rust toolchain'
complete -c rustup -n "__fish_rustup_using_subcommand target; and not __fish_seen_subcommand_from list add remove help" -f -a "remove" -d 'Remove a target from a Rust toolchain'
complete -c rustup -n "__fish_rustup_using_subcommand target; and not __fish_seen_subcommand_from list add remove help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
complete -c rustup -n "__fish_rustup_using_subcommand target; and __fish_seen_subcommand_from list" -l toolchain -d 'Toolchain name, such as \'stable\', \'nightly\', or \'1.8.0\'. For more information see `rustup help toolchain`' -r
complete -c rustup -n "__fish_rustup_using_subcommand target; and __fish_seen_subcommand_from list" -l installed -d 'List only installed targets'
complete -c rustup -n "__fish_rustup_using_subcommand target; and __fish_seen_subcommand_from list" -s q -l quiet -d 'Force the output to be a single column'
complete -c rustup -n "__fish_rustup_using_subcommand target; and __fish_seen_subcommand_from list" -s h -l help -d 'Print help'
complete -c rustup -n "__fish_rustup_using_subcommand target; and __fish_seen_subcommand_from add" -l toolchain -d 'Toolchain name, such as \'stable\', \'nightly\', or \'1.8.0\'. For more information see `rustup help toolchain`' -r
complete -c rustup -n "__fish_rustup_using_subcommand target; and __fish_seen_subcommand_from add" -s h -l help -d 'Print help'
complete -c rustup -n "__fish_rustup_using_subcommand target; and __fish_seen_subcommand_from remove" -l toolchain -d 'Toolchain name, such as \'stable\', \'nightly\', or \'1.8.0\'. For more information see `rustup help toolchain`' -r
complete -c rustup -n "__fish_rustup_using_subcommand target; and __fish_seen_subcommand_from remove" -s h -l help -d 'Print help'
complete -c rustup -n "__fish_rustup_using_subcommand target; and __fish_seen_subcommand_from help" -f -a "list" -d 'List installed and available targets'
complete -c rustup -n "__fish_rustup_using_subcommand target; and __fish_seen_subcommand_from help" -f -a "add" -d 'Add a target to a Rust toolchain'
complete -c rustup -n "__fish_rustup_using_subcommand target; and __fish_seen_subcommand_from help" -f -a "remove" -d 'Remove a target from a Rust toolchain'
complete -c rustup -n "__fish_rustup_using_subcommand target; and __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
complete -c rustup -n "__fish_rustup_using_subcommand component; and not __fish_seen_subcommand_from list add remove help" -s h -l help -d 'Print help'
complete -c rustup -n "__fish_rustup_using_subcommand component; and not __fish_seen_subcommand_from list add remove help" -f -a "list" -d 'List installed and available components'
complete -c rustup -n "__fish_rustup_using_subcommand component; and not __fish_seen_subcommand_from list add remove help" -f -a "add" -d 'Add a component to a Rust toolchain'
complete -c rustup -n "__fish_rustup_using_subcommand component; and not __fish_seen_subcommand_from list add remove help" -f -a "remove" -d 'Remove a component from a Rust toolchain'
complete -c rustup -n "__fish_rustup_using_subcommand component; and not __fish_seen_subcommand_from list add remove help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
complete -c rustup -n "__fish_rustup_using_subcommand component; and __fish_seen_subcommand_from list" -l toolchain -d 'Toolchain name, such as \'stable\', \'nightly\', or \'1.8.0\'. For more information see `rustup help toolchain`' -r
complete -c rustup -n "__fish_rustup_using_subcommand component; and __fish_seen_subcommand_from list" -l installed -d 'List only installed components'
complete -c rustup -n "__fish_rustup_using_subcommand component; and __fish_seen_subcommand_from list" -s q -l quiet -d 'Force the output to be a single column'
complete -c rustup -n "__fish_rustup_using_subcommand component; and __fish_seen_subcommand_from list" -s h -l help -d 'Print help'
complete -c rustup -n "__fish_rustup_using_subcommand component; and __fish_seen_subcommand_from add" -l toolchain -d 'Toolchain name, such as \'stable\', \'nightly\', or \'1.8.0\'. For more information see `rustup help toolchain`' -r
complete -c rustup -n "__fish_rustup_using_subcommand component; and __fish_seen_subcommand_from add" -l target -r
complete -c rustup -n "__fish_rustup_using_subcommand component; and __fish_seen_subcommand_from add" -s h -l help -d 'Print help'
complete -c rustup -n "__fish_rustup_using_subcommand component; and __fish_seen_subcommand_from remove" -l toolchain -d 'Toolchain name, such as \'stable\', \'nightly\', or \'1.8.0\'. For more information see `rustup help toolchain`' -r
complete -c rustup -n "__fish_rustup_using_subcommand component; and __fish_seen_subcommand_from remove" -l target -r
complete -c rustup -n "__fish_rustup_using_subcommand component; and __fish_seen_subcommand_from remove" -s h -l help -d 'Print help'
complete -c rustup -n "__fish_rustup_using_subcommand component; and __fish_seen_subcommand_from help" -f -a "list" -d 'List installed and available components'
complete -c rustup -n "__fish_rustup_using_subcommand component; and __fish_seen_subcommand_from help" -f -a "add" -d 'Add a component to a Rust toolchain'
complete -c rustup -n "__fish_rustup_using_subcommand component; and __fish_seen_subcommand_from help" -f -a "remove" -d 'Remove a component from a Rust toolchain'
complete -c rustup -n "__fish_rustup_using_subcommand component; and __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
complete -c rustup -n "__fish_rustup_using_subcommand override; and not __fish_seen_subcommand_from list set unset help" -s h -l help -d 'Print help'
complete -c rustup -n "__fish_rustup_using_subcommand override; and not __fish_seen_subcommand_from list set unset help" -f -a "list" -d 'List directory toolchain overrides'
complete -c rustup -n "__fish_rustup_using_subcommand override; and not __fish_seen_subcommand_from list set unset help" -f -a "set" -d 'Set the override toolchain for a directory'
complete -c rustup -n "__fish_rustup_using_subcommand override; and not __fish_seen_subcommand_from list set unset help" -f -a "unset" -d 'Remove the override toolchain for a directory'
complete -c rustup -n "__fish_rustup_using_subcommand override; and not __fish_seen_subcommand_from list set unset help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
complete -c rustup -n "__fish_rustup_using_subcommand override; and __fish_seen_subcommand_from list" -s h -l help -d 'Print help'
complete -c rustup -n "__fish_rustup_using_subcommand override; and __fish_seen_subcommand_from set" -l path -d 'Path to the directory' -r -F
complete -c rustup -n "__fish_rustup_using_subcommand override; and __fish_seen_subcommand_from set" -s h -l help -d 'Print help'
complete -c rustup -n "__fish_rustup_using_subcommand override; and __fish_seen_subcommand_from unset" -l path -d 'Path to the directory' -r -F
complete -c rustup -n "__fish_rustup_using_subcommand override; and __fish_seen_subcommand_from unset" -l nonexistent -d 'Remove override toolchain for all nonexistent directories'
complete -c rustup -n "__fish_rustup_using_subcommand override; and __fish_seen_subcommand_from unset" -s h -l help -d 'Print help'
complete -c rustup -n "__fish_rustup_using_subcommand override; and __fish_seen_subcommand_from help" -f -a "list" -d 'List directory toolchain overrides'
complete -c rustup -n "__fish_rustup_using_subcommand override; and __fish_seen_subcommand_from help" -f -a "set" -d 'Set the override toolchain for a directory'
complete -c rustup -n "__fish_rustup_using_subcommand override; and __fish_seen_subcommand_from help" -f -a "unset" -d 'Remove the override toolchain for a directory'
complete -c rustup -n "__fish_rustup_using_subcommand override; and __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
complete -c rustup -n "__fish_rustup_using_subcommand run" -l install -d 'Install the requested toolchain if needed'
complete -c rustup -n "__fish_rustup_using_subcommand run" -s h -l help -d 'Print help'
complete -c rustup -n "__fish_rustup_using_subcommand which" -l toolchain -d 'Toolchain name, such as \'stable\', \'nightly\', \'1.8.0\', or a custom toolchain name. For more information see `rustup help toolchain`' -r
complete -c rustup -n "__fish_rustup_using_subcommand which" -s h -l help -d 'Print help'
complete -c rustup -n "__fish_rustup_using_subcommand doc" -l toolchain -d 'Toolchain name, such as \'stable\', \'nightly\', or \'1.8.0\'. For more information see `rustup help toolchain`' -r
complete -c rustup -n "__fish_rustup_using_subcommand doc" -l path -d 'Only print the path to the documentation'
complete -c rustup -n "__fish_rustup_using_subcommand doc" -l alloc -d 'The Rust core allocation and collections library'
complete -c rustup -n "__fish_rustup_using_subcommand doc" -l book -d 'The Rust Programming Language book'
complete -c rustup -n "__fish_rustup_using_subcommand doc" -l cargo -d 'The Cargo Book'
complete -c rustup -n "__fish_rustup_using_subcommand doc" -l clippy -d 'The Clippy Documentation'
complete -c rustup -n "__fish_rustup_using_subcommand doc" -l core -d 'The Rust Core Library'
complete -c rustup -n "__fish_rustup_using_subcommand doc" -l edition-guide -d 'The Rust Edition Guide'
complete -c rustup -n "__fish_rustup_using_subcommand doc" -l embedded-book -d 'The Embedded Rust Book'
complete -c rustup -n "__fish_rustup_using_subcommand doc" -l error-codes -d 'The Rust Error Codes Index'
complete -c rustup -n "__fish_rustup_using_subcommand doc" -l nomicon -d 'The Dark Arts of Advanced and Unsafe Rust Programming'
complete -c rustup -n "__fish_rustup_using_subcommand doc" -l proc_macro -d 'A support library for macro authors when defining new macros'
complete -c rustup -n "__fish_rustup_using_subcommand doc" -l reference -d 'The Rust Reference'
complete -c rustup -n "__fish_rustup_using_subcommand doc" -l releases -d 'Rust Release Notes'
complete -c rustup -n "__fish_rustup_using_subcommand doc" -l rust-by-example -d 'A collection of runnable examples that illustrate various Rust concepts and standard libraries'
complete -c rustup -n "__fish_rustup_using_subcommand doc" -l rustc -d 'The compiler for the Rust programming language'
complete -c rustup -n "__fish_rustup_using_subcommand doc" -l rustc-docs -d 'The API documentation for the Rust compiler and other toolchain components'
complete -c rustup -n "__fish_rustup_using_subcommand doc" -l rustdoc -d 'Documentation generator for Rust projects'
complete -c rustup -n "__fish_rustup_using_subcommand doc" -l std -d 'Standard library API documentation'
complete -c rustup -n "__fish_rustup_using_subcommand doc" -l style-guide -d 'The Rust Style Guide'
complete -c rustup -n "__fish_rustup_using_subcommand doc" -l test -d 'Support code for rustc\'s built in unit-test and micro-benchmarking framework'
complete -c rustup -n "__fish_rustup_using_subcommand doc" -l unstable-book -d 'The Unstable Book'
complete -c rustup -n "__fish_rustup_using_subcommand doc" -s h -l help -d 'Print help'
complete -c rustup -n "__fish_rustup_using_subcommand man" -l toolchain -d 'Toolchain name, such as \'stable\', \'nightly\', or \'1.8.0\'. For more information see `rustup help toolchain`' -r
complete -c rustup -n "__fish_rustup_using_subcommand man" -s h -l help -d 'Print help'
complete -c rustup -n "__fish_rustup_using_subcommand self; and not __fish_seen_subcommand_from update uninstall upgrade-data help" -s h -l help -d 'Print help'
complete -c rustup -n "__fish_rustup_using_subcommand self; and not __fish_seen_subcommand_from update uninstall upgrade-data help" -f -a "update" -d 'Download and install updates to rustup'
complete -c rustup -n "__fish_rustup_using_subcommand self; and not __fish_seen_subcommand_from update uninstall upgrade-data help" -f -a "uninstall" -d 'Uninstall rustup'
complete -c rustup -n "__fish_rustup_using_subcommand self; and not __fish_seen_subcommand_from update uninstall upgrade-data help" -f -a "upgrade-data" -d 'Upgrade the internal data format'
complete -c rustup -n "__fish_rustup_using_subcommand self; and not __fish_seen_subcommand_from update uninstall upgrade-data help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
complete -c rustup -n "__fish_rustup_using_subcommand self; and __fish_seen_subcommand_from update" -s h -l help -d 'Print help'
complete -c rustup -n "__fish_rustup_using_subcommand self; and __fish_seen_subcommand_from uninstall" -s y -d 'Disable confirmation prompt'
complete -c rustup -n "__fish_rustup_using_subcommand self; and __fish_seen_subcommand_from uninstall" -l no-modify-path -d 'Do not clean up the `PATH` environment variable'
complete -c rustup -n "__fish_rustup_using_subcommand self; and __fish_seen_subcommand_from uninstall" -s h -l help -d 'Print help'
complete -c rustup -n "__fish_rustup_using_subcommand self; and __fish_seen_subcommand_from upgrade-data" -s h -l help -d 'Print help'
complete -c rustup -n "__fish_rustup_using_subcommand self; and __fish_seen_subcommand_from help" -f -a "update" -d 'Download and install updates to rustup'
complete -c rustup -n "__fish_rustup_using_subcommand self; and __fish_seen_subcommand_from help" -f -a "uninstall" -d 'Uninstall rustup'
complete -c rustup -n "__fish_rustup_using_subcommand self; and __fish_seen_subcommand_from help" -f -a "upgrade-data" -d 'Upgrade the internal data format'
complete -c rustup -n "__fish_rustup_using_subcommand self; and __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
complete -c rustup -n "__fish_rustup_using_subcommand set; and not __fish_seen_subcommand_from default-host profile auto-self-update auto-install help" -s h -l help -d 'Print help'
complete -c rustup -n "__fish_rustup_using_subcommand set; and not __fish_seen_subcommand_from default-host profile auto-self-update auto-install help" -f -a "default-host" -d 'The triple used to identify toolchains when not specified'
complete -c rustup -n "__fish_rustup_using_subcommand set; and not __fish_seen_subcommand_from default-host profile auto-self-update auto-install help" -f -a "profile" -d 'The default components installed with a toolchain'
complete -c rustup -n "__fish_rustup_using_subcommand set; and not __fish_seen_subcommand_from default-host profile auto-self-update auto-install help" -f -a "auto-self-update" -d 'The rustup auto self update mode'
complete -c rustup -n "__fish_rustup_using_subcommand set; and not __fish_seen_subcommand_from default-host profile auto-self-update auto-install help" -f -a "auto-install" -d 'The auto toolchain install mode'
complete -c rustup -n "__fish_rustup_using_subcommand set; and not __fish_seen_subcommand_from default-host profile auto-self-update auto-install help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
complete -c rustup -n "__fish_rustup_using_subcommand set; and __fish_seen_subcommand_from default-host" -s h -l help -d 'Print help'
complete -c rustup -n "__fish_rustup_using_subcommand set; and __fish_seen_subcommand_from profile" -s h -l help -d 'Print help'
complete -c rustup -n "__fish_rustup_using_subcommand set; and __fish_seen_subcommand_from auto-self-update" -s h -l help -d 'Print help'
complete -c rustup -n "__fish_rustup_using_subcommand set; and __fish_seen_subcommand_from auto-install" -s h -l help -d 'Print help'
complete -c rustup -n "__fish_rustup_using_subcommand set; and __fish_seen_subcommand_from help" -f -a "default-host" -d 'The triple used to identify toolchains when not specified'
complete -c rustup -n "__fish_rustup_using_subcommand set; and __fish_seen_subcommand_from help" -f -a "profile" -d 'The default components installed with a toolchain'
complete -c rustup -n "__fish_rustup_using_subcommand set; and __fish_seen_subcommand_from help" -f -a "auto-self-update" -d 'The rustup auto self update mode'
complete -c rustup -n "__fish_rustup_using_subcommand set; and __fish_seen_subcommand_from help" -f -a "auto-install" -d 'The auto toolchain install mode'
complete -c rustup -n "__fish_rustup_using_subcommand set; and __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
complete -c rustup -n "__fish_rustup_using_subcommand completions" -s h -l help -d 'Print help'
complete -c rustup -n "__fish_rustup_using_subcommand help; and not __fish_seen_subcommand_from install uninstall dump-testament toolchain default show update check target component override run which doc man self set completions help" -f -a "install" -d 'Install or update the given toolchains, or by default the active toolchain'
complete -c rustup -n "__fish_rustup_using_subcommand help; and not __fish_seen_subcommand_from install uninstall dump-testament toolchain default show update check target component override run which doc man self set completions help" -f -a "uninstall" -d 'Uninstall the given toolchains'
complete -c rustup -n "__fish_rustup_using_subcommand help; and not __fish_seen_subcommand_from install uninstall dump-testament toolchain default show update check target component override run which doc man self set completions help" -f -a "dump-testament" -d 'Dump information about the build'
complete -c rustup -n "__fish_rustup_using_subcommand help; and not __fish_seen_subcommand_from install uninstall dump-testament toolchain default show update check target component override run which doc man self set completions help" -f -a "toolchain" -d 'Install, uninstall, or list toolchains'
complete -c rustup -n "__fish_rustup_using_subcommand help; and not __fish_seen_subcommand_from install uninstall dump-testament toolchain default show update check target component override run which doc man self set completions help" -f -a "default" -d 'Set the default toolchain'
complete -c rustup -n "__fish_rustup_using_subcommand help; and not __fish_seen_subcommand_from install uninstall dump-testament toolchain default show update check target component override run which doc man self set completions help" -f -a "show" -d 'Show the active and installed toolchains or profiles'
complete -c rustup -n "__fish_rustup_using_subcommand help; and not __fish_seen_subcommand_from install uninstall dump-testament toolchain default show update check target component override run which doc man self set completions help" -f -a "update" -d 'Update Rust toolchains and rustup'
complete -c rustup -n "__fish_rustup_using_subcommand help; and not __fish_seen_subcommand_from install uninstall dump-testament toolchain default show update check target component override run which doc man self set completions help" -f -a "check" -d 'Check for updates to Rust toolchains and rustup'
complete -c rustup -n "__fish_rustup_using_subcommand help; and not __fish_seen_subcommand_from install uninstall dump-testament toolchain default show update check target component override run which doc man self set completions help" -f -a "target" -d 'Modify a toolchain\'s supported targets'
complete -c rustup -n "__fish_rustup_using_subcommand help; and not __fish_seen_subcommand_from install uninstall dump-testament toolchain default show update check target component override run which doc man self set completions help" -f -a "component" -d 'Modify a toolchain\'s installed components'
complete -c rustup -n "__fish_rustup_using_subcommand help; and not __fish_seen_subcommand_from install uninstall dump-testament toolchain default show update check target component override run which doc man self set completions help" -f -a "override" -d 'Modify toolchain overrides for directories'
complete -c rustup -n "__fish_rustup_using_subcommand help; and not __fish_seen_subcommand_from install uninstall dump-testament toolchain default show update check target component override run which doc man self set completions help" -f -a "run" -d 'Run a command with an environment configured for a given toolchain'
complete -c rustup -n "__fish_rustup_using_subcommand help; and not __fish_seen_subcommand_from install uninstall dump-testament toolchain default show update check target component override run which doc man self set completions help" -f -a "which" -d 'Display which binary will be run for a given command'
complete -c rustup -n "__fish_rustup_using_subcommand help; and not __fish_seen_subcommand_from install uninstall dump-testament toolchain default show update check target component override run which doc man self set completions help" -f -a "doc" -d 'Open the documentation for the current toolchain'
complete -c rustup -n "__fish_rustup_using_subcommand help; and not __fish_seen_subcommand_from install uninstall dump-testament toolchain default show update check target component override run which doc man self set completions help" -f -a "man" -d 'View the man page for a given command'
complete -c rustup -n "__fish_rustup_using_subcommand help; and not __fish_seen_subcommand_from install uninstall dump-testament toolchain default show update check target component override run which doc man self set completions help" -f -a "self" -d 'Modify the rustup installation'
complete -c rustup -n "__fish_rustup_using_subcommand help; and not __fish_seen_subcommand_from install uninstall dump-testament toolchain default show update check target component override run which doc man self set completions help" -f -a "set" -d 'Alter rustup settings'
complete -c rustup -n "__fish_rustup_using_subcommand help; and not __fish_seen_subcommand_from install uninstall dump-testament toolchain default show update check target component override run which doc man self set completions help" -f -a "completions" -d 'Generate tab-completion scripts for your shell'
complete -c rustup -n "__fish_rustup_using_subcommand help; and not __fish_seen_subcommand_from install uninstall dump-testament toolchain default show update check target component override run which doc man self set completions help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
complete -c rustup -n "__fish_rustup_using_subcommand help; and __fish_seen_subcommand_from toolchain" -f -a "list" -d 'List installed toolchains'
complete -c rustup -n "__fish_rustup_using_subcommand help; and __fish_seen_subcommand_from toolchain" -f -a "install" -d 'Install or update the given toolchains, or by default the active toolchain'
complete -c rustup -n "__fish_rustup_using_subcommand help; and __fish_seen_subcommand_from toolchain" -f -a "uninstall" -d 'Uninstall the given toolchains'
complete -c rustup -n "__fish_rustup_using_subcommand help; and __fish_seen_subcommand_from toolchain" -f -a "link" -d 'Create a custom toolchain by symlinking to a directory'
complete -c rustup -n "__fish_rustup_using_subcommand help; and __fish_seen_subcommand_from show" -f -a "active-toolchain" -d 'Show the active toolchain'
complete -c rustup -n "__fish_rustup_using_subcommand help; and __fish_seen_subcommand_from show" -f -a "home" -d 'Display the computed value of RUSTUP_HOME'
complete -c rustup -n "__fish_rustup_using_subcommand help; and __fish_seen_subcommand_from show" -f -a "profile" -d 'Show the default profile used for the `rustup install` command'
complete -c rustup -n "__fish_rustup_using_subcommand help; and __fish_seen_subcommand_from target" -f -a "list" -d 'List installed and available targets'
complete -c rustup -n "__fish_rustup_using_subcommand help; and __fish_seen_subcommand_from target" -f -a "add" -d 'Add a target to a Rust toolchain'
complete -c rustup -n "__fish_rustup_using_subcommand help; and __fish_seen_subcommand_from target" -f -a "remove" -d 'Remove a target from a Rust toolchain'
complete -c rustup -n "__fish_rustup_using_subcommand help; and __fish_seen_subcommand_from component" -f -a "list" -d 'List installed and available components'
complete -c rustup -n "__fish_rustup_using_subcommand help; and __fish_seen_subcommand_from component" -f -a "add" -d 'Add a component to a Rust toolchain'
complete -c rustup -n "__fish_rustup_using_subcommand help; and __fish_seen_subcommand_from component" -f -a "remove" -d 'Remove a component from a Rust toolchain'
complete -c rustup -n "__fish_rustup_using_subcommand help; and __fish_seen_subcommand_from override" -f -a "list" -d 'List directory toolchain overrides'
complete -c rustup -n "__fish_rustup_using_subcommand help; and __fish_seen_subcommand_from override" -f -a "set" -d 'Set the override toolchain for a directory'
complete -c rustup -n "__fish_rustup_using_subcommand help; and __fish_seen_subcommand_from override" -f -a "unset" -d 'Remove the override toolchain for a directory'
complete -c rustup -n "__fish_rustup_using_subcommand help; and __fish_seen_subcommand_from self" -f -a "update" -d 'Download and install updates to rustup'
complete -c rustup -n "__fish_rustup_using_subcommand help; and __fish_seen_subcommand_from self" -f -a "uninstall" -d 'Uninstall rustup'
complete -c rustup -n "__fish_rustup_using_subcommand help; and __fish_seen_subcommand_from self" -f -a "upgrade-data" -d 'Upgrade the internal data format'
complete -c rustup -n "__fish_rustup_using_subcommand help; and __fish_seen_subcommand_from set" -f -a "default-host" -d 'The triple used to identify toolchains when not specified'
complete -c rustup -n "__fish_rustup_using_subcommand help; and __fish_seen_subcommand_from set" -f -a "profile" -d 'The default components installed with a toolchain'
complete -c rustup -n "__fish_rustup_using_subcommand help; and __fish_seen_subcommand_from set" -f -a "auto-self-update" -d 'The rustup auto self update mode'
complete -c rustup -n "__fish_rustup_using_subcommand help; and __fish_seen_subcommand_from set" -f -a "auto-install" -d 'The auto toolchain install mode'
