Author: jkupec
Date: Thu Mar 6 18:35:06 2008
New Revision: 9035
URL: http://svn.opensuse.org/viewcvs/zypp?rev=9035&view=rev
Log:
- bash completion script added (thanx to Marek Stopka)
Added:
trunk/zypper/src/bash-completion.sh
Modified:
trunk/zypper/src/CMakeLists.txt
trunk/zypper/zypper.spec.cmake
Modified: trunk/zypper/src/CMakeLists.txt
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/zypper/src/CMakeLists.txt?rev=9035&r1=9034&r2=9035&view=diff
==============================================================================
--- trunk/zypper/src/CMakeLists.txt (original)
+++ trunk/zypper/src/CMakeLists.txt Thu Mar 6 18:35:06 2008
@@ -80,6 +80,12 @@
RUNTIME DESTINATION ${INSTALL_PREFIX}/sbin
)
+INSTALL(
+ FILES bash-completion.sh
+ DESTINATION ${SYSCONFDIR}/bash_completion.d
+ RENAME zypper.sh
+)
+
ADD_EXECUTABLE( zypp-checkpatches-wrapper zypp-checkpatches-wrapper.c )
TARGET_LINK_LIBRARIES( zypp-checkpatches-wrapper ${ZYPP_LIBRARY} )
Added: trunk/zypper/src/bash-completion.sh
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/zypper/src/bash-completion.sh?rev=9035&view=auto
==============================================================================
--- trunk/zypper/src/bash-completion.sh (added)
+++ trunk/zypper/src/bash-completion.sh Thu Mar 6 18:35:06 2008
@@ -0,0 +1,107 @@
+# zypper completion v 0.2 aplha 1 :-) (This is not feature complete version!)
+# A hackweek gift from Marek Stopka
+
+_zypper() {
+ ZYPPER="/usr/bin/zypper"
+ local magic_string="Command options:"
+ local opts cur prev prevprev
+ if test ${#MODLIST[*]} = 0; then
+ for foo in $(LC_ALL=C $ZYPPER -h | sed -e "1,/Commands:/d" | awk -F ' ' '{print $1}' | sed 's/,//'); do
+ MODLIST="$MODLIST $foo"
+ done
+ fi
+
+ cur=${COMP_WORDS[COMP_CWORD]}
+ prev=${COMP_WORDS[COMP_CWORD-1]}
+ if [[ ${#COMP_WORDS[@]} -ge 3 ]]; then
+ prevprev=${COMP_WORDS[COMP_CWORD-2]}
+ fi
+
+ case "$prev" in
+ zypper)
+ opts=$MODLIST
+ COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
+ ;;
+ help)
+ opts=$MODLIST
+ COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
+ ;;
+ shell)
+ return 0
+ ;;
+ install)
+ opts=$(LC_ALL=C $ZYPPER help $prev 2>&1 | sed -e "1,/$magic_string/d" -e 's/.*--/--/' -e 's/ .*//')
+ COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
+ ;;
+ remove)
+ opts=$(LC_ALL=C $ZYPPER help $prev 2>&1 | sed -e "1,/$magic_string/d" -e 's/.*--/--/' -e 's/ .*//')
+ COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
+ ;;
+ search)
+ opts=$(LC_ALL=C $ZYPPER help $prev 2>&1 | sed -e "1,/$magic_string/d" -e 's/.*--/--/' -e 's/ .*//' | grep -v '*')
+ COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
+ ;;
+ repos)
+ opts=$(LC_ALL=C $ZYPPER help $prev 2>&1 | sed -e "1,/$magic_string/d" -e 's/.*--/--/' -e 's/ .*//')
+ COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
+ ;;
+ addrepo)
+ opts=$(LC_ALL=C $ZYPPER help $prev 2>&1 | sed -e "1,/$magic_string/d" -e 's/.*--/--/' -e 's/ .*//')
+ COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
+ ;;
+ removerepo)
+ opts=$(LC_ALL=C $ZYPPER help $prev 2>&1 | sed -e "1,/$magic_string/d" -e 's/.*--/--/' -e 's/ .*//')
+ COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
+ ;;
+ renamerepo)
+ return 0
+ ;;
+ modifyrepo)
+ opts=$(LC_ALL=C $ZYPPER help $prev 2>&1 | sed -e "1,/$magic_string/d" -e 's/.*--/--/' -e 's/ .*//')
+ COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
+ ;;
+ refresh)
+ opts=$(LC_ALL=C $ZYPPER help $prev 2>&1 | sed -e "1,/$magic_string/d" -e 's/.*--/--/' -e 's/ .*//')
+ COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
+ ;;
+ patch_check)
+ opts=$(LC_ALL=C $ZYPPER help $prev 2>&1 | sed -e "1,/$magic_string/d" -e 's/.*--/--/' -e 's/ .*//')
+ COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
+ ;;
+ patches)
+ opts=$(LC_ALL=C $ZYPPER help $prev 2>&1 | sed -e "1,/$magic_string/d" -e 's/.*--/--/' -e 's/ .*//')
+ COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
+ ;;
+ list-updates)
+ opts=$(LC_ALL=C $ZYPPER help $prev 2>&1 | sed -e "1,/$magic_string/d" -e 's/.*--/--/' -e 's/ .*//')
+ COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
+ ;;
+ xml-updates)
+ opts=$(LC_ALL=C $ZYPPER help $prev 2>&1 | sed -e "1,/$magic_string/d" -e 's/.*--/--/' -e 's/ .*//')
+ COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
+ ;;
+ update)
+ opts=$(LC_ALL=C $ZYPPER help $prev 2>&1 | sed -e "1,/$magic_string/d" -e 's/.*--/--/' -e 's/ .*//')
+ COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
+ ;;
+ info)
+ opts=$(LC_ALL=C $ZYPPER help $prev 2>&1 | sed -e "1,/$magic_string/d" -e 's/.*--/--/' -e 's/ .*//')
+ COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
+ ;;
+ patch-info)
+ return 0
+ ;;
+ source-install)
+ return 0
+ ;;
+ "--type")
+ opts="package patch pattern product"
+ COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
+ ;;
+ dist-upgrade)
+ opts=$(LC_ALL=C $ZYPPER help $prev 2>&1 | sed -e "1,/$magic_string/d" -e 's/.*--/--/' -e 's/ .*//')
+ COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
+ esac
+}
+
+complete -F _zypper zypper
Modified: trunk/zypper/zypper.spec.cmake
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/zypper/zypper.spec.cmake?rev=9035&r1=9034&r2=9035&view=diff
==============================================================================
--- trunk/zypper/zypper.spec.cmake (original)
+++ trunk/zypper/zypper.spec.cmake Thu Mar 6 18:35:06 2008
@@ -84,6 +84,7 @@
%files -f zypper.lang
%defattr(-,root,root)
%{_sysconfdir}/logrotate.d/zypper.lr
+%{_sysconfdir}/bash_completion.d/zypper.sh
%{_bindir}/zypper
%{_bindir}/installation_sources
%{_sbindir}/zypp-checkpatches
--
To unsubscribe, e-mail: zypp-commit+unsubscribe@opensuse.org
For additional commands, e-mail: zypp-commit+help@opensuse.org