summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'plugins')
-rw-r--r--plugins/bundler/_bundler82
-rw-r--r--plugins/bundler/bundler.plugin.zsh15
-rw-r--r--plugins/cake/cake.plugin.zsh22
-rw-r--r--plugins/git/git.plugin.zsh6
-rw-r--r--plugins/github/github.plugin.zsh5
-rw-r--r--plugins/gnu-utils/gnu-utils.plugin.zsh80
-rw-r--r--plugins/gradle/gradle.plugin.zsh119
-rwxr-xr-xplugins/grails/grails.plugin.zsh54
-rw-r--r--plugins/heroku/_heroku158
-rw-r--r--plugins/lol/lol.plugin.zsh11
-rw-r--r--plugins/mercurial/mercurial.plugin.zsh14
-rw-r--r--plugins/npm/_npm19
-rw-r--r--plugins/npm/npm.plugin.zsh1
-rw-r--r--plugins/powder/_powder4
-rw-r--r--plugins/python/python.plugin.zsh5
-rw-r--r--plugins/svn/svn.plugin.zsh8
-rw-r--r--plugins/terminitor/_terminitor38
-rw-r--r--plugins/textmate/textmate.plugin.zsh2
-rw-r--r--plugins/vundle/vundle.plugin.zsh23
19 files changed, 627 insertions, 39 deletions
diff --git a/plugins/bundler/_bundler b/plugins/bundler/_bundler
new file mode 100644
index 000000000..5d22cac9a
--- /dev/null
+++ b/plugins/bundler/_bundler
@@ -0,0 +1,82 @@
+#compdef bundle
+
+local curcontext="$curcontext" state line _gems _opts ret=1
+
+_arguments -C -A "-v" -A "--version" \
+ '(- 1 *)'{-v,--version}'[display version information]' \
+ '1: :->cmds' \
+ '*:: :->args' && ret=0
+
+case $state in
+ cmds)
+ _values "bundle command" \
+ "install[Install the gems specified by the Gemfile or Gemfile.lock]" \
+ "update[Update dependencies to their latest versions]" \
+ "package[Package the .gem files required by your application]" \
+ "exec[Execute a script in the context of the current bundle]" \
+ "config[Specify and read configuration options for bundler]" \
+ "check[Determine whether the requirements for your application are installed]" \
+ "list[Show all of the gems in the current bundle]" \
+ "show[Show the source location of a particular gem in the bundle]" \
+ "console[Start an IRB session in the context of the current bundle]" \
+ "open[Open an installed gem in the editor]" \
+ "viz[Generate a visual representation of your dependencies]" \
+ "init[Generate a simple Gemfile, placed in the current directory]" \
+ "gem[Create a simple gem, suitable for development with bundler]" \
+ "help[Describe available tasks or one specific task]"
+ ret=0
+ ;;
+ args)
+ case $line[1] in
+ help)
+ _values 'commands' \
+ 'install' \
+ 'update' \
+ 'package' \
+ 'exec' \
+ 'config' \
+ 'check' \
+ 'list' \
+ 'show' \
+ 'console' \
+ 'open' \
+ 'viz' \
+ 'init' \
+ 'gem' \
+ 'help' && ret=0
+ ;;
+ install)
+ _arguments \
+ '(--no-color)--no-color[disable colorization in output]' \
+ '(--local)--local[do not attempt to connect to rubygems.org]' \
+ '(--quiet)--quiet[only output warnings and errors]' \
+ '(--gemfile)--gemfile=-[use the specified gemfile instead of Gemfile]:gemfile' \
+ '(--system)--system[install to the system location]' \
+ '(--deployment)--deployment[install using defaults tuned for deployment environments]' \
+ '(--frozen)--frozen[do not allow the Gemfile.lock to be updated after this install]' \
+ '(--path)--path=-[specify a different path than the system default]:path:_files' \
+ '(--binstubs)--binstubs=-[generate bin stubs for bundled gems to ./bin]:directory:_files' \
+ '(--without)--without=-[exclude gems that are part of the specified named group]:groups'
+ ret=0
+ ;;
+ exec)
+ _normal && ret=0
+ ;;
+ (open|show)
+ _gems=( $(bundle show 2> /dev/null | sed -e '/^ \*/!d; s/^ \* \([^ ]*\) .*/\1/') )
+ if [[ $_gems != "" ]]; then
+ _values 'gems' $_gems && ret=0
+ fi
+ ;;
+ *)
+ _opts=( $(bundle help $line[1] | sed -e '/^ \[-/!d; s/^ \[\(-[^=]*\)=.*/\1/') )
+ _opts+=( $(bundle help $line[1] | sed -e '/^ -/!d; s/^ \(-.\), \[\(-[^=]*\)=.*/\1 \2/') )
+ if [[ $_opts != "" ]]; then
+ _values 'options' $_opts && ret=0
+ fi
+ ;;
+ esac
+ ;;
+esac
+
+return ret
diff --git a/plugins/bundler/bundler.plugin.zsh b/plugins/bundler/bundler.plugin.zsh
index f005700ff..3c96b8da9 100644
--- a/plugins/bundler/bundler.plugin.zsh
+++ b/plugins/bundler/bundler.plugin.zsh
@@ -1,12 +1,16 @@
+fpath=($ZSH/plugins/bundler $fpath)
+autoload -U compinit
+compinit -i
+
alias be="bundle exec"
alias bi="bundle install"
alias bl="bundle list"
-alias bu="bundle update"
alias bp="bundle package"
+alias bu="bundle update"
# The following is based on https://github.com/gma/bundler-exec
-bundled_commands=(cap capify cucumber heroku rackup rails rake rspec ruby shotgun spec spork thin unicorn unicorn_rails)
+bundled_commands=(cap capify cucumber foreman guard heroku nanoc rackup rails rainbows rake rspec ruby shotgun spec spork thin unicorn unicorn_rails)
## Functions
@@ -33,5 +37,10 @@ _run-with-bundler() {
## Main program
for cmd in $bundled_commands; do
- alias $cmd="_run-with-bundler $cmd"
+ eval "function bundled_$cmd () { _run-with-bundler $cmd \$@}"
+ alias $cmd=bundled_$cmd
+
+ if which _$cmd > /dev/null 2>&1; then
+ compdef _$cmd bundled_$cmd
+ fi
done
diff --git a/plugins/cake/cake.plugin.zsh b/plugins/cake/cake.plugin.zsh
index f968c71d5..1d0d196ee 100644
--- a/plugins/cake/cake.plugin.zsh
+++ b/plugins/cake/cake.plugin.zsh
@@ -1,18 +1,22 @@
# Set this to 1 if you want to cache the tasks
-cache_task_list=1
+_cake_cache_task_list=1
# Cache filename
-cache_file='.cake_task_cache'
+_cake_task_cache_file='.cake_task_cache'
+
+_cake_get_target_list () {
+ cake | grep '^cake ' | sed -e "s/cake \([^ ]*\) .*/\1/" | grep -v '^$'
+}
_cake_does_target_list_need_generating () {
- if [ $cache_task_list -eq 0 ]; then
+ if [ ${_cake_cache_task_list} -eq 0 ]; then
return 1;
fi
- if [ ! -f $cache_file ]; then return 0;
+ if [ ! -f ${_cake_task_cache_file} ]; then return 0;
else
- accurate=$(stat -f%m $cache_file)
+ accurate=$(stat -f%m $_cake_task_cache_file)
changed=$(stat -f%m Cakefile)
return $(expr $accurate '>=' $changed)
fi
@@ -21,12 +25,12 @@ _cake_does_target_list_need_generating () {
_cake () {
if [ -f Cakefile ]; then
if _cake_does_target_list_need_generating; then
- cake | sed -e "s/cake \([^ ]*\) .*/\1/" | grep -v '^$' > $cache_file
- compadd `cat $cache_file`
+ _cake_get_target_list > ${_cake_task_cache_file}
+ compadd `cat ${_cake_task_cache_file}`
else
- compadd `cake | sed -e "s/cake \([^ ]*\) .*/\1/" | grep -v '^$'`
+ compadd `_cake_get_target_list`
fi
fi
}
-compdef _cake cake
+compdef _cake cake \ No newline at end of file
diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh
index 5132b639a..183c56c1c 100644
--- a/plugins/git/git.plugin.zsh
+++ b/plugins/git/git.plugin.zsh
@@ -29,6 +29,12 @@ alias glg='git log --stat --max-count=5'
compdef _git glg=git-log
alias glgg='git log --graph --max-count=5'
compdef _git glgg=git-log
+alias gss='git status -s'
+compdef _git gss=git-status
+alias ga='git add'
+compdef _git ga=git-add
+alias gm='git merge'
+compdef _git gm=git-merge
# Git and svn mix
alias git-svn-dcommit-push='git svn dcommit && git push github master:svntrunk'
diff --git a/plugins/github/github.plugin.zsh b/plugins/github/github.plugin.zsh
index fc51b173c..9b0d54602 100644
--- a/plugins/github/github.plugin.zsh
+++ b/plugins/github/github.plugin.zsh
@@ -1,6 +1,5 @@
-# hub alias from defunkt
-# https://github.com/defunkt/hub
-if [ "$commands[(I)hub]" ]; then
+# Setup hub function for git, if it is available; http://github.com/defunkt/hub
+if [ "$commands[(I)hub]" ] && [ "$commands[(I)ruby]" ]; then
# eval `hub alias -s zsh`
function git(){hub "$@"}
fi
diff --git a/plugins/gnu-utils/gnu-utils.plugin.zsh b/plugins/gnu-utils/gnu-utils.plugin.zsh
new file mode 100644
index 000000000..e59265d66
--- /dev/null
+++ b/plugins/gnu-utils/gnu-utils.plugin.zsh
@@ -0,0 +1,80 @@
+# ------------------------------------------------------------------------------
+# FILE: gnu-utils.plugin.zsh
+# DESCRIPTION: oh-my-zsh plugin file.
+# AUTHOR: Sorin Ionescu (sorin.ionescu@gmail.com)
+# VERSION: 1.0.0
+# ------------------------------------------------------------------------------
+
+
+if [[ -x "${commands[gwhoami]}" ]]; then
+ __gnu_utils() {
+ emulate -L zsh
+ local gcmds
+ local gcmd
+ local cmd
+ local prefix
+
+ # coreutils
+ gcmds=('g[' 'gbase64' 'gbasename' 'gcat' 'gchcon' 'gchgrp' 'gchmod'
+ 'gchown' 'gchroot' 'gcksum' 'gcomm' 'gcp' 'gcsplit' 'gcut' 'gdate'
+ 'gdd' 'gdf' 'gdir' 'gdircolors' 'gdirname' 'gdu' 'gecho' 'genv' 'gexpand'
+ 'gexpr' 'gfactor' 'gfalse' 'gfmt' 'gfold' 'ggroups' 'ghead' 'ghostid'
+ 'gid' 'ginstall' 'gjoin' 'gkill' 'glink' 'gln' 'glogname' 'gls' 'gmd5sum'
+ 'gmkdir' 'gmkfifo' 'gmknod' 'gmktemp' 'gmv' 'gnice' 'gnl' 'gnohup' 'gnproc'
+ 'god' 'gpaste' 'gpathchk' 'gpinky' 'gpr' 'gprintenv' 'gprintf' 'gptx' 'gpwd'
+ 'greadlink' 'grm' 'grmdir' 'gruncon' 'gseq' 'gsha1sum' 'gsha224sum'
+ 'gsha256sum' 'gsha384sum' 'gsha512sum' 'gshred' 'gshuf' 'gsleep' 'gsort'
+ 'gsplit' 'gstat' 'gstty' 'gsum' 'gsync' 'gtac' 'gtail' 'gtee' 'gtest'
+ 'gtimeout' 'gtouch' 'gtr' 'gtrue' 'gtruncate' 'gtsort' 'gtty' 'guname'
+ 'gunexpand' 'guniq' 'gunlink' 'guptime' 'gusers' 'gvdir' 'gwc' 'gwho'
+ 'gwhoami' 'gyes')
+
+ # Not part of coreutils, installed separately.
+ gcmds+=('gsed' 'gtar' 'gtime')
+
+ for gcmd in "${gcmds[@]}"; do
+ #
+ # This method allows for builtin commands to be primary but it's
+ # lost if hash -r or rehash -f is executed. Thus, those two
+ # functions have to be wrapped.
+ #
+ (( ${+commands[$gcmd]} )) && hash ${gcmd[2,-1]}=${commands[$gcmd]}
+
+ #
+ # This method generates wrapper functions.
+ # It will override shell builtins.
+ #
+ # (( ${+commands[$gcmd]} )) && \
+ # eval "function $gcmd[2,-1]() { \"${prefix}/${gcmd//"["/"\\["}\" \"\$@\"; }"
+
+ #
+ # This method is inflexible since the aliases are at risk of being
+ # overriden resulting in the BSD coreutils being called.
+ #
+ # (( ${+commands[$gcmd]} )) && \
+ # alias "$gcmd[2,-1]"="${prefix}/${gcmd//"["/"\\["}"
+ done
+
+ return 0
+ }
+ __gnu_utils;
+
+ function hash() {
+ if [[ "$*" =~ "-(r|f)" ]]; then
+ builtin hash "$@"
+ __gnu_utils
+ else
+ builtin hash "$@"
+ fi
+ }
+
+ function rehash() {
+ if [[ "$*" =~ "-f" ]]; then
+ builtin rehash "$@"
+ __gnu_utils
+ else
+ builtin rehash "$@"
+ fi
+ }
+fi
+
diff --git a/plugins/gradle/gradle.plugin.zsh b/plugins/gradle/gradle.plugin.zsh
new file mode 100644
index 000000000..fc4c78c50
--- /dev/null
+++ b/plugins/gradle/gradle.plugin.zsh
@@ -0,0 +1,119 @@
+#!zsh
+##############################################################################
+# A descriptive listing of core Gradle commands
+############################################################################
+function _gradle_core_commands() {
+ local ret=1 state
+ _arguments ':subcommand:->subcommand' && ret=0
+
+ case $state in
+ subcommand)
+ subcommands=(
+ "properties:Display all project properties"
+ "tasks:Calculate and display all tasks"
+ "dependencies:Calculate and display all dependencies"
+ "projects:Discover and display all sub-projects"
+ "build:Build the project"
+ "help:Display help"
+ )
+ _describe -t subcommands 'gradle subcommands' subcommands && ret=0
+ esac
+
+ return ret
+}
+
+function _gradle_arguments() {
+ _arguments -C \
+ '-a[Do not rebuild project dependencies]' \
+ '-h[Help]' \
+ '-D[System property]' \
+ '-d[Log at the debug level]' \
+ '--gui[Launches the Gradle GUI app]' \
+ '--stop[Stop the Gradle daemon]' \
+ '--daemon[Use the Gradle daemon]' \
+ '--no-daemon[Do not use the Gradle daemon]' \
+ '--no-opt[Do not perform any task optimization]' \
+ '-i[Log at the info level]' \
+ '-m[Dry run]' \
+ '-P[Set a project property]' \
+ '--profile[Profile the build time]' \
+ '-q[Log at the quiet level (only show errors)]' \
+ '-v[Print the Gradle version info]' \
+ '-x[Specify a task to be excluded]' \
+ '*::command:->command' \
+ && return 0
+}
+
+
+##############################################################################
+# Are we in a directory containing a build.gradle file?
+############################################################################
+function in_gradle() {
+ if [[ -f build.gradle ]]; then
+ echo 1
+ fi
+}
+
+############################################################################
+# Define the stat_cmd command based on platform behavior
+##########################################################################
+stat -f%m . > /dev/null 2>&1
+if [ "$?" = 0 ]; then
+ stat_cmd=(stat -f%m)
+else
+ stat_cmd=(stat -L --format=%Y)
+fi
+
+############################################################################## Examine the build.gradle file to see if its
+# timestamp has changed, and if so, regen
+# the .gradle_tasks cache file
+############################################################################
+_gradle_does_task_list_need_generating () {
+ if [ ! -f .gradletasknamecache ]; then return 0;
+ else
+ accurate=$($stat_cmd .gradletasknamecache)
+ changed=$($stat_cmd build.gradle)
+ return $(expr $accurate '>=' $changed)
+ fi
+}
+
+
+##############################################################################
+# Discover the gradle tasks by running "gradle tasks --all"
+############################################################################
+_gradle_tasks () {
+ if [ in_gradle ]; then
+ _gradle_arguments
+ if _gradle_does_task_list_need_generating; then
+ gradle tasks --all | grep "^[ ]*[a-zA-Z0-9]*\ -\ " | sed "s/ - .*$//" | sed "s/[\ ]*//" > .gradletasknamecache
+ fi
+ compadd -X "==== Gradle Tasks ====" `cat .gradletasknamecache`
+ fi
+}
+
+_gradlew_tasks () {
+ if [ in_gradle ]; then
+ _gradle_arguments
+ if _gradle_does_task_list_need_generating; then
+ gradlew tasks --all | grep "^[ ]*[a-zA-Z0-9]*\ -\ " | sed "s/ - .*$//" | sed "s/[\ ]*//" > .gradletasknamecache
+ fi
+ compadd -X "==== Gradlew Tasks ====" `cat .gradletasknamecache`
+ fi
+}
+
+
+##############################################################################
+# Register the completions against the gradle and gradlew commands
+############################################################################
+compdef _gradle_tasks gradle
+compdef _gradlew_tasks gradlew
+
+
+##############################################################################
+# Open questions for future improvements:
+# 1) Should 'gradle tasks' use --all or just the regular set?
+# 2) Should gradlew use the same approach as gradle?
+# 3) Should only the " - " be replaced with a colon so it can work
+# with the richer descriptive method of _arguments?
+# gradle tasks | grep "^[a-zA-Z0-9]*\ -\ " | sed "s/ - /\:/"
+#############################################################################
diff --git a/plugins/grails/grails.plugin.zsh b/plugins/grails/grails.plugin.zsh
new file mode 100755
index 000000000..cc6f9c53b
--- /dev/null
+++ b/plugins/grails/grails.plugin.zsh
@@ -0,0 +1,54 @@
+_enumerateGrailsScripts() {
+ # Default directoryies
+ directories=($GRAILS_HOME/scripts ~/.grails/scripts ./scripts)
+
+ # Check all of the plugins directories, if they exist
+ if [ -d plugins ]
+ then
+ directories+=(plugins/*/scripts)
+ fi
+
+ # Enumerate all of the Groovy files
+ files=()
+ for dir in $directories;
+ do
+ if [ -d $dir ]
+ then
+ files+=($dir/[^_]*.groovy)
+ fi
+ done
+
+ # Don't try to basename ()
+ if [ ${#files} -eq 0 ];
+ then
+ return
+ fi
+
+ # - Strip the path
+ # - Remove all scripts with a leading '_'
+ # - PackagePlugin_.groovy -> PackagePlugin
+ # - PackagePlugin -> Package-Plugin
+ # - Package-Plugin -> package-plugin
+ basename $files \
+ | sed -E -e 's/^_?([^_]+)_?.groovy/\1/'\
+ -e 's/([a-z])([A-Z])/\1-\2/g' \
+ | tr "[:upper:]" "[:lower:]" \
+ | sort \
+ | uniq
+}
+
+_grails() {
+ if (( CURRENT == 2 )); then
+ scripts=( $(_enumerateGrailsScripts) )
+
+ if [ ${#scripts} -ne 0 ];
+ then
+ _multi_parts / scripts
+ return
+ fi
+ fi
+
+ _files
+}
+
+compdef _grails grails
diff --git a/plugins/heroku/_heroku b/plugins/heroku/_heroku
new file mode 100644
index 000000000..dc899e2b2
--- /dev/null
+++ b/plugins/heroku/_heroku
@@ -0,0 +1,158 @@
+#compdef heroku
+
+# Heroku Autocomplete plugin for Oh-My-Zsh
+# Requires: The Heroku client gem (https://github.com/heroku/heroku)
+# Author: Ali B. (http://awhitebox.com)
+
+local -a _1st_arguments
+_1st_arguments=(
+ "account\:confirm_billing":"Confirm that your account can be billed at the end of the month"
+ "addons":"list installed addons"
+ "addons\:list":"list all available addons"
+ "addons\:add":"install an addon"
+ "addons\:upgrade":"upgrade an existing addon"
+ "addons\:downgrade":"downgrade an existing addon"
+ "addons\:remove":"uninstall an addon"
+ "addons\:open":"open an addon's dashboard in your browser"
+ "apps":"list your apps"
+ "apps\:info":"show detailed app information"
+ "apps\:create":"create a new app"
+ "apps\:rename":"rename the app"
+ "apps\:open":"open the app in a web browser"
+ "apps\:destroy":"permanently destroy an app"
+ "auth\:login":"log in with your heroku credentials"
+ "auth\:logout":"clear local authentication credentials"
+ "config":"display the config vars for an app"
+ "config\:add":"add one or more config vars"
+ "config\:remove":"remove a config var"
+ "db\:push":"push local data up to your app"
+ "db\:pull":"pull heroku data down into your local database"
+ "domains":"list custom domains for an app"
+ "domains\:add":"add a custom domain to an app"
+ "domains\:remove":"remove a custom domain from an app"
+ "domains\:clear":"remove all custom domains from an app"
+ "help":"list available commands or display help for a specific command"
+ "keys":"display keys for the current user"
+ "keys\:add":"add a key for the current user"
+ "keys\:remove":"remove a key from the current user"
+ "keys\:clear":"remove all authentication keys from the current user"
+ "logs":"display recent log output"
+ "logs\:cron":"DEPRECATED: display cron logs from legacy logging"
+ "logs\:drains":"manage syslog drains"
+ "maintenance\:on":"put the app into maintenance mode"
+ "maintenance\:off":"take the app out of maintenance mode"
+ "pg\:info":"display database information"
+ "pg\:ingress":"allow direct connections to the database from this IP for one minute"
+ "pg\:promote":"sets DATABASE as your DATABASE_URL"
+ "pg\:psql":"open a psql shell to the database"
+ "pg\:reset":"delete all data in DATABASE"
+ "pg\:unfollow":"stop a replica from following and make it a read/write database"
+ "pg\:wait":"monitor database creation, exit when complete"
+ "pgbackups":"list captured backups"
+ "pgbackups\:url":"get a temporary URL for a backup"
+ "pgbackups\:capture":"capture a backup from a database id"
+ "pgbackups\:restore":"restore a backup to a database"
+ "pgbackups\:destroy":"destroys a backup"
+ "plugins":"list installed plugins"
+ "plugins\:install":"install a plugin"
+ "plugins\:uninstall":"uninstall a plugin"
+ "ps\:dynos":"scale to QTY web processes"
+ "ps\:workers":"scale to QTY background processes"
+ "ps":"list processes for an app"
+ "ps\:restart":"restart an app process"
+ "ps\:scale":"scale processes by the given amount"
+ "releases":"list releases"
+ "releases\:info":"view detailed information for a release"
+ "rollback":"roll back to an older release"
+ "run":"run an attached process"
+ "run\:rake":"remotely execute a rake command"
+ "run\:console":"open a remote console session"
+ "sharing":"list collaborators on an app"
+ "sharing\:add":"add a collaborator to an app"
+ "sharing\:remove":"remove a collaborator from an app"
+ "sharing\:transfer":"transfer an app to a new owner"
+ "ssl":"list certificates for an app"
+ "ssl\:add":"add an ssl certificate to an app"
+ "ssl\:remove":"remove an ssl certificate from an app"
+ "ssl\:clear":"remove all ssl certificates from an app"
+ "stack":"show the list of available stacks"
+ "stack\:migrate":"prepare migration of this app to a new stack"
+ "version":"show heroku client version"
+)
+
+_arguments '*:: :->command'
+
+if (( CURRENT == 1 )); then
+ _describe -t commands "heroku command" _1st_arguments
+ return
+fi
+
+local -a _command_args
+case "$words[1]" in
+ apps:info)
+ _command_args=(
+ '(-r|--raw)'{-r,--raw}'[output info as raw key/value pairs]' \
+ )
+ ;;
+ apps:create)
+ _command_args=(
+ '(-a|--addons)'{-a,--addons}'[a list of addons to install]' \
+ '(-r|--remote)'{-r,--remote}'[the git remote to create, default "heroku"]' \
+ '(-s|--stack)'{-s,--stack}'[the stack on which to create the app]' \
+ )
+ ;;
+ config)
+ _command_args=(
+ '(-s|--shell)'{-s,--shell}'[output config vars in shell format]' \
+ )
+ ;;
+ db:push)
+ _command_args=(
+ '(-c|--chunksize)'{-c,--chunksize}'[specify the number of rows to send in each batch]' \
+ '(-d|--debug)'{-d,--debug}'[enable debugging output]' \
+ '(-e|--exclude)'{-e,--exclude}'[exclude the specified tables from the push]' \
+ '(-f|--filter)'{-f,--filter}'[only push certain tables]' \
+ '(-r|--resume)'{-r,--resume}'[resume transfer described by a .dat file]' \
+ '(-t|--tables)'{-t,--tables}'[only push the specified tables]' \
+ )
+ ;;
+ db:pull)
+ _command_args=(
+ '(-c|--chunksize)'{-c,--chunksize}'[specify the number of rows to send in each batch]' \
+ '(-d|--debug)'{-d,--debug}'[enable debugging output]' \
+ '(-e|--exclude)'{-e,--exclude}'[exclude the specified tables from the pull]' \
+ '(-f|--filter)'{-f,--filter}'[only pull certain tables]' \
+ '(-r|--resume)'{-r,--resume}'[resume transfer described by a .dat file]' \
+ '(-t|--tables)'{-t,--tables}'[only pull the specified tables]' \
+ )
+ ;;
+ keys)
+ _command_args=(
+ '(-l|--long)'{-l,--long}'[display extended information for each key]' \
+ )
+ ;;
+ logs)
+ _command_args=(
+ '(-n|--num)'{-n,--num}'[the number of lines to display]' \
+ '(-p|--ps)'{-p,--ps}'[only display logs from the given process]' \
+ '(-s|--source)'{-s,--source}'[only display logs from the given source]' \
+ '(-t|--tail)'{-t,--tail}'[continually stream logs]' \
+ )
+ ;;
+ pgbackups:capture)
+ _command_args=(
+ '(-e|--expire)'{-e,--expire}'[if no slots are available to capture, delete the oldest backup to make room]' \
+ )
+ ;;
+ stack)
+ _command_args=(
+ '(-a|--all)'{-a,--all}'[include deprecated stacks]' \
+ )
+ ;;
+ esac
+
+_arguments \
+ $_command_args \
+ '(--app)--app[the app name]' \
+ && return 0
+
diff --git a/plugins/lol/lol.plugin.zsh b/plugins/lol/lol.plugin.zsh
index a7153bb57..e455527e7 100644
--- a/plugins/lol/lol.plugin.zsh
+++ b/plugins/lol/lol.plugin.zsh
@@ -8,19 +8,30 @@ alias rtfm='man'
alias visible='echo'
alias invisible='cat'
alias moar='more'
+alias tldr='less'
+alias alwayz='tail -f'
alias icanhas='mkdir'
+alias gimmeh='touch'
alias donotwant='rm'
alias dowant='cp'
alias gtfo='mv'
+alias nowai='chmod'
alias hai='cd'
+alias iz='ls'
alias plz='pwd'
+alias ihasbucket='df -h'
alias inur='locate'
+alias iminurbase='finger'
+
+alias btw='nice'
+alias obtw='nohup'
alias nomz='ps -aux'
alias nomnom='killall'
+alias byes='exit'
alias cya='reboot'
alias kthxbai='halt'
diff --git a/plugins/mercurial/mercurial.plugin.zsh b/plugins/mercurial/mercurial.plugin.zsh
new file mode 100644
index 000000000..2988f0a46
--- /dev/null
+++ b/plugins/mercurial/mercurial.plugin.zsh
@@ -0,0 +1,14 @@
+
+# Mercurial
+alias hgc='hg commit -v'
+alias hgb='hg branch -v'
+alias hgba='hg branches'
+alias hgco='hg checkout'
+alias hgd='hg diff'
+alias hged='hg diffmerge'
+# pull and update
+alias hgl='hg pull -u -v'
+alias hgp='hg push -v'
+alias hgs='hg status -v'
+# this is the 'git commit --amend' equivalent
+alias hgca='hg qimport -r tip ; hg qrefresh -e ; hg qfinish tip'
diff --git a/plugins/npm/_npm b/plugins/npm/_npm
deleted file mode 100644
index 24b536188..000000000
--- a/plugins/npm/_npm
+++ /dev/null
@@ -1,19 +0,0 @@
-#compdef npm
-
-# Node Package Manager 0.3.15 completion, letting npm do all the completion work
-
-_npm() {
- compadd -- $(_npm_complete $words)
-}
-
-# We want to show all errors of any substance, but never the "npm (not )ok" one.
-# (Also doesn't consider "ERR! no match found" worth breaking the terminal for.)
-_npm_complete() {
- local ask_npm
- ask_npm=(npm completion --color false --loglevel error -- $@)
- { _call_program npm $ask_npm 2>&1 >&3 \
- | egrep -v '^(npm (not |)ok|ERR! no match found)$' >&2; \
- } 3>&1
-}
-
-_npm "$@"
diff --git a/plugins/npm/npm.plugin.zsh b/plugins/npm/npm.plugin.zsh
new file mode 100644
index 000000000..c3eb91d31
--- /dev/null
+++ b/plugins/npm/npm.plugin.zsh
@@ -0,0 +1 @@
+eval "$(npm completion 2>/dev/null)"
diff --git a/plugins/powder/_powder b/plugins/powder/_powder
new file mode 100644
index 000000000..84e260a15
--- /dev/null
+++ b/plugins/powder/_powder
@@ -0,0 +1,4 @@
+#compdef powder
+#autoload
+
+compadd `powder help | grep powder | cut -d " " -f 4`
diff --git a/plugins/python/python.plugin.zsh b/plugins/python/python.plugin.zsh
new file mode 100644
index 000000000..3ea34d718
--- /dev/null
+++ b/plugins/python/python.plugin.zsh
@@ -0,0 +1,5 @@
+# Find python file
+alias pyfind='find . -name "*.py"'
+
+# Remove python compiled byte-code
+alias pyclean='find . -type f -name "*.py[co]" -exec rm -f \{\} \;'
diff --git a/plugins/svn/svn.plugin.zsh b/plugins/svn/svn.plugin.zsh
index 53a8a513a..e2cf96ca3 100644
--- a/plugins/svn/svn.plugin.zsh
+++ b/plugins/svn/svn.plugin.zsh
@@ -1,5 +1,5 @@
function svn_prompt_info {
- if [ in_svn ]; then
+ if [ $(in_svn) ]; then
echo "$ZSH_PROMPT_BASE_COLOR$ZSH_THEME_SVN_PROMPT_PREFIX\
$ZSH_THEME_REPO_NAME_COLOR$(svn_get_repo_name)$ZSH_PROMPT_BASE_COLOR$ZSH_THEME_SVN_PROMPT_SUFFIX$ZSH_PROMPT_BASE_COLOR$(svn_dirty)$ZSH_PROMPT_BASE_COLOR"
fi
@@ -13,7 +13,7 @@ function in_svn() {
}
function svn_get_repo_name {
- if [ in_svn ]; then
+ if [ $(in_svn) ]; then
svn info | sed -n 's/Repository\ Root:\ .*\///p' | read SVN_ROOT
svn info | sed -n "s/URL:\ .*$SVN_ROOT\///p" | sed "s/\/.*$//"
@@ -21,13 +21,13 @@ function svn_get_repo_name {
}
function svn_get_rev_nr {
- if [ in_svn ]; then
+ if [ $(in_svn) ]; then
svn info 2> /dev/null | sed -n s/Revision:\ //p
fi
}
function svn_dirty_choose {
- if [ in_svn ]; then
+ if [ $(in_svn) ]; then
s=$(svn status|grep -E '^\s*[ACDIM!?L]' 2>/dev/null)
if [ $s ]; then
echo $1
diff --git a/plugins/terminitor/_terminitor b/plugins/terminitor/_terminitor
new file mode 100644
index 000000000..1ce87c3ad
--- /dev/null
+++ b/plugins/terminitor/_terminitor
@@ -0,0 +1,38 @@
+#compdef terminitor
+#autoload
+
+# terminitor zsh completion
+
+_terminitor_available_scripts() {
+ scripts=(`for SCRIPT in ~/.config/terminitor/*.term ; do basename $SCRIPT .term ; done`)
+}
+
+local -a _1st_arguments
+_1st_arguments=(
+ 'create:create a Termfile in directory'
+ 'delete:delete terminitor script'
+ 'edit:open termitor script'
+ 'fetch:clone the designated repo and run setup'
+ 'help:Describe available tasks or one specific task'
+ 'init:create initial root terminitor folder'
+ 'list:lists all terminitor scripts'
+ 'setup:execute setup in the terminitor script'
+ 'start:runs the terminitor script'
+ 'update:update Terminitor to new global path(.config/.terminitor)'
+)
+
+local expl
+
+_arguments \
+ '*:: :->subcmds' && return 0
+
+if (( CURRENT == 1 )); then
+ _describe -t commands "terminitor task" _1st_arguments
+ return
+fi
+
+case "$words[1]" in
+ start|edit|delete|setup)
+ _terminitor_available_scripts
+ _wanted scripts expl 'installed scripts' compadd -a scripts ;;
+esac
diff --git a/plugins/textmate/textmate.plugin.zsh b/plugins/textmate/textmate.plugin.zsh
index aa2f75f4f..a11a097f5 100644
--- a/plugins/textmate/textmate.plugin.zsh
+++ b/plugins/textmate/textmate.plugin.zsh
@@ -1,5 +1,5 @@
alias et='mate .'
-alias ett='mate app config lib db public spec test Rakefile Capfile Todo'
+alias ett='mate Gemfile app config features lib db public spec test Rakefile Capfile Todo'
alias etp='mate app config lib db public spec test vendor/plugins vendor/gems Rakefile Capfile Todo'
alias etts='mate app config lib db public script spec test vendor/plugins vendor/gems Rakefile Capfile Todo'
diff --git a/plugins/vundle/vundle.plugin.zsh b/plugins/vundle/vundle.plugin.zsh
new file mode 100644
index 000000000..005a58476
--- /dev/null
+++ b/plugins/vundle/vundle.plugin.zsh
@@ -0,0 +1,23 @@
+function vundle-init () {
+ if [ ! -d ~/.vim/bundle/vundle/ ]
+ then
+ mkdir -p ~/.vim/bundle/vundle/
+ fi
+
+ if [ ! -d ~/.vim/bundle/vundle/.git/ ]
+ then
+ git clone http://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
+ echo "\n\tRead about vim configuration for vundle at https://github.com/gmarik/vundle\n"
+ fi
+}
+
+function vundle () {
+ vundle-init
+ vim -c "execute \"BundleInstall\" | q | q"
+}
+
+
+function vundle-update () {
+ vundle-init
+ vim -c "execute \"BundleInstall!\" | q | q"
+}