2022-01-15 19:00:35 +09:00
|
|
|
#! bash oh-my-bash.module
|
2017-10-10 18:07:01 +07:00
|
|
|
# Bash completion support for Capistrano.
|
|
|
|
|
2023-10-01 04:44:05 +09:00
|
|
|
_omb_module_require lib:omb-completion
|
2017-10-10 18:07:01 +07:00
|
|
|
|
2023-10-01 03:19:46 +09:00
|
|
|
function _omb_completion_cap {
|
2023-10-01 04:44:05 +09:00
|
|
|
local cur
|
|
|
|
_omb_completion_reassemble_breaks :
|
|
|
|
|
2023-10-01 03:40:52 +09:00
|
|
|
if [[ -f Capfile ]]; then
|
|
|
|
local recent=$(ls -t .cap_tasks~ Capfile **/*.cap 2> /dev/null | head -n 1)
|
2023-10-01 03:32:03 +09:00
|
|
|
if [[ $recent != '.cap_tasks~' ]]; then
|
2023-10-01 03:40:52 +09:00
|
|
|
if cap --version | grep 'Capistrano v2.' > /dev/null; then
|
2023-10-01 03:32:03 +09:00
|
|
|
# Capistrano 2.x
|
|
|
|
cap --tool --verbose --tasks | cut -d " " -f 2 > .cap_tasks~
|
|
|
|
else
|
|
|
|
# Capistrano 3.x
|
|
|
|
cap --all --tasks | cut -d " " -f 2 > .cap_tasks~
|
|
|
|
fi
|
2017-10-10 18:07:01 +07:00
|
|
|
fi
|
2023-10-01 04:44:05 +09:00
|
|
|
COMPREPLY=($(compgen -W '$(< .cap_tasks)' -- "$cur"))
|
2023-10-01 03:32:03 +09:00
|
|
|
fi
|
2023-10-01 04:44:05 +09:00
|
|
|
|
|
|
|
_omb_completion_resolve_breaks
|
2017-10-10 18:07:01 +07:00
|
|
|
}
|
|
|
|
|
2023-10-01 03:19:46 +09:00
|
|
|
complete -o default -o nospace -F _omb_completion_cap cap
|