Skip to content

Instantly share code, notes, and snippets.

@JRHeaton
Created November 20, 2015 21:54
Show Gist options
  • Save JRHeaton/852ecfaba7ff5079ddd9 to your computer and use it in GitHub Desktop.
Save JRHeaton/852ecfaba7ff5079ddd9 to your computer and use it in GitHub Desktop.
Command completion for Carthage
function add_command
complete -c carthage -a $argv[1] -d $argv[2] -f
end
function add_command_option
complete -c carthage -n "contains $argv[1] (commandline -poc)" -l $argv[2] -d $argv[3]
end
# Add all top level commands
add_command archive "Archives a built framework into a zip that Carthage can use"
add_command bootstrap "Check out and build the project's dependencies"
add_command build "Build the project's dependencies"
add_command checkout "Check out the project's dependencies"
add_command copy-frameworks "In a Run Script build phase, copies each framework specified by a SCRIPT_INPUT_FILE environment variable into the built app bundle"
add_command fetch "Clones or fetches a Git repository ahead of time"
add_command help "Display general or command-specific help"
add_command update "Update and rebuild the project's dependencies"
add_command version "Display the current version of Carthage"
# archive
add_command_option archive output "the path at which to create the zip file (or blank to infer it from the framework name)"
add_command_option archive color "whether to apply color and terminal formatting (one of ‘auto’, ‘always’, or ‘never’)"
# bootstrap
add_command_option bootstrap configuration "the Xcode configuration to build (ignored if --no-build option is present)"
add_command_option bootstrap platform "the platforms to build for (ignored if --no-build option is present)"
add_command_option bootstrap verbose "print xcodebuild output inline (ignored if --no-build option is present)"
add_command_option bootstrap no-checkout "skip the checking out of dependencies after updating"
add_command_option bootstrap no-build "skip the building of dependencies after updating (ignored if --no-checkout option is present)"
add_command_option bootstrap use-ssh "use SSH for downloading GitHub repositories"
add_command_option bootstrap use-submodules "add dependencies as Git submodules"
add_command_option bootstrap no-use-binaries "check out dependency repositories even when prebuilt frameworks exist, disabled if --use-submodules option is present (ignored if --no-build option is present)"
add_command_option bootstrap color "whether to apply color and terminal formatting (one of ‘auto’, ‘always’, or ‘never’)"
# build
add_command_option build configuration "the Xcode configuration to build"
add_command_option build platform "the platforms to build for (one of ‘all’, ‘Mac’, ‘iOS’, ‘watchOS’, 'tvOS', or comma-separated values of the formers except for ‘all’)"
add_command_option build no-skip-current "don't skip building the Carthage project (in addition to its dependencies)"
add_command_option build color "whether to apply color and terminal formatting (one of ‘auto’, ‘always’, or ‘never’)"
add_command_option build verbose "print xcodebuild output inline"
# checkout
add_command_option checkout use-ssh "use SSH for downloading GitHub repositories"
add_command_option checkout use-submodules "add dependencies as Git submodules"
add_command_option checkout no-use-binaries "check out dependency repositories even when prebuilt frameworks exist, disabled if --use-submodules option is present"
add_command_option checkout color "whether to apply color and terminal formatting (one of ‘auto’, ‘always’, or ‘never’)"
# fetch
add_command_option fetch color "whether to apply color and terminal formatting (one of ‘auto’, ‘always’, or ‘never’)"
# update
add_command_option update configuration "the Xcode configuration to build (ignored if --no-build option is present)"
add_command_option update platform "the platforms to build for (ignored if --no-build option is present)"
add_command_option update verbose "print xcodebuild output inline (ignored if --no-build option is present)"
add_command_option update no-checkout "skip the checking out of dependencies after updating"
add_command_option update no-build "skip the building of dependencies after updating (ignored if --no-checkout option is present)"
add_command_option update no-ssh "use SSH for downloading GitHub repositories"
add_command_option update use-submodules "add dependencies as Git submodules"
add_command_option update no-use-binaries "check out dependency repositories even when prebuilt frameworks exist, disabled if --use-submodules option is present (ignored if --no-build option is present)"
add_command_option update color "whether to apply color and terminal formatting (one of ‘auto’, ‘always’, or ‘never’)"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment