42 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
#compdef exercism
 | 
						|
#autoload
 | 
						|
 | 
						|
_exercism() {
 | 
						|
    local curcontext="$curcontext" state line
 | 
						|
    typeset -A opt_args
 | 
						|
 | 
						|
    local -a options
 | 
						|
    options=(debug:"Outputs useful debug information."
 | 
						|
             configure:"Writes config values to a JSON file."
 | 
						|
             demo:"Fetches a demo problem for each language track on exercism.io."
 | 
						|
             fetch:"Fetches your current problems on exercism.ios well as the next unstarted problem in each language."
 | 
						|
             restore:"Restores completed and current problems on from exercism.iolong with your most recent iteration for each."
 | 
						|
             submit:"Submits a new iteration to a problem on exercism.io."
 | 
						|
             unsubmit:"Deletes the most recently submitted iteration."
 | 
						|
             tracks:"List the available language tracks"
 | 
						|
             download:"Downloads and saves a specified submission into the local system"
 | 
						|
             help:"Shows a list of commands or help for one command")
 | 
						|
 | 
						|
    _arguments -s -S \
 | 
						|
        {-c,--config}"[path to config file]"    \
 | 
						|
        {-d,--debug}"[turn on verbose logging]" \
 | 
						|
        {-h,--help}"[show help]"                \
 | 
						|
        {-v,--version}"[print the version]"     \
 | 
						|
        '(-): :->command'                       \
 | 
						|
        '*: :'                                  \
 | 
						|
        && return 0;
 | 
						|
 | 
						|
    case $state in
 | 
						|
        (command)
 | 
						|
            _describe 'commands' options ;;
 | 
						|
        *)
 | 
						|
        case $words[2] in
 | 
						|
            *submit)
 | 
						|
                _files
 | 
						|
                ;;
 | 
						|
        esac
 | 
						|
    esac
 | 
						|
}
 | 
						|
 | 
						|
_exercism
 |