diff options
author | Christian Birchinger <joker@gentoo.org> | 2004-02-27 18:48:46 +0000 |
---|---|---|
committer | Christian Birchinger <joker@gentoo.org> | 2004-02-27 18:48:46 +0000 |
commit | b89e887aa9828b811754c8ee7852a9a79554c215 (patch) | |
tree | e630e57ea3e9d886fd2431a375fb97905cdcb1db /app-shells/bash-completion/files | |
parent | Fixed DEPEND (Manifest recommit) (diff) | |
download | gentoo-2-b89e887aa9828b811754c8ee7852a9a79554c215.tar.gz gentoo-2-b89e887aa9828b811754c8ee7852a9a79554c215.tar.bz2 gentoo-2-b89e887aa9828b811754c8ee7852a9a79554c215.zip |
nospace fix for bug #42878 added and old versions removed
Diffstat (limited to 'app-shells/bash-completion/files')
-rw-r--r-- | app-shells/bash-completion/files/digest-bash-completion-20040101 | 1 | ||||
-rw-r--r-- | app-shells/bash-completion/files/digest-bash-completion-20040101-r1 | 1 | ||||
-rw-r--r-- | app-shells/bash-completion/files/digest-bash-completion-20040210-r1 (renamed from app-shells/bash-completion/files/digest-bash-completion-20040210) | 0 | ||||
-rw-r--r-- | app-shells/bash-completion/files/gentoo.completion-20040101 | 614 | ||||
-rw-r--r-- | app-shells/bash-completion/files/gentoo.completion-20040101-r1 | 614 | ||||
-rw-r--r-- | app-shells/bash-completion/files/gentoo.completion-20040210-r1 (renamed from app-shells/bash-completion/files/gentoo.completion-20040210) | 8 |
6 files changed, 4 insertions, 1234 deletions
diff --git a/app-shells/bash-completion/files/digest-bash-completion-20040101 b/app-shells/bash-completion/files/digest-bash-completion-20040101 deleted file mode 100644 index 9aa580dd8464..000000000000 --- a/app-shells/bash-completion/files/digest-bash-completion-20040101 +++ /dev/null @@ -1 +0,0 @@ -MD5 7e11b9aa5e1be10ed5d6d1fd71437f0a bash-completion-20040101.tar.bz2 77154 diff --git a/app-shells/bash-completion/files/digest-bash-completion-20040101-r1 b/app-shells/bash-completion/files/digest-bash-completion-20040101-r1 deleted file mode 100644 index 9aa580dd8464..000000000000 --- a/app-shells/bash-completion/files/digest-bash-completion-20040101-r1 +++ /dev/null @@ -1 +0,0 @@ -MD5 7e11b9aa5e1be10ed5d6d1fd71437f0a bash-completion-20040101.tar.bz2 77154 diff --git a/app-shells/bash-completion/files/digest-bash-completion-20040210 b/app-shells/bash-completion/files/digest-bash-completion-20040210-r1 index 37c68ede8e9a..37c68ede8e9a 100644 --- a/app-shells/bash-completion/files/digest-bash-completion-20040210 +++ b/app-shells/bash-completion/files/digest-bash-completion-20040210-r1 diff --git a/app-shells/bash-completion/files/gentoo.completion-20040101 b/app-shells/bash-completion/files/gentoo.completion-20040101 deleted file mode 100644 index 076e220d43a5..000000000000 --- a/app-shells/bash-completion/files/gentoo.completion-20040101 +++ /dev/null @@ -1,614 +0,0 @@ -# -*- shell-script -*- -# -# Gentoo Linux command completion. -# -# Copyright 1999-2004 Gentoo Technologies, Inc. -# Distributed under the terms of the GNU General Public License, v2 or later -# -# Author: Geert Bevin <gbevin@theleaf.be> -# Author: Zach Forrest <zach@disinformation.ca> -# - -# -# rc & rc-status completion command -# -_rc() -{ - local cur - COMPREPLY=() - cur=${COMP_WORDS[COMP_CWORD]} - if [ ${#COMP_WORDS[*]} -le 2 ]; then - COMPREPLY=( $( compgen -W "$(for i in /etc/runlevels/*; do echo ${i##*/}; done)" -- $cur ) ) - - fi - return 0 -} -complete -F _rc rc - -_rcstatus() -{ - local cur opts - COMPREPLY=() - cur=${COMP_WORDS[COMP_CWORD]} - if [ ${#COMP_WORDS[*]} -le 2 ]; then - opts="-a -all -l --list -u --unused" - COMPREPLY=( $( compgen -W "${opts} $(for i in /etc/runlevels/*; do echo ${i##*/}; done)" -- $cur ) ) - - fi - return 0 -} -complete -F _rcstatus rc-status - -# -# distcc-config completion command -# -_distccconfig() -{ - local cur curword numwords opts - COMPREPLY=() - cur=${COMP_WORDS[COMP_CWORD]} - numwords=${#COMP_WORDS[*]} - curword=${COMP_CWORD} - if [ ${numwords} -gt 3 ]; then - return 0 - fi - if [[ "${cur}" == -* ]] || [ ${curword} -eq 1 ]; then - if [ ${numwords} -le 2 ] && [ ${curword} -eq 1 ]; then - opts="--get-hosts \ - --get-verbose \ - --get-log \ - --set-hosts \ - --set-verbose \ - --set-log \ - --add-path \ - --no-path" - else - opts="" - fi - else - opts="" - fi - COMPREPLY=($(compgen -W "${opts}" | grep ^$cur)) - return 0 -} -complete -F _distccconfig distcc-config - -# -# simple completion for Gentoo style init -# -complete -W "start stop restart pause zap ineed needsme iuse usesme broken" \ - $(for i in /etc/init.d/*; do echo ${i##*/}; done) - -# -# emerge completion command -# -_emerge() -{ - local cur prev grepcmd sedcmd systemactions setsma setbig portagedir origdir - local mode words opts curword numwords pkgdbdir - - origdir="${PWD}" - portagedir=/usr/portage - pkgdbdir=/var/db/pkg - COMPREPLY=() - cur="${COMP_WORDS[COMP_CWORD]}" - prev="${COMP_WORDS[COMP_CWORD-1]}" - words="${COMP_WORDS[*]}" - numwords=${#COMP_WORDS[*]} - curword=${COMP_CWORD} - mode='ALL' - - # Determine which mode we're running in. - - if [ ${curword} -eq 1 ] && [ ${numwords} -eq 2 ]; then - # This is set when we nothing but the command name has been given. - mode='ALL' - elif [[ " ${words} " == *" --unmerge "* ]]; then - mode='UNMERGE' - elif [[ " ${words} " == *" --safe "* ]]; then - mode='SAFE' - elif [[ " ${words} " == *" --search "* ]]; then - mode='SEARCH' - elif [[ " ${words} " == *" --world "* ]]; then - mode='WORLD' - elif [[ " ${words} " == *" --help "* ]]; then - mode='HELP' - elif [[ " ${words} " == *" --clean "* ]]; then - mode='CLEAN' - elif [[ " ${words} " == *" --pretend "* ]]; then - mode='PRETEND' - else - # All except '--clean' - mode='NOCLEAN' - fi - - if [[ "${cur}" == -* ]]; then - - # Process Options - - case "${mode}" in - "ALL") - opts='--clean --help --verbose --debug --fetchonly \ - --onlydeps --noreplace --usepkg --buildpkg \ - --autoclean --pretend --unmerge --safe \ - --search --world' - ;; - - "UNMERGE") - opts='--clean --verbose --debug --pretend \ - --unmerge --safe' - ;; - - "SAFE") - opts='--unmerge --verbose --debug' - ;; - - "SEARCH") - opts='--verbose --debug' - ;; - - "WORLD") - opts='--verbose --debug --pretend --world' - ;; - - "HELP") - opts='' - ;; - - "CLEAN") - opts='--verbose --debug --clean' - ;; - - "PRETEND") - opts='--verbose --debug --fetchonly --onlydeps \ - --noreplace --usepkg --buildpkg \ - --autoclean --pretend --unmerge --safe \ - --world' - ;; - - "NOCLEAN") - opts='--help --verbose --debug --fetchonly \ - --onlydeps --noreplace --usepkg --buildpkg \ - --autoclean --pretend --unmerge --safe \ - --search --world' - ;; - *) - # Same as ALL - opts='--clean --help --verbose --debug --fetchonly \ - --onlydeps --noreplace --usepkg --buildpkg \ - --autoclean --pretend --unmerge --safe \ - --search --world' - ;; - - esac - - # Generate the reply. - COMPREPLY=($(compgen -W "${opts}" | grep ^$cur)) - - elif [ "${mode}" == "CLEAN" ]; then - # "rsync" is the only option that can follow "--clean" - COMPREPLY=($(compgen -W 'rsync')) - - elif [ "${mode}" == "WORLD" ]; then - # "update" is the only option that can follow "--world" - #COMPREPLY=($(compgen -W 'update')) - COMPREPLY=($(compgen -W 'update' | grep ^${cur})) - - elif [ "${mode}" == "HELP" ]; then - if [[ ! " ${words} " == *" "@(system|rsync)" "* ]]; then - COMPREPLY=($(compgen -W 'rsync system' | grep ^${cur})) - else - COMPREPLY='' - fi - - elif [ "${mode}" == "SEARCH" ]; then - # We don't need to interfere here as the search string is a - # regular expression. (But wouldn't intelligent, dynamic, - # commandline completion of regular expressions be great!) - COMPREPLY='' - - elif [ "${mode}" == "UNMERGE" ]; then - # Ignore >, >=, <, <=, and = for the purpose of completion. - sedcmd="sed -e s:=:: -e s:>:: -e s:<::" - cur=$(echo "${cur}" | ${sedcmd}) - - # If the current completion (minus conditional characters) - # starts with one of the following characters, then complete - # on filenames (i.e. an ebuild file) rather than referencing - # the package database. - if [[ "${cur} " == @('/'|'.'|'~'|'$')* ]]; then - # Setting this to nothing with tell bash to use default - # completion (i.e. pathname completion). - COMPREPLY='' - else - cd "${pkgdbdir}" - grepcmd="grep -E ^$cur.*" - - if [ "${cur}" ]; then - if [ $(echo "${cur}" | grep '/') ]; then - setbig=$(compgen -G "${cur}*") - COMPREPLY=($(echo "${setbig}" | ${grepcmd})) - else - setsma=$(compgen -S '/' -G "${cur}*") - if [ $(echo "${setsma}" | ${grepcmd} | grep '/' | wc -l) = 1 ]; then - setbig=$(compgen -G "*/*") - COMPREPLY=($(echo "${setbig}" | ${grepcmd})) - else - COMPREPLY=($(echo "${setsma}" | ${grepcmd})) - fi - fi - else - setsma=$(compgen -S '/' -G "${cur}*") - COMPREPLY=($(echo "${setsma}")) - fi - - cd "${origdir}" - fi - - elif [ "${mode}" == "SAFE" ]; then - COMPREPLY=($(compgen -W '--unmerge' | grep ^${cur})) - - elif [[ " ${words} " == *" "@(update|system|rsync)" "* ]]; then - # syncing the portage tree is a lonely job - # updating should be done by itself (also lonely) - COMPREPLY='' - - elif [[ " ${words} " == *" --usepkg "* ]] && [[ "${cur} " == @('/'|'.'|'~'|'$')* ]]; then - # In order to complete on a package file, the name must be - # an absolute or realative pathname (even if it is in the - # current directory). This allows completion on both package - # names in /usr/portage and on arbitrary *.tbz2 packages. - # - # I'm planning to come up with a more elegant solution, but - # that will have to wait for another update. (The only thing - # that is really annoying right now is when specifying a - # *.tbz2 file in or below the current directory, you have - # to prefix the path with "./".) - COMPREPLY='' - - else - cd "${portagedir}" - grepcmd="grep -E ^${cur}.*" - sedcmd="sed -e /^[^-]*$/d" - - if [ ${COMP_CWORD} -eq 1 ]; then - # If emerge hasn't been given any args yet, include "rsync" - # among the system actions. The case where the "--clean" flag - # has been specified is handled above. - systemactions=$'\n'"system"$'\n'"update"$'\n'"rsync" - else - # Only allow these actions if no packages have been specified. - if [[ ! " ${words} " == *" "*[/]*" "* ]]; then - systemactions=$'\n'"system"$'\n'"update" - else - systemactions='' - fi - fi - - if [ "${cur}" ]; then - if [[ "${cur} " == @('/'|'.'|'~'|'$')* ]]; then - COMPREPLY='' - elif [ $(echo "${cur}" | grep '/') ]; then - setbig=$(compgen -G "${cur}*" | ${sedcmd})"${systemactions}" - COMPREPLY=($(echo "${setbig}" | $grepcmd)) - else - setsma=$(compgen -S '/' -G "${cur}*" | ${sedcmd})"${systemactions}" - if [ $(echo "${setsma}" | ${grepcmd} | grep '/' | wc -l) = 1 ]; then - setbig=$(compgen -G "*/*" | ${sedcmd})"${systemactions}" - COMPREPLY=($(echo "${setbig}" | ${grepcmd})) - else - COMPREPLY=($(echo "${setsma}" | ${grepcmd})) - fi - fi - else - setsma=$(compgen -S '/' -G "${cur}*" | ${sedcmd})"${systemactions}" - COMPREPLY=($(echo "${setsma}")) - fi - - cd "${origdir}" - fi - - # (Adapted from bash_completion by Ian Macdonald <ian@caliban.org>) - # This removes any options from the list of completions that have - # already been specified on the command line. - COMPREPLY=($(echo "${COMP_WORDS[@]}" | \ - (while read -d ' ' i; do - [ "${i}" == "" ] && continue - # flatten array with spaces on either side, - # otherwise we cannot grep on word boundaries of - # first and last word - COMPREPLY=" ${COMPREPLY[@]} " - # remove word from list of completions - COMPREPLY=(${COMPREPLY/ ${i%% *} / }) - done - echo ${COMPREPLY[@]}))) - - return 0 -} -complete -o default -F _emerge emerge - -# -# ebuild completion command -# -_ebuild() -{ - local cur prev - COMPREPLY=() - cur=${COMP_WORDS[COMP_CWORD]} - prev=${COMP_WORDS[COMP_CWORD-1]} - if [ $COMP_CWORD -eq 1 ]; then - #COMPREPLY=( $( compgen -o filenames -X '!*.ebuild' $cur ) ) - COMPREPLY=($(compgen -o filenames)) - elif [ $COMP_CWORD -eq 2 ]; then - COMPREPLY=( $( compgen -W 'check \ - clean compile config \ - depend digest \ - fetch \ - help \ - install \ - merge \ - package postinst postrm preinst prerm \ - qmerge \ - rcheck remerge rpm \ - setup \ - touch \ - unmerge unpack' $cur ) ) - fi - return 0 -} -complete -o default -F _ebuild ebuild - -# -# rc-update completion command -# -_rcupdate() -{ - local cur prev initdir runlvdir origdir - origdir=${PWD} - initdir=/etc/init.d - runlvdir=/etc/runlevels - COMPREPLY=() - cur=${COMP_WORDS[COMP_CWORD]} - prev=${COMP_WORDS[COMP_CWORD-1]} - if [ $COMP_CWORD -eq 1 ]; then - COMPREPLY=( $( compgen -W 'add del' ${cur} ) ) - elif [ $COMP_CWORD -eq 2 ]; then - cd ${initdir} - COMPREPLY=( $( compgen -G "${cur}*" ) ) - cd ${origdir} - elif [ $COMP_CWORD -eq 3 ]; then - cd ${runlvdir} - COMPREPLY=( $( compgen -G "${cur}*" ) ) - cd ${origdir} - fi - return 0 -} -complete -F _rcupdate rc-update - -# -# gcc-config completion command -# -_gccconfig() -{ - local cur curword numwords opts - COMPREPLY=() - cur=${COMP_WORDS[COMP_CWORD]} - numwords=${#COMP_WORDS[*]} - curword=${COMP_CWORD} - if [ ${numwords} -gt 3 ]; then - return 0 - fi - if [[ "${cur}" == -* ]] || [ ${curword} -eq 1 ]; then - if [ ${numwords} -le 2 ] && [ ${curword} -eq 1 ]; then - opts="--use-old \ - --use-portage-chost \ - --get-current-profile \ - --list-profiles \ - --print-environ \ - --get-bin-path \ - --get-lib-path \ - --get-stdcxx-incdir" - else - opts="" - fi - elif [ ${numwords} -le 3 ] && [ ${curword} -eq 2 ]; then - case "${COMP_WORDS[1]}" in - "--print-environ"|"--get-bin-path"|"--get-lib-path"|"--get-stdcxx-incdir") - opts=$(gcc-config --list-profiles) - ;; - *) - opts="" - ;; - esac - else - opts="" - fi - COMPREPLY=($(compgen -W "${opts}" | grep ^$cur)) - return 0 -} -complete -F _gccconfig gcc-config - -_javaconfig() -{ - local cur curword numwords opts args arg spec flag sedcmd grepcmd - local multiplepkgs pkgs execopts - COMPREPLY=() - cur=${COMP_WORDS[COMP_CWORD]} - numwords=${#COMP_WORDS[*]} - curword=${COMP_CWORD} - opts="" - args="" - pkgs="" - sedcmd="sed -r -e s/\[([^]]+)\].*/\1/" - vmsedcmd="sed -r -e s/\[([^]]+)\]/\1/" - grepcmd="egrep -o (--set-(system|user)-(classpath|vm)=)" - multiplepkgs="" - execopts="HtmlConverter JavaPluginControlPanel \ - appletviewer awt_robot \ - extcheck \ - idlj \ - j2sdk-config jar jarsigner \ - java java-rmi.cgijava_vm javac javadoc javah javap jdb \ - keytool kinit klist ktab \ - native2ascii \ - oldjava oldjavac oldjdb orbd \ - policytool \ - realpath rmic rmid rmiregistry \ - serialver servertool \ - tnameserv" - if [[ "${cur}" == -* ]] || [ ${curword} -eq 1 ]; then - case "${cur}" in - "--java") - opts="--java --javac --java-version" - ;; - --j@(a@(r|va@(c|-version))|@(dk|re)-home)) - opts="" - ;; - --list-available-@(packages|vms)) - opts="" - ;; - --@(exec|set-@(user|system)-@(classpath|vm))) - opts="${cur}=" - ;; - --set-@(user|system)-@(classpath|vm)=) - if [[ "${cur}" == "--set-system-vm=" ]] || [[ "${cur}" == "--set-user-vm=" ]]; then - flag="--list-available-vms" - args=$(java-config "${flag}" | cut --delimiter=' ' --fields=2 | ${vmsedcmd}) - else - flag="--list-available-packages" - args=$(java-config "${flag}" | ${sedcmd}) - fi - #echo "$(java-config ${flag})" >> output - #args=$(java-config "${flag}" | ${sedcmd}) - for arg in ${args} - do - [ "${opts}" ] && opts="${opts} ${arg}" || opts="${arg}" - done - COMPREPLY=($(compgen -o nospace -W "${opts}")) - return 0 - ;; - "--exec=") - COMPREPLY=($(compgen -o nospace -W "${execopts}")) - return 0 - ;; - *) - if [[ "${cur}" == "--set-system-vm="* ]] || [[ "${cur}" == "--set-user-vm="* ]]; then - args=$(java-config --list-available-vms | cut --delimiter=' ' --fields=2 | ${vmsedcmd}) - # spec=$(echo "${cur}" | egrep -o "(--set-(system|user)-(classpath|vm)=)") - # spec=$(echo "${cur}" | ${grepcmd}) - if [[ "${cur}" == "--set-system-vm="* ]]; then - spec=${cur##--set-system-vm=} - else - spec=${cur##--set-user-vm=} - fi - for arg in ${args} - do - if [[ "${arg:0:${#spec}}" == "${spec}" ]]; then - [ "${opts}" ] && opts="${opts} ${arg}" || opts="${arg}" - fi - done - [[ "${opts}" == "${spec}" ]] && opts="" - COMPREPLY=($(compgen -W "${opts}")) - return 0 - elif [[ "${cur}" == "--set-system-classpath="* ]] || [[ "${cur}" == "--set-user-classpath="* ]]; then - args=$(java-config --list-available-packages | ${sedcmd}) - [ $(echo "${cur}" | grep -c ",") -gt 0 ] && multiplepkgs="true" - # spec=$(echo "${cur}" | ${grepcmd}) - if [[ "${cur}" == "--set-system-classpath="* ]]; then - spec="${cur##--set-system-classpath=}" - else - spec="${cur##--set-user-classpath=}" - fi - if [[ "${multiplepkgs}" ]]; then - pkgs="${spec%,*}" - spec="${spec##*,}" - fi - if [[ "${multiplepkgs}" ]]; then - for arg in ${args} - do - if [[ "${spec}" ]]; then - if [[ "${arg:0:${#spec}}" == "${spec}" ]] \ - && [[ ! $(echo "${cur}" | egrep -o "(=|,)${arg},") ]]; then - [ "${opts}" ] && opts="${opts} ${pkgs},${arg}" || opts="${pkgs},${arg}" - fi - else - if [[ ! $(echo "${cur}" | egrep -o "(=|,)${arg},") ]]; then - [ "${opts}" ] && opts="${opts} ${pkgs},${arg}" || opts="${pkgs},${arg}" - fi - fi - done - [[ "${opts}" == "${pkgs},${spec}" ]] && opts="" - else - for arg in ${args} - do - if [[ "${spec}" ]] && [[ "${arg:0:${#spec}}" == "${spec}" ]]; then - [ "${opts}" ] && opts="${opts} ${arg}" || opts="${arg}" - fi - done - [[ "${opts}" == "${spec}" ]] && opts="" - fi - COMPREPLY=($(compgen -W "${opts}")) - return 0 - elif [[ "${cur}" == "--exec="* ]]; then - spec=${cur##--exec=} - for arg in ${execopts} - do - if [[ "${arg:0:${#spec}}" == "${spec}" ]]; then - [ "${opts}" ] && opts="${opts} ${arg}" || opts="${arg}" - fi - done - [[ "${opts}" == "${spec}" ]] && opts="" - COMPREPLY=($(compgen -W "${opts}")) - return 0 - else - opts="--javac \ - --java \ - --jar \ - --jdk-home \ - --jre-home \ - --java-version \ - --classpath \ - --full-classpath \ - --exec \ - --list-available-packages \ - --list-available-vms \ - --set-system-vm \ - --set-user-vm \ - --set-system-classpath \ - --set-user-classpath \ - --clean-system-classpath" - fi - ;; - esac - else - opts="" - fi - COMPREPLY=($(compgen -o nospace -W "${opts}" | grep ^${cur})) - return 0 -} -complete -o nospace -F _javaconfig java-config - -_openglupdate() -{ - local cur opts - COMPREPLY=() - cur=${COMP_WORDS[COMP_CWORD]} - numwords=${#COMP_WORDS[*]} - if [ ${numwords} -gt 2 ]; then - return 0 - fi - COMPREPLY=($(compgen -W 'nvidia xfree' $cur)) - COMPREPLY=($(echo " ${COMP_WORDS[@]}" | \ - (while read -d ' ' i; do - [ "$i" == "" ] && continue - # flatten array with spaces on either side, - # otherwise we cannot grep on word - # boundaries of first and last word - COMPREPLY=" ${COMPREPLY[@]} " - # remove word from list of completions - COMPREPLY=( ${COMPREPLY/ $i / }) - done - echo ${COMPREPLY[@]}))) - return 0 -} -complete -F _openglupdate opengl-update diff --git a/app-shells/bash-completion/files/gentoo.completion-20040101-r1 b/app-shells/bash-completion/files/gentoo.completion-20040101-r1 deleted file mode 100644 index a6f588279851..000000000000 --- a/app-shells/bash-completion/files/gentoo.completion-20040101-r1 +++ /dev/null @@ -1,614 +0,0 @@ -# -*- shell-script -*- -# -# Gentoo Linux command completion. -# -# Copyright 1999-2002 Gentoo Technologies, Inc. -# Distributed under the terms of the GNU General Public License, v2 or later -# -# Author: Geert Bevin <gbevin@theleaf.be> -# Author: Zach Forrest <zach@disinformation.ca> -# - -# -# rc & rc-status completion command -# -_rc() -{ - local cur - COMPREPLY=() - cur=${COMP_WORDS[COMP_CWORD]} - if [ ${#COMP_WORDS[*]} -le 2 ]; then - COMPREPLY=( $( compgen -W "$(for i in /etc/runlevels/*; do echo ${i##*/}; done)" -- $cur ) ) - - fi - return 0 -} -complete -F _rc rc - -_rcstatus() -{ - local cur opts - COMPREPLY=() - cur=${COMP_WORDS[COMP_CWORD]} - if [ ${#COMP_WORDS[*]} -le 2 ]; then - opts="-a -all -l --list -u --unused" - COMPREPLY=( $( compgen -W "${opts} $(for i in /etc/runlevels/*; do echo ${i##*/}; done)" -- $cur ) ) - - fi - return 0 -} -complete -F _rcstatus rc-status - -# -# distcc-config completion command -# -_distccconfig() -{ - local cur curword numwords opts - COMPREPLY=() - cur=${COMP_WORDS[COMP_CWORD]} - numwords=${#COMP_WORDS[*]} - curword=${COMP_CWORD} - if [ ${numwords} -gt 3 ]; then - return 0 - fi - if [[ "${cur}" == -* ]] || [ ${curword} -eq 1 ]; then - if [ ${numwords} -le 2 ] && [ ${curword} -eq 1 ]; then - opts="--get-hosts \ - --get-verbose \ - --get-log \ - --set-hosts \ - --set-verbose \ - --set-log \ - --add-path \ - --no-path" - else - opts="" - fi - else - opts="" - fi - COMPREPLY=($(compgen -W "${opts}" | grep ^$cur)) - return 0 -} -complete -F _distccconfig distcc-config - -# -# simple completion for Gentoo style init -# -complete -W "start stop restart pause zap ineed needsme iuse usesme broken" \ - $(for i in /etc/init.d/*; do echo ${i##*/}; done) - -# -# emerge completion command -# -_emerge() -{ - local cur prev grepcmd sedcmd systemactions setsma setbig portagedir origdir - local mode words opts curword numwords pkgdbdir - - origdir="${PWD}" - portagedir=/usr/portage - pkgdbdir=/var/db/pkg - COMPREPLY=() - cur="${COMP_WORDS[COMP_CWORD]}" - prev="${COMP_WORDS[COMP_CWORD-1]}" - words="${COMP_WORDS[*]}" - numwords=${#COMP_WORDS[*]} - curword=${COMP_CWORD} - mode='ALL' - - # Determine which mode we're running in. - - if [ ${curword} -eq 1 ] && [ ${numwords} -eq 2 ]; then - # This is set when we nothing but the command name has been given. - mode='ALL' - elif [[ " ${words} " == *" --unmerge "* ]]; then - mode='UNMERGE' - elif [[ " ${words} " == *" --safe "* ]]; then - mode='SAFE' - elif [[ " ${words} " == *" --search "* ]]; then - mode='SEARCH' - elif [[ " ${words} " == *" --world "* ]]; then - mode='WORLD' - elif [[ " ${words} " == *" --help "* ]]; then - mode='HELP' - elif [[ " ${words} " == *" --clean "* ]]; then - mode='CLEAN' - elif [[ " ${words} " == *" --pretend "* ]]; then - mode='PRETEND' - else - # All except '--clean' - mode='NOCLEAN' - fi - - if [[ "${cur}" == -* ]]; then - - # Process Options - - case "${mode}" in - "ALL") - opts='--clean --help --verbose --debug --fetchonly \ - --onlydeps --noreplace --usepkg --buildpkg \ - --autoclean --pretend --unmerge --safe \ - --search --world' - ;; - - "UNMERGE") - opts='--clean --verbose --debug --pretend \ - --unmerge --safe' - ;; - - "SAFE") - opts='--unmerge --verbose --debug' - ;; - - "SEARCH") - opts='--verbose --debug' - ;; - - "WORLD") - opts='--verbose --debug --pretend --world' - ;; - - "HELP") - opts='' - ;; - - "CLEAN") - opts='--verbose --debug --clean' - ;; - - "PRETEND") - opts='--verbose --debug --fetchonly --onlydeps \ - --noreplace --usepkg --buildpkg \ - --autoclean --pretend --unmerge --safe \ - --world' - ;; - - "NOCLEAN") - opts='--help --verbose --debug --fetchonly \ - --onlydeps --noreplace --usepkg --buildpkg \ - --autoclean --pretend --unmerge --safe \ - --search --world' - ;; - *) - # Same as ALL - opts='--clean --help --verbose --debug --fetchonly \ - --onlydeps --noreplace --usepkg --buildpkg \ - --autoclean --pretend --unmerge --safe \ - --search --world' - ;; - - esac - - # Generate the reply. - COMPREPLY=($(compgen -W "${opts}" | grep ^$cur)) - - elif [ "${mode}" == "CLEAN" ]; then - # "rsync" is the only option that can follow "--clean" - COMPREPLY=($(compgen -W 'rsync')) - - elif [ "${mode}" == "WORLD" ]; then - # "update" is the only option that can follow "--world" - #COMPREPLY=($(compgen -W 'update')) - COMPREPLY=($(compgen -W 'update' | grep ^${cur})) - - elif [ "${mode}" == "HELP" ]; then - if [[ ! " ${words} " == *" "@(system|rsync)" "* ]]; then - COMPREPLY=($(compgen -W 'rsync system' | grep ^${cur})) - else - COMPREPLY='' - fi - - elif [ "${mode}" == "SEARCH" ]; then - # We don't need to interfere here as the search string is a - # regular expression. (But wouldn't intelligent, dynamic, - # commandline completion of regular expressions be great!) - COMPREPLY='' - - elif [ "${mode}" == "UNMERGE" ]; then - # Ignore >, >=, <, <=, and = for the purpose of completion. - sedcmd="sed -e s:=:: -e s:>:: -e s:<::" - cur=$(echo "${cur}" | ${sedcmd}) - - # If the current completion (minus conditional characters) - # starts with one of the following characters, then complete - # on filenames (i.e. an ebuild file) rather than referencing - # the package database. - if [[ "${cur} " == @('/'|'.'|'~'|'$')* ]]; then - # Setting this to nothing with tell bash to use default - # completion (i.e. pathname completion). - COMPREPLY='' - else - cd "${pkgdbdir}" - grepcmd="grep -E ^$cur.*" - - if [ "${cur}" ]; then - if [ $(echo "${cur}" | grep '/') ]; then - setbig=$(compgen -G "${cur}*") - COMPREPLY=($(echo "${setbig}" | ${grepcmd})) - else - setsma=$(compgen -S '/' -G "${cur}*") - if [ $(echo "${setsma}" | ${grepcmd} | grep '/' | wc -l) = 1 ]; then - setbig=$(compgen -G "*/*") - COMPREPLY=($(echo "${setbig}" | ${grepcmd})) - else - COMPREPLY=($(echo "${setsma}" | ${grepcmd})) - fi - fi - else - setsma=$(compgen -S '/' -G "${cur}*") - COMPREPLY=($(echo "${setsma}")) - fi - - cd "${origdir}" - fi - - elif [ "${mode}" == "SAFE" ]; then - COMPREPLY=($(compgen -W '--unmerge' | grep ^${cur})) - - elif [[ " ${words} " == *" "@(update|system|rsync)" "* ]]; then - # syncing the portage tree is a lonely job - # updating should be done by itself (also lonely) - COMPREPLY='' - - elif [[ " ${words} " == *" --usepkg "* ]] && [[ "${cur} " == @('/'|'.'|'~'|'$')* ]]; then - # In order to complete on a package file, the name must be - # an absolute or realative pathname (even if it is in the - # current directory). This allows completion on both package - # names in /usr/portage and on arbitrary *.tbz2 packages. - # - # I'm planning to come up with a more elegant solution, but - # that will have to wait for another update. (The only thing - # that is really annoying right now is when specifying a - # *.tbz2 file in or below the current directory, you have - # to prefix the path with "./".) - COMPREPLY='' - - else - cd "${portagedir}" - grepcmd="grep -E ^${cur}.*" - sedcmd="sed -e /^[^-]*$/d" - - if [ ${COMP_CWORD} -eq 1 ]; then - # If emerge hasn't been given any args yet, include "rsync" - # among the system actions. The case where the "--clean" flag - # has been specified is handled above. - systemactions=$'\n'"system"$'\n'"update"$'\n'"rsync" - else - # Only allow these actions if no packages have been specified. - if [[ ! " ${words} " == *" "*[/]*" "* ]]; then - systemactions=$'\n'"system"$'\n'"update" - else - systemactions='' - fi - fi - - if [ "${cur}" ]; then - if [[ "${cur} " == @('/'|'.'|'~'|'$')* ]]; then - COMPREPLY='' - elif [ $(echo "${cur}" | grep '/') ]; then - setbig=$(compgen -G "${cur}*" | ${sedcmd})"${systemactions}" - COMPREPLY=($(echo "${setbig}" | $grepcmd)) - else - setsma=$(compgen -S '/' -G "${cur}*" | ${sedcmd})"${systemactions}" - if [ $(echo "${setsma}" | ${grepcmd} | grep '/' | wc -l) = 1 ]; then - setbig=$(compgen -G "*/*" | ${sedcmd})"${systemactions}" - COMPREPLY=($(echo "${setbig}" | ${grepcmd})) - else - COMPREPLY=($(echo "${setsma}" | ${grepcmd})) - fi - fi - else - setsma=$(compgen -S '/' -G "${cur}*" | ${sedcmd})"${systemactions}" - COMPREPLY=($(echo "${setsma}")) - fi - - cd "${origdir}" - fi - - # (Adapted from bash_completion by Ian Macdonald <ian@caliban.org>) - # This removes any options from the list of completions that have - # already been specified on the command line. - COMPREPLY=($(echo "${COMP_WORDS[@]}" | \ - (while read -d ' ' i; do - [ "${i}" == "" ] && continue - # flatten array with spaces on either side, - # otherwise we cannot grep on word boundaries of - # first and last word - COMPREPLY=" ${COMPREPLY[@]} " - # remove word from list of completions - COMPREPLY=(${COMPREPLY/ ${i%% *} / }) - done - echo ${COMPREPLY[@]}))) - - return 0 -} -complete -o default -F _emerge emerge - -# -# ebuild completion command -# -_ebuild() -{ - local cur prev - COMPREPLY=() - cur=${COMP_WORDS[COMP_CWORD]} - prev=${COMP_WORDS[COMP_CWORD-1]} - if [ $COMP_CWORD -eq 1 ]; then - #COMPREPLY=( $( compgen -o filenames -X '!*.ebuild' $cur ) ) - COMPREPLY=($(compgen -o filenames)) - elif [ $COMP_CWORD -eq 2 ]; then - COMPREPLY=( $( compgen -W 'check \ - clean compile config \ - depend digest \ - fetch \ - help \ - install \ - merge \ - package postinst postrm preinst prerm \ - qmerge \ - rcheck remerge rpm \ - setup \ - touch \ - unmerge unpack' $cur ) ) - fi - return 0 -} -complete -o default -F _ebuild ebuild - -# -# rc-update completion command -# -_rcupdate() -{ - local cur prev initdir runlvdir origdir - origdir=${PWD} - initdir=/etc/init.d - runlvdir=/etc/runlevels - COMPREPLY=() - cur=${COMP_WORDS[COMP_CWORD]} - prev=${COMP_WORDS[COMP_CWORD-1]} - if [ $COMP_CWORD -eq 1 ]; then - COMPREPLY=( $( compgen -W 'add del' ${cur} ) ) - elif [ $COMP_CWORD -eq 2 ]; then - cd ${initdir} - COMPREPLY=( $( compgen -G "${cur}*" ) ) - cd ${origdir} - elif [ $COMP_CWORD -eq 3 ]; then - cd ${runlvdir} - COMPREPLY=( $( compgen -G "${cur}*" ) ) - cd ${origdir} - fi - return 0 -} -complete -F _rcupdate rc-update - -# -# gcc-config completion command -# -_gccconfig() -{ - local cur curword numwords opts - COMPREPLY=() - cur=${COMP_WORDS[COMP_CWORD]} - numwords=${#COMP_WORDS[*]} - curword=${COMP_CWORD} - if [ ${numwords} -gt 3 ]; then - return 0 - fi - if [[ "${cur}" == -* ]] || [ ${curword} -eq 1 ]; then - if [ ${numwords} -le 2 ] && [ ${curword} -eq 1 ]; then - opts="--use-old \ - --use-portage-chost \ - --get-current-profile \ - --list-profiles \ - --print-environ \ - --get-bin-path \ - --get-lib-path \ - --get-stdcxx-incdir" - else - opts="" - fi - elif [ ${numwords} -le 3 ] && [ ${curword} -eq 2 ]; then - case "${COMP_WORDS[1]}" in - "--print-environ"|"--get-bin-path"|"--get-lib-path"|"--get-stdcxx-incdir") - opts=$(gcc-config --list-profiles) - ;; - *) - opts="" - ;; - esac - else - opts="" - fi - COMPREPLY=($(compgen -W "${opts}" | grep ^$cur)) - return 0 -} -complete -F _gccconfig gcc-config - -_javaconfig() -{ - local cur curword numwords opts args arg spec flag sedcmd grepcmd - local multiplepkgs pkgs execopts - COMPREPLY=() - cur=${COMP_WORDS[COMP_CWORD]} - numwords=${#COMP_WORDS[*]} - curword=${COMP_CWORD} - opts="" - args="" - pkgs="" - sedcmd="sed -r -e s/\[([^]]+)\].*/\1/" - vmsedcmd="sed -r -e s/\[([^]]+)\]/\1/" - grepcmd="egrep -o (--set-(system|user)-(classpath|vm)=)" - multiplepkgs="" - execopts="HtmlConverter JavaPluginControlPanel \ - appletviewer awt_robot \ - extcheck \ - idlj \ - j2sdk-config jar jarsigner \ - java java-rmi.cgijava_vm javac javadoc javah javap jdb \ - keytool kinit klist ktab \ - native2ascii \ - oldjava oldjavac oldjdb orbd \ - policytool \ - realpath rmic rmid rmiregistry \ - serialver servertool \ - tnameserv" - if [[ "${cur}" == -* ]] || [ ${curword} -eq 1 ]; then - case "${cur}" in - "--java") - opts="--java --javac --java-version" - ;; - --j@(a@(r|va@(c|-version))|@(dk|re)-home)) - opts="" - ;; - --list-available-@(packages|vms)) - opts="" - ;; - --@(exec|set-@(user|system)-@(classpath|vm))) - opts="${cur}=" - ;; - --set-@(user|system)-@(classpath|vm)=) - if [[ "${cur}" == "--set-system-vm=" ]] || [[ "${cur}" == "--set-user-vm=" ]]; then - flag="--list-available-vms" - args=$(java-config "${flag}" | cut --delimiter=' ' --fields=2 | ${vmsedcmd}) - else - flag="--list-available-packages" - args=$(java-config "${flag}" | ${sedcmd}) - fi - #echo "$(java-config ${flag})" >> output - #args=$(java-config "${flag}" | ${sedcmd}) - for arg in ${args} - do - [ "${opts}" ] && opts="${opts} ${arg}" || opts="${arg}" - done - COMPREPLY=($(compgen -o nospace -W "${opts}")) - return 0 - ;; - "--exec=") - COMPREPLY=($(compgen -o nospace -W "${execopts}")) - return 0 - ;; - *) - if [[ "${cur}" == "--set-system-vm="* ]] || [[ "${cur}" == "--set-user-vm="* ]]; then - args=$(java-config --list-available-vms | cut --delimiter=' ' --fields=2 | ${vmsedcmd}) - # spec=$(echo "${cur}" | egrep -o "(--set-(system|user)-(classpath|vm)=)") - # spec=$(echo "${cur}" | ${grepcmd}) - if [[ "${cur}" == "--set-system-vm="* ]]; then - spec=${cur##--set-system-vm=} - else - spec=${cur##--set-user-vm=} - fi - for arg in ${args} - do - if [[ "${arg:0:${#spec}}" == "${spec}" ]]; then - [ "${opts}" ] && opts="${opts} ${arg}" || opts="${arg}" - fi - done - [[ "${opts}" == "${spec}" ]] && opts="" - COMPREPLY=($(compgen -W "${opts}")) - return 0 - elif [[ "${cur}" == "--set-system-classpath="* ]] || [[ "${cur}" == "--set-user-classpath="* ]]; then - args=$(java-config --list-available-packages | ${sedcmd}) - [ $(echo "${cur}" | grep -c ",") -gt 0 ] && multiplepkgs="true" - # spec=$(echo "${cur}" | ${grepcmd}) - if [[ "${cur}" == "--set-system-classpath="* ]]; then - spec="${cur##--set-system-classpath=}" - else - spec="${cur##--set-user-classpath=}" - fi - if [[ "${multiplepkgs}" ]]; then - pkgs="${spec%,*}" - spec="${spec##*,}" - fi - if [[ "${multiplepkgs}" ]]; then - for arg in ${args} - do - if [[ "${spec}" ]]; then - if [[ "${arg:0:${#spec}}" == "${spec}" ]] \ - && [[ ! $(echo "${cur}" | egrep -o "(=|,)${arg},") ]]; then - [ "${opts}" ] && opts="${opts} ${pkgs},${arg}" || opts="${pkgs},${arg}" - fi - else - if [[ ! $(echo "${cur}" | egrep -o "(=|,)${arg},") ]]; then - [ "${opts}" ] && opts="${opts} ${pkgs},${arg}" || opts="${pkgs},${arg}" - fi - fi - done - [[ "${opts}" == "${pkgs},${spec}" ]] && opts="" - else - for arg in ${args} - do - if [[ "${spec}" ]] && [[ "${arg:0:${#spec}}" == "${spec}" ]]; then - [ "${opts}" ] && opts="${opts} ${arg}" || opts="${arg}" - fi - done - [[ "${opts}" == "${spec}" ]] && opts="" - fi - COMPREPLY=($(compgen -W "${opts}")) - return 0 - elif [[ "${cur}" == "--exec="* ]]; then - spec=${cur##--exec=} - for arg in ${execopts} - do - if [[ "${arg:0:${#spec}}" == "${spec}" ]]; then - [ "${opts}" ] && opts="${opts} ${arg}" || opts="${arg}" - fi - done - [[ "${opts}" == "${spec}" ]] && opts="" - COMPREPLY=($(compgen -W "${opts}")) - return 0 - else - opts="--javac \ - --java \ - --jar \ - --jdk-home \ - --jre-home \ - --java-version \ - --classpath \ - --full-classpath \ - --exec \ - --list-available-packages \ - --list-available-vms \ - --set-system-vm \ - --set-user-vm \ - --set-system-classpath \ - --set-user-classpath \ - --clean-system-classpath" - fi - ;; - esac - else - opts="" - fi - COMPREPLY=($(compgen -o nospace -W "${opts}" | grep ^${cur})) - return 0 -} -complete -o nospace -F _javaconfig java-config - -_openglupdate() -{ - local cur opts - COMPREPLY=() - cur=${COMP_WORDS[COMP_CWORD]} - numwords=${#COMP_WORDS[*]} - if [ ${numwords} -gt 2 ]; then - return 0 - fi - COMPREPLY=($(compgen -W 'nvidia xfree' $cur)) - COMPREPLY=($(echo " ${COMP_WORDS[@]}" | \ - (while read -d ' ' i; do - [ "$i" == "" ] && continue - # flatten array with spaces on either side, - # otherwise we cannot grep on word - # boundaries of first and last word - COMPREPLY=" ${COMPREPLY[@]} " - # remove word from list of completions - COMPREPLY=( ${COMPREPLY/ $i / }) - done - echo ${COMPREPLY[@]}))) - return 0 -} -complete -F _openglupdate opengl-update diff --git a/app-shells/bash-completion/files/gentoo.completion-20040210 b/app-shells/bash-completion/files/gentoo.completion-20040210-r1 index a6f588279851..5a46801f29b0 100644 --- a/app-shells/bash-completion/files/gentoo.completion-20040210 +++ b/app-shells/bash-completion/files/gentoo.completion-20040210-r1 @@ -484,11 +484,11 @@ _javaconfig() do [ "${opts}" ] && opts="${opts} ${arg}" || opts="${arg}" done - COMPREPLY=($(compgen -o nospace -W "${opts}")) + COMPREPLY=($(compgen $nospace -W "${opts}")) return 0 ;; "--exec=") - COMPREPLY=($(compgen -o nospace -W "${execopts}")) + COMPREPLY=($(compgen $nospace -W "${execopts}")) return 0 ;; *) @@ -583,10 +583,10 @@ _javaconfig() else opts="" fi - COMPREPLY=($(compgen -o nospace -W "${opts}" | grep ^${cur})) + COMPREPLY=($(compgen $nospace -W "${opts}" | grep ^${cur})) return 0 } -complete -o nospace -F _javaconfig java-config +complete $nospace -F _javaconfig java-config _openglupdate() { |