diff --git a/src/_task b/src/_task new file mode 100644 index 0000000..362ee9a --- /dev/null +++ b/src/_task @@ -0,0 +1,24 @@ +#compdef task + +# Listing commands from Taskfile.yml +function __list() { + local -a scripts + + if [ -f Taskfile.yml ]; then + scripts=($(task -l | sed '1d' | sed 's/://' | awk '{ print $2 }')) + _describe 'script' scripts + fi +} + +_arguments \ + '(-d --dir)'{-d,--dir}': :_files' \ + '(-f --force)'{-f,--force} \ + '(-i --init)'{-i,--init} \ + '(-l --list)'{-l,--list} \ + '(-s --silent)'{-s,--silent} \ + '(--status)'--status \ + '(-v --verbose)'{-v,--verbose} \ + '(--version)'--version \ + '(-w --watch)'{-w,--watch} \ + '(- *)'{-h,--help} \ + '*: :__list' \