mirror of
				https://github.com/ohmyzsh/ohmyzsh.git
				synced 2025-11-04 13:21:19 +08:00 
			
		
		
		
	Added autocompletion support for Elixir mix command
This commit is contained in:
		
							parent
							
								
									2cc4801bd2
								
							
						
					
					
						commit
						4b8e109584
					
				
							
								
								
									
										63
									
								
								plugins/mix/_mix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								plugins/mix/_mix
									
									
									
									
									
										Normal file
									
								
							@ -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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user