aboutsummaryrefslogtreecommitdiffstats
path: root/src/_sbt
diff options
context:
space:
mode:
authorShohei YOSHIDA <syohex@gmail.com>2022-12-25 16:23:41 +0900
committerShohei YOSHIDA <syohex@gmail.com>2022-12-25 16:23:41 +0900
commitb3eb7818371a740fa444b09a9346ba1e3667f562 (patch)
treefd2502e6909412fdf8d9526c01ff48a9367a1842 /src/_sbt
parentMerge pull request #960 from zsh-users/update-virtualbox (diff)
downloadzsh-completions-b3eb7818371a740fa444b09a9346ba1e3667f562.tar
zsh-completions-b3eb7818371a740fa444b09a9346ba1e3667f562.tar.gz
zsh-completions-b3eb7818371a740fa444b09a9346ba1e3667f562.tar.bz2
zsh-completions-b3eb7818371a740fa444b09a9346ba1e3667f562.tar.lz
zsh-completions-b3eb7818371a740fa444b09a9346ba1e3667f562.tar.xz
zsh-completions-b3eb7818371a740fa444b09a9346ba1e3667f562.tar.zst
zsh-completions-b3eb7818371a740fa444b09a9346ba1e3667f562.zip
Update sbt completion
Diffstat (limited to 'src/_sbt')
-rw-r--r--src/_sbt153
1 files changed, 103 insertions, 50 deletions
diff --git a/src/_sbt b/src/_sbt
index ff9e3dd..86daa5b 100644
--- a/src/_sbt
+++ b/src/_sbt
@@ -28,7 +28,7 @@
# Description
# -----------
#
-# Completion script for sbt 0.12+ (https://www.scala-sbt.org).
+# Completion script for sbt 1.8.0 (https://www.scala-sbt.org).
#
# ------------------------------------------------------------------------------
# Authors
@@ -36,58 +36,111 @@
#
# * Tony Sloane <inkytonik@gmail.com>
# * Mirko Caserta <mirko.caserta@gmail.com>
+# * Shohei Yoshida <https://github.com/syohex>
#
# ------------------------------------------------------------------------------
-local -a _sbt_commands
-_sbt_commands=(
- 'clean:delete files produced by the build'
- 'compile:compile sources'
- 'console:start the Scala REPL with project classes on the classpath'
- 'console-quick:start the Scala REPL with project deps on the classpath'
- 'console-project:start the Scala REPL w/sbt+build-def on the classpath'
- 'dist:generate distribution artifacts'
- 'dist\:clean:clean distribution artifacts'
- 'doc:generate API documentation'
- 'gen-idea:generate Intellij Idea project files'
- 'package:produce the main artifact, such as a binary jar'
- 'package-doc:produce a doc artifact, such as a jar containing API docs'
- 'package-src:produce a source artifact, such as a jar containing sources'
- 'publish:publish artifacts to a repository'
- 'publish-local:publish artifacts to the local repository'
- 'run:run a main class'
- 'run-main:run the main class selected by the first argument'
- 'test:execute all tests'
- 'test-only:execute the tests provided as arguments'
- 'test-quick:execute previously failed tests'
- 'update:resolve and optionally retrieve dependencies'
-)
+_sbt() {
+ typeset -A opt_args
+ local context state line
+ local curcontext="$curcontext"
+ local ret=1
-local expl
+ _arguments \
+ '(- *)'{-h,--help}'[print help message]' \
+ '(-v --verbose)'{-v,--verbose}'[this runner is chattier]' \
+ '(- *)'{-V,--version}'[print sbt version information]' \
+ '--numeric-version[print the version of sbt script]' \
+ '(-d --debug)'{-d,--debug}'[set sbt log level to debug]' \
+ '--no-colors[disable ANSI color codes]' \
+ '--color=[enable or disable ANSI color codes]: :(auto always true false never)' \
+ '--supershell=[enable or disable super shell]: :(auto always true false never)' \
+ '--traces[generate Trace Event report on shutdown]' \
+ '--timings[display task timings report on shutdown]' \
+ '--sbt-create[start sbt even if current directory contains no sbt project]' \
+ '--sbt-dir[path to global settings/plugins directory]: :_files -/' \
+ '--sbt-boot[path to shared boot directory]: :_files -/' \
+ '--sbt-cache[path to global cache directory]: :_files -/' \
+ '--ivy[path to local Ivy repository]: :_files -/' \
+ '--mem[set memory options]:memory' \
+ '--no-share[use all local caches; no sharing]' \
+ '--no-global[uses global caches, but does not use global directory]' \
+ '--jvm-debug[Turn on JVM debugging, open at the given port]:port' \
+ '--batch[disable interactive mode]' \
+ '--sbt-version[use the specified version of sbt]:version' \
+ '--sbt-jar[use the specified jar as the sbt launcher]: :_files' \
+ '--java-home[alternate JAVA_HOME]: :_files -/' \
+ '1: :_sbt_commands' \
+ '*:: :->args' && ret=0
-_arguments \
- '(-help)-h[prints an help message]' \
- '(-h)-help[prints an help message]' \
- '(-verbose)-v[this runner is chattier]' \
- '(-v)-verbose[this runner is chattier]' \
- '(-debug)-d[set sbt log level to debug]' \
- '(-d)-debug[set sbt log level to debug]' \
- '-no-colors[disable ANSI color codes]' \
- '-sbt-create[start even if current dir contains no sbt project]' \
- '-sbt-dir[path to global settings/plugins dir (default: ~/.sbt)]' \
- '-sbt-boot[path to shared boot dir (default: ~/.sbt/boot)]' \
- '-ivy[path to local Ivy repository (default: ~/.ivy2)]' \
- '-mem[set memory options]' \
- '-no-share[use all local caches; no sharing]' \
- '-no-global[use global caches, but do not use global ~/.sbt dir]' \
- '-jvm-debug[turn on JVM debugging, open at the given port]' \
- '-batch[disable interactive mode]' \
- '-sbt-version[use the specified version of sbt]' \
- '-sbt-jar[use the specified jar as the sbt launcher]' \
- '(-sbt-snapshot)-sbt-rc[use an RC version of sbt]' \
- '(-sbt-rc)-sbt-snapshot[use a snapshot version of sbt]' \
- '-java-home[alternate JAVA_HOME]' \
- '*:: :->subcmds' && return 0
+ case "$state" in
+ (args)
+ case $words[1] in
+ (new)
+ local -a g8_templates=(
+ foundweekends/giter8.g8
+ scala/scala-seed.g8
+ scala/scala3.g8
+ scala/hello-world.g8
+ scala/scalatest-example.g8
+ playframework/play-scala-seed.g8
+ playframework/play-java-seed.g8
+ lagom/lagom-scala.g8
+ lagom/lagom-java.g8
+ scala-native/scala-native.g8
+ scala-native/sbt-crossproject.g8
+ http4s/http4s.g8
+ unfiltered/unfiltered.g8
+ scalatra/scalatra-sbt.g8
+ )
+ _values 'g8_templates' $g8_templates
+ ;;
+ esac
+ ;;
+ esac
-_describe -t commands "sbt subcommand" _sbt_commands
-return 0
+ return $ret
+}
+
+(( $+functions[_sbt_commands] )) ||
+_sbt_commands() {
+ local -a commands=(
+ 'about:Displays basic information about sbt and the build'
+ 'clean:delete files produced by the build'
+ 'compile:compile sources'
+ 'console:start the Scala REPL with project classes on the classpath'
+ 'console-quick:start the Scala REPL with project deps on the classpath'
+ 'console-project:start the Scala REPL w/sbt+build-def on the classpath'
+ 'dist:generate distribution artifacts'
+ 'dist\:clean:clean distribution artifacts'
+ 'doc:generate API documentation'
+ 'new:Creates a new sbt build'
+ 'package:produce the main artifact, such as a binary jar'
+ 'package-doc:produce a doc artifact, such as a jar containing API docs'
+ 'package-src:produce a source artifact, such as a jar containing sources'
+ 'projects:Lists the names of available projects'
+ 'publish:publish artifacts to a repository'
+ 'publish-local:publish artifacts to the local repository'
+ 'run:run a main class'
+ 'run-main:run the main class selected by the first argument'
+ 'settings:Lists the settings defined for the current project'
+ 'shutdownall:shutdown all running sbt-launch processes'
+ 'tasks:Lists the tasks defined for the current project'
+ 'test:execute all tests'
+ 'test-only:execute the tests provided as arguments'
+ 'test-quick:execute previously failed tests'
+ 'update:resolve and optionally retrieve dependencies'
+ )
+
+ _describe -t subcommands 'subcommand' commands
+}
+
+_sbt "$@"
+
+# Local Variables:
+# mode: Shell-Script
+# sh-indentation: 2
+# indent-tabs-mode: nil
+# sh-basic-offset: 2
+# End:
+# vim: ft=zsh sw=2 ts=2 et