64 lines
1.6 KiB
Plaintext
64 lines
1.6 KiB
Plaintext
#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
|
|
|