--- /dev/null
+#!/usr/bin/env bash
+# Bash Maven completion
+
+_mvn()
+{
+ local cmds cur colonprefixes
+ cmds="clean validate compile test package integration-test \
+ verify install deploy test-compile site generate-sources \
+ process-sources generate-resources process-resources \
+ eclipse:eclipse eclipse:add-maven-repo eclipse:clean \
+ idea:idea -DartifactId= -DgroupId= -Dmaven.test.skip=true \
+ -Declipse.workspace= -DarchetypeArtifactId= \
+ netbeans-freeform:generate-netbeans-project \
+ tomcat:run tomcat:run-war tomcat:deploy jboss-as:deploy \
+ versions:display-dependency-updates \
+ versions:display-plugin-updates dependency:analyze \
+ dependency:analyze-dep-mgt dependency:resolve \
+ dependency:sources dependency:tree release:prepare \
+ release:rollback release:perform --batch-mode"
+
+ COMPREPLY=()
+ cur=${COMP_WORDS[COMP_CWORD]}
+ # Work-around bash_completion issue where bash interprets a colon
+ # as a separator.
+ # Work-around borrowed from the darcs work-around for the same
+ # issue.
+ colonprefixes=${cur%"${cur##*:}"}
+ COMPREPLY=( $(compgen -W '$cmds' -- $cur))
+ local i=${#COMPREPLY[*]}
+ while [ $((--i)) -ge 0 ]; do
+ COMPREPLY[$i]=${COMPREPLY[$i]#"$colonprefixes"}
+ done
+
+ return 0
+} &&
+complete -F _mvn mvn
\ No newline at end of file