From 8a7c22939df36e40f32fa96c535e609791482b11 Mon Sep 17 00:00:00 2001 From: Rob Crittenden Date: Mon, 23 Nov 2009 16:19:14 -0500 Subject: Bash tab completion script --- contrib/completion/ipa.bash_completion | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 contrib/completion/ipa.bash_completion (limited to 'contrib') diff --git a/contrib/completion/ipa.bash_completion b/contrib/completion/ipa.bash_completion new file mode 100644 index 000000000..36b82bdb7 --- /dev/null +++ b/contrib/completion/ipa.bash_completion @@ -0,0 +1,32 @@ +# -*- shell-script -*- +# Programmable completion for the IPA ipa command under bash. Source +# this file (or on some systems add it to ~/.bash_completion and start a new +# shell) and bash's completion mechanism will know all about ipa's options! + +# Known to work with bash 2.05a with programmable completion and extended +# pattern matching enabled (use 'shopt -s extglob progcomp' to enable +# these if they are not already enabled). + +# based on the bzr bash completion script by Martin Pool + +_ipa_commands() +{ + ipa help commands | sed -r 's/^([-[:alnum:]]*).*/\1/' | grep '^[[:alnum:]]' +} + +_ipa() +{ + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + if [ $COMP_CWORD -eq 1 ]; then + COMPREPLY=( $( compgen -W "$(_ipa_commands)" $cur ) ) + elif [ $COMP_CWORD -eq 2 ]; then + case "$prev" in + help) + COMPREPLY=( $( compgen -W "$(_ipa_commands) commands" $cur ) ) + ;; + esac + fi +} + +complete -F _ipa -o default ipa -- cgit