Merge pull request #1988 from jwarwick/mix
Added autocompletion support for Elixir mix commandmaster
commit
5fcb6e1263
1 changed files with 63 additions and 0 deletions
@ -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 |
||||||
|
|
||||||
Loading…
Reference in new issue