refactor(ant): extract completion function

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

View file

@ -2,9 +2,9 @@
This plugin provides completion for [Ant](https://ant.apache.org/). This plugin provides completion for [Ant](https://ant.apache.org/).
To use it add ant to the plugins array in your zshrc file. To use it, add `ant` to the plugins array in your zshrc file:
```bash ```zsh
plugins=(... ant) plugins=(... ant)
``` ```

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 "$@"

View file

@ -1,16 +0,0 @@
_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
if _ant_does_target_list_need_generating; then
ant -p | awk -F " " 'NR > 5 { print lastTarget }{lastTarget = $1}' > .ant_targets
fi
compadd -- `cat .ant_targets`
fi
}
compdef _ant ant