summaryrefslogtreecommitdiffstats
path: root/zsh/oh-my-zsh/plugins/sbt
diff options
context:
space:
mode:
Diffstat (limited to 'zsh/oh-my-zsh/plugins/sbt')
-rw-r--r--zsh/oh-my-zsh/plugins/sbt/README.md32
-rw-r--r--zsh/oh-my-zsh/plugins/sbt/_sbt56
-rw-r--r--zsh/oh-my-zsh/plugins/sbt/sbt.plugin.zsh25
3 files changed, 113 insertions, 0 deletions
diff --git a/zsh/oh-my-zsh/plugins/sbt/README.md b/zsh/oh-my-zsh/plugins/sbt/README.md
new file mode 100644
index 0000000..f020193
--- /dev/null
+++ b/zsh/oh-my-zsh/plugins/sbt/README.md
@@ -0,0 +1,32 @@
+# sbt plugin
+
+This plugin adds completion for the [sbt, the interactive build tool](https://scala-sbt.org/),
+as well as some aliases for common sbt commands.
+
+To use it, add `sbt` to the plugins array in your zshrc file:
+
+```zsh
+plugins=(... sbt)
+```
+
+## Aliases
+
+| Alias | Command | Description |
+|-------|-----------------------|--------------------------------------------------------------|
+| sbc | `sbt compile` | Compiles the main sources |
+| sbcln | `sbt clean` | Deletes all generated files |
+| sbcc | `sbt clean compile` | Deletes generated files, compiles the main sources |
+| sbco | `sbt console` | Starts Scala with the compiled sources and all dependencies |
+| sbcq | `sbt consoleQuick` | Starts Scala with all dependencies |
+| sbcp | `sbt consoleProject` | Starts Scala with sbt and the build definitions |
+| sbd | `sbt doc` | Generates API documentation for Scala source files |
+| sbdc | `sbt dist:clean` | Deletes the distribution packages |
+| sbdi | `sbt dist` | Creates the distribution packages |
+| sbgi | `sbt genIdea` | Create Idea project files |
+| sbp | `sbt publish` | Publishes artifacts to the repository |
+| sbpl | `sbt publishLocal` | Publishes artifacts to the local Ivy repository |
+| sbr | `sbt run` | Runs the main class for the project |
+| sbrm | `sbt runMain` | Runs the specified main class for the project |
+| sbu | `sbt update` | Resolves and retrieves external dependencies |
+| sbx | `sbt test` | Compiles and runs all tests |
+| sba | `sbt assembly` | Create a fat JAR with all dependencies |
diff --git a/zsh/oh-my-zsh/plugins/sbt/_sbt b/zsh/oh-my-zsh/plugins/sbt/_sbt
new file mode 100644
index 0000000..2138a72
--- /dev/null
+++ b/zsh/oh-my-zsh/plugins/sbt/_sbt
@@ -0,0 +1,56 @@
+#compdef sbt
+#autoload
+
+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'
+ 'consoleQuick:start the Scala REPL with project deps on the classpath'
+ 'consoleProject:start the Scala REPL w/sbt+build-def on the classpath'
+ 'dist:generate distribution artifacts'
+ 'dist\:clean:clean distribution artifacts'
+ 'doc:generate API documentation'
+ 'genIdea:generate Intellij Idea project files'
+ 'package:produce the main artifact, such as a binary jar'
+ 'packageDoc:produce a doc artifact, such as a jar containing API docs'
+ 'packageSrc:produce a source artifact, such as a jar containing sources'
+ 'publish:publish artifacts to a repository'
+ 'publishLocal:publish artifacts to the local repository'
+ 'publishM2:publish artifacts to the local Maven 2 repository'
+ 'run:run a main class'
+ 'runMain:run the main class selected by the first argument'
+ 'test:execute all tests'
+ 'testOnly:execute the tests provided as arguments'
+ 'testQuick:execute previously failed tests'
+ 'update:resolve and optionally retrieve dependencies'
+)
+
+local expl
+
+_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
+
+_describe -t commands "sbt subcommand" _sbt_commands
+return
diff --git a/zsh/oh-my-zsh/plugins/sbt/sbt.plugin.zsh b/zsh/oh-my-zsh/plugins/sbt/sbt.plugin.zsh
new file mode 100644
index 0000000..851302c
--- /dev/null
+++ b/zsh/oh-my-zsh/plugins/sbt/sbt.plugin.zsh
@@ -0,0 +1,25 @@
+# ------------------------------------------------------------------------------
+# FILE: sbt.plugin.zsh
+# DESCRIPTION: oh-my-zsh plugin file.
+# AUTHOR: Mirko Caserta (mirko.caserta@gmail.com)
+# VERSION: 1.0.2
+# ------------------------------------------------------------------------------
+
+# aliases - mnemonic: prefix is 'sb'
+alias sbc='sbt compile'
+alias sbcc='sbt clean compile'
+alias sbco='sbt console'
+alias sbcq='sbt consoleQuick'
+alias sbcln='sbt clean'
+alias sbcp='sbt consoleProject'
+alias sbd='sbt doc'
+alias sbdc='sbt dist:clean'
+alias sbdi='sbt dist'
+alias sbgi='sbt genIdea'
+alias sbp='sbt publish'
+alias sbpl='sbt publishLocal'
+alias sbr='sbt run'
+alias sbrm='sbt runMain'
+alias sbu='sbt update'
+alias sbx='sbt test'
+alias sba='sbt assembly'