summaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
Diffstat (limited to 'contrib')
-rw-r--r--contrib/brctl2
-rw-r--r--contrib/hg135
-rw-r--r--contrib/rdesktop53
3 files changed, 54 insertions, 136 deletions
diff --git a/contrib/brctl b/contrib/brctl
index 6fd7b6e5..1ecdc127 100644
--- a/contrib/brctl
+++ b/contrib/brctl
@@ -1,7 +1,7 @@
# -*- mode: shell-script; sh-basic-offset: 8; indent-tabs-mode: t -*-
# ex: ts=8 sw=8 noet filetype=sh
#
-# bash completion for brtcl
+# bash completion for brctl
have brctl &&
_brctl()
diff --git a/contrib/hg b/contrib/hg
deleted file mode 100644
index c053aa22..00000000
--- a/contrib/hg
+++ /dev/null
@@ -1,135 +0,0 @@
-# -*- mode: shell-script; sh-basic-offset: 8; indent-tabs-mode: t -*-
-# ex: ts=8 sw=8 noet filetype=sh
-#
-# Mercurial completion by Alexis S. L. Carvalho <alexis@cecm.usp.br>
-#
-# See: http://www.selenic.com/pipermail/mercurial/2005-August/003378.html
-
-_hg_commands()
-{
- local commands="$(hg -v help | sed -e '1,/^list of commands:/d' \
- -e '/^global options:/Q' \
- -e '/^ [^ ]/!d; s/[,:]//g;')"
-
- # hide debug commands from users, but complete them if
- # specifically asked for
- if [[ "$cur" == de* ]]; then
- commands="$commands debugcheckstate debugstate debugindex"
- commands="$commands debugindexdot debugwalk"
- fi
- COMPREPLY=( ${COMPREPLY[@]:-} $(compgen -W "$commands" -- "$cur") )
-}
-
-_hg_paths()
-{
- local paths="$(hg paths | sed -e 's/ = .*$//')"
- COMPREPLY=(${COMPREPLY[@]:-} $( compgen -W "$paths" -- "$cur" ))
-}
-
-_hg_tags()
-{
- local tags="$(hg tags | sed -e 's/[0-9]*:[a-f0-9]\{40\}$//; s/ *$//')"
- COMPREPLY=( ${COMPREPLY[@]:-} $(compgen -W "$tags" -- "$cur") )
-}
-
-# this is "kind of" ugly...
-_hg_count_non_option()
-{
- local i count=0
- local filters="$1"
-
- for (( i=1; $i<=$COMP_CWORD; i++ )); do
- if [[ "${COMP_WORDS[i]}" != -* ]]; then
- for f in $filters; do
- if [[ ${COMP_WORDS[i-1]} == $f ]]; then
- continue 2
- fi
- done
- count=$(($count + 1))
- fi
- done
-
- echo $(($count - 1))
-}
-
-_hg()
-{
- local cur prev cmd opts i
-
- COMPREPLY=()
- cur="$2"
- prev="$3"
-
- # searching for the command
- # (first non-option argument that doesn't follow -R/--repository)
- for (( i=1; $i<=$COMP_CWORD; i++ )); do
- if [[ ${COMP_WORDS[i]} != -* ]] \
- && [ "${COMP_WORDS[i-1]}" != -R ] \
- && [ "${COMP_WORDS[i-1]}" != --repository ]; then
- cmd="${COMP_WORDS[i]}"
- break
- fi
- done
-
- if [[ "$cur" == -* ]]; then
- opts="$(hg -v help | sed -e '1,/^global options/d; /^ -/!d')"
-
- if [ -n "$cmd" ]; then
- opts="$opts $(hg help "$cmd" | sed -e '/^ -/!d; s/ [^-][^ ]*//')"
- fi
-
- COMPREPLY=( ${COMPREPLY[@]:-} $(compgen -W "$opts" -- "$cur") )
- return
- fi
-
- if [ "$prev" = -R ] || [ "$prev" = --repository ]; then
- COMPREPLY=(${COMPREPLY[@]:-} $( compgen -d -- "$cur" ))
- return
- fi
-
- if [ -z "$cmd" ] || [ $COMP_CWORD -eq $i ]; then
- _hg_commands
- return
- fi
-
- if [ "$cmd" != status ] && [ "$prev" = -r ] || [ "$prev" = --rev ]; then
- _hg_tags
- return
- fi
-
- case "$cmd" in
- help)
- _hg_commands
- ;;
- export|manifest|update|checkout|up|co)
- _hg_tags
- ;;
- pull|push)
- _hg_paths
- COMPREPLY=(${COMPREPLY[@]:-} $( compgen -d -- "$cur" ))
- ;;
- paths)
- _hg_paths
- ;;
- clone)
- local count=$(_hg_count_non_option)
- if [ $count = 1 ]; then
- _hg_paths
- fi
- COMPREPLY=(${COMPREPLY[@]:-} $( compgen -d -- "$cur" ))
- ;;
- cat)
- local count=$(_hg_count_non_option -o --output)
- if [ $count = 2 ]; then
- _hg_tags
- else
- COMPREPLY=(${COMPREPLY[@]:-} $( compgen -f -- "$cur" ))
- fi
- ;;
- *)
- COMPREPLY=(${COMPREPLY[@]:-} $( compgen -f -- "$cur" ))
- ;;
- esac
-
-}
-complete -o filenames -F _hg hg
diff --git a/contrib/rdesktop b/contrib/rdesktop
new file mode 100644
index 00000000..ba941eec
--- /dev/null
+++ b/contrib/rdesktop
@@ -0,0 +1,53 @@
+# -*- mode: shell-script; sh-basic-offset: 8; indent-tabs-mode: t -*-
+# ex: ts=8 sw=8 noet filetype=sh
+#
+# bash completion for rdesktop
+
+have rdesktop &&
+_rdesktop()
+{
+ local cur prev
+
+ COMPREPLY=()
+ cur=`_get_cword`
+ prev=${COMP_WORDS[COMP_CWORD-1]}
+
+ case $prev in
+ -k)
+ COMPREPLY=( $( command ls \
+ /usr/share/rdesktop/keymaps 2>/dev/null | \
+ egrep -v '(common|modifiers)' ) )
+ COMPREPLY=( ${COMPREPLY[@]:-} $( command ls \
+ $HOME/.rdesktop/keymaps 2>/dev/null ) )
+ COMPREPLY=( ${COMPREPLY[@]:-} $( command ls \
+ ./keymaps 2>/dev/null ) )
+ COMPREPLY=( $( compgen -W '${COMPREPLY[@]}' -- $cur ) )
+ return 0
+ ;;
+ -a)
+ COMPREPLY=( $( compgen -W '8 15 16 24' -- $cur ) )
+ return 0
+ ;;
+ -x)
+ COMPREPLY=( $( compgen -W 'b broadband m modem l lan' \
+ -- $cur ) )
+ return 0
+ ;;
+ -r)
+ # FIXME: should do $nospace for the colon options
+ COMPREPLY=( $( compgen -W 'comport: disk: lptport: \
+ printer: sound: lspci scard' -- $cur ) )
+ return 0
+ ;;
+ esac
+
+ if [[ "$cur" == -* ]]; then
+ COMPREPLY=( $( compgen -W '-u -d -s -c -p -n -k -g -f -b -L \
+ -A -B -e -E -m -C -D -K -S -T -N -X -a -z -x -P -r \
+ -0 -4 -5' -- $cur ) )
+ else
+ _known_hosts
+ fi
+
+} &&
+complete -F _rdesktop rdesktop