diff options
author | yleo77 <ylep77@gmail.com> | 2013-08-29 13:41:42 +0800 |
---|---|---|
committer | yleo77 <ylep77@gmail.com> | 2013-08-29 13:41:42 +0800 |
commit | fda5afaebca57250792696e29c2e111f41f6fce4 (patch) | |
tree | d52b970bcdec2eb59069081353b6b4d3af6f9893 /plugins/mix/_mix | |
parent | 6041e4938cc559b908d83b5664166cc1fd02f31e (diff) | |
parent | 434f3bc05c5245d7a27ab0bb1ede5b78acc370a4 (diff) | |
download | zsh-fda5afaebca57250792696e29c2e111f41f6fce4.tar.gz zsh-fda5afaebca57250792696e29c2e111f41f6fce4.tar.bz2 zsh-fda5afaebca57250792696e29c2e111f41f6fce4.zip |
Merge remote-tracking branch 'robbyrussell/master'
Diffstat (limited to 'plugins/mix/_mix')
-rw-r--r-- | plugins/mix/_mix | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/plugins/mix/_mix b/plugins/mix/_mix new file mode 100644 index 000000000..602f5ffa0 --- /dev/null +++ b/plugins/mix/_mix @@ -0,0 +1,63 @@ +#compdef mix +#autoload + +# Elixir mix zsh completion + +local -a _1st_arguments +_1st_arguments=( + 'archive:Archive this project into a .ez file' + 'clean:Clean generated application files' + 'compile:Compile source files' + 'deps:List dependencies and their status' + "deps.clean:Remove dependencies' files" + 'deps.compile:Compile dependencies' + 'deps.get:Get all out of date dependencies' + 'deps.unlock:Unlock the given dependencies' + 'deps.update:Update dependencies' + 'do:Executes the commands separated by comma' + 'escriptize:Generates an escript for the project' + 'help:Print help information for tasks' + 'local:List local tasks' + 'local.install:Install a task or an archive locally' + 'local.rebar:Install rebar locally' + 'local.uninstall:Uninstall local tasks or archives' + 'new:Creates a new Elixir project' + 'run:Run the given file or expression' + "test:Run a project's tests" + '--help:Describe available tasks' + '--version:Prints the Elixir version information' +) + +__task_list () +{ + local expl + declare -a tasks + + tasks=(archive clean compile deps deps.clean deps.compile deps.get deps.unlock deps.update do escriptize help local local.install local.rebar local.uninstall new run test) + + _wanted tasks expl 'help' compadd $tasks +} + +local expl + +local curcontext="$curcontext" state line +typeset -A opt_args + +_arguments -C \ + ':command:->command' \ + '*::options:->options' + +case $state in + (command) + _describe -t commands "mix subcommand" _1st_arguments + return + ;; + + (options) + case $line[1] in + (help) + _arguments ':feature:__task_list' + esac + ;; +esac + |