From a85760d4570b1e55156de63e2dd86c66df1458de Mon Sep 17 00:00:00 2001
From: Sagi Medina <sagi.medina@alibaba-inc.com>
Date: Wed, 5 Jun 2019 17:36:18 +0300
Subject: [PATCH 1/2] Add dep plugin

---
 plugins/dep/README.md      | 20 ++++++++++++
 plugins/dep/_dep           | 66 ++++++++++++++++++++++++++++++++++++++
 plugins/dep/dep.plugin.zsh |  5 +++
 3 files changed, 91 insertions(+)
 create mode 100644 plugins/dep/README.md
 create mode 100644 plugins/dep/_dep
 create mode 100644 plugins/dep/dep.plugin.zsh

diff --git a/plugins/dep/README.md b/plugins/dep/README.md
new file mode 100644
index 000000000..7227adb5c
--- /dev/null
+++ b/plugins/dep/README.md
@@ -0,0 +1,20 @@
+# Dep plugin
+
+This plugin adds completion for the [Dep - Dependency management for Go](https://golang.github.io/dep/),
+as well as some aliases for common Dep commands.
+
+To use it, add `dep` to the plugins array in your zshrc file:
+
+```zsh
+plugins=(... dep)
+```
+
+## Aliases
+
+| Alias | Command                                   | Description                                                                                                   |
+|-------|-------------------------------------------|---------------------------------------------------------------------------------------------------------------|
+| depc  | `dep check`                               | Check if imports, `Gopkg.toml`, and `Gopkg.lock` are in sync                                                  |
+| deps  | `dep status`                              | Report the status of the project dependencies                                                                 |
+| depe  | `dep ensure`                              | Ensure a dependency is safely vendored in the project                                                         |
+| depa  | `dep ensure -add`                         | Add new dependencies, or populate `Gopkg.toml` with constraints for existing dependencies                     |
+| depu  | `dep ensure -update`                      | update the named dependencies (or all, if none are named) in Gopkg.lock to the latest allowed by `Gopkg.toml` |
diff --git a/plugins/dep/_dep b/plugins/dep/_dep
new file mode 100644
index 000000000..1e98deaed
--- /dev/null
+++ b/plugins/dep/_dep
@@ -0,0 +1,66 @@
+#compdef dep
+#autoload
+
+# dep zsh completion, based on last release 0.5.2
+* Sagi Medina <sagimedina@gmail.com>
+
+local -a _1st_arguments
+_1st_arguments=(
+  'init:Set up a new Go project, or migrate an existing one'
+  'status:Report the status of the project dependencies'
+  'ensure:Ensure a dependency is safely vendored in the project'
+  'version:Show the dep version information'
+  'check:Check if imports, Gopkg.toml, and Gopkg.lock are in sync'
+)
+
+local expl
+local -a all_pkgs installed_pkgs
+
+_arguments \
+  '(-h --help)'{-h,--help}'[output usage information]' \
+  '*:: :->subcmds' && return 0
+
+if (( CURRENT == 1 )); then
+  _describe -t commands "dep subcommand" _1st_arguments
+  return
+fi
+
+case "$words[1]" in
+  init)
+    _arguments \
+      '(-gopath)'-gopath'[search in GOPATH for dependencies (default: false)]' \
+      '(-no-examples)'-no-examples'[dont include example in Gopkg.toml (default: false)]' \
+      '(-skip-tools)'-skip-tools'[skip importing configuration from other dependency managers (default: false)]' \
+      '(-v)'-v'[enable verbose logging (default: false)]' ;;
+  status)
+    _arguments \
+      '(-detail)'-detail'[include more detail in the chosen format (default: false)]' \
+      '(-dot)'-dot'[output the dependency graph in GraphViz format (default: false)]' \
+      '(-examples)'-examples'[print detailed usage examples (default: false)]' \
+      '(-f)'-f'[output in text/template format (default: <none>)]' \
+      '(-json)'-json'[output in JSON format (default: false)]' \
+      '(-lock)'-lock'[output in the lock file format (assumes -detail) (default: false)]' \
+      '(-missing)'-missing'[only show missing dependencies (default: false)]' \
+      '(-old)'-old'[only show out-of-date dependencies (default: false)]' \
+      '(-out)'-out'[path to a file to which to write the output. Blank value will be ignored (default: <none>)]' \
+      '(-v)'-v'[enable verbose logging (default: false)]' \
+      '1: :->packages' &&  return 0 ;;
+  ensure)
+    _arguments \
+      '(-add)'-add'[add new dependencies, or populate Gopkg.toml with constraints for existing dependencies (default: false)]' \
+      '(-dry-run)'-dry-run'[only report the changes that would be made (default: false)]' \
+      '(-examples)'-examples'[print detailed usage examples (default: false)]' \
+      '(-no-vendor)'-no-vendor'[update Gopkg.lock (if needed), but do not update vendor/ (default: false)]' \
+      '(-update)'-update'[update the named dependencies (or all, if none are named) in Gopkg.lock to the latest allowed by Gopkg.toml (default: false)]' \
+      '(-v)'-v'[enable verbose logging (default: false)]' \
+      '(-vendor-only)'-vendor-only'[populate vendor/ from Gopkg.lock without updating it first (default: false)]' \
+      '1: :->packages' &&  return 0 ;;
+  version)
+    _arguments \
+      '(-v)'-v'[enable verbose logging (default: false)]' ;;
+  check)
+    _arguments \
+      '(-q)'-q'[Suppress non-error output (default: false)]' \
+      '(-skip-lock)'-skip-lock'[Skip checking that imports and Gopkg.toml are in sync with Gopkg.lock (default: false)]' \
+      '(-skip-vendor)'-skip-vendor'[Skip checking that vendor is in sync with Gopkg.lock (default: false)]' ;;
+esac
diff --git a/plugins/dep/dep.plugin.zsh b/plugins/dep/dep.plugin.zsh
new file mode 100644
index 000000000..410f17e8f
--- /dev/null
+++ b/plugins/dep/dep.plugin.zsh
@@ -0,0 +1,5 @@
+alias depc="dep check"
+alias deps="dep status"
+alias depe="dep ensure"
+alias depa="dep ensure -add"
+alias depu="dep ensure -update"

From ba824c8fd28202d553c2668b9904199491529b34 Mon Sep 17 00:00:00 2001
From: Sagi Medina <SagiMedina@Gmail.com>
Date: Sun, 7 Jul 2019 17:22:34 +0300
Subject: [PATCH 2/2] Update _dep

---
 plugins/dep/_dep | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/plugins/dep/_dep b/plugins/dep/_dep
index 1e98deaed..06c0fe5fa 100644
--- a/plugins/dep/_dep
+++ b/plugins/dep/_dep
@@ -2,7 +2,7 @@
 #autoload
 
 # dep zsh completion, based on last release 0.5.2
-* Sagi Medina <sagimedina@gmail.com>
+# Sagi Medina <sagimedina@gmail.com>
 
 local -a _1st_arguments
 _1st_arguments=(