diff --git a/_mvn b/_mvn index 33070e2..77ba427 100644 --- a/_mvn +++ b/_mvn @@ -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 }