From a7e79824f85a89cbcacbceab0277c9833dee4817 Mon Sep 17 00:00:00 2001
From: "Mikhail S. Pobolovets" <styx.mp@gmail.com>
Date: Mon, 6 Oct 2014 09:59:20 +0300
Subject: Add mix-fast plugin (similar to rake-fast)

Signed-off-by: Mikhail S. Pobolovets <styx.mp@gmail.com>
---
 plugins/mix-fast/mix-fast.plugin.zsh | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)
 create mode 100644 plugins/mix-fast/mix-fast.plugin.zsh

(limited to 'plugins/mix-fast/mix-fast.plugin.zsh')

diff --git a/plugins/mix-fast/mix-fast.plugin.zsh b/plugins/mix-fast/mix-fast.plugin.zsh
new file mode 100644
index 000000000..3719c3525
--- /dev/null
+++ b/plugins/mix-fast/mix-fast.plugin.zsh
@@ -0,0 +1,29 @@
+_mix_refresh () {
+  if [ -f .mix_tasks ]; then
+    rm .mix_tasks
+  fi
+  echo "Generating .mix_tasks..." > /dev/stderr
+  _mix_generate
+  cat .mix_tasks
+}
+
+_mix_does_task_list_need_generating () {
+  [ ! -f .mix_tasks ];
+}
+
+_mix_generate () {
+  mix --help | grep -v 'iex -S' | tail -n +2 | cut -d " " -f 2 > .mix_tasks
+}
+
+_mix () {
+  if [ -f mix.exs ]; then
+    if _mix_does_task_list_need_generating; then
+      echo "\nGenerating .mix_tasks..." > /dev/stderr
+      _mix_generate
+    fi
+    compadd `cat .mix_tasks`
+  fi
+}
+
+compdef _mix mix
+alias mix_refresh='_mix_refresh'
-- 
cgit v1.2.3-70-g09d2