summaryrefslogtreecommitdiff
path: root/completions/rdesktop
diff options
context:
space:
mode:
Diffstat (limited to 'completions/rdesktop')
-rw-r--r--completions/rdesktop48
1 files changed, 24 insertions, 24 deletions
diff --git a/completions/rdesktop b/completions/rdesktop
index 7acf47a5..48a91750 100644
--- a/completions/rdesktop
+++ b/completions/rdesktop
@@ -1,22 +1,17 @@
-# bash completion for rdesktop
+# bash completion for rdesktop -*- shell-script -*-
-have rdesktop &&
_rdesktop()
{
- local cur prev
-
- COMPREPLY=()
- _get_comp_words_by_ref cur prev
+ local cur prev words cword
+ _init_completion -n : || return
case $prev in
-k)
COMPREPLY=( $( command ls \
/usr/share/rdesktop/keymaps 2>/dev/null | \
command grep -E -v '(common|modifiers)' ) )
- COMPREPLY=( ${COMPREPLY[@]:-} $( command ls \
- $HOME/.rdesktop/keymaps 2>/dev/null ) )
- COMPREPLY=( ${COMPREPLY[@]:-} $( command ls \
- ./keymaps 2>/dev/null ) )
+ COMPREPLY+=( $( command ls $HOME/.rdesktop/keymaps 2>/dev/null ) )
+ COMPREPLY+=( $( command ls ./keymaps 2>/dev/null ) )
COMPREPLY=( $( compgen -W '${COMPREPLY[@]}' -- "$cur" ) )
return 0
;;
@@ -25,22 +20,33 @@ _rdesktop()
return 0
;;
-x)
- COMPREPLY=( $( compgen -W 'b broadband m modem l lan' \
- -- $cur ) )
+ COMPREPLY=( $( compgen -W 'broadband modem lan' -- "$cur" ) )
return 0
;;
-r)
- # FIXME: should do -o nospace for the colon options
- COMPREPLY=( $( compgen -W 'comport: disk: lptport: \
- printer: sound: lspci scard' -- "$cur" ) )
+ case $cur in
+ sound:*)
+ COMPREPLY=( $( compgen -W 'local off remote' \
+ -- "${cur#sound:}" ) )
+ ;;
+ *:*)
+ ;;
+ *)
+ COMPREPLY=( $( compgen -W 'comport: disk: lptport: \
+ printer: sound: lspci scard' -- "$cur" ) )
+ [[ $COMPREPLY == *: ]] && compopt -o nospace
+ ;;
+ esac
+ return 0
+ ;;
+ -u|-d|-s|-c|-p|-n|-g|-S|-T|-X)
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" ) )
+ local opts=( $( _parse_help "$1" ) )
+ COMPREPLY=( $( compgen -W '${opts[@]%:}' -- "$cur" ) )
else
_known_hosts_real "$cur"
fi
@@ -48,10 +54,4 @@ _rdesktop()
} &&
complete -F _rdesktop rdesktop
-# Local variables:
-# mode: shell-script
-# sh-basic-offset: 4
-# sh-indent-comment: t
-# indent-tabs-mode: nil
-# End:
# ex: ts=4 sw=4 et filetype=sh