summaryrefslogtreecommitdiffstats
path: root/zsh/oh-my-zsh/plugins/swiftpm/_swift
diff options
context:
space:
mode:
Diffstat (limited to 'zsh/oh-my-zsh/plugins/swiftpm/_swift')
-rw-r--r--zsh/oh-my-zsh/plugins/swiftpm/_swift474
1 files changed, 474 insertions, 0 deletions
diff --git a/zsh/oh-my-zsh/plugins/swiftpm/_swift b/zsh/oh-my-zsh/plugins/swiftpm/_swift
new file mode 100644
index 0000000..fe6f1c9
--- /dev/null
+++ b/zsh/oh-my-zsh/plugins/swiftpm/_swift
@@ -0,0 +1,474 @@
+#compdef swift
+local context state state_descr line
+typeset -A opt_args
+
+_swift() {
+ _arguments -C \
+ '(- :)--help[prints the synopsis and a list of the most commonly used commands]: :->arg' \
+ '(-): :->command' \
+ '(-)*:: :->arg' && return
+
+ case $state in
+ (command)
+ local tools
+ tools=(
+ 'build:build sources into binary products'
+ 'run:build and run an executable product'
+ 'package:perform operations on Swift packages'
+ 'test:build and run tests'
+ )
+ _alternative \
+ 'tools:common:{_describe "tool" tools }' \
+ 'compiler: :_swift_compiler' && _ret=0
+ ;;
+ (arg)
+ case ${words[1]} in
+ (build)
+ _swift_build
+ ;;
+ (run)
+ _swift_run
+ ;;
+ (package)
+ _swift_package
+ ;;
+ (test)
+ _swift_test
+ ;;
+ (*)
+ _swift_compiler
+ ;;
+ esac
+ ;;
+ esac
+}
+
+_swift_dependency() {
+ local dependencies
+ dependencies=( $(swift package completion-tool list-dependencies) )
+ _describe '' dependencies
+}
+
+_swift_executable() {
+ local executables
+ executables=( $(swift package completion-tool list-executables) )
+ _describe '' executables
+}
+
+# Generates completions for swift build
+#
+# In the final compdef file, set the following file header:
+#
+# #compdef _swift_build
+# local context state state_descr line
+# typeset -A opt_args
+_swift_build() {
+ arguments=(
+ "-Xcc[Pass flag through to all C compiler invocations]:Pass flag through to all C compiler invocations: "
+ "-Xswiftc[Pass flag through to all Swift compiler invocations]:Pass flag through to all Swift compiler invocations: "
+ "-Xlinker[Pass flag through to all linker invocations]:Pass flag through to all linker invocations: "
+ "-Xcxx[Pass flag through to all C++ compiler invocations]:Pass flag through to all C++ compiler invocations: "
+ "(--configuration -c)"{--configuration,-c}"[Build with configuration (debug|release) ]: :{_values '' 'debug[build with DEBUG configuration]' 'release[build with RELEASE configuration]'}"
+ "--build-path[Specify build/cache directory ]:Specify build/cache directory :_files"
+ "(--chdir -C)"{--chdir,-C}"[]: :_files"
+ "--package-path[Change working directory before any other operation]:Change working directory before any other operation:_files"
+ "--sanitize[Turn on runtime checks for erroneous behavior]: :{_values '' 'address[enable Address sanitizer]' 'thread[enable Thread sanitizer]' 'undefined[enable Undefined Behavior sanitizer]'}"
+ "--disable-prefetching[]"
+ "--skip-update[Skip updating dependencies from their remote during a resolution]"
+ "--disable-sandbox[Disable using the sandbox when executing subprocesses]"
+ "--disable-package-manifest-caching[Disable caching Package.swift manifests]"
+ "--version[]"
+ "--destination[]: :_files"
+ "(--verbose -v)"{--verbose,-v}"[Increase verbosity of informational output]"
+ "--no-static-swift-stdlib[Do not link Swift stdlib statically \[default\]]"
+ "--static-swift-stdlib[Link Swift stdlib statically]"
+ "--force-resolved-versions[]"
+ "--disable-automatic-resolution[Disable automatic resolution if Package.resolved file is out-of-date]"
+ "--enable-index-store[Enable indexing-while-building feature]"
+ "--disable-index-store[Disable indexing-while-building feature]"
+ "--enable-pubgrub-resolver[\[Experimental\] Enable the new Pubgrub dependency resolver]"
+ "--enable-parseable-module-interfaces[]"
+ "--trace-resolver[]"
+ "(--jobs -j)"{--jobs,-j}"[The number of jobs to spawn in parallel during the build process]:The number of jobs to spawn in parallel during the build process: "
+ "--enable-test-discovery[Enable test discovery on platforms without Objective-C runtime]"
+ "--build-tests[Build both source and test targets]"
+ "--product[Build the specified product]:Build the specified product: "
+ "--target[Build the specified target]:Build the specified target: "
+ "--show-bin-path[Print the binary output path]"
+ )
+ _arguments $arguments && return
+}
+
+# Generates completions for swift run
+#
+# In the final compdef file, set the following file header:
+#
+# #compdef _swift_run
+# local context state state_descr line
+# typeset -A opt_args
+_swift_run() {
+ arguments=(
+ ":The executable to run:_swift_executable"
+ "-Xcc[Pass flag through to all C compiler invocations]:Pass flag through to all C compiler invocations: "
+ "-Xswiftc[Pass flag through to all Swift compiler invocations]:Pass flag through to all Swift compiler invocations: "
+ "-Xlinker[Pass flag through to all linker invocations]:Pass flag through to all linker invocations: "
+ "-Xcxx[Pass flag through to all C++ compiler invocations]:Pass flag through to all C++ compiler invocations: "
+ "(--configuration -c)"{--configuration,-c}"[Build with configuration (debug|release) ]: :{_values '' 'debug[build with DEBUG configuration]' 'release[build with RELEASE configuration]'}"
+ "--build-path[Specify build/cache directory ]:Specify build/cache directory :_files"
+ "(--chdir -C)"{--chdir,-C}"[]: :_files"
+ "--package-path[Change working directory before any other operation]:Change working directory before any other operation:_files"
+ "--sanitize[Turn on runtime checks for erroneous behavior]: :{_values '' 'address[enable Address sanitizer]' 'thread[enable Thread sanitizer]' 'undefined[enable Undefined Behavior sanitizer]'}"
+ "--disable-prefetching[]"
+ "--skip-update[Skip updating dependencies from their remote during a resolution]"
+ "--disable-sandbox[Disable using the sandbox when executing subprocesses]"
+ "--disable-package-manifest-caching[Disable caching Package.swift manifests]"
+ "--version[]"
+ "--destination[]: :_files"
+ "(--verbose -v)"{--verbose,-v}"[Increase verbosity of informational output]"
+ "--no-static-swift-stdlib[Do not link Swift stdlib statically \[default\]]"
+ "--static-swift-stdlib[Link Swift stdlib statically]"
+ "--force-resolved-versions[]"
+ "--disable-automatic-resolution[Disable automatic resolution if Package.resolved file is out-of-date]"
+ "--enable-index-store[Enable indexing-while-building feature]"
+ "--disable-index-store[Disable indexing-while-building feature]"
+ "--enable-pubgrub-resolver[\[Experimental\] Enable the new Pubgrub dependency resolver]"
+ "--enable-parseable-module-interfaces[]"
+ "--trace-resolver[]"
+ "(--jobs -j)"{--jobs,-j}"[The number of jobs to spawn in parallel during the build process]:The number of jobs to spawn in parallel during the build process: "
+ "--enable-test-discovery[Enable test discovery on platforms without Objective-C runtime]"
+ "--skip-build[Skip building the executable product]"
+ "--build-tests[Build both source and test targets]"
+ "--repl[Launch Swift REPL for the package]"
+ )
+ _arguments $arguments && return
+}
+
+# Generates completions for swift package
+#
+# In the final compdef file, set the following file header:
+#
+# #compdef _swift_package
+# local context state state_descr line
+# typeset -A opt_args
+_swift_package() {
+ arguments=(
+ "-Xcc[Pass flag through to all C compiler invocations]:Pass flag through to all C compiler invocations: "
+ "-Xswiftc[Pass flag through to all Swift compiler invocations]:Pass flag through to all Swift compiler invocations: "
+ "-Xlinker[Pass flag through to all linker invocations]:Pass flag through to all linker invocations: "
+ "-Xcxx[Pass flag through to all C++ compiler invocations]:Pass flag through to all C++ compiler invocations: "
+ "(--configuration -c)"{--configuration,-c}"[Build with configuration (debug|release) ]: :{_values '' 'debug[build with DEBUG configuration]' 'release[build with RELEASE configuration]'}"
+ "--build-path[Specify build/cache directory ]:Specify build/cache directory :_files"
+ "(--chdir -C)"{--chdir,-C}"[]: :_files"
+ "--package-path[Change working directory before any other operation]:Change working directory before any other operation:_files"
+ "--sanitize[Turn on runtime checks for erroneous behavior]: :{_values '' 'address[enable Address sanitizer]' 'thread[enable Thread sanitizer]' 'undefined[enable Undefined Behavior sanitizer]'}"
+ "--disable-prefetching[]"
+ "--skip-update[Skip updating dependencies from their remote during a resolution]"
+ "--disable-sandbox[Disable using the sandbox when executing subprocesses]"
+ "--disable-package-manifest-caching[Disable caching Package.swift manifests]"
+ "--version[]"
+ "--destination[]: :_files"
+ "(--verbose -v)"{--verbose,-v}"[Increase verbosity of informational output]"
+ "--no-static-swift-stdlib[Do not link Swift stdlib statically \[default\]]"
+ "--static-swift-stdlib[Link Swift stdlib statically]"
+ "--force-resolved-versions[]"
+ "--disable-automatic-resolution[Disable automatic resolution if Package.resolved file is out-of-date]"
+ "--enable-index-store[Enable indexing-while-building feature]"
+ "--disable-index-store[Disable indexing-while-building feature]"
+ "--enable-pubgrub-resolver[\[Experimental\] Enable the new Pubgrub dependency resolver]"
+ "--enable-parseable-module-interfaces[]"
+ "--trace-resolver[]"
+ "(--jobs -j)"{--jobs,-j}"[The number of jobs to spawn in parallel during the build process]:The number of jobs to spawn in parallel during the build process: "
+ "--enable-test-discovery[Enable test discovery on platforms without Objective-C runtime]"
+ '(-): :->command'
+ '(-)*:: :->arg'
+ )
+ _arguments $arguments && return
+ case $state in
+ (command)
+ local modes
+ modes=(
+ 'completion-tool:Completion tool (for shell completions)'
+ 'dump-package:Print parsed Package.swift as JSON'
+ 'describe:Describe the current package'
+ 'clean:Delete build artifacts'
+ 'show-dependencies:Print the resolved dependency graph'
+ 'init:Initialize a new package'
+ 'unedit:Remove a package from editable mode'
+ 'tools-version:Manipulate tools version of the current package'
+ 'fetch:'
+ 'resolve:Resolve package dependencies'
+ 'reset:Reset the complete cache/build directory'
+ 'generate-xcodeproj:Generates an Xcode project'
+ 'edit:Put a package in editable mode'
+ 'config:Manipulate configuration of the package'
+ 'update:Update package dependencies'
+ )
+ _describe "mode" modes
+ ;;
+ (arg)
+ case ${words[1]} in
+ (completion-tool)
+ _swift_package_completion-tool
+ ;;
+ (dump-package)
+ _swift_package_dump-package
+ ;;
+ (describe)
+ _swift_package_describe
+ ;;
+ (clean)
+ _swift_package_clean
+ ;;
+ (show-dependencies)
+ _swift_package_show-dependencies
+ ;;
+ (init)
+ _swift_package_init
+ ;;
+ (unedit)
+ _swift_package_unedit
+ ;;
+ (tools-version)
+ _swift_package_tools-version
+ ;;
+ (fetch)
+ _swift_package_fetch
+ ;;
+ (resolve)
+ _swift_package_resolve
+ ;;
+ (reset)
+ _swift_package_reset
+ ;;
+ (generate-xcodeproj)
+ _swift_package_generate-xcodeproj
+ ;;
+ (edit)
+ _swift_package_edit
+ ;;
+ (config)
+ _swift_package_config
+ ;;
+ (update)
+ _swift_package_update
+ ;;
+ esac
+ ;;
+ esac
+}
+
+_swift_package_completion-tool() {
+ arguments=(
+ ": :{_values '' 'generate-bash-script[generate Bash completion script]' 'generate-zsh-script[generate Bash completion script]' 'list-dependencies[list all dependencies' names]' 'list-executables[list all executables' names]'}"
+ )
+ _arguments $arguments && return
+}
+
+_swift_package_dump-package() {
+ arguments=(
+ )
+ _arguments $arguments && return
+}
+
+_swift_package_describe() {
+ arguments=(
+ "--type[json|text]: :{_values '' 'text[describe using text format]' 'json[describe using JSON format]'}"
+ )
+ _arguments $arguments && return
+}
+
+_swift_package_clean() {
+ arguments=(
+ )
+ _arguments $arguments && return
+}
+
+_swift_package_show-dependencies() {
+ arguments=(
+ "--format[text|dot|json|flatlist]: :{_values '' 'text[list dependencies using text format]' 'dot[list dependencies using dot format]' 'json[list dependencies using JSON format]'}"
+ )
+ _arguments $arguments && return
+}
+
+_swift_package_init() {
+ arguments=(
+ "--type[empty|library|executable|system-module|manifest]: :{_values '' 'empty[generates an empty project]' 'library[generates project for a dynamic library]' 'executable[generates a project for a cli executable]' 'system-module[generates a project for a system module]'}"
+ "--name[Provide custom package name]:Provide custom package name: "
+ )
+ _arguments $arguments && return
+}
+
+_swift_package_unedit() {
+ arguments=(
+ ":The name of the package to unedit:_swift_dependency"
+ "--force[Unedit the package even if it has uncommited and unpushed changes.]"
+ )
+ _arguments $arguments && return
+}
+
+_swift_package_tools-version() {
+ arguments=(
+ "--set[Set tools version of package to the given value]:Set tools version of package to the given value: "
+ "--set-current[Set tools version of package to the current tools version in use]"
+ )
+ _arguments $arguments && return
+}
+
+_swift_package_fetch() {
+ arguments=(
+ )
+ _arguments $arguments && return
+}
+
+_swift_package_resolve() {
+ arguments=(
+ ":The name of the package to resolve:_swift_dependency"
+ "--version[The version to resolve at]:The version to resolve at: "
+ "--branch[The branch to resolve at]:The branch to resolve at: "
+ "--revision[The revision to resolve at]:The revision to resolve at: "
+ )
+ _arguments $arguments && return
+}
+
+_swift_package_reset() {
+ arguments=(
+ )
+ _arguments $arguments && return
+}
+
+_swift_package_generate-xcodeproj() {
+ arguments=(
+ "--xcconfig-overrides[Path to xcconfig file]:Path to xcconfig file:_files"
+ "--enable-code-coverage[Enable code coverage in the generated project]"
+ "--output[Path where the Xcode project should be generated]:Path where the Xcode project should be generated:_files"
+ "--legacy-scheme-generator[Use the legacy scheme generator]"
+ "--watch[Watch for changes to the Package manifest to regenerate the Xcode project]"
+ "--skip-extra-files[Do not add file references for extra files to the generated Xcode project]"
+ )
+ _arguments $arguments && return
+}
+
+_swift_package_edit() {
+ arguments=(
+ ":The name of the package to edit:_swift_dependency"
+ "--revision[The revision to edit]:The revision to edit: "
+ "--branch[The branch to create]:The branch to create: "
+ "--path[Create or use the checkout at this path]:Create or use the checkout at this path:_files"
+ )
+ _arguments $arguments && return
+}
+
+_swift_package_config() {
+ arguments=(
+ '(-): :->command'
+ '(-)*:: :->arg'
+ )
+ _arguments $arguments && return
+ case $state in
+ (command)
+ local modes
+ modes=(
+ 'unset-mirror:Remove an existing mirror'
+ 'get-mirror:Print mirror configuration for the given package dependency'
+ 'set-mirror:Set a mirror for a dependency'
+ )
+ _describe "mode" modes
+ ;;
+ (arg)
+ case ${words[1]} in
+ (unset-mirror)
+ _swift_package_config_unset-mirror
+ ;;
+ (get-mirror)
+ _swift_package_config_get-mirror
+ ;;
+ (set-mirror)
+ _swift_package_config_set-mirror
+ ;;
+ esac
+ ;;
+ esac
+}
+
+_swift_package_config_unset-mirror() {
+ arguments=(
+ "--package-url[The package dependency url]:The package dependency url: "
+ "--mirror-url[The mirror url]:The mirror url: "
+ )
+ _arguments $arguments && return
+}
+
+_swift_package_config_get-mirror() {
+ arguments=(
+ "--package-url[The package dependency url]:The package dependency url: "
+ )
+ _arguments $arguments && return
+}
+
+_swift_package_config_set-mirror() {
+ arguments=(
+ "--package-url[The package dependency url]:The package dependency url: "
+ "--mirror-url[The mirror url]:The mirror url: "
+ )
+ _arguments $arguments && return
+}
+
+_swift_package_update() {
+ arguments=(
+ )
+ _arguments $arguments && return
+}
+
+# Generates completions for swift test
+#
+# In the final compdef file, set the following file header:
+#
+# #compdef _swift_test
+# local context state state_descr line
+# typeset -A opt_args
+_swift_test() {
+ arguments=(
+ "-Xcc[Pass flag through to all C compiler invocations]:Pass flag through to all C compiler invocations: "
+ "-Xswiftc[Pass flag through to all Swift compiler invocations]:Pass flag through to all Swift compiler invocations: "
+ "-Xlinker[Pass flag through to all linker invocations]:Pass flag through to all linker invocations: "
+ "-Xcxx[Pass flag through to all C++ compiler invocations]:Pass flag through to all C++ compiler invocations: "
+ "(--configuration -c)"{--configuration,-c}"[Build with configuration (debug|release) ]: :{_values '' 'debug[build with DEBUG configuration]' 'release[build with RELEASE configuration]'}"
+ "--build-path[Specify build/cache directory ]:Specify build/cache directory :_files"
+ "(--chdir -C)"{--chdir,-C}"[]: :_files"
+ "--package-path[Change working directory before any other operation]:Change working directory before any other operation:_files"
+ "--sanitize[Turn on runtime checks for erroneous behavior]: :{_values '' 'address[enable Address sanitizer]' 'thread[enable Thread sanitizer]' 'undefined[enable Undefined Behavior sanitizer]'}"
+ "--disable-prefetching[]"
+ "--skip-update[Skip updating dependencies from their remote during a resolution]"
+ "--disable-sandbox[Disable using the sandbox when executing subprocesses]"
+ "--disable-package-manifest-caching[Disable caching Package.swift manifests]"
+ "--version[]"
+ "--destination[]: :_files"
+ "(--verbose -v)"{--verbose,-v}"[Increase verbosity of informational output]"
+ "--no-static-swift-stdlib[Do not link Swift stdlib statically \[default\]]"
+ "--static-swift-stdlib[Link Swift stdlib statically]"
+ "--force-resolved-versions[]"
+ "--disable-automatic-resolution[Disable automatic resolution if Package.resolved file is out-of-date]"
+ "--enable-index-store[Enable indexing-while-building feature]"
+ "--disable-index-store[Disable indexing-while-building feature]"
+ "--enable-pubgrub-resolver[\[Experimental\] Enable the new Pubgrub dependency resolver]"
+ "--enable-parseable-module-interfaces[]"
+ "--trace-resolver[]"
+ "(--jobs -j)"{--jobs,-j}"[The number of jobs to spawn in parallel during the build process]:The number of jobs to spawn in parallel during the build process: "
+ "--enable-test-discovery[Enable test discovery on platforms without Objective-C runtime]"
+ "--skip-build[Skip building the test target]"
+ "(--list-tests -l)"{--list-tests,-l}"[Lists test methods in specifier format]"
+ "--generate-linuxmain[Generate LinuxMain.swift entries for the package]"
+ "--parallel[Run the tests in parallel.]"
+ "--num-workers[Number of tests to execute in parallel.]:Number of tests to execute in parallel.: "
+ "(--specifier -s)"{--specifier,-s}"[]: : "
+ "--xunit-output[]: :_files"
+ "--filter[Run test cases matching regular expression, Format: <test-target>.<test-case> or <test-target>.<test-case>/<test>]:Run test cases matching regular expression, Format: <test-target>.<test-case> or <test-target>.<test-case>/<test>: "
+ "--enable-code-coverage[Test with code coverage enabled]"
+ )
+ _arguments $arguments && return
+}
+
+_swift_compiler() {
+}
+
+_swift