summaryrefslogtreecommitdiffstats
path: root/completions/rdesktop
diff options
context:
space:
mode:
Diffstat (limited to 'completions/rdesktop')
-rw-r--r--completions/rdesktop57
1 files changed, 57 insertions, 0 deletions
diff --git a/completions/rdesktop b/completions/rdesktop
new file mode 100644
index 0000000..54c1ae6
--- /dev/null
+++ b/completions/rdesktop
@@ -0,0 +1,57 @@
+# bash completion for rdesktop -*- shell-script -*-
+
+_rdesktop()
+{
+ 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+=($(command ls $HOME/.rdesktop/keymaps 2>/dev/null))
+ COMPREPLY+=($(command ls ./keymaps 2>/dev/null))
+ COMPREPLY=($(compgen -W '${COMPREPLY[@]}' -- "$cur"))
+ return
+ ;;
+ -*a)
+ COMPREPLY=($(compgen -W '8 15 16 24' -- "$cur"))
+ return
+ ;;
+ -*x)
+ COMPREPLY=($(compgen -W 'broadband modem lan' -- "$cur"))
+ return
+ ;;
+ -*r)
+ 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
+ ;;
+ -*[udscpngSTX])
+ return
+ ;;
+ esac
+
+ if [[ $cur == -* ]]; then
+ local opts=($(_parse_help "$1"))
+ COMPREPLY=($(compgen -W '${opts[@]%:}' -- "$cur"))
+ else
+ _known_hosts_real -- "$cur"
+ fi
+
+} &&
+ complete -F _rdesktop rdesktop
+
+# ex: filetype=sh