Mvn: Case insensitive matching for property values types

This commit is contained in:
Julien Nicoulaud 2011-08-05 14:37:25 +02:00
parent 2d36885f10
commit fcced79721
1 changed files with 15 additions and 14 deletions

29
_mvn
View File

@ -369,7 +369,7 @@ _mvn_property_names() {
local alternatives; alternatives=(
'common property names:common property:_mvn_common_property_names'
)
for plugin_colon_goal in ${(M)words:#*:*}; do # FIXME pretty sure this matches more than just plugin:goals
for plugin_colon_goal in ${(M)words:#[^-]*:*}; do # FIXME pretty sure this matches more than just plugin:goals
alternatives+=("plugin property names:plugin property name:_mvn_plugin_goal_property_names '${plugin_colon_goal%:*}' '${plugin_colon_goal#*:}'")
done
_alternative "${alternatives[@]}"
@ -407,20 +407,21 @@ _mvn_plugin_goal_property_names() {
(( $+functions[_mvn_property_values] )) ||
_mvn_property_values() {
local property="${(P)${#}}" ret=1
setopt localoptions extendedglob
case $property in
file) _wanted file expl 'file' _files && ret=0;;
pomFile) _wanted pom-file expl 'POM file' _mvn_pom_files && ret=0;;
groupId) _wanted groupId expl 'groupId' _mvn_groupIds && ret=0;;
artifactId) _wanted artifactId expl 'artifactId' _mvn_artifactIds && ret=0;;
repositoryId) _message -e repositoryIds 'repositoryId' && ret=0;; # TODO Not implemented
classifier) _message -e classifiers 'classifier' && ret=0;;
scope) _wanted scope expl 'scope' _mvn_scopes && ret=0;;
*url*) _wanted url expl 'url' _urls && ret=0;; # TODO Use _alternative and add repository urls from settings + projects
*password|*passphrase) _wanted password expl $property _mvn_passwords && ret=0;;
version) _wanted version expl 'version' _mvn_versions && ret=0;;
createChecksum|generatePom|maven.test.skip) _wanted boolean expl 'boolean' _mvn_booleans && ret=0;;
user|username) _wanted user expl 'user' _users && ret=0;; # TODO Use _alternative and add repository usernames from settings + projects
*) _default && ret=0;;
((#i)*pomFile*) _wanted pom-file expl 'POM file' _mvn_pom_files && ret=0;;
((#i)*file*) _wanted file expl 'file' _files && ret=0;;
((#i)*groupId*) _wanted groupId expl 'groupId' _mvn_groupIds && ret=0;;
((#i)*artifactId*) _wanted artifactId expl 'artifactId' _mvn_artifactIds && ret=0;;
((#i)*version*) _wanted version expl 'version' _mvn_versions && ret=0;;
((#i)*repositoryId*) _message -e repositoryIds 'repositoryId' && ret=0;; # TODO Not implemented
((#i)*classifier*) _message -e classifiers 'classifier' && ret=0;;
((#i)*scope*) _wanted scope expl 'scope' _mvn_scopes && ret=0;;
((#i)*url*) _wanted url expl 'url' _urls && ret=0;; # TODO Use _alternative and add repository urls from settings + projects
((#i)*(password|passphrase)*) _wanted password expl $property _mvn_passwords && ret=0;;
((#i)*(createChecksum|generatePom|maven.test.skip)*) _wanted boolean expl 'boolean' _mvn_booleans && ret=0;;
((#i)*user*) _wanted user expl 'user' _users && ret=0;; # TODO Use _alternative and add repository usernames from settings + projects
(*) _default && ret=0;;
esac
return ret
}