You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
692 B
32 lines
692 B
#compdef fossil |
|
|
|
function _fossil_get_command_list () { |
|
fossil help -a | grep -v "Usage|Common|This is" |
|
} |
|
|
|
function _fossil () { |
|
local context state state_descr line |
|
typeset -A opt_args |
|
|
|
_arguments \ |
|
'1: :->command'\ |
|
'2: :->subcommand' |
|
|
|
case $state in |
|
command) |
|
local _OUTPUT=$(fossil branch 2>&1 | grep "use --repo") |
|
if [[ -z "$_OUTPUT" ]]; then |
|
compadd "$(_fossil_get_command_list)" |
|
else |
|
compadd clone init import help version |
|
fi ;; |
|
subcommand) |
|
case "$words[2]" in |
|
help) compadd "$(_fossil_get_command_list)" ;; |
|
add) compadd "$(fossil extra)" ;; |
|
*) compcall -D ;; |
|
esac ;; |
|
esac |
|
} |
|
|
|
_fossil "$@"
|
|
|