summaryrefslogtreecommitdiff
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 00000000..7acf47a5
--- /dev/null
+++ b/completions/rdesktop
@@ -0,0 +1,57 @@
+# bash completion for rdesktop
+
+have rdesktop &&
+_rdesktop()
+{
+ local cur prev
+
+ COMPREPLY=()
+ _get_comp_words_by_ref cur prev
+
+ 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=( $( 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 -o 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_real "$cur"
+ fi
+
+} &&
+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