From 030d9ee0974996a87a09bbf30648d715a4123038 Mon Sep 17 00:00:00 2001 From: Mirko Caserta Date: Wed, 30 Jan 2013 11:41:27 +0100 Subject: [PATCH 1/3] SBT Plugin version 1.0.0 --- plugins/sbt/sbt.plugin.zsh | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 plugins/sbt/sbt.plugin.zsh diff --git a/plugins/sbt/sbt.plugin.zsh b/plugins/sbt/sbt.plugin.zsh new file mode 100644 index 000000000..d0d171741 --- /dev/null +++ b/plugins/sbt/sbt.plugin.zsh @@ -0,0 +1,27 @@ +# ------------------------------------------------------------------------------ +# FILE: sbt.plugin.zsh +# DESCRIPTION: oh-my-zsh plugin file. +# AUTHOR: Mirko Caserta (mirko.caserta@gmail.com) +# VERSION: 1.0.0 +# ------------------------------------------------------------------------------ + +function listSbtCompletions { + reply=( + # common lifecycle + clean compile doc gen-idea update + # console + console console-quick console-project + # dist + dist dist:clean + # package + package package-doc package-src + # publish + publish publish-local + # + run run-main + # test + test test-only test-quick test:console-quick test:run-main + ); +} + +compctl -K listSbtCompletions sbt From 11adf3f6133ab1e19ecdbdf2fc6cbb0f6179f4ac Mon Sep 17 00:00:00 2001 From: Mirko Caserta Date: Thu, 31 Jan 2013 11:43:50 +0100 Subject: [PATCH 2/3] Added aliases for SBT plugin --- plugins/sbt/sbt.plugin.zsh | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/plugins/sbt/sbt.plugin.zsh b/plugins/sbt/sbt.plugin.zsh index d0d171741..f610e3aa5 100644 --- a/plugins/sbt/sbt.plugin.zsh +++ b/plugins/sbt/sbt.plugin.zsh @@ -2,9 +2,26 @@ # FILE: sbt.plugin.zsh # DESCRIPTION: oh-my-zsh plugin file. # AUTHOR: Mirko Caserta (mirko.caserta@gmail.com) -# VERSION: 1.0.0 +# VERSION: 1.0.1 # ------------------------------------------------------------------------------ +# aliases - mnemonic: prefix is 'sb' +alias sbc='sbt compile' +alias sbco='sbt console' +alias sbcq='sbt console-quick' +alias sbcl='sbt clean' +alias sbcp='sbt console-project' +alias sbd='sbt doc' +alias sbdc='sbt dist:clean' +alias sbdi='sbt dist' +alias sbgi='sbt gen-idea' +alias sbp='sbt publish' +alias sbpl='sbt publish-local' +alias sbr='sbt run' +alias sbrm='sbt run-main' +alias sbu='sbt update' +alias sbx='sbt test' + function listSbtCompletions { reply=( # common lifecycle From 01d5f0155ddeecdee65e92c235679565e1bbe6a1 Mon Sep 17 00:00:00 2001 From: Mirko Caserta Date: Thu, 31 Jan 2013 22:54:20 +0100 Subject: [PATCH 3/3] Full completion support, yay! --- plugins/sbt/_sbt | 57 ++++++++++++++++++++++++++++++++++++++ plugins/sbt/sbt.plugin.zsh | 23 +-------------- 2 files changed, 58 insertions(+), 22 deletions(-) create mode 100644 plugins/sbt/_sbt diff --git a/plugins/sbt/_sbt b/plugins/sbt/_sbt new file mode 100644 index 000000000..3a94d0cf2 --- /dev/null +++ b/plugins/sbt/_sbt @@ -0,0 +1,57 @@ +#compdef sbt +#autoload + +local -a _1st_arguments +_1st_arguments=( + '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' +) + +local expl + +_arguments \ + '(-h)-h[prints an help message]' \ + '(-help)-help[prints an help message]' \ + '(-v)-v[this runner is chattier]' \ + '(-verbose)-verbose[this runner is chattier]' \ + '(-d)-d[set sbt log level to debug]' \ + '(-debug)-debug[set sbt log level to debug]' \ + '(-no-colors)-no-colors[disable ANSI color codes]' \ + '(-sbt-create)-sbt-create[start even if current dir contains no sbt project]' \ + '(-sbt-dir)-sbt-dir[path to global settings/plugins dir (default: ~/.sbt)]' \ + '(-sbt-boot)-sbt-boot[path to shared boot dir (default: ~/.sbt/boot)]' \ + '(-ivy)-ivy[path to local Ivy repository (default: ~/.ivy2)]' \ + '(-mem)-mem[set memory options]' \ + '(-no-share)-no-share[use all local caches; no sharing]' \ + '(-no-global)-no-global[use global caches, but do not use global ~/.sbt dir]' \ + '(-jvm-debug)-jvm-debug[turn on JVM debugging, open at the given port]' \ + '(-batch)-batch[disable interactive mode]' \ + '(-sbt-version)-sbt-version[use the specified version of sbt]' \ + '(-sbt-jar)-sbt-jar[use the specified jar as the sbt launcher]' \ + '(-sbt-rc)-sbt-rc[use an RC version of sbt]' \ + '(-sbt-snapshot)-sbt-snapshot[use a snapshot version of sbt]' \ + '(-java-home)-java-home[alternate JAVA_HOME]' \ + '*:: :->subcmds' && return 0 + +if (( CURRENT == 1 )); then + _describe -t commands "sbt subcommand" _1st_arguments + return +fi diff --git a/plugins/sbt/sbt.plugin.zsh b/plugins/sbt/sbt.plugin.zsh index f610e3aa5..203c691f5 100644 --- a/plugins/sbt/sbt.plugin.zsh +++ b/plugins/sbt/sbt.plugin.zsh @@ -2,7 +2,7 @@ # FILE: sbt.plugin.zsh # DESCRIPTION: oh-my-zsh plugin file. # AUTHOR: Mirko Caserta (mirko.caserta@gmail.com) -# VERSION: 1.0.1 +# VERSION: 1.0.2 # ------------------------------------------------------------------------------ # aliases - mnemonic: prefix is 'sb' @@ -21,24 +21,3 @@ alias sbr='sbt run' alias sbrm='sbt run-main' alias sbu='sbt update' alias sbx='sbt test' - -function listSbtCompletions { - reply=( - # common lifecycle - clean compile doc gen-idea update - # console - console console-quick console-project - # dist - dist dist:clean - # package - package package-doc package-src - # publish - publish publish-local - # - run run-main - # test - test test-only test-quick test:console-quick test:run-main - ); -} - -compctl -K listSbtCompletions sbt