]> src.twobees.de Git - dotfiles.git/blob - stow/oh-my-zsh/.oh-my-zsh/plugins/mix-fast/mix-fast.plugin.zsh
initial
[dotfiles.git] / stow / oh-my-zsh / .oh-my-zsh / plugins / mix-fast / mix-fast.plugin.zsh
1 _mix_refresh () {
2   if [ -f .mix_tasks ]; then
3     rm .mix_tasks
4   fi
5   echo "Generating .mix_tasks..." > /dev/stderr
6   _mix_generate
7   cat .mix_tasks
8 }
9
10 _mix_does_task_list_need_generating () {
11   [ ! -f .mix_tasks ];
12 }
13
14 _mix_generate () {
15   mix help | grep '^mix [^ ]' | sed -E "s/mix ([^ ]*) *# (.*)/\1:\2/" > .mix_tasks
16 }
17
18 _mix () {
19   if [ -f mix.exs ]; then
20     if _mix_does_task_list_need_generating; then
21       echo "\nGenerating .mix_tasks..." > /dev/stderr
22       _mix_generate
23     fi
24     local tasks=(${(f)"$(cat .mix_tasks)"})
25     _describe 'tasks' tasks
26   fi
27 }
28
29 compdef _mix mix
30 alias mix_refresh='_mix_refresh'