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
|