|
@@ -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
|
|
|
|
+
|