--- sshscreen.txt 2009-06-05 23:12:27.000000000 +0200 +++ vnctermworking.txt 2009-06-05 23:13:15.000000000 +0200 @@ -1,22 +1,25 @@ BASH=/bin/bash BASH_ARGC=() BASH_ARGV=() -BASH_COMPLETION=/usr/share/bash-completion/base -BASH_COMPLETION_DIR=/etc/bash_completion.d BASH_LINENO=() -BASH_REMATCH=() BASH_SOURCE=() BASH_VERSINFO=([0]="3" [1]="2" [2]="39" [3]="1" [4]="release" [5]="i686-pc-linux-gnu") BASH_VERSION='3.2.39(1)-release' -COLUMNS=81 +COLUMNS=80 CONFIG_PROTECT='/opt/glftpd/etc /opt/glftpd/ftp-data' CONFIG_PROTECT_MASK='/etc/sandbox.d /etc/udev/rules.d /etc/fonts/fonts.conf /etc/gconf /etc/terminfo /etc/ca-certificates.conf /etc/revdep-rebuild' CVS_RSH=ssh +DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-BQeCO2n7nr,guid=3a948cfeedc708698d9b83214a298a54 +DESKTOP_SESSION=fluxbox DIRSTACK=() +DISPLAY=127.0.0.1:1.0 EDITOR=/usr/bin/vim EUID=1001 GCC_SPECS= GDK_USE_XFT=1 +GDMSESSION=fluxbox +GDM_LANG=C +GDM_XSERVER_LOCATION=xdmcp GROUPS=() HISTFILE=/home/XXX/.bash_history HISTFILESIZE=500 @@ -27,16 +30,15 @@ IFS=$' \t\n' INFOPATH=/usr/share/info:/usr/share/binutils-data/i686-pc-linux-gnu/2.18/info:/usr/share/gcc-data/i686-pc-linux-gnu/4.1.2/info LADSPA_PATH=/usr/lib/ladspa +LANG=C LESS='-R -M --shift 5' LESSOPEN='|lesspipe.sh %s' -LINES=59 +LINES=24 LOGNAME=azaroth LS_COLORS='di=1:fi=0:ln=31:pi=5:so=5:bd=5:cd=5:or=4;31:mi=0:ex=32:tw=32:ow=32:*.rpm=90' MACHTYPE=i686-pc-linux-gnu -MAIL=/var/mail/azaroth MAILCHECK=60 MANPATH=/usr/local/share/man:/usr/share/man:/usr/share/binutils-data/i686-pc-linux-gnu/2.18/man:/usr/share/gcc-data/i686-pc-linux-gnu/4.1.2/man:/usr/qt/3/doc/man -OLDPWD=/home/azaroth/.irssi OPENGL_PROFILE=xorg-x11 OPTERR=1 OPTIND=1 @@ -45,3964 +47,28 @@ PATH=/usr/local/bin:/usr/bin:/bin:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/4.1.2:/usr/qt/3/bin PIPESTATUS=([0]="0") PKG_CONFIG_PATH=/usr/qt/3/lib/pkgconfig -PPID=2608 +PPID=2516 +PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}\007"' PS1='\u\[\033[01;31m\]@\[\033[00m\]\h \w>\[\033[00m\] ' PS2='> ' PS4='+ ' PWD=/home/azaroth QMAKESPEC=linux-g++ QTDIR=/usr/qt/3 -SHELL=bash -SHELLOPTS=braceexpand:emacs:hashall:histexpand:interactive-comments:monitor +SHELL=/bin/bash +SHELLOPTS=braceexpand:emacs:hashall:histexpand:history:interactive-comments:monitor SHLVL=2 -SSH_CLIENT='81.236.229.247 62275 22' -SSH_CONNECTION='81.236.229.247 62275 192.168.1.35 22' -SSH_TTY=/dev/pts/0 -STY=2608.pts-0.morax -TERM=screen-256color -TERMCAP=$'SC|screen-256color|VT 100/ANSI X3.64 virtual terminal:\\\n\t:DO=\\E[%dB:LE=\\E[%dD:RI=\\E[%dC:UP=\\E[%dA:bs:bt=\\E[Z:\\\n\t:cd=\\E[J:ce=\\E[K:cl=\\E[H\\E[J:cm=\\E[%i%d;%dH:ct=\\E[3g:\\\n\t:do=^J:nd=\\E[C:pt:rc=\\E8:rs=\\Ec:sc=\\E7:st=\\EH:up=\\EM:\\\n\t:le=^H:bl=^G:cr=^M:it#8:ho=\\E[H:nw=\\EE:ta=^I:is=\\E)0:\\\n\t:li#60:co#81:am:xn:xv:LP:sr=\\EM:al=\\E[L:AL=\\E[%dL:\\\n\t:cs=\\E[%i%d;%dr:dl=\\E[M:DL=\\E[%dM:im=\\E[4h:ei=\\E[4l:mi:\\\n\t:IC=\\E[%d@:ks=\\E[?1h\\E=:ke=\\E[?1l\\E>:vi=\\E[?25l:\\\n\t:ve=\\E[34h\\E[?25h:vs=\\E[34l:ti=\\E[?1049h:te=\\E[?1049l:\\\n\t:us=\\E[4m:ue=\\E[24m:so=\\E[3m:se=\\E[23m:mb=\\E[5m:\\\n\t:md=\\E[1m:mr=\\E[7m:me=\\E[m:ms:\\\n\t:Co#8:pa#64:AF=\\E[3%dm:AB=\\E[4%dm:op=\\E[39;49m:AX:\\\n\t:vb=\\Eg:G0:as=\\E(0:ae=\\E(B:\\\n\t:ac=\\140\\140aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~..--++,,hhII00:\\\n\t:k0=\\E[10~:k3=\\EOR:k4=\\EOS:k5=\\E[15~:k6=\\E[17~:\\\n\t:k7=\\E[18~:k;=\\E[21~:F1=\\E[23~:F2=\\E[24~:F3=\\E[25~:\\\n\t:F4=\\E[26~:F5=\\E[28~:F6=\\E[29~:F7=\\E[31~:F8=\\E[32~:\\\n\t:F9=\\E[33~:FA=\\E[34~:kb=^H:K1=\\EOw:K2=\\EOu:K3=\\EOy:\\\n\t:K4=\\EOq:K5=\\EOs:kB=\\E[Z:kE=\\E[8\\^:*4=\\E[3$:*7=\\E[8$:\\\n\t:#2=\\E[7$:#3=\\E2$:#4=\\E[d:%c=\\E[6$:%e=\\E[5$:%i=\\E[c:\\\n\t:kh=\\E[1~:@1=\\E[1~:kH=\\E[4~:@7=\\E[4~:kN=\\E[6~:kP=\\E[5~:\\\n\t:kI=\\E[2~:kD=\\E[3~:ku=\\EOA:kd=\\EOB:kr=\\EOC:kl=\\EOD:' +SSH_AGENT_PID=2510 +SSH_AUTH_SOCK=/tmp/ssh-xoPmpz2486/agent.2486 +TERM=xterm UID=1001 USER=azaroth -WINDOW=1 -_=-F -_ImageMagick () -{ - local prev; - prev=${COMP_WORDS[COMP_CWORD-1]}; - case "$prev" in - -channel) - COMPREPLY=($( compgen -W 'Red Green Blue Opacity \ - Matte Cyan Magenta Yellow Black' -- $cur )); - return 0 - ;; - -colormap) - COMPREPLY=($( compgen -W 'shared private' -- $cur )); - return 0 - ;; - -colorspace) - COMPREPLY=($( compgen -W 'GRAY OHTA RGB Transparent \ - XYZ YCbCr YIQ YPbPr YUV CMYK' -- $cur )); - return 0 - ;; - -compose) - COMPREPLY=($( compgen -W 'Over In Out Atop Xor Plus \ - Minus Add Subtract Difference Multiply Bumpmap\ - Copy CopyRed CopyGreen CopyBlue CopyOpacity' -- $cur )); - return 0 - ;; - -compress) - COMPREPLY=($( compgen -W 'None BZip Fax Group4 JPEG \ - Lossless LZW RLE Zip' -- $cur )); - return 0 - ;; - -dispose) - COMPREPLY=($( compgen -W 'Undefined None Background \ - Previous' -- $cur )); - return 0 - ;; - -encoding) - COMPREPLY=($( compgen -W 'AdobeCustom AdobeExpert \ - AdobeStandard AppleRoman BIG5 GB2312 Latin2 \ - None SJIScode Symbol Unicode Wansung' -- $cur)); - return 0 - ;; - -endian) - COMPREPLY=($( compgen -W 'MSB LSB' -- $cur )); - return 0 - ;; - -filter) - COMPREPLY=($( compgen -W 'Point Box Triangle Hermite \ - Hanning Hamming Blackman Gaussian Quadratic \ - Cubic Catrom Mitchell Lanczos Bessel Sinc' -- $cur )); - return 0 - ;; - -format) - COMPREPLY=($( convert -list format | awk '/ [r-][w-][+-] / {print $1}' | tr -d '*' | tr [:upper:] [:lower:] | grep "^$cur" )); - return 0 - ;; - -gravity) - COMPREPLY=($( compgen -W 'Northwest North NorthEast \ - West Center East SouthWest South SouthEast' -- $cur )); - return 0 - ;; - -intent) - COMPREPLY=($( compgen -W 'Absolute Perceptual \ - Relative Saturation' -- $cur )); - return 0 - ;; - -interlace) - COMPREPLY=($( compgen -W 'None Line Plane Partition' -- $cur )); - return 0 - ;; - -limit) - COMPREPLY=($( compgen -W 'Disk File Map Memory' -- $cur )); - return 0 - ;; - -list) - COMPREPLY=($( compgen -W 'Delegate Format Magic \ - Module Resource Type' -- $cur )); - return 0 - ;; - -map) - COMPREPLY=($( compgen -W 'best default gray red \ - green blue' -- $cur )); - _filedir; - return 0 - ;; - -noise) - COMPREPLY=($( compgen -W 'Uniform Gaussian \ - Multiplicative \ - Impulse Laplacian Poisson' -- $cur )); - return 0 - ;; - -preview) - COMPREPLY=($( compgen -W 'Rotate Shear Roll Hue \ - Saturation Brightness Gamma Spiff \ - Dull Grayscale Quantize Despeckle \ - ReduceNoise AddNoise Sharpen Blur \ - Treshold EdgeDetect Spread Shade \ - Raise Segment Solarize Swirl Implode \ - Wave OilPaint CharcoalDrawing JPEG' -- $cur )); - return 0 - ;; - -@(mask|profile|texture|tile|write)) - _filedir; - return 0 - ;; - -type) - COMPREPLY=($( compgen -W 'Bilevel Grayscale Palette \ - PaletteMatte TrueColor TrueColorMatte \ - ColorSeparation ColorSeparationlMatte \ - Optimize' -- $cur )); - return 0 - ;; - -units) - COMPREPLY=($( compgen -W 'Undefined PixelsPerInch \ - PixelsPerCentimeter' -- $cur )); - return 0 - ;; - -virtual-pixel) - COMPREPLY=($( compgen -W 'Constant Edge mirror tile' -- $cur )); - return 0 - ;; - -visual) - COMPREPLY=($( compgen -W 'StaticGray GrayScale \ - StaticColor PseudoColor TrueColor \ - DirectColor defaut visualid' -- $cur )); - return 0 - ;; - esac -} -_alias () -{ - local cur; - COMPREPLY=(); - cur=`_get_cword`; - case "$COMP_LINE" in - *[^=]) - COMPREPLY=($( compgen -A alias -- $cur )) - ;; - *=) - COMPREPLY=("$( alias ${cur%=} 2>/dev/null | sed -e 's|^alias '$cur'\(.*\)$|\1|' )") - ;; - esac -} -_animate () -{ - local cur; - COMPREPLY=(); - cur=`_get_cword`; - _ImageMagick; - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-alpha -authenticate -backdrop \ - -background -bordercolor -borderwidth -channel \ - -coalesce -colormap -colors -colorspace -crop -debug \ - -decipher -define -delay -density -depth -display \ - -dispose -dither -extract -filter -flatten -font \ - -foreground -format -gamma -geometry -help \ - -iconGeometry -iconic -identify -immutable -interlace \ - -interpolate -limit -list -log -loop -map -mattecolor \ - -mattecolor -monitor -monochrome -name -page -pause \ - -quantize -quiet -regard-warnings -remote -repage \ - -resample -resize -respect-parenthesis -rotate \ - -sampling-factor -scenes -seed -set -shared-memory \ - -size -strip -title -transparent-color -treedepth \ - -trim -verbose -version -virtual-pixel -visual \ - -window' -- $cur )); - else - if [[ "$cur" == +* ]]; then - COMPREPLY=($( compgen -W '+debug +dither +gamma +map +matte' -- $cur )); - else - _filedir; - fi; - fi -} -_available_interfaces () -{ - local cmd; - if [ "${1:-}" = -w ]; then - cmd="iwconfig"; - else - if [ "${1:-}" = -a ]; then - cmd="ifconfig"; - else - cmd="ifconfig -a"; - fi; - fi; - COMPREPLY=($( eval $cmd 2>/dev/null | sed -ne 's|^\('$cur'[^[:space:][:punct:]]\{1,\}\).*$|\1|p')) -} -_bzip2 () -{ - local cur prev xspec; - COMPREPLY=(); - cur=`_get_cword`; - prev=${COMP_WORDS[COMP_CWORD-1]}; - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-c -d -f -h -k -L -q -s \ - -t -v -V -z -1 -2 -3 -4 -5 -6 -7 -8 -9 \ - --help --decompress --compress --keep --force \ - --test --stdout --quiet --verbose --license \ - --version --small --fast --best' -- $cur )); - return 0; - fi; - local IFS=' -'; - xspec="*.bz2"; - if [[ "$prev" == --* ]]; then - [[ "$prev" == --decompress || "$prev" == --list || "$prev" == --test ]] && xspec="!"$xspec; - [[ "$prev" == --compress ]] && xspec=; - else - if [[ "$prev" == -* ]]; then - [[ "$prev" == -*[dt]* ]] && xspec="!"$xspec; - [[ "$prev" == -*z* ]] && xspec=; - fi; - fi; - _expand || return 0; - COMPREPLY=($( compgen -f -X "$xspec" -- $cur ) $( compgen -d -- $cur )) -} -_cancel () -{ - local cur; - COMPREPLY=(); - cur=`_get_cword`; - COMPREPLY=($( lpstat | cut -d' ' -f1 | grep "^$cur" )) -} -_cd () -{ - local IFS=' -' cur=`_get_cword` i j k; - if [[ "$cur" == ?(\\)\$* ]]; then - COMPREPLY=($( compgen -v -P '$' -- "${cur#?(\\)$}" )); - return 0; - fi; - compgen -f /non-existing-dir/ > /dev/null; - if [ -z "${CDPATH:-}" ] || [[ "$cur" == ?(.)?(.)/* ]]; then - _filedir -d; - return 0; - fi; - local -r mark_dirs=$(_rl_enabled mark-directories && echo y); - local -r mark_symdirs=$(_rl_enabled mark-symlinked-directories && echo y); - for i in ${CDPATH//:/' '}; - do - k="${#COMPREPLY[@]}"; - for j in $( compgen -d $i/$cur ); - do - if [[ ( -n $mark_symdirs && -h $j || -n $mark_dirs && ! -h $j ) && ! -d ${j#$i/} ]]; then - j="${j}/"; - fi; - COMPREPLY[k++]=${j#$i/}; - done; - done; - _filedir -d; - if [[ ${#COMPREPLY[@]} -eq 1 ]]; then - i=${COMPREPLY[0]}; - if [ "$i" == "$cur" ] && [[ $i != "*/" ]]; then - COMPREPLY[0]="${i}/"; - fi; - fi; - return 0 -} -_chgrp () -{ - local cur prev; - COMPREPLY=(); - cur=`_get_cword`; - cur=${cur//\\\\/}; - prev=${COMP_WORDS[COMP_CWORD-1]}; - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-c -h -f -R -v --changes \ - --dereference --no-dereference --silent --quiet \ - --reference= --recursive --verbose --help --version' -- $cur )); - return 0; - fi; - if [ $COMP_CWORD -eq 1 ] && [[ "$cur" != -* ]] || [[ "$prev" == -* ]] && [ -n "$bash205" ]; then - local IFS=' -'; - COMPREPLY=($( compgen -g $cur 2>/dev/null )); - else - _filedir || return 0; - fi; - return 0 -} -_chown () -{ - local cur; - cur=`_get_cword`; - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-c -h -f -R -v --changes \ - --dereference --no-dereference --from= --silent --quiet \ - --reference= --recursive --verbose --help --version' -- $cur )); - else - _count_args; - case $args in - 1) - _usergroup - ;; - *) - _filedir - ;; - esac; - fi -} -_chsh () -{ - local cur prev; - COMPREPLY=(); - cur=`_get_cword`; - prev=${COMP_WORDS[COMP_CWORD-1]}; - if [ "$prev" = "-s" ]; then - if [ -f /etc/debian_version ]; then - COMPREPLY=($( &/dev/null; then - cspec=$( complete -p $cmd ); - if [ "${cspec#* -F }" != "$cspec" ]; then - func=${cspec#*-F }; - func=${func%% *}; - if [[ ${#COMP_WORDS[@]} -ge 2 ]]; then - $func $cmd "${COMP_WORDS[${#COMP_WORDS[@]}-1]}" "${COMP_WORDS[${#COMP_WORDS[@]}-2]}"; - else - $func $cmd "${COMP_WORDS[${#COMP_WORDS[@]}-1]}"; - fi; - if [ "${cspec#*-o }" != "$cspec" ]; then - cspec=${cspec#*-o }; - cspec=${cspec%% *}; - if [[ "$cspec" != @(dir|file)names ]]; then - COMPREPLY=("${COMPREPLY[@]//\\\\:/:}"); - fi; - fi; - else - if [ -n "$cspec" ]; then - cspec=${cspec#complete}; - cspec=${cspec%%$cmd}; - COMPREPLY=($( eval compgen "$cspec" -- "$cur" )); - fi; - fi; - fi; - fi; - [ ${#COMPREPLY[@]} -eq 0 ] && _filedir -} -_compare () -{ - local cur; - COMPREPLY=(); - cur=`_get_cword`; - _ImageMagick; - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-alpha -authenticate -channel \ - -colorspace -compress -debug -decipher -define \ - -density -depth -encipher -extract -format -fuzz \ - -help -highlight-color -identify -interlace -limit \ - -list -log -metric -monitor -passphrase -profile \ - -quality -quantize -quiet -regard-warnings \ - -respect-parenthesis -sampling-factor -seed -set \ - -size -transparent-color -type -verbose -version \ - -virtual-pixel' -- $cur )); - else - if [[ "$cur" == +* ]]; then - COMPREPLY=($( compgen -W '+debug' -- $cur )); - else - _filedir; - fi; - fi -} -_complete () -{ - local cur prev options; - COMPREPLY=(); - cur=`_get_cword`; - prev=${COMP_WORDS[COMP_CWORD-1]}; - case $prev in - -o) - options="default dirnames filenames"; - [ -n "$bash205b" ] && options="$options nospace"; - [ -n "$bash3" ] && options="$options bashdefault plusdirs"; - COMPREPLY=($( compgen -W "$options" -- $cur )); - return 0 - ;; - -A) - COMPREPLY=($( compgen -W 'alias arrayvar binding \ - builtin command directory disabled enabled \ - export file function group helptopic hostname \ - job keyword running service setopt shopt \ - signal stopped user variable' -- $cur )); - return 0 - ;; - -C) - COMPREPLY=($( compgen -A command -- $cur )); - return 0 - ;; - -F) - COMPREPLY=($( compgen -A function -- $cur )); - return 0 - ;; - -@(p|r)) - COMPREPLY=($( complete -p | sed -e 's|.* ||' | grep "^$cur" )); - return 0 - ;; - esac; - if [[ "$cur" == -* ]]; then - options="-a -b -c -d -e -f -g -j -k -s -v -u -A -G -W -P -S -X -F -C"; - [ -n "$bash205" ] && options="$options -o"; - COMPREPLY=($( compgen -W "$options" -- $cur )); - else - COMPREPLY=($( compgen -A command -- $cur )); - fi -} -_composite () -{ - local cur; - COMPREPLY=(); - cur=`_get_cword`; - _ImageMagick; - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-affine -alpha -authenticate \ - -blend -blue-primary -border -bordercolor -channel \ - -colors -colorspace -comment -compose -compress \ - -debug -decipher -define -density -depth -displace \ - -display -dispose -dissolve -dither -encipher \ - -encoding -endian -extract -filter -font -format \ - -geometry -gravity -green-primary -help -identify \ - -interlace -interpolate -label -limit -list -log \ - -monitor -monochrome -negate -page -profile -quality \ - -quantize -quiet -red-primary -regard-warnings \ - -repage -resize -respect-parenthesis -rotate \ - -sampling-factor -scene -seed -sharpen -shave -size \ - -stegano -stereo -strip -swap -thumbnail -tile \ - -transform -transparent-color -treedepth -type -units \ - -unsharp -verbose -version -virtual-pixel -watermark \ - -white-point -write' -- $cur )); - else - if [[ "$cur" == +* ]]; then - COMPREPLY=($( compgen -W '+compress +debug +dither +endian +label \ - +matte +negate +page +write' -- $cur )); - else - _filedir; - fi; - fi -} -_configure_func () -{ - local cur; - COMPREPLY=(); - cur=`_get_cword`; - [[ "$cur" != -* ]] && return 0; - if [ -n "$COMP_CONFIGURE_HINTS" ]; then - COMPREPLY=($( $1 --help 2>&1 | awk '/^ --[A-Za-z]/ { print $1; if ($2 ~ /--[A-Za-z]/) print $2 }' | sed -e 's/[[,].*//g' | grep ^$cur )); - else - COMPREPLY=($( $1 --help 2>&1 | awk '/^ --[A-Za-z]/ { print $1; if ($2 ~ /--[A-Za-z]/) print $2 }' | sed -e 's/[[,=].*//g' | grep ^$cur )); - fi -} -_configured_interfaces () -{ - if [ -f /etc/debian_version ]; then - COMPREPLY=($( sed -ne 's|^iface \([^ ]\+\).*$|\1|p' /etc/network/interfaces )); - else - if [ -f /etc/SuSE-release ]; then - COMPREPLY=($( command ls /etc/sysconfig/network/ifcfg-* | sed -ne 's|.*ifcfg-\('$cur'.*\)|\1|p' )); - else - if [ -f /etc/pld-release ]; then - COMPREPLY=($( command ls -B /etc/sysconfig/interfaces | sed -ne 's|.*ifcfg-\('$cur'.*\)|\1|p' )); - else - COMPREPLY=($( command ls /etc/sysconfig/network-scripts/ifcfg-* | sed -ne 's|.*ifcfg-\('$cur'.*\)|\1|p' )); - fi; - fi; - fi -} -_conjure () -{ - local cur; - COMPREPLY=(); - cur=`_get_cword`; - _ImageMagick; - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-debug -help -list -log -monitor \ - -quiet -regard-warnings -seed -verbose \ - -version' -- $cur )); - else - if [[ "$cur" == +* ]]; then - COMPREPLY=($( compgen -W '+debug' -- $cur )); - else - _filedir; - fi; - fi -} -_convert () -{ - local cur; - COMPREPLY=(); - cur=`_get_cword`; - _ImageMagick; - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-adaptive-blur -adaptive-resize \ - -adaptive-sharpen -adjoin -affine -alpha -annotate \ - -antialias -append -attenuate -authenticate \ - -auto-orient -average -background -bench -bias \ - -black-point-compensation -black-threshold \ - -blue-primary -blur -border -bordercolor -caption \ - -channel -charcoal -chop -clip -clip-mask -clip-path \ - -clone -clut -coalesce -colorize -colors -colorspace \ - -combine -comment -compose -composite -compress \ - -contrast -contrast-stretch -convolve -crop -cycle \ - -debug -decipher -deconstruct -define -delay -delete \ - -density -depth -despeckle -display -dispose -distort \ - -dither -draw -edge -emboss -encipher -encoding \ - -endian -enhance -equalize -evaluate -extent -extract \ - -family -fill -filter -flatten -flip -floodfill -flop \ - -font -format -frame -fuzz -fx -gamma -gaussian-blur \ - -geometry -gravity -green-primary -help -identify \ - -implode -insert -intent -interlace -interpolate \ - -label -lat -layers -level -limit -linear-stretch \ - -liquid-rescale -list -log -loop -map -mask \ - -mattecolor -median -modulate -monitor -monochrome \ - -morph -mosaic -motion-blur -negate -noise -normalize \ - -opaque -ordered-dither -orient -page -paint -ping \ - -pointsize -polaroid -posterize -preview -print \ - -process -profile -quality -quantize -quiet \ - -radial-blur -raise -random-threshold -recolor \ - -red-primary -regard-warnings -region -render -repage \ - -resample -resize -respect-parenthesis -reverse -roll \ - -rotate -sample -sampling-factor -scale -scene -seed \ - -segment -separate -sepia-tone -set -shade -shadow \ - -sharpen -shave -shear -sigmoidal-contrast -size \ - -sketch -solarize -splice -spread -stretch -strip \ - -stroke -strokewidth -style -swap -swirl -taint \ - -texture -threshold -thumbnail -tile -tile-offset \ - -tint -transform -transparent -transparent-color \ - -transpose -transverse -treedepth -trim -type \ - -undercolor -unique-colors -units -unsharp -verbose \ - -version -view -vignette -virtual-pixel -wave \ - -weight -white-point -white-threshold \ - -write' -- $cur )); - else - if [[ "$cur" == +* ]]; then - COMPREPLY=($( compgen -W '+adjoin +append +compress \ - +contrast +debug +dither +endian +gamma +label +map \ - +mask +matte +negate +noise +page +raise +render \ - +write' -- $cur )); - else - _filedir; - fi; - fi -} -_count_args () -{ - args=1; - for ((i=1; i < COMP_CWORD; i++ )) - do - if [[ "${COMP_WORDS[i]}" != -* ]]; then - args=$(($args+1)); - fi; - done -} -_cpio () -{ - local cur; - COMPREPLY=(); - cur=`_get_cword`; - prev=${COMP_WORDS[COMP_CWORD-1]}; - case $prev in - -H) - _cpio_format; - return 0 - ;; - -@(E|F|I)) - _filedir; - return 0 - ;; - -R) - _usergroup; - return 0 - ;; - esac; - if [[ "$cur" == *=* ]]; then - prev=${cur/=*/}; - cur=${cur/*=/}; - case $prev in - --format) - _cpio_format; - return 0 - ;; - --@(file|pattern-file)) - _filedir; - return 0 - ;; - --owner) - _usergroup; - return 0 - ;; - --rsh-command) - COMPREPLY=($( compgen -c -- $cur )); - return 0 - ;; - esac; - fi; - if [ $COMP_CWORD -eq 1 ]; then - COMPREPLY=($( compgen -W '-o --create -i --extract -p --pass-through' -- $cur)); - else - case ${COMP_WORDS[1]} in - -@(o|-create)) - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-0 -a -c -v -A -B\ - -L -V -C -H -M -O -F --file= --format=\ - --message= --null --reset-access-time\ - --verbose --dot --append --block-size=\ - --dereference --io-size= --quiet\ - --force-local --rsh-command= --help\ - --version' -- $cur )); - fi - ;; - -@(i|-extract)) - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-b -c -d -f -m -n -r\ - -t -s -u -v -B -S -V -C -E -H -M -R -I\ - -F --file= --make-directories\ - --nonmatching\ - --preserve-modification-time\ - --numeric-uid-gid --rename -t --list\ - --swap-bytes --swap --dot\ - --unconditional --verbose --block-size=\ - --swap-halfwords --io-size=\ - --pattern-file= --format= --owner=\ - --no-preserve-owner --message=\ - --force-local --no-absolute-filenames\ - --sparse --only-verify-crc --quiet\ - --rsh-command= --help\ - --version' -- $cur )); - fi - ;; - -@(p|-pass-through)) - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-0 -a -d -l -m -u -v\ - -L -V -R --null --reset-access-time\ - --make-directories --link --quiet\ - --preserve-modification-time\ - --unconditional --verbose --dot\ - --dereference --owner=\ - --no-preserve-owner --sparse --help\ - --version' -- $cur )); - else - _filedir -d; - fi - ;; - esac; - fi -} -_cpio_format () -{ - COMPREPLY=($( compgen -W 'bin odc newc crc tar ustar hpbin hpodc' -- $cur )) -} -_dd () -{ - local cur; - COMPREPLY=(); - cur=`_get_cword`; - case "$cur" in - if=* | of=*) - cur=${cur#*=}; - _filedir; - return 0 - ;; - conv=*) - cur=${cur#*=}; - COMPREPLY=($( compgen -W 'ascii ebcdic ibm block unblock \ - lcase notrunc ucase swab noerror sync' -- $cur )); - return 0 - ;; - esac; - _expand || return 0; - COMPREPLY=($( compgen -W '--help --version' -- $cur ) $( compgen -W 'bs cbs conv count ibs if obs of seek skip' -S '=' -- $cur )) -} -_display () -{ - local cur; - COMPREPLY=(); - cur=`_get_cword`; - _ImageMagick; - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-alpha -antialias -authenticate \ - -auto-orient -backdrop -background -border \ - -bordercolor -borderwidth -channel -clip \ - -clip-path -coalesce -colormap -colors -colorspace \ - -comment -compress -contrast -crop -debug -decipher \ - -define -delay -density -depth -despeckle -display \ - -dispose -dither -edge -endian -enhance -extract \ - -filter -flatten -flip -flop -font -foreground \ - -format -frame -gamma -geometry -help -iconGeometry \ - -iconic -identify -immutable -interlace -interpolate \ - -label -limit -list -log -loop -map -mattecolor \ - -monitor -monochrome -name -negate -page -profile \ - -quality -quantize -quiet -raise -regard-warnings \ - -remote -repage -resample -resize \ - -respect-parenthesis -roll -rotate -sample \ - -sampling-factor -scenes -seed -segment -set \ - -shared-memory -sharpen -size -strip -texture -title \ - -transparent-color -treedepth -trim -update \ - -usePixmap -verbose -version -virtual-pixel -visual \ - -window -window-group -write' -- $cur )); - else - if [[ "$cur" == +* ]]; then - COMPREPLY=($( compgen -W '+compress +contrast +debug +dither \ - +endian +gamma +label +map +matte +negate +page \ - +raise +write' -- $cur )); - else - _filedir; - fi; - fi -} -_ebuild () -{ - local cur opts; - COMPREPLY=(); - cur="${COMP_WORDS[COMP_CWORD]}"; - opts="help setup clean fetch digest manifest unpack compile test preinst install postinst qmerge merge unmerge prerm postrm config package rpm"; - if [[ $COMP_CWORD -eq 1 ]]; then - COMPREPLY=($(compgen -f -X "!*.ebuild" -- ${cur}) $(compgen -d -- ${cur}) $(compgen -W '--debug --force' -- ${cur})); - else - if [[ $COMP_CWORD -eq 2 && "${COMP_WORDS[1]}" = "--debug --force" ]]; then - COMPREPLY=($(compgen -f -X "!*.ebuild" -- ${cur}) $(compgen -d -- ${cur})); - else - if [[ $COMP_CWORD -ge 2 ]]; then - COMPREPLY=($(compgen -W "${opts}" -- ${cur})); - fi; - fi; - fi; - return 0 -} -_emerge () -{ - local c cur prev curword numwords opts cond prepend; - local words stophere i x; - local action actionpos sysactions pkgpos; - local portdir=$(_portdir -o); - COMPREPLY=(); - cur="${COMP_WORDS[COMP_CWORD]}"; - prev="${COMP_WORDS[COMP_CWORD-1]}"; - numwords=${#COMP_WORDS[*]}; - curword=${COMP_CWORD}; - opts=''; - if [[ ${prev} == '>' || ${prev} == '<' ]]; then - COMPREPLY=($(compgen -f -- ${cur})); - return 0; - fi; - for x in ${COMP_LINE}; - do - if [[ ${x} =~ ^(system|world)$ ]] || [[ ${x} =~ -[CPcs] ]] || [[ ${x} =~ --(clean|config|depclean|info|metadata|prune|regen|resume|search|sync|unmerge) ]]; then - action=${x}; - break; - fi; - done; - if [[ -n ${action} ]]; then - for ((i = 0; i < ${numwords}; i++ )) - do - if [[ ${COMP_WORDS[${i}]} == "${action}" ]]; then - actionpos=${i}; - pkgpos=$((actionpos + 1)); - break; - fi; - done; - if [[ ${action} == -* && ${action} != --* ]]; then - case "${action}" in - -*C*) - action='--unmerge' - ;; - -*P*) - action='--prune' - ;; - -*c*) - action='--clean' - ;; - -*s*) - action='--search' - ;; - esac; - fi; - else - for ((i = 1; i < ${numwords}; i++ )) - do - if [[ ! ${COMP_WORDS[$i]} == -* ]]; then - pkgpos=${i}; - break; - fi; - done; - [[ -z ${pkgpos} ]] && pkgpos=${numwords}; - fi; - if [[ ${action} == "--search" ]] || [[ ${COMP_LINE} == *" "-@(S|-searchdesc)* ]] || [[ ${COMP_LINE} == *" "-@(V|-version)* ]] || [[ ${action} == "--metadata" ]]; then - unset COMPREPLY; - return 0; - else - if [[ ${COMP_LINE} == *" "-@(h|-help)* ]]; then - unset COMPREPLY; - [[ ${curword} -eq 2 ]] && COMPREPLY=($(compgen -W 'system world --sync' -- ${cur})); - return 0; - fi; - fi; - if [[ ${cur} == -* ]]; then - if [[ ${COMP_LINE} =~ --(resume|skipfirst) ]]; then - if [[ ${cur} == --* ]]; then - opts="--ask --pretend --resume --skipfirst"; - else - if [[ ${cur} == -* ]]; then - [[ ${COMP_LINE} =~ --(ask|pretend) ]] && opts="-a -p"; - fi; - fi; - else - if [[ ${cur} == --* ]]; then - opts="--alphabetical --ask --buildpkg --buildpkgonly --changelog --clean --color=y --color=n --columns --complete-graph --config --debug --deep --depclean --emptytree --fetch-all-uri --fetchonly --getbinpkg --getbinpkgonly --ignore-default-opts --info --jobs= --keep-going --metadata --newuse --noconfmem --nodeps --noreplace --nospinner --oneshot --onlydeps --pretend --prune --quiet --reinstall=changed-use --regen --search --sync --tree --unmerge --update --upgradeonly --usepkg --usepkgonly --verbose --with-bdeps=y --with-bdeps=n"; - if [[ ${curword} -eq 1 ]] && [[ ${numwords} -eq 2 ]]; then - opts="${opts} --help --resume --searchdesc --version"; - fi; - else - if [[ ${cur} == -* ]]; then - opts="-B -D -G -K -N -O -a -b -d -e -f -g -k -l -n -o -p -q -t -u -v"; - if [[ ${curword} -eq 1 ]] && [[ ${numwords} -eq 2 ]]; then - opts="${opts} -h -S -V"; - fi; - if [[ -z ${action} ]] && [[ ${curword} -eq $((pkgpos - 1)) ]]; then - opts="${opts} -C -P -c -s"; - fi; - fi; - fi; - fi; - COMPREPLY=($(compgen -W "${opts}" -- ${cur})); - COMPREPLY=($(echo "${COMP_WORDS[@]}" | (while read -d ' ' i; do - [[ -z ${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; - fi; - if [[ ${action} =~ (system|world) ]] || [[ ${COMP_LINE} =~ --(depclean|metadata|regen|resume|skipfirst|sync) ]]; then - unset COMPREPLY; - return 0; - fi; - if [[ "${action}" == '--unmerge' ]]; then - if [[ -n "${cur}" ]]; then - if [[ "${cur}" == */* ]]; then - words=$(builtin cd /var/db/pkg; compgen -G "${cur}*"); - else - words=$(builtin cd /var/db/pkg; compgen -S '/' -G "${cur}*"); - local n=0; - for i in ${words}; - do - [[ ${i} == ${cur}* ]] && n=$((n+1)); - done; - if [[ ${n} -eq 1 ]]; then - words="$(builtin cd /var/db/pkg ; compgen -G "*-*/*")"; - fi; - fi; - COMPREPLY=($(for i in ${words} ; do [[ ${i} == ${cur}* ]] && echo ${i} ; done)); - else - COMPREPLY=($(builtin cd /var/db/pkg ; compgen -S '/' -G "*-*")); - fi; - [[ -z "${COMPREPLY}" ]] && _pkgname_only ${cur} /var/db/pkg; - return 0; - fi; - cond="${cur%%[A-Za-z0-9]*}"; - cur="${cur:${#cond}}"; - if [[ ${cond:0:1} == "'" || ${cond:0:1} == '"' ]]; then - prepend="-P ${cond:1}"; - c="${cond:1}"; - else - c="${cond}"; - fi; - if [[ -n "${cond}" ]]; then - if [[ -n "${cur}" ]]; then - if [[ ${cur} == */* ]]; then - if [[ ${cur} == *-[0-9]* ]]; then - words="$( for pd in ${portdir} ; do builtin cd ${pd} ; local cat="${cur%/*}" ; local pkg="$(echo ${cur%-[0-9]*})" ; pkg="${pkg##*/}" ; for x in ${cat}/${pkg}/*.ebuild ; do [[ -f ${x} ]] || continue ; x="${x/${pkg}\/}" ; echo "${x%*.ebuild}" ; done ; done)"; - else - words="$( for pd in ${portdir} ; do builtin cd ${pd}; compgen -X "*metadata.xml" -G "${cur}*" -- ${cur} ; done)"; - fi; - local w; - for x in $words; - do - w="${x}\n${w}"; - done; - words=$(echo -ne ${w} | sort | uniq); - COMPREPLY=(${words}); - if [[ ${#COMPREPLY[@]} -le 1 ]]; then - COMPREPLY=($( for pd in ${portdir} ; do if [[ -d ${pd}/metadata/cache ]] ; then - builtin cd ${pd}/metadata/cache; compgen ${prepend} -G "${cur}*" -- "${cur}" ; else builtin cd ${pd} ; local cat="${cur%/*}" ; local pkg="$(echo ${cur%-[0-9]*}*)" ; pkg="${pkg##*/}" ; for x in ${cat}/${pkg}/*.ebuild ; do [[ -f "${x}" ]] || continue ; x="${x/${pkg}\/}" ; if [[ ${cond:0:1} == "'" ]] || [[ ${cond:0:1} == '"' ]] ; then - echo "${c}${x%*.ebuild}" ; else - echo "${x%*.ebuild}" ; fi ; done ; fi ; done)); - else - COMPREPLY=($(compgen ${prepend} -W "${words}" -- $cur)); - fi; - else - words="$( for pd in ${portdir} ; do builtin cd ${pd} ; compgen ${prepend} -S '/' -G "${cur}*" -- "${cur}" ; done)"; - local w; - for x in words; - do - w="${x}\n${w}"; - done; - COMPREPLY=($(echo -e ${w} | uniq)); - [[ ${#COMPREPLY[@]} = 1 ]] && COMPREPLY=($( for pd in ${portdir} ; do builtin cd ${pd} ; compgen ${prepend} -G "${cur}*/*" -- "${cur}" ; done)); - fi; - else - words="$( for pd in ${portdir} ; do builtin cd ${pd}; compgen -G "*-*"; done)"; - COMPREPLY=($(compgen -W "${words}" -- "${cur}")); - fi; - if [[ -z "${COMPREPLY}" ]]; then - words="$( for pd in ${portdir} ; do builtin cd ${pd}; for i in *-*/${cur}*; do [[ -d $i ]] && echo ${i##*/}; done ; done)"; - COMPREPLY=($(compgen ${prepend} -W "${words}" -- ${cur})); - if [[ ${#COMPREPLY[@]} -le 1 ]]; then - words="$( for pd in ${portdir} ; do if [[ -d ${pd}/metadata/cache ]] ; then builtin cd ${pd}/metadata/cache; for i in */${cur}*; do [[ -f $i ]] && echo ${i##*/}; done ; fi ; done)"; - COMPREPLY=($(compgen ${prepend} -W "${words}" -- "${cur}")); - fi; - fi; - return 0; - fi; - if [[ ${COMP_CWORD} -eq 1 ]] || [[ ! " ${COMP_LINE} " == *" "*[/]*" "* ]]; then - sysactions=' -'"system"' -'"world"; - else - sysactions=''; - fi; - if [[ -n "${cur}" ]]; then - if [[ ${cur} == virtual/* ]]; then - words=$( for pd in ${portdir} ; do if [[ -d ${pd}/profiles ]] ; then - find ${pd}/profiles -name virtuals -exec sed -n -e 's|^\(virtual/[[:alnum:]]\+\).*$|\1|p' {} \; | sort -u - fi ; done); - else - if [[ ${cur} == */* ]]; then - words=$( for pd in ${portdir} ; do builtin cd ${pd}; compgen -X "*metadata.xml" -G "${cur}*" ; done)"${sysactions}"; - else - local ww=$( for pd in ${portdir} ; do builtin cd ${pd} ; compgen -S '/' -G "${cur}*"; done)"${sysactions}"; - ww="${ww} $( for pd in ${portdir} ; do if [[ -d ${pd}/profiles ]] ; then - find ${pd}/profiles -name virtuals -exec sed -n -e 's|^\(virtual/[[:alnum:]]\+\).*$|\1|p' {} \; | sort -u - fi ; done)"; - local w; - for x in ${ww}; - do - w="${x}\n${w}"; - done; - words=$(echo -e ${w} | sort -u); - local n=0; - for i in ${words}; - do - [[ ${i} == ${cur}* ]] && n=$((n+1)); - done; - if [[ ${n} -eq 1 ]]; then - words=$(for pd in ${portdir} ; do builtin cd ${pd} ; compgen -G "*-*/*" ; done)"${sysactions}"; - fi; - fi; - fi; - COMPREPLY=($(for i in ${words} ; do [[ ${i} == ${cur}* ]] && echo ${i} ; done)); - else - words="$( for pd in ${portdir} ; do builtin cd ${pd} ; compgen -S '/' -G "*-*" ; done)""${sysactions}"; - COMPREPLY=($(compgen -W "${words}" -- ${cur})); - fi; - if [[ -z "${COMPREPLY}" ]]; then - words="$( for pd in ${portdir} ; do builtin cd ${pd}; for i in [a-z]*-[a-z0-9]*/${cur}*; do [[ -d $i ]] && echo ${i##*/}; done ; done)"; - COMPREPLY=($(compgen -W "${words}" -- ${cur})); - fi; - return 0 -} -_equery () -{ - local cur prev mode portdir i j; - portdir=$(_portdir); - mode="GLOBAL"; - COMPREPLY=(); - cur="${COMP_WORDS[COMP_CWORD]}"; - prev="${COMP_WORDS[COMP_CWORD-1]}"; - j=0; - for i in "${COMP_WORDS[@]}"; - do - if [[ $j -lt $COMP_CWORD ]]; then - j=$((j + 1)); - case $i in - @(belongs|ch@(anges|eck)|dep@(ends|graph)|files|glsa|list|s@(ize|tats)|uses|which|hasuse|b|c|k|d|g|f|a|h|l|s|t|u|w)) - mode=$i - ;; - esac; - fi; - done; - case $mode in - GLOBAL) - case $cur in - -*) - COMPREPLY=($(compgen -W "-q --quiet -C --nocolor -h --help -V --version" -- $cur)) - ;; - *) - COMPREPLY=($(compgen -W "belongs changes check depends depgraph files glsa hasuse list size stats uses which" -- $cur)) - ;; - esac - ;; - c?(hanges) | a | glsa | t | stats) - echo -n "# Not implemented! " - ;; - f?(iles)) - if [[ ${prev} == ${mode} || ${prev:0:1} == "-" ]]; then - if [[ ${prev} == "-f" || "${cur}" == "--filter="* ]]; then - COMPREPLY=($(_list_compgen "${cur#--filter=}" , dir,obj,sym,dev,fifo,path,conf,cmd,doc,man,info)); - return 0; - fi; - case $cur in - --f*) - COMPREPLY=($(compgen -P "--filter=" -W "dir obj sym dev fifo path conf cmd doc man info")) - ;; - -*) - COMPREPLY=($(compgen -W "--help --timestamp --md5sum - --type --filter=" -- $cur)) - ;; - *) - _pkgname -I $cur - ;; - esac; - fi - ;; - l?(ist)) - if [[ ${prev} == ${mode} || ${prev:0:1} == "-" ]]; then - case "${cur}" in - -*) - COMPREPLY=($(compgen -W "--help -i --installed -I --exclude-installed -p --portage-tree -o --overlay-tree" -- $cur)) - ;; - *) - case "${prev}" in - -i | --installed) - _pkgname -I $cur - ;; - *) - _pkgname -A $cur - ;; - esac - ;; - esac; - fi - ;; - b?(elongs)) - if [[ ${prev} == ${mode} || ${prev:0:1} == "-" || ${COMP_WORDS[COMP_CWORD-2]} == "-c" || ${COMP_WORDS[COMP_CWORD-2]} == "--category" ]] && [[ ${prev} != "-c" && ${prev} != "--category" ]]; then - case $cur in - -*) - COMPREPLY=($(compgen -W "--help -c --category -e --earlyout" -- $cur)) - ;; - *) - COMPREPLY=($(compgen -f -- $cur) $(compgen -d -S '/' -- $cur)) - ;; - esac; - else - if [[ ${prev} == "-c" || ${prev} == "--category" ]]; then - COMPREPLY=($(builtin cd ${portdir}/metadata/cache; compgen -W "$(compgen -G '*')" -- $cur)); - fi; - fi - ;; - @(u?(ses)|w?(hich))) - if [[ ${prev} == ${mode} ]]; then - _pkgname -A $cur; - COMPREPLY=($(compgen -W "${COMPREPLY[@]} --help" -- ${cur})); - fi - ;; - g | depgraph) - if [[ ${prev} == ${mode} || ${prev:0:1} == "-" ]]; then - case $cur in - -*) - COMPREPLY=($(compgen -W "--help -U --no-useflags -l --linear" -- $cur)) - ;; - *) - _pkgname -I $cur - ;; - esac; - fi - ;; - d?(epends)) - if [[ ${prev} == ${mode} || ${prev:0:1} == "-" ]]; then - case $cur in - -*) - COMPREPLY=($(compgen -W "--help -a --all-packages -d --direct -D --indirect" -- $cur)) - ;; - *) - case $prev in - -a | --all-packages) - _pkgname -A $cur - ;; - *) - _pkgname -I $cur - ;; - esac - ;; - esac; - fi - ;; - k | check) - if [[ ${prev} == ${mode} ]]; then - _pkgname -I $cur; - COMPREPLY=($(compgen -W "${COMPREPLY[@]} --help" -- ${cur})); - fi - ;; - s?(ize)) - if [[ ${prev} == ${mode} || ${prev:0:1} == "-" ]]; then - case $cur in - -*) - COMPREPLY=($(compgen -W "--help -b --bytes" -- $cur)) - ;; - *) - _pkgname -I $cur - ;; - esac; - fi - ;; - h?(asuse)) - if [[ ${prev} == ${mode} || ${prev:0:1} == "-" ]]; then - case $cur in - -*) - COMPREPLY=($(compgen -W "--help -i --installed -I --exclude-installed -p --portage-tree -o --overlay" -- $cur)) - ;; - *) - local glob loc; - [[ -f ${portdir}/profiles/use.desc ]] || return 0; - [[ -f ${portdir}/profiles/use.local.desc ]] || return 0; - glob=$(sed -n -e 's/^\([^ ]\+\) - .*$/\1/p' ${portdir}/profiles/use.desc); - loc=$(sed -n -e 's/^[^ ]\+:\([^ ]*\) - .*$/\1/p' ${portdir}/profiles/use.local.desc); - COMPREPLY=($(compgen -W "$glob $loc" -- $cur)) - ;; - esac; - fi - ;; - esac; - return 0 -} -_euse () -{ - local cur prev opts sopts use portdir; - COMPREPLY=(); - cur="${COMP_WORDS[COMP_CWORD]}"; - prev="${COMP_WORDS[COMP_CWORD-1]}"; - opts="-h --help -v --version -i --info -I --info-installed -a --active - -E --enable -D --disable -P --prune"; - sopts="-g --global -l --local"; - if [[ ${cur} == -* ]] && [[ ${COMP_CWORD} -eq 1 ]]; then - COMPREPLY=($(compgen -W "${opts}" -- ${cur})); - return 0; - fi; - case "${prev}" in - -h | --help | -v | --version) - COMPREPLY=() - ;; - -a | --active) - COMPREPLY=($(compgen -W "${sopts}" -- ${cur})) - ;; - -i | --info | -I | --info-installed | -E | --enable | -D | --disable | -P | --prune) - portdir=$(_portdir); - use="$(sed -n -e 's/^\([^ ]\+\) - .*$/\1/p' ${portdir}/profiles/use.desc) $(sed -n -e 's/^[^ ]\+:\([^ ]*\) - .*$/\1/p' ${portdir}/profiles/use.local.desc)"; - COMPREPLY=($(compgen -W "${use} ${sopts}" -- ${cur})) - ;; - *) - local l=0 g=0; - if [[ ${COMP_LINE} == *" "@(-l|--local)* ]]; then - l=1; - else - if [[ ${COMP_LINE} == *" "@(-g|--global)* ]]; then - g=1; - fi; - fi; - if [[ ${COMP_LINE} == *" "@(-i|--info|-I|--info-installed|-E|--enable|-D|--disable|-P|--prune)* ]]; then - portdir=$(_portdir); - if [[ ${l} -eq 1 ]]; then - use=$(sed -n -e 's/^[^ ]\+:\([^ ]*\) - .*$/\1/p' ${portdir}/profiles/use.local.desc); - else - if [[ ${g} -eq 1 ]]; then - use=$(sed -n -e 's/^\([^ ]\+\) - .*$/\1/p' ${portdir}/profiles/use.desc); - fi; - fi; - COMPREPLY=($(compgen -W "${use}" -- ${cur})); - fi - ;; - esac -} -_expand () -{ - if [[ "$cur" == \~*/* ]]; then - eval cur=$cur; - else - if [[ "$cur" == \~* ]]; then - cur=${cur#\~}; - COMPREPLY=($( compgen -P '~' -u $cur )); - [ ${#COMPREPLY[@]} -eq 1 ] && eval COMPREPLY[0]=${COMPREPLY[0]}; - return ${#COMPREPLY[@]}; - fi; - fi -} -_export () -{ - local cur; - COMPREPLY=(); - cur=`_get_cword`; - case "$COMP_LINE" in - *=\$*) - COMPREPLY=($( compgen -v -P '$' -- ${cur#*=\$} )) - ;; - *[^=]) - COMPREPLY=($( compgen -v -S '=' -- $cur )) - ;; - *=) - COMPREPLY=("$( eval echo -n \"$`echo ${cur%=}`\" | - ( echo -n \' - sed -e 's/'\''/'\''\\\'\'''\''/g' - echo -n \' ) )") - ;; - esac -} -_filedir () -{ - local IFS=' -' xspec; - _expand || return 0; - local -a toks; - local tmp; - toks=(${toks[@]-} $( - compgen -d -- "$(quote_readline "$cur")" | { - while read -r tmp; do - echo $tmp - done - } - )); - if [[ "$1" != -d ]]; then - xspec=${1:+"!*.$1"}; - toks=(${toks[@]-} $( - compgen -f -X "$xspec" -- "$(quote_readline "$cur")" | { - while read -r tmp; do - [ -n $tmp ] && echo $tmp - done - } - )); - fi; - COMPREPLY=("${COMPREPLY[@]}" "${toks[@]}") -} -_filedir_xspec () -{ - local IFS cur xspec; - IFS=' -'; - COMPREPLY=(); - cur=`_get_cword`; - _expand || return 0; - xspec=$( sed -ne '/^complete .*[ ]'${1##*/}'\([ ]\|$\)/{p;q;}' $BASH_COMPLETION ); - xspec=${xspec#*-X }; - xspec=${xspec%% *}; - local -a toks; - local tmp; - toks=(${toks[@]-} $( - compgen -d -- "$(quote_readline "$cur")" | { - while read -r tmp; do - # see long TODO comment in _filedir() --David - echo $tmp - done - } - )); - toks=(${toks[@]-} $( - eval compgen -f -X "$xspec" -- "\$(quote_readline "\$cur")" | { - while read -r tmp; do - [ -n $tmp ] && echo $tmp - done - } - )); - COMPREPLY=("${toks[@]}") -} -_find () -{ - local cur prev i exprfound onlyonce; - COMPREPLY=(); - cur=`_get_cword`; - prev=${COMP_WORDS[COMP_CWORD-1]}; - case "$prev" in - -@(max|min)depth) - COMPREPLY=($( compgen -W '0 1 2 3 4 5 6 7 8 9' -- $cur )); - return 0 - ;; - -?(a|c)newer | -fls | -fprint?(0|f) | -?(i)?(l)name | -?(i)wholename) - _filedir; - return 0 - ;; - -fstype) - [ -e /proc/filesystems ] && COMPREPLY=($( cut -d' ' -f 2 /proc/filesystems | grep "^$cur" )); - return 0 - ;; - -gid) - _gids; - return 0 - ;; - -group) - if [ -n "$bash205" ]; then - COMPREPLY=($( compgen -g -- $cur 2>/dev/null)); - fi; - return 0 - ;; - -?(x)type) - COMPREPLY=($( compgen -W 'b c d p f l s' -- $cur )); - return 0 - ;; - -uid) - _uids; - return 0 - ;; - -user) - COMPREPLY=($( compgen -u -- $cur )); - return 0 - ;; - -exec | -ok) - COMP_WORDS=(COMP_WORDS[0] $cur); - COMP_CWORD=1; - _command; - return 0 - ;; - -[acm]min | -[acm]time | -?(i)?(l)?(whole)name | -inum | -?(i)path | -?(i)regex | -links | -perm | -size | -used | -printf) - return 0 - ;; - esac; - _expand || return 0; - for i in ${COMP_WORDS[@]}; - do - [[ "$i" = [-\(\),\!]* ]] && exprfound=1 && break; - done; - if [ "$exprfound" != 1 ] && [[ "$cur" != [-\(\),\!]* ]]; then - _filedir -d; - return 0; - fi; - COMPREPLY=($( compgen -W '-daystart -depth -follow -help -maxdepth \ - -mindepth -mount -noleaf -version -xdev -amin -anewer \ - -atime -cmin -cnewer -ctime -empty -false -fstype \ - -gid -group -ilname -iname -inum -ipath -iregex \ - -wholename \ - -links -lname -mmin -mtime -name -newer -nouser \ - -nogroup -perm -regex -size -true -type -uid -used \ - -user -xtype -exec -fls -fprint -fprint0 -fprintf -ok \ - -print -print0 -printf -prune -ls -wholename -iwholename' -- $cur )); - onlyonce=' -daystart -depth -follow -help -maxdepth -mindepth -mount \ - -noleaf -version -xdev '; - COMPREPLY=($( echo "${COMP_WORDS[@]}" | (while read -d ' ' i; do - [ "$i" == "" ] || - [ "${onlyonce/ ${i%% *} / }" == "$onlyonce" ] && - 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[@]}") - )); - _filedir; - return 0 -} -_function () -{ - local cur prev; - COMPREPLY=(); - cur=`_get_cword`; - prev=${COMP_WORDS[COMP_CWORD-1]}; - if [[ $1 == @(declare|typeset) ]]; then - if [ "$prev" = -f ]; then - COMPREPLY=($( compgen -A function -- $cur )); - else - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-a -f -F -i -r -x -p' -- $cur )); - fi; - fi; - else - if [ $COMP_CWORD -eq 1 ]; then - COMPREPLY=($( compgen -A function -- $cur )); - else - COMPREPLY=("() $( type -- ${COMP_WORDS[1]} | sed -e 1,2d )"); - fi; - fi -} -_gcc () -{ - local cur cc backend; - COMPREPLY=(); - cur=`_get_cword`; - _expand || return 0; - case "$1" in - gcj) - backend=jc1 - ;; - gpc) - backend=gpc1 - ;; - *77) - backend=f771 - ;; - *) - backend=cc1 - ;; - esac; - if [[ "$cur" == -* ]]; then - cc=$( $1 -print-prog-name=$backend ); - COMPREPLY=($( $cc --help 2>/dev/null | tr '\t' ' ' | sed -e '/^ *-/!d' -e 's/ *-\([^ ]*\).*/-\1/' | command grep "^$cur" | sort -u )); - else - _filedir; - fi -} -_gcc_config () -{ - local cur prev opts; - COMPREPLY=(); - cur="${COMP_WORDS[COMP_CWORD]}"; - prev="${COMP_WORDS[COMP_CWORD-1]}"; - opts="-O --use-old -P --use-portage-chost -c --get-current-profile -l --list-profiles -E --print-environ -B --get-bin-path -L --get-lib-path -X --get-stdcxx-incdir"; - if [[ "${cur}" == -* ]]; then - COMPREPLY=($(compgen -W "${opts}" -- ${cur})); - return 0; - else - if [[ ${COMP_CWORD} -eq 1 ]]; then - COMPREPLY=($(compgen -W "${opts}" -- ${cur}) $(compgen -W "$(gcc-config -l | sed -r -e 's/(\[([^]]*)\]) //g')" -- ${cur})); - return 0; - fi; - fi; - case "${prev}" in - -O | --use-old | -P | --use-portage-chost | -c | --get-current-profile | -l | --list-profiles) - COMPREPLY=() - ;; - *) - COMPREPLY=($(compgen -W " $(gcc-config -l | sed -r -e 's/(\[([^]]*)\]) //g')" -- ${cur})) - ;; - esac -} -_gentoo_style_init () -{ - local script="${COMP_WORDS[0]}"; - local cur="${COMP_WORDS[$COMP_CWORD]}"; - if [[ ( -f "${script}" || -h "${script}" ) && -r "${script}" ]] && [[ "${script}" != *.sh ]] && [[ "$(head -n 1 "${script}")" = "#!/sbin/runscript" ]]; then - [[ $COMP_CWORD -gt 1 ]] && return 1; - COMPREPLY=($(opts="start stop status restart pause zap ineed needsme iuse usesme broken"; eval "$(grep '^opts=' "${script}")"; echo "${opts}")); - [[ -n "$COMPREPLY" ]] || COMPREPLY=(start stop restart zap); - COMPREPLY=($(compgen -W "${COMPREPLY[*]}" -- "${cur}")); - else - COMPREPLY=($(compgen -o default -- "${cur}")); - fi; - return 0 -} -_get_cword () -{ - if [[ "${#COMP_WORDS[COMP_CWORD]}" -eq 0 ]] || [[ "$COMP_POINT" == "${#COMP_LINE}" ]]; then - printf "%s" "${COMP_WORDS[COMP_CWORD]}"; - else - local i; - local cur="$COMP_LINE"; - local index="$COMP_POINT"; - for ((i = 0; i <= COMP_CWORD; ++i )) - do - while [[ "${#cur}" -ge ${#COMP_WORDS[i]} ]] && [[ "${cur:0:${#COMP_WORDS[i]}}" != "${COMP_WORDS[i]}" ]]; do - cur="${cur:1}"; - index="$(( index - 1 ))"; - done; - if [[ "$i" -lt "$COMP_CWORD" ]]; then - local old_size="${#cur}"; - cur="${cur#${COMP_WORDS[i]}}"; - local new_size="${#cur}"; - index="$(( index - old_size + new_size ))"; - fi; - done; - if [[ "${COMP_WORDS[COMP_CWORD]:0:${#cur}}" != "$cur" ]]; then - printf "%s" "${COMP_WORDS[COMP_CWORD]}"; - else - printf "%s" "${cur:0:$index}"; - fi; - fi -} -_getent () -{ - local cur prev; - COMPREPLY=(); - cur=`_get_cword`; - prev=${COMP_WORDS[COMP_CWORD-1]}; - case $prev in - passwd) - COMPREPLY=($( compgen -u $cur )); - return 0 - ;; - group) - COMPREPLY=($( compgen -g $cur )); - return 0 - ;; - services) - COMPREPLY=($( compgen -s $cur )); - return 0 - ;; - hosts) - COMPREPLY=($( compgen -A hostname $cur )); - return 0 - ;; - protocols | networks | ahosts | ahostsv4 | ahostsv6 | rpc) - COMPREPLY=($( getent $prev | sed -ne 's|^\('$cur'[^[:space:]]*\).*|\1|p' )); - return 0 - ;; - aliases | shadow) - COMPREPLY=($( getent $prev | sed -ne 's|^\('$cur'[^:]*\).*|\1|p' )); - return 0 - ;; - esac; - if [ $COMP_CWORD -eq 1 ]; then - COMPREPLY=($( compgen -W 'passwd group hosts services \ - protocols networks ahosts ahostsv4 \ - ahostsv6 aliases ethers netgroup \ - rpc shadow' -- $cur )); - fi -} -_gids () -{ - if type getent >&/dev/null; then - COMPREPLY=($( getent group | awk -F: '{if ($3 ~ /^'$cur'/) print $3}' )); - else - if type perl >&/dev/null; then - COMPREPLY=($( compgen -W '$( perl -e '"'"'while (($gid) = (getgrent)[2]) { print $gid . "\n" }'"'"' )' -- $cur )); - else - COMPREPLY=($( awk 'BEGIN {FS=":"} {if ($3 ~ /^'$cur'/) print $3}' /etc/group )); - fi; - fi -} -_glsa_check () -{ - local cur opts; - COMPREPLY=(); - cur="${COMP_WORDS[COMP_CWORD]}"; - opts="-l --list -d --dump --print -t --test -p --pretend -f --fix -i - --inject -n --nocolor -e --emergelike -h --help -V --version -v --verbose - -c --cve -m --mail"; - if [[ ${cur} == -* || ${COMP_CWORD} -eq 1 ]]; then - COMPREPLY=($(compgen -W "${opts}" -- ${cur})); - return 0; - fi; - if [[ ! -f ${ROOT}/tmp/gc.out ]] || [[ $(stat ${ROOT}/tmp/gc.out | sed -n -e 's/^Modify: \([[:digit:]]\+-[[:digit:]]\+-[[:digit:]]\+\).*$/\1/p') != "$(date +%F)" ]]; then - glsa-check -nl 2> /dev/null | sed -n -e 's/^\([[:digit:]]\+-[[:digit:]]\+\) .*$/\1/p' > ${ROOT}/tmp/gc.out; - fi; - COMPREPLY=($(compgen -W "${opts} $(< ${ROOT}/tmp/gc.out)" -- ${cur})) -} -_gpg () -{ - local cur prev; - COMPREPLY=(); - cur=`_get_cword`; - prev=${COMP_WORDS[COMP_CWORD-1]}; - case "$prev" in - -@(s|-sign|-clearsign|-decrypt-files|-load-extension)) - _filedir; - return 0 - ;; - --@(export|@(?(l|nr|nrl)sign|edit)-key)) - COMPREPLY=($( compgen -W "$( gpg --list-keys 2>/dev/null | sed -ne 's@^pub.*/\([^ ]*\).*$@\1@p;s@^.*\(<\([^>]*\)>\).*$@\2@p')" -- "$cur" )); - return 0 - ;; - -@(r|-recipient)) - COMPREPLY=($( compgen -W "$( gpg --list-keys 2>/dev/null | sed -ne 's@^.*<\([^>]*\)>.*$@\1@p')" -- "$cur" )); - if [ -e ~/.gnupg/gpg.conf ]; then - COMPREPLY=("${COMPREPLY[@]}" $( compgen -W "$( sed -ne 's@^[ \t]*group[ \t][ \t]*\([^=]*\).*$@\1@p' ~/.gnupg/gpg.conf )" -- "$cur")); - fi; - return 0 - ;; - esac; - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-s -b -e -f -c -d -a -r -u -Z -o -v\ - -q -n -N $(gpg --dump-options)' -- $cur )); - fi -} -_gzip () -{ - local cur prev xspec helpopts; - COMPREPLY=(); - cur=`_get_cword`; - prev=${COMP_WORDS[COMP_CWORD-1]}; - helpopts=`_parse_help gzip`; - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W "$helpopts -2 -3 -4 -5 -6 -7 -8" -- "$cur" )); - return 0; - fi; - local IFS=' -'; - xspec="*.?(t)gz"; - if [[ "$prev" == --* ]]; then - [[ "$prev" == --decompress || "$prev" == --list || "$prev" == --test ]] && xspec="!"$xspec; - [[ "$prev" == --force ]] && xspec=; - else - if [[ "$prev" == -* ]]; then - [[ "$prev" == -*[dlt]* ]] && xspec="!"$xspec; - [[ "$prev" == -*f* ]] && xspec=; - else - if [ "$prev" = '>' ]; then - xspec=; - else - if [ "$prev" = '<' ]; then - xspec=; - fi; - fi; - fi; - fi; - _expand || return 0; - COMPREPLY=($( compgen -f -X "$xspec" -- $cur ) $( compgen -d -- $cur )) -} -_iconv () -{ - local cur prev; - COMPREPLY=(); - cur=`_get_cword`; - prev=${COMP_WORDS[COMP_CWORD-1]}; - case "$prev" in - -@(f|t|-@(from|to)-code)) - COMPREPLY=($( compgen -W '$( iconv --list | sed -e "s@//@@;" )' -- "$cur" )); - return 0 - ;; - esac; - if [[ "$cur" = -* ]]; then - COMPREPLY=($( compgen -W '--from-code -f --to-code -t --list - --output -o --verbose' -- "$cur" )); - return 0; - fi -} -_id () -{ - local cur; - COMPREPLY=(); - cur=`_get_cword`; - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-a -g --group -G --groups -n --name\ - -r --real -u --user --help --version' -- $cur )); - else - COMPREPLY=($( compgen -u $cur )); - fi -} -_identify () -{ - local cur; - COMPREPLY=(); - cur=`_get_cword`; - _ImageMagick; - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-alpha -antialias -authenticate \ - -channel -colorspace -crop -debug -define -density \ - -depth -extract -format -fuzz -gamma -help -interlace \ - -interpolate -limit -list -log -monitor -ping -quiet \ - -regard-warnings -respect-parenthesis \ - -sampling-factor -seed -set -size -strip -units \ - -verbose -version -virtual-pixel' -- $cur )); - else - if [[ "$cur" == +* ]]; then - COMPREPLY=($( compgen -W '+debug' -- $cur )); - else - _filedir; - fi; - fi -} -_import () -{ - local cur; - COMPREPLY=(); - cur=`_get_cword`; - _ImageMagick; - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-adjoin -annotate -border -channel \ - -colors -colorspace -comment -compress -crop -debug \ - -define -delay -density -depth -descend -display \ - -dispose -dither -encipher -encoding -endian -filter \ - -format -frame -geometry -gravity -help -identify \ - -interlace -interpolate -label -limit -list -log \ - -monitor -monochrome -negate -page -pause -pointsize \ - -quality -quantize -quiet -regard-warnings -repage \ - -resize -respect-parenthesis -rotate -sampling-factor \ - -scene -screen -seed -set -silent -snaps -strip \ - -thumbnail -transparent -transparent-color -treedepth \ - -trim -type -verbose -version -virtual-pixel \ - -window' -- $cur )); - else - if [[ "$cur" == +* ]]; then - COMPREPLY=($( compgen -W '+debug' -- $cur )); - else - _filedir; - fi; - fi -} -_info () -{ - local cur infopath; - COMPREPLY=(); - cur=`_get_cword`; - _expand || return 0; - if [[ "$cur" == */* ]]; then - _filedir; - return 0; - fi; - infopath='/usr/share/info'; - if [ "${INFOPATH: -1:1}" == ':' ]; then - infopath=${INFOPATH}${infopath}; - else - if [ ${INFOPATH:+set} ]; then - infopath=$INFOPATH; - fi; - fi; - infopath=$infopath:; - if [ -n "$cur" ]; then - infopath="${infopath//://$cur* }"; - else - infopath="${infopath//:// }"; - fi; - COMPREPLY=($( eval command ls "$infopath" 2>/dev/null )); - COMPREPLY=(${COMPREPLY[@]##*/?(:)}); - for ((i=0 ; i < ${#COMPREPLY[@]} ; ++i )) - do - if [ "${COMPREPLY[$i]}" == 'dir' ]; then - unset COMPREPLY[$i]; - fi; - done; - COMPREPLY=(${COMPREPLY[@]%.@(gz|bz2|lzma)}); - COMPREPLY=($( compgen -W '${COMPREPLY[@]%.*}' -- "${cur//\\\\/}" )); - return 0 -} -_insmod () -{ - local cur prev modpath; - COMPREPLY=(); - cur=`_get_cword`; - prev=${COMP_WORDS[COMP_CWORD-1]}; - if [ $1 = "modprobe" ] && [ "${COMP_WORDS[1]}" = "-r" ]; then - _installed_modules "$cur"; - return 0; - fi; - if [[ "$cur" == */* ]]; then - _filedir '@(?(k)o?(.gz))'; - return 0; - fi; - if [ $COMP_CWORD -gt 1 ] && [[ "${COMP_WORDS[COMP_CWORD-1]}" != -* ]]; then - COMPREPLY=($( /sbin/modinfo -p ${COMP_WORDS[1]} 2>/dev/null | awk '{if ($1 ~ /^parm:/ && $2 ~ /^'$cur'/) { print $2 } \ - else if ($1 !~ /:/ && $1 ~ /^'$cur'/) { print $1 }}' )); - else - _modules $(uname -r); - fi; - return 0 -} -_installed_modules () -{ - COMPREPLY=($( compgen -W "$( /sbin/lsmod | awk '{if (NR != 1) print $1}' )" -- $1 )) -} -_iptables () -{ - local cur prev table chain; - COMPREPLY=(); - cur=`_get_cword`; - prev=${COMP_WORDS[COMP_CWORD-1]}; - chain='s/^Chain \([^ ]\+\).*$/\1/p'; - if [[ $COMP_LINE == *-t\ *filter* ]]; then - table="-t filter"; - else - if [[ $COMP_LINE == *-t\ *nat* ]]; then - table="-t nat"; - else - if [[ $COMP_LINE == *-t\ *mangle* ]]; then - table="-t mangle"; - fi; - fi; - fi; - case "$prev" in - -*[AIDRPFXLZ]) - COMPREPLY=($( compgen -W '`iptables $table -nL | \ - sed -ne "s/^Chain \([^ ]\+\).*$/\1/p"`' -- $cur )) - ;; - -*t) - COMPREPLY=($( compgen -W 'nat filter mangle' -- $cur )) - ;; - -j) - if [ "$table" = "-t filter" -o "$table" = "" ]; then - COMPREPLY=($( compgen -W 'ACCEPT DROP LOG ULOG REJECT \ - `iptables $table -nL | sed -ne "$chain" \ - -e "s/INPUT|OUTPUT|FORWARD|PREROUTING|POSTROUTING//"`' -- $cur )); - else - if [ "$table" = "-t nat" ]; then - COMPREPLY=($( compgen -W 'ACCEPT DROP LOG ULOG REJECT \ - MIRROR SNAT DNAT MASQUERADE `iptables $table -nL | \ - sed -ne "$chain" -e "s/OUTPUT|PREROUTING|POSTROUTING//"`' -- $cur )); - else - if [ "$table" = "-t mangle" ]; then - COMPREPLY=($( compgen -W 'ACCEPT DROP LOG ULOG REJECT \ - MARK TOS `iptables $table -nL | sed -ne "$chain" \ - -e "s/INPUT|OUTPUT|FORWARD|PREROUTING|POSTROUTING//"`' -- $cur )); - fi; - fi; - fi - ;; - *) - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-i -o -s -d -p -f -m --append \ - --delete --insert --replace --list --flush --zero --new \ - --delete-chain --policy --rename-chain --proto --source \ - --destination --in-interface --jump --match --numeric \ - --out-interface --table --verbose --line-numbers --exact \ - --fragment --modprobe= --set-counters --version' -- "$cur")); - fi - ;; - esac -} -_kernel_versions () -{ - COMPREPLY=($( command ls /lib/modules | grep "^$cur" )) -} -_kill () -{ - local cur; - COMPREPLY=(); - cur=`_get_cword`; - if [ $COMP_CWORD -eq 1 ] && [[ "$cur" == -* ]]; then - _signals; - else - _pids; - fi -} -_killall () -{ - local cur; - COMPREPLY=(); - cur=`_get_cword`; - if [ $COMP_CWORD -eq 1 ] && [[ "$cur" == -* ]]; then - _signals; - else - _pnames; - fi; - return 0 -} -_known_hosts () -{ - local configfile; - local cur curd ocur user suffix aliases global_kh user_kh hosts i host; - local -a kh khd config; - COMPREPLY=(); - cur=`_get_cword`; - ocur=$cur; - local OPTIND=1; - while getopts "acF:" flag "$@"; do - case $flag in - a) - aliases='yes' - ;; - c) - suffix=':' - ;; - F) - configfile="$OPTARG" - ;; - esac; - done; - [[ $cur == *@* ]] && user=${cur%@*}@ && cur=${cur#*@}; - kh=(); - if [ -n "$configfile" ]; then - [ -r "$configfile" ] && config=("${config[@]}" "$configfile"); - else - [ -r /etc/ssh/ssh_config ] && config=("${config[@]}" "/etc/ssh/ssh_config"); - [ -r "${HOME}/.ssh/config" ] && config=("${config[@]}" "${HOME}/.ssh/config"); - [ -r "${HOME}/.ssh2/config" ] && config=("${config[@]}" "${HOME}/.ssh2/config"); - fi; - if [ ${#config[@]} -gt 0 ]; then - global_kh=$( eval echo "$( sed -ne 's/^[ \t]*[Gg][Ll][Oo][Bb][Aa][Ll][Kk][Nn][Oo][Ww][Nn][Hh][Oo][Ss][Tt][Ss][Ff][Ii][Ll][Ee]['"$'\t '"']*\(.*\)$/\1/p' "${config[@]}" )" ); - user_kh=$( eval echo "$( sed -ne 's/^[ \t]*[Uu][Ss][Ee][Rr][Kk][Nn][Oo][Ww][Nn][Hh][Oo][Ss][Tt][Ss][Ff][Ii][Ll][Ee]['"$'\t '"']*\(.*\)$/\1/p' "${config[@]}" )" ); - fi; - [ -r "$global_kh" ] && kh=("${kh[@]}" "$global_kh"); - if [ -z "$configfile" ]; then - [ -r /etc/ssh/ssh_known_hosts ] && kh=("${kh[@]}" /etc/ssh/ssh_known_hosts); - [ -r /etc/ssh/ssh_known_hosts2 ] && kh=("${kh[@]}" /etc/ssh/ssh_known_hosts2); - [ -r /etc/known_hosts ] && kh=("${kh[@]}" /etc/known_hosts); - [ -r /etc/known_hosts2 ] && kh=("${kh[@]}" /etc/known_hosts2); - [ -d /etc/ssh2/knownhosts ] && khd=("${khd[@]}" /etc/ssh2/knownhosts/*pub); - fi; - [ -r "$user_kh" ] && kh=("${kh[@]}" "$user_kh"); - if [ -z "$configfile" ]; then - [ -r ~/.ssh/known_hosts ] && kh=("${kh[@]}" ~/.ssh/known_hosts); - [ -r ~/.ssh/known_hosts2 ] && kh=("${kh[@]}" ~/.ssh/known_hosts2); - [ -d ~/.ssh2/hostkeys ] && khd=("${khd[@]}" ~/.ssh2/hostkeys/*pub); - fi; - if [ ${#kh[@]} -gt 0 -o ${#khd[@]} -gt 0 -o -n "$configfile" ]; then - cur=${cur//\//\\\/}; - cur=${cur//\./\\\.}; - curd=$cur; - if [[ "$cur" == [0-9]*.* ]]; then - cur="^$cur.*"; - else - if [[ "$cur" == [0-9]* ]]; then - cur="^$cur.*\."; - else - if [ -z "$cur" ]; then - cur="[a-z.]"; - else - cur="^$cur"; - fi; - fi; - fi; - if [ ${#kh[@]} -gt 0 ]; then - COMPREPLY=($( awk 'BEGIN {FS=","} - /^\s*[^|\#]/ {for (i=1; i<=2; ++i) { \ - gsub(" .*$", "", $i); \ - if ($i ~ /'$cur'/) {print $i} \ - }}' "${kh[@]}" 2>/dev/null )); - fi; - if [ ${#khd[@]} -gt 0 ]; then - for i in "${khd[@]}"; - do - if [[ "$i" == *key_22_$curd*.pub ]] && [ -r "$i" ]; then - host=${i/#*key_22_/}; - host=${host/%.pub/}; - COMPREPLY=("${COMPREPLY[@]}" $host); - fi; - done; - fi; - if [ ${#config[@]} -gt 0 ] && [ -n "$aliases" ]; then - local host_aliases=$( sed -ne 's/^[ \t]*[Hh][Oo][Ss][Tt]\([Nn][Aa][Mm][Ee]\)\?['"$'\t '"']\+\([^#*?]*\)\(#.*\)\?$/\2/p' "${config[@]}" ); - hosts=$( compgen -W "$host_aliases" -- $ocur ); - COMPREPLY=("${COMPREPLY[@]}" $hosts); - fi; - COMPREPLY=("${COMPREPLY[@]}" $( compgen -A hostname -- $ocur )); - for ((i=0; i < ${#COMPREPLY[@]}; i++ )) - do - COMPREPLY[i]=$user${COMPREPLY[i]}$suffix; - done; - else - if [ -z "$configfile" ]; then - COMPREPLY=($( compgen -A hostname -S "$suffix" -- $cur )); - fi; - fi; - return 0 -} -_lftp () -{ - local cur; - COMPREPLY=(); - cur=`_get_cword`; - if [ $COMP_CWORD -eq 1 ] && [ -f ~/.lftp/bookmarks ]; then - COMPREPLY=($( compgen -W '$( sed -ne "s/^\(.*\)'' ''.*$/\1/p" \ - ~/.lftp/bookmarks )' -- $cur )); - fi; - return 0 -} -_links () -{ - local cur; - COMPREPLY=(); - cur=`_get_cword`; - case "$cur" in - --*) - COMPREPLY=($( compgen -W '--help' -- $cur )) - ;; - -*) - COMPREPLY=($( compgen -W '-async-dns -max-connections \ - -max-connections-to-host -retries \ - -receive-timeout -unrestartable-receive-timeout\ - -format-cache-size -memory-cache-size \ - -http-proxy -ftp-proxy -download-dir \ - -assume-codepage -anonymous -dump -no-connect \ - -source -version -help' -- $cur )) - ;; - *) - if [ -r ~/.links/links.his ]; then - COMPREPLY=($( compgen -W '$( < ~/.links/links.his )' -- $cur )); - fi; - _filedir '@(htm|html)'; - return 0 - ;; - esac; - return 0 -} -_list_compgen () -{ - local current="${1}"; - shift; - local sep="${1}"; - shift; - local items="${*}"; - local max_others_number=${max_others_number:-1}; - local saved_IFS="${IFS}"; - IFS="${sep}"; - local current_item="${current##*${sep}}"; - local prefix_items="${current%${current_item}}"; - local matching_items; - local other_items; - local exact_match; - local my_item; - for my_item in ${items}; - do - if [[ "${sep}${prefix_items}${sep}" == *"${sep}${my_item}${sep}"* ]]; then - continue; - else - if [[ "${my_item}" == "${current_item}" ]]; then - exact_match=1; - else - if [[ "${my_item}" == "${current_item}"* ]]; then - matching_items="${matching_items}${sep}${my_item}"; - other_items="${other_items}${sep}${my_item}"; - else - other_items="${other_items}${sep}${my_item}"; - fi; - fi; - fi; - done; - matching_items="${matching_items#${sep}}"; - other_items="${other_items#${sep}}"; - if [[ -z "${exact_match}" ]] && [[ "${matching_items}" != *"${sep}"* ]]; then - exact_match=1; - current="${current%${current_item}}${matching_items}"; - current_item="${matching_items}"; - matching_items=""; - other_items="${sep}${other_items}${sep}"; - other_items="${other_items/${sep}${current_item}${sep}/${sep}}"; - other_items="${other_items#${sep}}"; - other_items="${other_items%${sep}}"; - fi; - local my_compreply=(); - local i=0; - if [[ -n "${exact_match}" ]]; then - my_compreply[${i}]="${current}"; - let i++; - fi; - if [[ -n "${matching_items}" ]]; then - for my_item in ${matching_items}; - do - my_compreply[${i}]="${prefix_items}${my_item}"; - let i++; - done; - fi; - if [[ -n "${exact_match}" ]] && [[ -n "${other_items}" ]]; then - local count_others=0; - for my_item in ${other_items}; - do - let count_others++; - done; - if (( max_others_number < 0 )) || (( count_others <= max_others_number )); then - for my_item in ${other_items}; - do - my_compreply[${i}]="${current}${sep}${my_item}"; - let i++; - done; - else - my_compreply[${i}]="${current}${sep}"; - let i++; - fi; - fi; - IFS="${saved_IFS}"; - local j=0; - while (( i > j )); do - echo ${my_compreply[$j]}; - let j++; - done; - return 0 -} -_longopt () -{ - local cur opt; - cur=`_get_cword`; - if [[ "$cur" == --*=* ]]; then - opt=${cur%%=*}; - opt=${opt%\\*}; - cur=${cur#*=}; - _filedir; - COMPREPLY=($( compgen -P "$opt=" -W '${COMPREPLY[@]}' -- $cur)); - return 0; - fi; - if [[ "$cur" == -* ]]; then - COMPREPLY=($( $1 --help 2>&1 | sed -e '/--/!d' -e 's/.*\(--[-A-Za-z0-9]\+=\?\).*/\1/' | command grep "^$cur" | sort -u )); - else - if [[ "$1" == rmdir ]]; then - _filedir -d; - else - _filedir; - fi; - fi -} -_look () -{ - local cur; - COMPREPLY=(); - cur=`_get_cword`; - if [ $COMP_CWORD = 1 ]; then - COMPREPLY=($( compgen -W '$(look $cur 2>/dev/null)' )); - fi -} -_make () -{ - local file makef makef_dir="." makef_inc cur prev i; - COMPREPLY=(); - cur=`_get_cword`; - prev=${COMP_WORDS[COMP_CWORD-1]}; - case $prev in - -@(f|o|W)) - _filedir; - return 0 - ;; - -@(I|C)) - _filedir -d; - return 0 - ;; - esac; - if [[ "$cur" == *=* ]]; then - prev=${cur/=*/}; - cur=${cur/*=/}; - case "$prev" in - --@(file|makefile)) - _filedir; - return 0 - ;; - --@(directory|include-dir)) - _filedir -d; - return 0 - ;; - esac; - fi; - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-b -m -B -C -d -e -f -h -i -I\ - -j -l -k -n -o -p -q -r -R - s -S -t -v -w -W \ - --always-make --directory= --debug \ - --environment-overrides --file= --makefile= --help \ - --ignore-errors --include-dir= --jobs --load-average \ - --max-load --keep-going --just-print --dry-run \ - --recon --old-file= --assume-old= --print-data-base \ - --question --no-builtin-rules --no-builtin-variables \ - --silent --quiet --no-keep-goind --stop --touch \ - --version --print-directory --no-print-directory \ - --what-if= --new-file= --assume-new= \ - --warn-undefined-variables' -- $cur )); - else - for ((i=0; i < ${#COMP_WORDS[@]}; i++ )) - do - if [[ ${COMP_WORDS[i]} == -C ]]; then - eval makef_dir=${COMP_WORDS[i+1]}; - break; - fi; - done; - for ((i=0; i < ${#COMP_WORDS[@]}; i++ )) - do - if [[ ${COMP_WORDS[i]} == -f ]]; then - eval makef=${COMP_WORDS[i+1]}; - break; - fi; - done; - [ -n "$makef" ] && makef="-f ${makef}"; - [ -n "$makef_dir" ] && makef_dir="-C ${makef_dir}"; - COMPREPLY=($( make -qp $makef $makef_dir 2>/dev/null | awk -F':' '/^[a-zA-Z0-9][^$#\/\t=]*:([^=]|$)/ \ - {split($1,A,/ /);for(i in A)print A[i]}' | command grep "^$cur" )); - fi -} -_man () -{ - local cur prev sect manpath manext mansect UNAME; - manext="@([0-9lnp]|[0-9][px]|man)?(.@(gz|bz2|lzma))"; - mansect="@([0-9lnp]|[0-9][px])"; - COMPREPLY=(); - cur=`_get_cword`; - prev=${COMP_WORDS[COMP_CWORD-1]}; - if [[ "$prev" == -l ]]; then - _filedir $manext; - return 0; - fi; - _expand || return 0; - if [[ "$cur" == */* ]]; then - _filedir $manext; - return 0; - fi; - UNAME=$( uname -s ); - UNAME=${UNAME/CYGWIN_*/Cygwin}; - if [ $UNAME = GNU -o $UNAME = Linux -o $UNAME = FreeBSD -o $UNAME = Cygwin ]; then - manpath=$( manpath 2>/dev/null || command man --path ); - else - manpath=$MANPATH; - fi; - if [ -z "$manpath" ]; then - COMPREPLY=($( compgen -c -- $cur )); - return 0; - fi; - [[ "$prev" == $mansect ]] && sect=$prev || sect='*'; - manpath=$manpath:; - if [ -n "$cur" ]; then - manpath="${manpath//://*man$sect/$cur* } ${manpath//://*cat$sect/$cur* }"; - else - manpath="${manpath//://*man$sect/ } ${manpath//://*cat$sect/ }"; - fi; - COMPREPLY=($( eval command ls "$manpath" 2>/dev/null )); - COMPREPLY=(${COMPREPLY[@]##*/?(:)}); - COMPREPLY=(${COMPREPLY[@]%.@(gz|bz2|lzma)}); - COMPREPLY=($( compgen -W '${COMPREPLY[@]%.*}' -- "${cur//\\\\/}" )); - if [[ "$prev" != $mansect ]]; then - local start=${#COMPREPLY[@]}; - _filedir $manext; - for ((i=$start; i < ${#COMPREPLY[@]}; i++ )) - do - [[ ${COMPREPLY[i]} == */* ]] || COMPREPLY[i]=./${COMPREPLY[i]}; - done; - fi; - return 0 -} -_modules () -{ - local modpath; - modpath=/lib/modules/$1; - COMPREPLY=($( command ls -R $modpath | sed -ne 's/^\('$cur'.*\)\.k\?o\(\|.gz\)$/\1/p')) -} -_mogrify () -{ - local cur; - COMPREPLY=(); - cur=`_get_cword`; - _ImageMagick; - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-adaptive-blur -adaptive-resize \ - -adaptive-sharpen -adjoin -affine -alpha -annotate \ - -antialias -attenuate -authenticate -auto-orient \ - -background -bias -black-point-compensation \ - -black-threshold -blue-primary -blur -border \ - -bordercolor -caption -channel -charcoal -chop -clip \ - -clip-mask -clip-path -clut -colorize -colors \ - -colorspace -comment -compose -compress -contrast \ - -contrast-stretch -convolve -cycle -debug -decipher \ - -define -delay -density -depth -despeckle -display \ - -dispose -distort -dither -draw -edge -emboss \ - -encipher -encoding -endian -enhance -equalize \ - -evaluate -extent -extract -family -fill -filter \ - -flip -floodfill -flop -font -format -frame -fuzz \ - -gamma -gaussian-blur -geometry -gravity \ - -green-primary -help -identify -implode -intent \ - -interlace -interpolate -label -lat -layers -level \ - -limit -linear-stretch -liquid-rescale -list -log \ - -loop -mask -mattecolor -median -modulate -monitor \ - -monochrome -motion-blur -negate -noise -normalize \ - -opaque -ordered-dither -orient -page -paint -path \ - -ping -pointsize -polaroid -posterize -preview -print \ - -profile -quality -quantize -quiet -radial-blur \ - -raise -random-threshold -recolor -red-primary \ - -regard-warnings -region -render -repage -resample \ - -resize -roll -rotate -sample -sampling-factor -scale \ - -scene -seed -segment -sepia-tone -set -shade -shadow \ - -sharpen -shave -shear -sigmoidal-contrast -size \ - -sketch -solarize -splice -spread -stretch -strip \ - -stroke -strokewidth -style -swirl -taint -texture \ - -threshold -thumbnail -tile -tile-offset -tint \ - -transform -transparent -transparent-color -transpose \ - -transverse -treedepth -trim -type -undercolor \ - -unique-colors -units -unsharp -verbose -version \ - -view -vignette -virtual-pixel -wave -weight \ - -white-point -white-threshold' -- $cur )); - else - if [[ "$cur" == +* ]]; then - COMPREPLY=($( compgen -W '+compress +contrast +debug +dither \ - +endian +gamma +label +map +mask +matte +negate +page \ - +raise' -- $cur )); - else - _filedir; - fi; - fi -} -_montage () -{ - local cur; - COMPREPLY=(); - cur=`_get_cword`; - _ImageMagick; - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-adjoin -affine -alpha \ - -authenticate -background -blue-primary -blur -border \ - -bordercolor -borderwidth -caption -channel -clone \ - -coalesce -colors -colorspace -comment -compose \ - -compress -crop -debug -define -density -depth \ - -display -dispose -dither -draw -encoding -endian \ - -extract -fill -filter -flatten -flip -flop -font \ - -format -frame -gamma -geometry -gravity \ - -green-primary -help -identify -interlace \ - -interpolate -label -limit -list -log -mattecolor \ - -mode -monitor -monochrome -origin -page -pointsize \ - -polaroid -profile -quality -quantize -quiet \ - -red-primary -regard-warnings -repage -resize \ - -respect-parenthesis -rotate -sampling-factor -scenes \ - -seed -set -shadow -size -strip -stroke -texture \ - -thumbnail -tile -title -transform -transparent \ - -transparent-color -treedepth -trim -type -units \ - -verbose -version -virtual-pixel \ - -white-point' -- $cur )); - else - if [[ "$cur" == +* ]]; then - COMPREPLY=($( compgen -W '+adjoin +compress +debug +dither \ - +endian +gamma +label +matte +page' -- $cur )); - else - _filedir; - fi; - fi -} -_mount () -{ - local cur i sm host; - COMPREPLY=(); - cur=`_get_cword`; - [[ "$cur" == \\ ]] && cur="/"; - for i in {,/usr}/{,s}bin/showmount; - do - [ -x $i ] && sm=$i && break; - done; - if [ -n "$sm" ] && [[ "$cur" == *:* ]]; then - COMPREPLY=($( $sm -e ${cur%%:*} | sed 1d | grep ^${cur#*:} | awk '{print $1}' )); - else - if [[ "$cur" == //* ]]; then - host=${cur#//}; - host=${host%%/*}; - if [ -n "$host" ]; then - COMPREPLY=($( compgen -W "$( echo $( smbclient -d 0 -NL $host 2>/dev/null| - sed -ne '/^['"$'\t '"']*Sharename/,/^$/p' | - sed -ne '3,$s|^[^A-Za-z]*\([^'"$'\t '"']*\).*$|//'$host'/\1|p' ) )" -- "$cur" )); - fi; - else - if [ -r /etc/vfstab ]; then - COMPREPLY=($( awk '! /^[ \t]*#/ {if ($3 ~ /\//) print $3}' /etc/vfstab | grep "^$cur" )); - else - if [ ! -e /etc/fstab ]; then - COMPREPLY=($( mount | awk '! /^[ \t]*#/ {if ($3 ~ /\//) print $3}' | grep "^$cur" )); - else - COMPREPLY=($( awk '! /^[ \t]*#/ {if ($2 ~ /\//) print $2}' /etc/fstab | grep "^$cur" )); - fi; - fi; - fi; - fi; - return 0 -} -_mplayer () -{ - local cmd cur prev skinsdir IFS=' -' i j k=0; - COMPREPLY=(); - cmd=${COMP_WORDS[0]}; - cur=`_get_cword`; - prev=${COMP_WORDS[COMP_CWORD-1]}; - case "$prev" in - -@(ac|afm|vc|vfm|ao|vo|vop|fstype|demuxer|vf|af)) - _mplayer_options_list mplayer $prev; - return 0 - ;; - -@(oac|ovc|of)) - _mplayer_options_list mencoder $prev; - return 0 - ;; - -audiofile) - _filedir '@(mp3|MP3|mpg|MPG|ogg|OGG|w?(a)v|W?(A)V|mid|MID|flac|FLAC|mka|MKA|ape|APE)'; - return 0 - ;; - -font) - _filedir '@(desc|ttf)'; - return 0 - ;; - -sub) - _filedir '@(srt|SRT|sub|SUB|txt|TXT|utf|UTF|rar|RAR|mpsub|smi|js|ssa|SSA|aas|AAS)'; - return 0 - ;; - -vobsub) - _filedir '@(idx|IDX|ifo|IFO|sub|SUB)'; - IFS=' -'; - COMPREPLY=($( for i in "${COMPREPLY[@]}"; do - if [ -f $i -a -r $i ]; then - echo ${i%.*} - else - echo $i - fi - done )); - IFS=' -'; - return 0 - ;; - -ifo) - _filedir '@(ifo|IFO)'; - return 0 - ;; - -cuefile) - _filedir '@(bin|BIN|cue|CUE)'; - return 0 - ;; - -skin) - if [ -n "$MPLAYER_SKINS_DIR" ]; then - skinsdir=$MPLAYER_SKINS_DIR; - else - skinsdir=/usr/share/mplayer/Skin; - fi; - IFS=' -'; - for i in ~/.mplayer/Skin $skinsdir; - do - if [ -d $i -a -r $i ]; then - for j in $( compgen -d $i/$cur ); - do - COMPREPLY[$k]=${j#$i/}; - k=$((++k)); - done; - fi; - done; - IFS=' -'; - return 0 - ;; - -@(mixer|@(cdrom|dvd)-device|dvdauth|fb|zrdev)) - cur=${cur:=/dev/}; - _filedir; - return 0 - ;; - -@(edl?(out)|lircconf|menu-cfg|playlist|csslib|dumpfile) | -@(subfile|vobsub|aofile|fbmodeconfig|include|o|dvdkey) | -passlogfile) - _filedir; - return 0 - ;; - -@(auto@(q|sync)|loop|menu-root|speed|sstep|aid|alang) | -@(?(@(audio|sub)-)demuxer|bandwidth|cache|chapter) | -@(dvd?(angle)|fps|frames|mc|passwd|user|sb|srate|ss|vcd) | -@(vi?(d|vo)|ffactor|sid|slang|spu@(align|aa|gauss)) | -@(vobsubid|delay|bpp|brightness|contrast|dfbopts|display) | -@(fbmode|geometry|guiwid|hue|icelayer|screen[wh]|wid) | -@(monitor@(aspect|-@(dotclock|[hv]freq))|panscan|saturation) | -@(xineramascreen|zr@(crop|norm|quality|[xy]doff|[vh]dec)) | -@(aspect|pp|x|y|xy|z|stereo|audio-@(density|delay|preload)) | -@(endpos|osdlevel|ffourcc|sws|channels|skiplimit|format) | -@(ofps|aa@(driver|@(osd|sub)color)|vobsubout?(i@(ndex|d))) | -sub@(-bg-@(alpha|color)|cp|delay|fps|pos|align|width) | -sub@(font-@(blur|outline|autoscale|encoding|@(osd|text)-scale))) - return 0 - ;; - -lavdopts) - COMPREPLY=($( compgen -W 'ec er= bug= idct= gray' -- $cur )); - return 0 - ;; - -lavcopts) - COMPREPLY=($( compgen -W 'vcodec= vqmin= vqscale= \ - vqmax= mbqmin= mbqmax= vqdiff= \ - vmax_b_frames= vme= vhq v4mv \ - keyint= vb_strategy= vpass= \ - aspect= vbitrate= vratetol= \ - vrc_maxrate= vrc_minrate= \ - vrc_buf_size= vb_qfactor= vi_qfactor= \ - vb_qoffset= vi_qoffset= vqblur= \ - vqcomp= vrc_eq= vrc_override= \ - vrc_init_cplx= vqsquish= vlelim= \ - vcelim= vstrict= vdpart vpsize= gray \ - vfdct= idct= lumi_mask= dark_mask= \ - tcplx_mask= scplx_mask= naq ildct \ - format= pred qpel precmp= cmp= \ - subcmp= predia= dia= trell last_pred= \ - preme= subq= psnr mpeg_quant aic umv' -- $cur )); - return 0 - ;; - -ssf) - COMPREPLY=($( compgen -W 'lgb= cgb= ls= cs= chs= \ - cvs=' -- $cur )); - return 0 - ;; - -jpeg) - COMPREPLY=($( compgen -W 'noprogressive progressive \ - nobaseline baseline optimize= \ - smooth= quality= outdir=' -- $cur )); - return 0 - ;; - -xvidopts) - COMPREPLY=($( compgen -W 'dr2 nodr2' -- $cur )); - return 0 - ;; - -xvidencopts) - COMPREPLY=($( compgen -W 'pass= bitrate= \ - fixed_quant= me_quality= 4mv \ - rc_reaction_delay_factor= \ - rc_averaging_period= rc_buffer= \ - quant_range= min_key_interval= \ - max_key_interval= mpeg_quant \ - mod_quant lumi_mask hintedme \ - hintfile debug keyframe_boost= \ - kfthreshold= kfreduction=' -- $cur )); - return 0 - ;; - -divx4opts) - COMPREPLY=($( compgen -W 'br= key= deinterlace q= \ - min_quant= max_quant= rc_period= \ - rc_reaction_period= crispness= \ - rc_reaction_ratio= pass= vbrpass= \ - help' -- $cur )); - return 0 - ;; - -info) - COMPREPLY=($( compgen -W 'name= artist= genre= \ - subject= copyright= srcform= \ - comment= help' -- $cur )); - return 0 - ;; - -lameopts) - COMPREPLY=($( compgen -W 'vbr= abr cbr br= q= aq= \ - ratio= vol= mode= padding= fast \ - preset= help' -- $cur )); - return 0 - ;; - -rawaudio) - COMPREPLY=($( compgen -W 'on channels= rate= \ - samplesize= format=' -- $cur )); - return 0 - ;; - -rawvideo) - COMPREPLY=($( compgen -W 'on fps= sqcif qcif cif \ - 4cif pal ntsc w= h= y420 yv12 yuy2 \ - y8 format= size=' -- $cur )); - return 0 - ;; - -aop) - COMPREPLY=($( compgen -W 'list= delay= format= fout= \ - volume= mul= softclip' -- $cur )); - return 0 - ;; - -dxr2) - COMPREPLY=($( compgen -W 'ar-mode= iec958-encoded \ - iec958-decoded mute ucode= 75ire bw \ - color interlaced macrovision= norm= \ - square-pixel ccir601-pixel cr-left= \ - cr-right= cr-top= cr-bot= ck-rmin= \ - ck-gmin= ck-bmin= ck-rmax= ck-gmax= \ - ck-bmax= ck-r= ck-g= ck-b= \ - ignore-cache= ol-osd= olh-cor= \ - olw-cor= olx-cor= oly-cor= overlay \ - overlay-ratio= update-cache' -- $cur )); - return 0 - ;; - -tv) - COMPREPLY=($( compgen -W 'on noaudio driver= device= \ - input= freq= outfmt= width= height= \ - buffersize= norm= channel= chanlist= \ - audiorate= forceaudio alsa amode= \ - forcechan= adevice= audioid= volume= \ - bass= treble= balance= fps= \ - channels= immediatemode=' -- $cur )); - return 0 - ;; - -mf) - COMPREPLY=($( compgen -W 'on w= h= fps= type=' -- $cur )); - return 0 - ;; - -cdda) - COMPREPLY=($( compgen -W 'speed= paranoia= \ - generic-dev= sector-size= overlap= \ - toc-bias toc-offset= skip noskip' -- $cur )); - return 0 - ;; - -input) - COMPREPLY=($( compgen -W 'conf= ar-delay ar-rate \ - keylist cmdlist js-dev file' -- $cur )); - return 0 - ;; - -af) - COMPREPLY=($( compgen -W 'resample resample= \ - channels channels= format format= \ - volume volume= delay delay= pan \ - pan= sub sub= surround surround=' -- $cur )); - return 0 - ;; - -af-adv) - COMPREPLY=($( compgen -W 'force= list=' -- $cur )); - return 0 - ;; - -profile) - _mplayer_options_list $cmd $prev; - return 0 - ;; - esac; - case "$cur" in - -*) - COMPREPLY=($( compgen -W '-aid -alang -audio-demuxer \ - -audiofile -cdrom-device -cache -cdda \ - -channels -chapter -csslib -demuxer \ - -dvd -dvd-device -dvdangle -dvdauth \ - -dvdkey -dvdnav -forceidx -fps -frames \ - -hr-mp3-seek -idx -mc -mf -ni -nobps \ - -passwd -rawaudio -rtsp-stream-over-tcp\ - -skipopening -sb -srate -ss -tv -user \ - -vcd -vid -vivo -ifo -ffactor -font \ - -noautosub -nooverlapsub -sid -slang \ - -sub -subcc -subcp -sub-demuxer \ - -subdelay -subfont-autoscale \ - -subfont-blur -subfont-encoding \ - -subfont-osd-scale -subfont-outline \ - -subfont-text-scale -subfps -subfile \ - -subpos -unicode -utf8 -vobsub \ - -vobsubid -ac -afm -aspect -flip \ - -lavdopts -noaspect -nosound -pp -ssf \ - -stereo -sws -vc -vfm -vop -xvidopts\ - -xy -zoom -bandwidth -cuefile \ - -noextbased -rawvideo -overlapsub \ - -sub-bg-alpha -sub-bg-color -subalign \ - -subwidth -sub-no-text-pp -spualign \ - -spuaa -spugauss -pphelp -verbose -v \ - -noni -noidx -nohr-mp3-seek -extbased \ - -bps -oldpp -nozoom -noflip -nounicode \ - -noutf8 -profile -vf -af' -- $cur )); - [[ "$cmd" == @(?(g)mplayer) ]] && COMPREPLY=("${COMPREPLY[@]}" $(compgen -W '-autoq -autosync -benchmark \ - -framedrop -h -help -hardframedrop \ - -identify -input -lircconf -loop \ - -nojoystick -nolirc -nortc -playlist \ - -quiet -really-quiet -rnd -sdp -skin \ - -slave -softsleep -speed -sstep \ - -use-stdin -dumpaudio -dumpfile \ - -dumpstream -dumpvideo -dumpmicrodvdsub\ - -dumpmpsub -dumpsrtsub -dumpjacosub \ - -dumpsami -dumpsub -osdlevel -af \ - -af-adv -ao -aofile -aop -delay -mixer \ - -nowaveheader -bpp -brightness \ - -contrast -display -double -dr -dxr2 \ - -fb -fbmode -fbmodeconfig -forcexv -fs \ - -geometry -hue -icelayer -jpeg \ - -monitor-dotclock -monitor-hfreq \ - -monitor-vfreq -monitoraspect \ - -nograbpointer -noslices -panscan \ - -rootwin -saturation -screenw -screenh \ - -stop-xscreensaver -vm -vo -vsync -wid \ - -xineramascreen -z -zrbw -zrcrop \ - -zrdev -zrfd -zrhelp -zrnorm -zrquality \ - -zrvdec -zrhdec -zrxdoff -zrydoff -y \ - -edl -edlout -enqueue -fixed-vo \ - -menu -menu-root -menu-cfg -shuffle \ - -format -aahelp -dfbopts -fstype \ - -guiwid -nokeepaspect -x --help \ - -aaosdcolor -aasubcolor -aadriver \ - -aaextended -aaeight' -- $cur)); - [[ "$cmd" = mencoder ]] && COMPREPLY=("${COMPREPLY[@]}" $(compgen -W '-audio-density -audio-delay \ - -audio-preload -divx4opts -endpos \ - -ffourcc -include -info -lameopts \ - -lavcopts -noskip -o -oac -ofps -ovc \ - -passlogfile -skiplimit -vobsubout \ - -vobsuboutindex -vobsuboutid \ - -xvidencopts -of --verbose' -- $cur)) - ;; - *) - _filedir '@(mp?(e)g|MP?(E)G|wm[av]|WM[AV]|avi|AVI|asf|ASF|vob|VOB|bin|BIN|dat|DAT|vcd|VCD|ps|PS|pes|PES|fl[iv]|FL[IV]|viv|VIV|rm?(j)|RM?(J)|ra?(m)|RA?(M)|yuv|YUV|mov|MOV|qt|QT|mp[234]|MP[234]|m4[av]|M4[AV]|og[gmavx]|OG[GMAVX]|w?(a)v|W?(A)V|dump|DUMP|mk[av]|MK[AV]|m4a|M4A|aac|AAC|m2v|M2V|dv|DV|rmvb|RMVB|mid|MID|ts|TS|3g[p2]|mpc|MPC|flac|FLAC|vro|VRO|divx|DIVX|aif?(f)|AIF?(F)|m2ts|M2TS|vdr|VDR|xvid|XVID|ape|APE)' - ;; - esac; - return 0 -} -_mplayer_options_list () -{ - cur=${cur%\\}; - COMPREPLY=($( $1 $2 help 2> /dev/null | sed -e '1,/^Available/d' | awk '{print $1}' | sed -e 's/:$//' -e 's/^'${2#-}'$//' -e 's/<.*//' | grep "^$cur" )) -} -_ncftp () -{ - local cur; - COMPREPLY=(); - cur=`_get_cword`; - if [ $COMP_CWORD -eq 1 ] && [ -f ~/.ncftp/bookmarks ]; then - COMPREPLY=($( compgen -W '$( sed -ne "s/^\([^,]\{1,\}\),.*$/\1/p" \ - ~/.ncftp/bookmarks )' -- $cur )); - fi; - return 0 -} -_ntpdate () -{ - local cur prev; - COMPREPLY=(); - cur=`_get_cword`; - prev=${COMP_WORDS[COMP_CWORD-1]}; - case $prev in - -k) - _filedir; - return 0 - ;; - -U) - COMPREPLY=($( compgen -u $cur )); - return 0 - ;; - esac; - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-4 -6 -b -B -d -Q -q -s -u -v -a\ - -e -k -p -o -r -t' -- $cur )); - else - _known_hosts; - fi -} -_openssl () -{ - local cur prev; - COMPREPLY=(); - cur=`_get_cword`; - if [ $COMP_CWORD -eq 1 ]; then - COMPREPLY=($( compgen -W 'asn1parse ca ciphers crl crl2pkcs7 \ - dgst dh dhparam dsa dsaparam enc errstr gendh gendsa \ - genrsa nseq passwd pkcs12 pkcs7 pkcs8 rand req rsa \ - rsautl s_client s_server s_time sess_id smime speed \ - spkac verify version x509 md2 md4 md5 mdc2 rmd160 sha \ - sha1 base64 bf bf-cbc bf-cfb bf-ecb bf-ofb cast \ - cast-cbc cast5-cbc cast5-cfb cast5-ecb cast5-ofb des \ - des-cbc des-cfb des-ecb des-ede des-ede-cbc \ - des-ede-cfb des-ede-ofb des-ede3 des-ede3-cbc \ - des-ede3-cfb des-ede3-ofb des-ofb des3 desx rc2 \ - rc2-40-cbc rc2-64-cbc rc2-cbc rc2-cfb rc2-ecb rc2-ofb \ - rc4 rc4-40' -- $cur )); - else - prev=${COMP_WORDS[COMP_CWORD-1]}; - case ${COMP_WORDS[1]} in - asn1parse) - case $prev in - -inform) - COMPREPLY=($( compgen -W 'DER PEM' -- $cur )); - return 0 - ;; - -@(in|out|oid)) - _filedir; - return 0 - ;; - esac; - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-inform -in -out -noout -offset \ - -length -i -oid -strparse' -- $cur )); - fi - ;; - ca) - case $prev in - -@(config|revoke|cert|in|out|spkac|ss_cert)) - _filedir; - return 0 - ;; - -outdir) - _filedir -d; - return 0 - ;; - -@(name|crlexts|extensions)) - _openssl_sections; - return 0 - ;; - esac; - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-verbose -config -name \ - -gencrl -revoke -crldays -crlhours -crlexts \ - -startdate -enddate -days -md -policy -keyfile \ - -key -passin -cert -in -out -notext -outdir \ - -infiles -spkac -ss_cert -preserveDN -batch \ - -msie_hack -extensions' -- $cur )); - fi - ;; - ciphers) - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-v -ssl2 -ssl3 -tls1' -- $cur )); - fi - ;; - crl) - case $prev in - -@(in|out)form) - COMPREPLY=($( compgen -W 'DER PEM' -- $cur )); - return 0 - ;; - -@(in|out|CAfile)) - _filedir; - return 0 - ;; - -CAPath) - _filedir -d; - return 0 - ;; - esac; - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-inform -outform -text -in -out -noout \ - -hash -issuer -lastupdate -nextupdate -CAfile -CApath' -- $cur )); - fi - ;; - crl2pkcs7) - case $prev in - -@(in|out)form) - COMPREPLY=($( compgen -W 'DER PEM' -- $cur )); - return 0 - ;; - -@(in|out)) - _filedir; - return 0 - ;; - esac; - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-inform -outform -in -out -print_certs' -- $cur )); - fi - ;; - dgst) - case $prev in - -@(out|sign|verify|prvrify|signature)) - _filedir; - return 0 - ;; - esac; - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-md5 -md4 -md2 -sha1 -sha -mdc2 -ripemd160 -dss1 \ - -c -d -hex -binary -out -sign -verify -prverify -signature' -- $cur )); - else - _filedir; - fi - ;; - dsa) - case $prev in - -@(in|out)form) - COMPREPLY=($( compgen -W 'DER PEM' -- $cur )); - return 0 - ;; - -@(in|out)) - _filedir; - return 0 - ;; - esac; - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-inform -outform -in -passin -out -passout -des -des3 -idea -text -noout \ - -modulus -pubin -pubout' -- $cur )); - fi - ;; - dsaparam) - case $prev in - -@(in|out)form) - COMPREPLY=($( compgen -W 'DER PEM' -- $cur )); - return 0 - ;; - -@(in|out|rand)) - _filedir; - return 0 - ;; - esac; - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-inform -outform -in -out -noout \ - -text -C -rand -genkey' -- $cur )); - fi - ;; - enc) - case $prev in - -@(in|out|kfile)) - _filedir; - return 0 - ;; - esac; - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-ciphername -in -out -pass \ - -e -d -a -A -k -kfile -S -K -iv -p -P -bufsize -debug' -- $cur )); - fi - ;; - dhparam) - case $prev in - -@(in|out)form) - COMPREPLY=($( compgen -W 'DER PEM' -- $cur )); - return 0 - ;; - -@(in|out|rand)) - _filedir; - return 0 - ;; - esac; - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-inform -outform -in -out -dsaparam -noout \ - -text -C -2 -5 -rand' -- $cur )); - fi - ;; - gendsa) - case $prev in - -@(out|rand)) - _filedir; - return 0 - ;; - esac; - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-out -des -des3 -idea -rand' -- $cur )); - else - _filedir; - fi - ;; - genrsa) - case $prev in - -@(out|rand)) - _filedir; - return 0 - ;; - esac; - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-out -passout -des -des3 -idea -f4 -3 -rand' -- $cur )); - fi - ;; - pkcs7) - case $prev in - -@(in|out)form) - COMPREPLY=($( compgen -W 'DER PEM' -- $cur )); - return 0 - ;; - -@(in|out)) - _filedir; - return 0 - ;; - esac; - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-inform -outform -in -out -print_certs -text -noout' -- $cur )); - fi - ;; - rand) - case $prev in - -@(out|rand)) - _filedir; - return 0 - ;; - esac; - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-out -rand -base64' -- $cur )); - fi - ;; - req) - case "$prev" in - -@(in|out|key)form) - COMPREPLY=($( compgen -W 'DER PEM' -- $cur )); - return 0 - ;; - -@(in|out|rand|key|keyout|config)) - _filedir; - return 0 - ;; - -extensions) - _openssl_sections; - return 0 - ;; - esac; - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-inform -outform -in \ - -passin -out -passout -text -noout -verify \ - -modulus -new -rand -newkey -newkey -nodes \ - -key -keyform -keyout -md5 -sha1 -md2 -mdc2 \ - -config -x509 -days -asn1-kludge -newhdr \ - -extensions -reqexts section' -- $cur )); - fi - ;; - rsa) - case $prev in - -@(in|out)form) - COMPREPLY=($( compgen -W 'DER NET PEM' -- $cur )); - return 0 - ;; - -@(in|out)) - _filedir; - return 0 - ;; - esac; - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-inform -outform -in -passin -out -passout \ - -sgckey -des -des3 -idea -text -noout -modulus -check -pubin \ - -pubout -engine' -- $cur )); - fi - ;; - rsautl) - case $prev in - -@(in|out|inkey)) - _filedir; - return 0 - ;; - esac; - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-in -out -inkey -pubin -certin -sign -verify \ - -encrypt -decrypt -pkcs -ssl -raw -hexdump -asn1parse' -- $cur )); - fi - ;; - s_client) - case $prev in - -connect) - _known_hosts; - return 0 - ;; - -@(cert|key|CAfile|rand)) - _filedir; - return 0 - ;; - -CApath) - _filedir -d; - return 0 - ;; - esac; - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-connect -verify -cert -key -CApath -CAfile \ - -reconnect -pause -showcerts -debug -msg -nbio_test -state -nbio \ - -crlf -ign_eof -quiet -ssl2 -ssl3 -tls1 -no_ssl2 -no_ssl3 -no_tls1 \ - -bugs -cipher -starttls -engine -rand' -- $cur )); - fi - ;; - s_server) - case $prev in - -@(cert|key|dcert|dkey|dhparam|CAfile|rand)) - _filedir; - return 0 - ;; - -CApath) - _filedir -d; - return 0 - ;; - esac; - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-accept -context -verify -Verify -cert -key \ - -dcert -dkey -dhparam -nbio -nbio_test -crlf -debug -msg -state -CApath \ - -CAfile -nocert -cipher -quiet -no_tmp_rsa -ssl2 -ssl3 -tls1 -no_ssl2 \ - -no_ssl3 -no_tls1 -no_dhe -bugs -hack -www -WWW -HTTP -engine -id_prefix \ - -rand' -- $cur )); - fi - ;; - s_time) - case $prev in - -connect) - _known_hosts; - return 0 - ;; - -@(cert|key|CAfile)) - _filedir; - return 0 - ;; - -CApath) - _filedir -d; - return 0 - ;; - esac; - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-connect -www -cert -key -CApath -CAfile -reuse \ - -new -verify -nbio -time -ssl2 -ssl3 -bugs -cipher' -- $cur )); - fi - ;; - sess_id) - case $prev in - -@(in|out)form) - COMPREPLY=($( compgen -W 'DER PEM' -- $cur )); - return 0 - ;; - -@(in|out)) - _filedir; - return 0 - ;; - esac; - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-inform -outform -in -out -text -noout \ - -context ID' -- $cur )); - fi - ;; - smime) - case $prev in - -@(in|out)form) - COMPREPLY=($( compgen -W 'SMIME DER PEM' -- $cur )); - return 0 - ;; - -@(in|out|certfile|signer|recip|inkey|content|rand)) - _filedir; - return 0 - ;; - esac; - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-encrypt -decrypt -sign -verify -pk7out -des -des3 \ - -rc2-40 -rc2-64 -rc2-128 -aes128 -aes192 -aes256 -in -certfile -signer \ - -recip -inform -passin -inkey -out -outform -content -to -from -subject \ - -text -rand' -- $cur )); - else - _filedir; - fi - ;; - speed) - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-engine' -- $cur )); - else - COMPREPLY=($( compgen -W 'md2 mdc2 md5 hmac sha1 rmd160 idea-cbc \ - rc2-cbc rc5-cbc bf-cbc des-cbc des-ede3 rc4 rsa512 rsa1024 rsa2048 \ - rsa4096 dsa512 dsa1024 dsa2048 idea rc2 des rsa blowfish' -- $cur )); - fi - ;; - verify) - case $prev in - -@(CAfile|untrusted)) - _filedir; - return 0 - ;; - -CApath) - _filedir -d; - return 0 - ;; - esac; - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-CApath -CAfile -purpose -untrusted -help -issuer_checks \ - -verbose -certificates' -- $cur )); - else - _filedir; - fi - ;; - x509) - case "$prev" in - -@(in|out|CA|CAkey|CAserial|extfile)) - _filedir; - return 0 - ;; - -@(in|out)form) - COMPREPLY=($( compgen -W 'DER PEM NET' -- $cur )); - return 0 - ;; - -@(key|CA|CAkey)form) - COMPREPLY=($( compgen -W 'DER PEM' -- $cur )); - return 0 - ;; - -extensions) - _openssl_sections; - return 0 - ;; - esac; - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-inform -outform \ - -keyform -CAform -CAkeyform -in -out \ - -serial -hash -subject -issuer -nameopt \ - -email -startdate -enddate -purpose \ - -dates -modulus -fingerprint -alias \ - -noout -trustout -clrtrust -clrreject \ - -addtrust -addreject -setalias -days \ - -set_serial -signkey -x509toreq -req \ - -CA -CAkey -CAcreateserial -CAserial \ - -text -C -md2 -md5 -sha1 -mdc2 -clrext \ - -extfile -extensions -engine' -- $cur )); - fi - ;; - @(md5|md4|md2|sha1|sha|mdc2|ripemd160)) - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-c -d' -- $cur )); - else - _filedir; - fi - ;; - esac; - fi; - return 0 -} -_openssl_sections () -{ - local config; - config=/etc/ssl/openssl.cnf; - [ ! -f $config ] && config=/usr/share/ssl/openssl.cnf; - for ((i=2; i < COMP_CWORD; i++ )) - do - if [[ "${COMP_WORDS[i]}" == -config ]]; then - config=${COMP_WORDS[i+1]}; - break; - fi; - done; - [ ! -f $config ] && return 0; - COMPREPLY=($( awk '/\[.*\]/ {print $2} ' $config | grep "^$cur" )) -} -_parse_help () -{ - local cmd; - cmd=$1; - $cmd --help | grep --colour=auto -- "^[[:space:]]*-" | tr "," " " | awk '{print $1; if ($2 ~ /-.*/) { print $2 } }' | sed -e "s:=.*::g" -} -_pci_ids () -{ - COMPREPLY=(${COMPREPLY[@]:-} $( compgen -W "$( lspci -n | awk '{print $3}')" -- $cur )) -} -_perl () -{ - local cur prev prefix temp; - local optPrefix optSuffix; - COMPREPLY=(); - cur=`_get_cword`; - prev=${COMP_WORDS[COMP_CWORD-1]}; - prefix=""; - if [[ "$cur" == -?* ]]; then - temp=$cur; - prev=${temp:0:2}; - cur=${temp:2}; - optPrefix=-P$prev; - optSuffix=-S/; - prefix=$prev; - fi; - case "$prev" in - -I | -x) - local IFS=' -'; - COMPREPLY=($( compgen -d $optPrefix $optSuffix -- "$cur" )); - return 0 - ;; - -m | -M) - _perlmodules; - return 0 - ;; - esac; - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-C -s -T -u -U -W -X -h -v -V -c -w -d \ - -D -p -n -a -F -l -0 -I -m -M -P -S -x -i -e ' -- $cur )); - else - _filedir; - fi -} -_perldoc () -{ - local cur prev prefix temp; - COMPREPLY=(); - cur=`_get_cword`; - prev=${COMP_WORDS[COMP_CWORD-1]}; - prefix=""; - if [[ "$cur" == -?* ]]; then - temp=$cur; - prev=${temp:0:2}; - cur=${temp:2}; - prefix=$prev; - fi; - case $prev in - -f) - COMPREPLY=($( compgen -W 'chomp chop chr crypt hex index lc \ - lcfirst length oct ord pack q qq reverse rindex sprintf \ - substr tr uc ucfirst y m pos quotemeta s split study qr abs \ - atan2 cos exp hex int log oct rand sin sqrt srand pop push \ - shift splice unshift grep join map qw reverse sort unpack \ - delete each exists keys values binmode close closedir \ - dbmclose dbmopen die eof fileno flock format getc print \ - printf read readdir rewinddir seek seekdir select syscall \ - sysread sysseek syswrite tell telldir truncate warn write \ - pack read syscall sysread syswrite unpack vec -X chdir chmod \ - chown chroot fcntl glob ioctl link lstat mkdir open opendir \ - readlink rename rmdir stat symlink umask unlink utime caller \ - continue do dump eval exit goto last next redo return \ - sub wantarray caller import local my our package use defined \ - formline reset scalar undef \ - alarm exec fork getpgrp getppid getpriority kill pipe qx \ - setpgrp setpriority sleep system times wait waitpid \ - import no package require use bless dbmclose dbmopen package \ - ref tie tied untie use accept bind connect getpeername \ - getsockname getsockopt listen recv send setsockopt shutdown \ - socket socketpair msgctl msgget msgrcv msgsnd semctl semget \ - semop shmctl shmget shmread shmwrite endgrent endhostent \ - endnetent endpwent getgrent getgrgid getgrnam getlogin \ - getpwent getpwnam getpwuid setgrent setpwent endprotoent \ - endservent gethostbyaddr gethostbyname gethostent \ - getnetbyaddr getnetbyname getnetent getprotobyname \ - getprotobynumber getprotoent getservbyname getservbyport \ - getservent sethostent setnetent setprotoent setservent \ - gmtime localtime time times' -- $cur )); - return 0 - ;; - esac; - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-h -v -t -u -m -l -F -X -f -q' -- $cur )); - else - if [[ "$cur" != */* ]]; then - _perlmodules; - COMPREPLY=("${COMPREPLY[@]}" $( compgen -W '$( PAGER=/bin/cat man perl | sed -ne "/perl.*Perl overview/,/perlwin32/p" | awk "\$NF=2 { print \$1}" | grep perl )' -- $cur )); - fi; - fi -} -_perlmodules () -{ - COMPREPLY=($( compgen -P "$prefix" -W "$( perl -e 'sub mods { my ($base,$dir)=@_; return if $base !~ /^\Q$ENV{cur}/; chdir($dir) or return; for (glob(q[*.pm])) {s/\.pm$//; print qq[$base$_\n]}; mods(/^(?:[.\d]+|$Config{archname}-$Config{osname}|auto)$/ ? undef : qq[${base}${_}\\\\:\\\\:],qq[$dir/$_]) for grep {-d} glob(q[*]); } mods(undef,$_) for @INC;' )" -- $cur )) -} -_pgids () -{ - COMPREPLY=($( compgen -W '$( command ps axo pgid | sed 1d )' -- $cur )) -} -_pgrep () -{ - local cur; - COMPREPLY=(); - cur=`_get_cword`; - _pnames; - return 0 -} -_pids () -{ - COMPREPLY=($( compgen -W '$( command ps axo pid | sed 1d )' -- $cur )) -} -_pkg_config () -{ - local cur; - COMPREPLY=(); - cur=`_get_cword`; - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-version --modversion \ - --atleast-pkgconfig-version= --libs --libs-only-l \ - --libs-only-other --libs-only-L --cflags \ - --cflags-only-I --cflags-only-other --variable= \ - --define-variable= --exists --uninstalled \ - --atleast-version= --exact-version= --max-version= \ - --list-all --debug --print-errors --silence-errors \ - --errors-to-stdout -? --help --usage' -- $cur)); - else - COMPREPLY=($( pkg-config --list-all 2>/dev/null | awk '{print $1}' | grep "^$cur" )); - fi -} -_pkgname () -{ - local mode cur portdir only; - mode="$1"; - cur="$2"; - portdir=$(_portdir -o); - [[ ${cur:1:1} == "=" ]] && cur=${cur:2}; - [[ ${cur:0:1} == "=" ]] && cur=${cur:1}; - case $mode in - -I) - if [[ $cur == */* ]]; then - COMPREPLY=($(builtin cd /var/db/pkg; compgen -W "$(compgen -G "$cur*" )" -- $cur)); - else - COMPREPLY=($(builtin cd /var/db/pkg; compgen -W "$(compgen -G "$cur*" -S /)" -- $cur)); - fi; - if [[ ${#COMPREPLY[@]} == 1 ]]; then - COMPREPLY=($(builtin cd /var/db/pkg; compgen -W "$(compgen -G "$COMPREPLY*")" -- $cur)); - fi; - if [[ -z "${COMPREPLY}" ]]; then - only=1; - _pkgname_only ${cur} /var/db/pkg; - fi - ;; - -A) - if [[ $cur == */* ]]; then - COMPREPLY=($( for pd in ${portdir} ; do builtin cd ${pd}; compgen -W "$(compgen -G "${cur}*")" -- "${cur}" ; done)); - if [[ ${#COMPREPLY[@]} -le 1 || ${cur:${#cur}-1:1} == "-" ]] && [[ ${cur} != */ ]]; then - COMPREPLY=(${COMPREPLY[@]} $( for pd in ${portdir} ; do if [[ -d ${pd}/metadata/cache ]] ; then builtin cd ${pd}/metadata/cache; compgen -W "$(compgen -G "${cur}*")" -- "${cur}" ; fi ; done)); - fi; - else - COMPREPLY=($(compgen -W "$( for pd in ${portdir} ; do if [[ -d ${pd}/metadata/cache ]] ; then - builtin cd ${pd}/metadata/cache; compgen -G "$cur*" -S / ; fi ; done)" -- $cur)); - if [[ ${#COMPREPLY[@]} == 1 ]]; then - COMPREPLY=($(compgen -W "$( for pd in ${portdir} ; do if [[ -d ${pd}/metadata/cache ]] ; then - builtin cd ${pd}/metadata/cache; compgen -G "$COMPREPLY*" ; fi ; done)" -- $cur)); - fi; - fi; - if [[ -z "${COMPREPLY}" ]]; then - only=1; - _pkgname_only ${cur} ${portdir}; - fi - ;; - *) - - ;; - esac; - if [[ ${#COMPREPLY[@]} == 1 && ${COMP_WORDS[COMP_CWORD]:0:1} != "=" ]]; then - [[ -z "${only}" ]] && COMPREPLY=("="$COMPREPLY); - fi -} -_pkgname_only () -{ - local i pd; - local cur="$1"; - shift; - local dir="$@"; - COMPREPLY=($(compgen -W "$( for pd in $dir ; do builtin cd ${pd}; for i in *-*/${cur}*; do [[ -d ${i} ]] && { local x=${i##*/} ; echo ${x%-[0-9]*}; } done ; done)" -- ${cur})) -} -_pnames () -{ - COMPREPLY=($( compgen -W '$( command ps axo command | \ - sed -e "1d; s/ .*//; s:.*/::; s/:$//;" \ - -e "s/^[[(-]//; s/[])]$//" \ - -e "s/^$//")' -- $cur )) -} -_portageq () -{ - local cur prev opts; - COMPREPLY=(); - cur="${COMP_WORDS[COMP_CWORD]}"; - prev="${COMP_WORDS[COMP_CWORD-1]}"; - opts="config_protect_mask config_protect vdb_path gentoo_mirrors all_best_visible match best_visible mass_best_visible has_version portdir envvar mass_best_version best_version pkgdir portdir_overlay distdir"; - if [[ $COMP_CWORD -eq 1 ]]; then - COMPREPLY=($(compgen -W "${opts}" -- ${cur})); - fi; - case "${prev}" in - config* | vdb_path | gentoo_mirrors | *dir*) - COMPREPLY=() - ;; - envvar) - COMPREPLY=($(compgen -W "$(env -i emerge -v --info | sed -n -e '/^[[:upper:]].*=".*"/s/^\(.*\)=".*$/\1/p')" -- ${cur})) - ;; - *v@(isible|ersion) | match) - COMPREPLY=($(compgen $nospace -W '/' -- $cur)) - ;; - */*) - local x a=0; - for x in ${COMP_WORDS[@]}; - do - if [[ "${x}" == "all_best_visible" ]]; then - a=1; - break; - fi; - done; - if [[ ${a} -eq 1 ]]; then - COMPREPLY=(); - else - _pkgname -A $cur; - fi - ;; - esac -} -_portdir () -{ - ( source /etc/make.globals 2> /dev/null; - source /etc/make.conf 2> /dev/null; - echo ${PORTDIR}; - if [[ $1 == '-o' ]]; then - echo ${PORTDIR_OVERLAY}; - fi ) -} -_python () -{ - local prev cur; - COMPREPLY=(); - cur=`_get_cword`; - prev=${COMP_WORDS[COMP_CWORD-1]##*/}; - case "$prev" in - -Q) - COMPREPLY=($( compgen -W "old new warn warnall" -- $cur )); - return 0 - ;; - -W) - COMPREPLY=($( compgen -W "ignore default all module once error" -- $cur )); - return 0 - ;; - -c) - _filedir '@(py|pyc|pyo)'; - return 0 - ;; - !(python|-?)) - [[ ${COMP_WORDS[COMP_CWORD-2]} != -@(Q|W) ]] && _filedir - ;; - esac; - for ((i=0; i < ${#COMP_WORDS[@]}-1; i++ )) - do - if [[ ${COMP_WORDS[i]} == -c ]]; then - _filedir; - fi; - done; - if [[ "$cur" != -* ]]; then - _filedir '@(py|pyc|pyo)'; - else - COMPREPLY=($( compgen -W "- -d -E -h -i -O -Q -S -t -u -U -v -V -W -x -c" -- $cur )); - fi; - return 0 -} -_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 -} -_rcstatus () -{ - local cur; - cur="${COMP_WORDS[COMP_CWORD]}"; - if [[ $COMP_CWORD -eq 1 ]]; then - if [[ "${cur}" == --* ]]; then - COMPREPLY=($(compgen -W '--all --list --unused' -- ${cur})); - else - if [[ "${cur}" == -* ]]; then - COMPREPLY=($(compgen -W '-a -l -u' -- ${cur})); - else - COMPREPLY=($(compgen -W "$(rc-status --list)" -- ${cur})); - fi; - fi; - else - unset COMPREPLY; - fi; - return 0 -} -_rcupdate () -{ - local cur show; - COMPREPLY=(); - cur="${COMP_WORDS[COMP_CWORD]}"; - if [[ $COMP_CWORD -eq 1 ]]; then - if [[ "${cur}" == -* ]]; then - COMPREPLY=($(compgen -W '-a -d -s' -- ${cur})); - else - COMPREPLY=($(compgen -W 'add del show' ${cur})); - fi; - else - if [[ "${COMP_WORDS[1]}" == "show" ]] || [[ "${COMP_WORDS[1]}" == "-s" ]]; then - show="TRUE"; - fi; - if ( [[ $COMP_CWORD -eq 3 ]] && [[ -z "$show" ]] ) || ( [[ $COMP_CWORD -eq 2 ]] && [[ -n "$show" ]] ); then - COMPREPLY=($(compgen -W "$(for i in /etc/runlevels/*; do echo ${i##*/}; done)" -- $cur)); - else - if [[ $COMP_CWORD -eq 2 ]]; then - COMPREPLY=($(compgen -X "*.@(c|sh|test)" -W "$(for i in /etc/init.d/*; do echo ${i##*/}; done)" $cur)); - else - if [[ ${#COMP_WORDS[*]} -gt 2 ]]; then - COMPREPLY=($(compgen -W "$(for i in /etc/runlevels/*; do echo ${i##*/}; done)" -- $cur)); - else - unset COMPREPLY; - fi; - fi; - fi; - fi; - return 0 -} -_realcommand () -{ - type -P "$1" > /dev/null && { - if type -p realpath > /dev/null; then - realpath "$(type -P "$1")"; - else - if type -p readlink > /dev/null; then - readlink -f "$(type -P "$1")"; - else - type -P "$1"; - fi; - fi - } -} -_renice () -{ - local command cur curopt i; - COMPREPLY=(); - cur=`_get_cword`; - command=$1; - i=0; - while [ $i -le $COMP_CWORD -a ${#COMPREPLY[@]} -eq 0 ]; do - curopt=${COMP_WORDS[COMP_CWORD-$i]}; - case "$curopt" in - -u) - COMPREPLY=($( compgen -u -- $cur )) - ;; - -g) - _pgids - ;; - -p | $command) - _pids - ;; - esac; - i=$(( ++i )); - done -} -_revdep_rebuild () -{ - local cur prev opts; - COMPREPLY=(); - cur="${COMP_WORDS[COMP_CWORD]}"; - prev="${COMP_WORDS[COMP_CWORD-1]}"; - opts="-X --package-names --soname --soname-regexp -q --quiet"; - if [[ ${cur} == -* || ${COMP_CWORD} -eq 1 ]] || [[ ${prev} == @(-q|--quiet) ]]; then - COMPREPLY=($(compgen -W "${opts}" -- ${cur})); - return 0; - fi; - case "${prev}" in - -X | --package-names) - _pkgname -I ${cur} - ;; - --soname) - local sonames=$(for x in /usr/lib* ; do for lib in $(find ${x} -name '*.so*' -type f) ; do [[ ${lib} == *@(perl|python)* ]] || echo ${lib##*/} ; done ; done); - COMPREPLY=($(compgen -W "${sonames}" -- ${cur})) - ;; - --soname-regexp) - COMPREPLY=() - ;; - *) - if [[ ${COMP_LINE} == *" "@(-X|--package-names)* ]]; then - _pkgname -I ${cur}; - COMPREPLY=(${COMPREPLY[@]} $(compgen -W "${opts}")); - else - COMPREPLY=($(compgen -W "${opts}" -- ${cur})); - fi - ;; - esac -} -_rl_enabled () -{ - [[ "$( bind -v )" = *$1+([[:space:]])on* ]] -} -_rmmod () -{ - local cur; - COMPREPLY=(); - cur=`_get_cword`; - _installed_modules "$cur"; - return 0 -} -_root_command () -{ - PATH=$PATH:/sbin:/usr/sbin:/usr/local/sbin _command $1 $2 $3 -} -_route () -{ - local cur prev; - COMPREPLY=(); - cur=`_get_cword`; - prev=${COMP_WORDS[COMP_CWORD-1]}; - if [ "$prev" = dev ]; then - COMPREPLY=($( ifconfig -a | sed -ne 's|^\('$cur'[^ ]*\).*$|\1|p' )); - return 0; - fi; - COMPREPLY=($( compgen -W 'add del -host -net netmask metric mss \ - window irtt reject mod dyn reinstate dev \ - default gw' -- $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 -} -_rsync () -{ - local cur prev shell i userhost path; - COMPREPLY=(); - cur=`_get_cword`; - prev=${COMP_WORDS[COMP_CWORD-1]}; - _expand || return 0; - case "$prev" in - --@(config|password-file|include-from|exclude-from)) - _filedir; - return 0 - ;; - -@(T|-temp-dir|-compare-dest)) - _filedir -d; - return 0 - ;; - -@(e|-rsh)) - COMPREPLY=($( compgen -W 'rsh ssh' -- $cur )); - return 0 - ;; - esac; - case "$cur" in - -*) - COMPREPLY=($( compgen -W '-v -q -c -a -r -R -b -u -l -L -H \ - -p -o -g -D -t -S -n -W -x -B -e -C -I -T -P \ - -z -h -4 -6 --verbose --quiet --checksum \ - --archive --recursive --relative --backup \ - --backup-dir --suffix= --update --links \ - --copy-links --copy-unsafe-links --safe-links \ - --hard-links --perms --owner --group --devices\ - --times --sparse --dry-run --whole-file \ - --no-whole-file --one-file-system \ - --block-size= --rsh= --rsync-path= \ - --cvs-exclude --existing --ignore-existing \ - --delete --delete-excluded --delete-after \ - --ignore-errors --max-delete= --partial \ - --force --numeric-ids --timeout= \ - --ignore-times --size-only --modify-window= \ - --temp-dir= --compare-dest= --compress \ - --exclude= --exclude-from= --include= \ - --include-from= --version --daemon --no-detach\ - --address= --config= --port= --blocking-io \ - --no-blocking-io --stats --progress \ - --log-format= --password-file= --bwlimit= \ - --write-batch= --read-batch= --help' -- $cur )) - ;; - *:*) - shell=ssh; - for ((i=1; i < COMP_CWORD; i++ )) - do - if [[ "${COMP_WORDS[i]}" == -@(e|-rsh) ]]; then - shell=${COMP_WORDS[i+1]}; - break; - fi; - done; - if [[ "$shell" == ssh ]]; then - cur=${cur/\\:/:}; - userhost=${cur%%?(\\):*}; - path=${cur#*:}; - path=${path//\\\\\\\\ / }; - if [ -z "$path" ]; then - path=$(ssh -o 'Batchmode yes' $userhost pwd 2>/dev/null); - fi; - COMPREPLY=($( ssh -o 'Batchmode yes' $userhost command ls -aF1d "$path*" 2>/dev/null | sed -e 's/ /\\\\\\\ /g' -e 's/[*@|=]$//g' -e 's/[^\/]$/& /g' )); - fi - ;; - *) - _known_hosts -c -a; - _filedir - ;; - esac; - return 0 -} -_screen () -{ - local cur prev preprev; - COMPREPLY=(); - cur=`_get_cword`; - prev=${COMP_WORDS[COMP_CWORD-1]}; - [ "$COMP_CWORD" -ge 2 ] && preprev=${COMP_WORDS[COMP_CWORD-2]}; - if [ "$preprev" = "-d" -o "$preprev" = "-D" -a "$prev" = "-r" -o "$prev" = "-R" ]; then - COMPREPLY=($( command screen -ls | sed -ne 's|^['' '']\+\('$cur'[0-9]\+\.[^'' '']\+\).*$|\1|p' )); - else - case "$prev" in - -[rR]) - COMPREPLY=($( command screen -ls | sed -ne 's|^['' '']\+\('$cur'[0-9]\+\.[^'' '']\+\).*Detached.*$|\1|p' )) - ;; - -[dDx]) - COMPREPLY=($( command screen -ls | sed -ne 's|^['' '']\+\('$cur'[0-9]\+\.[^'' '']\+\).*Attached.*$|\1|p' )) - ;; - -s) - COMPREPLY=($( grep ^${cur:-[^#]} /etc/shells )) - ;; - *) - - ;; - esac; - fi; - return 0 -} -_service () -{ - local cur sysvdir; - COMPREPLY=(); - prev=${COMP_WORDS[COMP_CWORD-1]}; - cur=`_get_cword`; - [[ ${COMP_WORDS[0]} != @(*init.d/!(functions|~)|service) ]] && return 0; - [ $COMP_CWORD -gt 2 ] && return 0; - [ -d /etc/rc.d/init.d ] && sysvdir=/etc/rc.d/init.d || sysvdir=/etc/init.d; - if [[ $COMP_CWORD -eq 1 ]] && [[ $prev == "service" ]]; then - _services; - else - COMPREPLY=($( compgen -W '`sed -ne "y/|/ /; \ - s/^.*Usage.*{\(.*\)}.*$/\1/p" \ - $sysvdir/${prev##*/} 2>/dev/null`' -- $cur )); - fi; - return 0 -} -_services () -{ - local sysvdir famdir; - [ -d /etc/rc.d/init.d ] && sysvdir=/etc/rc.d/init.d || sysvdir=/etc/init.d; - famdir=/etc/xinetd.d; - COMPREPLY=($( builtin echo $sysvdir/!(*.rpm@(orig|new|save)|*~|functions))); - if [ -d $famdir ]; then - COMPREPLY=("${COMPREPLY[@]}" $( builtin echo $famdir/!(*.rpm@(orig|new|save)|*~))); - fi; - COMPREPLY=($( compgen -W '${COMPREPLY[@]#@($sysvdir|$famdir)/}' -- $cur )) -} -_signals () -{ - local i; - COMPREPLY=($( compgen -A signal SIG${cur#-} )); - for ((i=0; i < ${#COMPREPLY[@]}; i++ )) - do - COMPREPLY[i]=-${COMPREPLY[i]#SIG}; - done -} -_stream () -{ - local cur; - COMPREPLY=(); - cur=`_get_cword`; - _ImageMagick; - if [[ "$cur" == -* ]]; then - COMPREPLY=($( compgen -W '-authenticate -channel -colorspace \ - -compress -debug -define -density -depth -extract \ - -help -identify -interlace -interpolate -limit -list \ - -log -map -monitor -quantize -quiet -regard-warnings \ - -respect-parenthesis -sampling-factor -seed -set \ - -size -storage-type -transparent-color -verbose \ - -version -virtual-pixel' -- $cur )); - else - if [[ "$cur" == +* ]]; then - COMPREPLY=($( compgen -W '+debug' -- $cur )); - else - _filedir; - fi; - fi -} -_sysctl () -{ - local cur; - COMPREPLY=(); - cur=`_get_cword`; - COMPREPLY=($( compgen -W "$(sysctl -N -a 2>/dev/null)" -- $cur )); - return 0 -} -_tar () -{ - local cur ext regex tar untar; - COMPREPLY=(); - cur=`_get_cword`; - if [ $COMP_CWORD -eq 1 ]; then - COMPREPLY=($( compgen -W 'c t x u r d A' -- $cur )); - return 0; - fi; - case "${COMP_WORDS[1]}" in - ?(-)[cr]*f) - _filedir; - return 0 - ;; - +([^IZzJjy])f) - ext='t@(ar?(.@(Z|gz|bz?(2)|lz?(ma)))|gz|bz?(2)|lz?(ma))'; - regex='t\(ar\(\.\(Z\|gz\|bz2\?\|lzma\)\)\?\|gz\|bz2\?\|lzma\)' - ;; - *[Zz]*f) - ext='t?(ar.)@(gz|Z)'; - regex='t\(ar\.\)\?\(gz\|Z\)' - ;; - *[Ijy]*f) - ext='t?(ar.)bz?(2)'; - regex='t\(ar\.\)\?bz2\?' - ;; - *[J]*f) - ext='t?(ar.)lz?(ma)'; - regex='t\(ar\.\)\?lzma\?' - ;; - *) - _filedir; - return 0 - ;; - esac; - if [[ "$COMP_LINE" == *$ext' ' ]]; then - tar=$( echo "$COMP_LINE" | sed -e 's/^.* \([^ ]*'$regex'\) .*$/\1/' ); - untar=t${COMP_WORDS[1]//[^Izjyf]/}; - COMPREPLY=($( compgen -W "$( echo $( tar $untar $tar 2>/dev/null ) )" -- "$cur" )); - return 0; - fi; - _filedir "$ext"; - return 0 -} -_uids () -{ - if type getent >&/dev/null; then - COMPREPLY=($( getent passwd | awk -F: '{if ($3 ~ /^'$cur'/) print $3}' )); - else - if type perl >&/dev/null; then - COMPREPLY=($( compgen -W '$( perl -e '"'"'while (($uid) = (getpwent)[2]) { print $uid . "\n" }'"'"' )' -- $cur )); - else - COMPREPLY=($( awk 'BEGIN {FS=":"} {if ($3 ~ /^'$cur'/) print $3}' /etc/passwd )); - fi; - fi -} -_umount () -{ - local cur IFS=' -'; - COMPREPLY=(); - cur=`_get_cword`; - COMPREPLY=($( compgen -W '$( mount | cut -d" " -f 3 )' -- $cur )); - return 0 -} -_usb_ids () -{ - COMPREPLY=(${COMPREPLY[@]:-} $( compgen -W "$( lsusb | awk '{print $6}')" -- $cur )) -} -_user_at_host () -{ - local cur; - COMPREPLY=(); - cur=`_get_cword`; - if [[ $cur == *@* ]]; then - _known_hosts; - else - COMPREPLY=($( compgen -u -- "$cur" )); - fi; - return 0 -} -_usergroup () -{ - local IFS=' -'; - cur=${cur//\\\\ / }; - if [[ $cur = *@(\\:|.)* ]] && [ -n "$bash205" ]; then - user=${cur%%*([^:.])}; - COMPREPLY=($(compgen -P ${user/\\\\} -g -- ${cur##*[.:]})); - else - if [[ $cur = *:* ]] && [ -n "$bash205" ]; then - COMPREPLY=($( compgen -g -- ${cur##*[.:]} )); - else - COMPREPLY=($( compgen -S : -u -- $cur )); - fi; - fi -} -_xrandr () -{ - local cur prev output modes; - COMPREPLY=(); - cur=`_get_cword`; - prev=${COMP_WORDS[COMP_CWORD-1]}; - case "$prev" in - --output) - local outputs=$(xrandr|grep 'connected'|awk '{print $1}'); - COMPREPLY=($(compgen -W "$outputs" -- $cur)); - return 0 - ;; - --mode) - for ((i = 1; i < COMP_CWORD; i++ )) - do - if [[ "${COMP_WORDS[i]}" == "--output" ]]; then - output=${COMP_WORDS[i+1]}; - break; - fi; - done; - modes=$(xrandr|sed -e "1,/$output/ d" -e "/connected/,$ d"|awk '{print $1}'); - COMPREPLY=($( compgen -W "$modes" -- $cur)); - return 0 - ;; - esac; - case "$cur" in - *) - COMPREPLY=($(compgen -W '-d -display -help -o \ - --orientation -q --query -s --size\ - -r --rate -v --version -x -y --screen \ - --verbose --dryrun --prop --fb --fbmm --dpi \ - --output --auto --mode --preferred --pos \ - --reflect --rotate --left-of --right-of \ - --above --below --same-as --set --off --crtc \ - --newmode --rmmode --addmode --delmode' -- $cur)); - return 0 - ;; - esac; - return 0 -} -dequote () -{ - eval echo "$1" -} -quote () -{ - echo \'${1//\'/\'\\\'\'}\' -} -quote_readline () -{ - if [[ "${BASH_VERSINFO[0]}" -ge 4 ]]; then - echo "${1}"; - return; - fi; - local t="${1//\\/\\\\}"; - echo \'${t//\'/\'\\\'\'}\' -} +USERNAME=azaroth +WINDOWID=29360145 +XAUTHORITY=/home/azaroth/.Xauthority +XDG_DATA_DIRS=/usr/local/share/:/usr/share/:/usr/share/gdm/ +XDG_SESSION_COOKIE=34b42a731f4f78ba80d5411a49cea0f2-1244236372.59279-1830128208 +XTERM_LOCALE=C +XTERM_SHELL=/bin/bash +XTERM_VERSION='XTerm(242)' +_=./256colors2.pl