refactor(ant): extract completion function

This commit is contained in:
Marc Cornellà 2021-12-28 17:15:16 +01:00
commit 364e62155d
No known key found for this signature in database
GPG key ID: 0314585E776A9C1B
3 changed files with 24 additions and 18 deletions

22
plugins/ant/_ant Normal file
View file

@ -0,0 +1,22 @@
#compdef ant
_ant_does_target_list_need_generating () {
[[ ! -f .ant_targets ]] && return 0
[[ build.xml -nt .ant_targets ]] && return 0
return 1
}
_ant () {
if [[ ! -f build.xml ]]; then
return
fi
if ! _ant_does_target_list_need_generating; then
return
fi
ant -p | awk -F " " 'NR > 5 { print lastTarget } { lastTarget = $1 }' >| .ant_targets
compadd -- "$(cat .ant_targets)"
}
_ant "$@"