summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVille Skyttä <ville.skytta@iki.fi>2009-03-23 22:56:46 +0200
committerVille Skyttä <ville.skytta@iki.fi>2009-03-23 22:56:46 +0200
commitad7f198193d7cb15952de60cad9224e70e29b174 (patch)
tree7bc35972811fba7e2603868b0a8e2331595451a8
parentd3834c499699982655c62553fece79f6a902b4e7 (diff)
parentedd120e212ccd54d8fbcf87ec7c55210a8353bb6 (diff)
downloadbash-completion-ad7f198193d7cb15952de60cad9224e70e29b174.tar.gz
Merge branch 'frozen/1.0' of git+ssh://scop-guest@git.debian.org/git/bash-completion/bash-completion into frozen/1.0
-rw-r--r--CHANGES3
-rw-r--r--bash_completion48
-rw-r--r--contrib/vncviewer (renamed from to_review/vncviewer)63
-rw-r--r--debian/changelog2
4 files changed, 81 insertions, 35 deletions
diff --git a/CHANGES b/CHANGES
index b97e48de..3ef768a6 100644
--- a/CHANGES
+++ b/CHANGES
@@ -76,6 +76,7 @@ bash-completion (1.0)
go. After it gets accepted, the completion would go into contrib/.
* Remove unused UNAME local variable in _info() (Closes: #501843)
* AUTHORS added
+ * Make _alias() use _get_cword
* Merge from Gentoo:
- fix 'find' completion so that it properly completes on -?(i)whilename.
Patch by Ciaran McCreesh.
@@ -154,7 +155,7 @@ bash-completion (1.0)
[ Santiago M. Mola ]
* Add .ape to mplayer supported extensions (Alioth#311510).
- -- David Paleino <d.paleino@gmail.com> Tue, 17 Feb 2009 09:14:09 +0100
+ -- David Paleino <d.paleino@gmail.com> Thu, 19 Mar 2009 19:41:38 +0100
bash-completion (20080705) unstable; urgency=low
diff --git a/bash_completion b/bash_completion
index f95192c6..9a0f0e64 100644
--- a/bash_completion
+++ b/bash_completion
@@ -540,6 +540,25 @@ _usergroup()
fi
}
+
+# Get real command.
+# - arg: $1 Command
+# - stdout: Filename of command in PATH with possible symbolic links resolved.
+# Empty string if command not found.
+# - return: True (0) if command found, False (> 0) if not.
+_realcommand() {
+ type -P "$1" > /dev/null && {
+ if type -p realpath > /dev/null; then
+ realpath "$(type -P "$1")"
+ elif type -p readlink > /dev/null; then
+ readlink -f "$(type -P "$1")"
+ else
+ type -P "$1"
+ fi
+ }
+}
+
+
# this function count the number of mandatory args
#
_count_args()
@@ -9062,35 +9081,6 @@ _smartctl()
complete -F _smartctl smartctl
}
-# vncviewer(1) completion
-#
-have vncviewer &&
-_vncviewer()
-{
- local cur prev
- local -a config
-
- COMPREPLY=()
- cur=`_get_cword`
- prev=${COMP_WORDS[COMP_CWORD-1]}
-
- case "$prev" in
- -via)
- _known_hosts -a
- ;;
- *)
- # ssh into the the server, find and ping the broadcast address, then
- # sort and show the results.
- COMPREPLY=( $( ssh -o 'Batchmode yes' $prev \
- "ping -bnc 4 255.255.255.255" 2>/dev/null | \
- awk -F ' ' '{print $4}' | \
- sort -n | uniq | egrep '[0-9]+\.[0-9]+\.' 2>/dev/null ) )
- esac
-
- return 0
-} &&
-complete -F _vncviewer vncviewer
-
# sysctl(8) completion
#
have sysctl &&
diff --git a/to_review/vncviewer b/contrib/vncviewer
index 24d90124..933783a4 100644
--- a/to_review/vncviewer
+++ b/contrib/vncviewer
@@ -1,13 +1,68 @@
# -*- mode: shell-script; sh-basic-offset: 8; indent-tabs-mode: t -*-
# ex: ts=8 sw=8 noet filetype=sh
#
-# bash completion for vncviewer (4.1.1)
+# bash completion for vncviewer
+
+
+_vncviewer_bootstrap() {
+ local fname
+ case "$(_realcommand vncviewer)" in
+ # If `vncviewer' not installed, default file-dir completion
+ '') _filedir `_get_cword` ;;
+ *xvnc4viewer) fname=_xvnc4viewer ;;
+ *tightvncviewer|*) fname=_tightvncviewer ;;
+ esac
+ if [ $fname ]; then
+ # Install real completion for subsequent completions
+ complete -F $fname vncviewer
+ $fname # Generate completions once for now
+ unset -f _vncviewer_bootstrap
+ fi
+} &&
+complete -F _vncviewer_bootstrap vncviewer
+
+
+_tightvncviewer()
+{
+ local cur prev
+
+ COMPREPLY=()
+ cur=`_get_cword`
+ prev=${COMP_WORDS[COMP_CWORD-1]}
+
+ case $prev in
+ -passwd)
+ _filedir
+ return 0
+ ;;
+ -encodings)
+ COMPREPLY=( $( compgen -W 'copyrect tight hextile zlib \
+ corre rre raw' -- $cur ) )
+ return 0
+ ;;
+ -via)
+ _known_hosts
+ return 0
+ ;;
+ esac
+
+
+ if [[ "$cur" == -* ]]; then
+ COMPREPLY=( $( compgen -W '-help -listen -via -shared -noshared\
+ -viewonly -fullscreen -noraiseonbeep -passwd -encodings\
+ -bgr233 -owncmap -truecolour -truecolor -depth \
+ -compresslevel -quality -nojpeg -nocursorshape \
+ -x11cursor' -- $cur ) )
+ else
+ _known_hosts
+ fi
+} &&
+complete -F _tightvncviewer tightvncviewer
# NOTE: - VNC Viewer options are case-insensivite. Preferred case is taken from -help.
# - Both single dash (-) and double dash (--) are allowed as option prefix
-have vncviewer &&
-_vncviewer()
+_xvnc4viewer()
{
local cur prev
@@ -68,4 +123,4 @@ _vncviewer()
_known_hosts
fi
} &&
-complete -F _vncviewer vncviewer
+complete -F _xvnc4viewer xvnc4viewer
diff --git a/debian/changelog b/debian/changelog
index 6480f80e..cd57533d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -155,7 +155,7 @@ bash-completion (1:1.0-1) UNRELEASED; urgency=low
[ Santiago M. Mola ]
* Add .ape to mplayer supported extensions (Alioth#311510).
- -- Freddy Vulto <fvulto@gmail.com> Wed, 25 Feb 2009 21:16:46 +0100
+ -- David Paleino <d.paleino@gmail.com> Thu, 19 Mar 2009 19:41:38 +0100
bash-completion (20080705) unstable; urgency=low