aboutsummaryrefslogtreecommitdiffstats
path: root/src/_bundle
diff options
context:
space:
mode:
authorJulien Nicoulaud <julien.nicoulaud@gmail.com>2012-08-01 13:23:11 +0200
committerJulien Nicoulaud <julien.nicoulaud@gmail.com>2012-08-01 13:23:11 +0200
commit10ffeb0c153258896531b2b8939e94486d58b378 (patch)
treef735059d34c7f2ade7eb410643f39ecf402833d9 /src/_bundle
parentAdd call for deb and rpm packagers (diff)
downloadzsh-completions-10ffeb0c153258896531b2b8939e94486d58b378.tar
zsh-completions-10ffeb0c153258896531b2b8939e94486d58b378.tar.gz
zsh-completions-10ffeb0c153258896531b2b8939e94486d58b378.tar.bz2
zsh-completions-10ffeb0c153258896531b2b8939e94486d58b378.tar.lz
zsh-completions-10ffeb0c153258896531b2b8939e94486d58b378.tar.xz
zsh-completions-10ffeb0c153258896531b2b8939e94486d58b378.tar.zst
zsh-completions-10ffeb0c153258896531b2b8939e94486d58b378.zip
[BREAKING CHANGE] Move compdefs to own directory (to ease packaging and
avoid bloating users fpath with unneeded files such as README.md)
Diffstat (limited to 'src/_bundle')
-rw-r--r--src/_bundle85
1 files changed, 85 insertions, 0 deletions
diff --git a/src/_bundle b/src/_bundle
new file mode 100644
index 0000000..e07acf5
--- /dev/null
+++ b/src/_bundle
@@ -0,0 +1,85 @@
+#compdef bundle
+# ------------------------------------------------------------------------------
+# Description
+# -----------
+#
+# Completion script for Bundler (http://gembundler.com).
+#
+# ------------------------------------------------------------------------------
+# Authors
+# -------
+#
+# * Bruno Michel (https://github.com/nono)
+#
+# ------------------------------------------------------------------------------
+# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
+# vim: ft=zsh sw=2 ts=2 et
+# ------------------------------------------------------------------------------
+
+
+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