maven autocompletion für die shell (und windows)

Beim Arbeiten mit maven stört die fehlende automatische Vervollständigung auf der Kommadozeile, insbesondere wenn man den Komfort einer ordentlichen unix-shell gewähnt ist. Doch dem kann abgeholfen werden. Aktuelle Linux-Distributionen (und unter Windows CYGWIN) besitzen mit bash-completion eine einfache Schnittstelle zum Erweitern der Autocompletion.

mvn-Vervollständigung unter Ubuntu 7.10 (Gutsy Gibbon)

Unter der ubuntu-Distribution 7.10 (Gutsy Gibbon) aktiviert man die autocompletion durch Anlegen einer completion-Datei im Verzeichnis /etc/bash_completion.d, beispielsweise mit folgenden Inhalt:

#!/bin/bash

_m2_make_goals()
{
  plugin=$1
  mojos=$2
  for mojo in $mojos
  do
    export goals="$goals $plugin:$mojo"
  done
}

_m2_complete()
{
  local cur goals

  COMPREPLY=()
  cur=${COMP_WORDS[COMP_CWORD]}
  goals='clean compile test install package deploy site'
  goals=$goals _m2_make_goals "eclipse" "eclipse"
  goals=$goals _m2_make_goals "idea" "idea"
  goals=$goals _m2_make_goals "project-info-reports" "dependencies"
  goals=$goals _m2_make_goals "assembly" "assembly"
  goals=$goals _m2_make_goals "plexus" "app bundle-application bundle-runtime descriptor runtime service"
  cur=`echo $cur | sed 's/\\\\//g'`
  COMPREPLY=($(compgen -W "${goals}" ${cur} | sed 's/\\\\//g') )
}

Quelle: Working more productively with bash 2.x/3.x

Wie das ganze für Windows und MAC eingerichtet wird, steht auf willcodeforbeer.

This entry was posted on Wednesday, March 26th, 2008 at 14:23. Posted in: System engineering, java, maven 2, ubuntu. You can follow any responses to this entry through the RSS 2.0feed. You can leave a response, or trackback from your own site.

Leave a Reply