You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
1.7 KiB
64 lines
1.7 KiB
#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' |
|
'local.hex:Install Hex locally' |
|
'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 |
|
|
|
|