From 2ecc4bab417e1d67516e7fc5b94904daa3e32c3f Mon Sep 17 00:00:00 2001 From: Oliver Kiddle Date: Tue, 21 Oct 2014 20:57:01 +0200 Subject: 33486: new completion function --- Completion/X/Command/_rdesktop | 71 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 Completion/X/Command/_rdesktop (limited to 'Completion') diff --git a/Completion/X/Command/_rdesktop b/Completion/X/Command/_rdesktop new file mode 100644 index 000000000..0bd08d932 --- /dev/null +++ b/Completion/X/Command/_rdesktop @@ -0,0 +1,71 @@ +#compdef rdesktop + +local curcontext="$curcontext" state line expl redir ret=1 +typeset -A opt_args + +_arguments -C -s \ + '-u[username]:username:_users' \ + '-d[domain]:domain' \ + '-s[shell]:startup shell' \ + '-c[working directory]:directory:_directories' \ + '-p[password]:password' \ + '-n[hostname]:host:_hosts' \ + '-k[keyboard map]:keyboard map' \ + '(-f)-g[geometry]:geometry (WxH)' \ + '(-g)-f[fullscreen mode]' \ + '-b[force server to use bitmaps for screen updates]' \ + '-B[use X server backing store]' \ + '-E[disable encryption]' \ + "-m[don't send mouse motion events]" \ + '-C[use private colormap]' \ + '-D[hide window decorations]' \ + '-K[do not override window manager key bindings]' \ + '-S[single application mode]' \ + '-T[set window title]:title' \ + '-N[enable numlock synchronisation]' \ + '-X[embed in another window]:window:_x_window' \ + '-a[colour depth]:depth:(8 15 16 24)' \ + '-z[enable compression]' \ + '-x[bandwidth performance behaviour]:experience:((b\:broadband l\:lan m\:modem))' \ + '-P[enable bitmap caching]' \ + '*-r[device redirection]: :->redirection' \ + '-0[attach to server console]' \ + '(-5)-4[use RDP version 4]' \ + '(-4)-5[use RDP version 5]' \ + ':server:->hostsport' && ret=0 + +case $state in + hostsport) + if compset -P '*:'; then + _ports && ret=0 + else + compset -S ':*' + _hosts && ret=0 + fi + ;; + redirection) + redir="${PREFIX%%:*}" + if compset -P '*='; then + curcontext="${curcontext%:*}:$redir" + compset -P '*=' + case $redir in + comport|lptport) _wanted devices expl device _files -g '*(-%)' && ret=0 ;; + disk) _directories && ret=0 ;; + printer) _printers && ret=0 ;; + scard) _message -e aliases 'alias name' ;; + esac + else + compset -S '=*' + _values -S : 'redirection' \ + 'comport:port' \ + 'disk:sharename' \ + 'lptport:lptport' \ + 'printer:printername:_printers -S=' \ + 'sound:sound:(local off remote)' \ + 'lspci' \ + 'scard:sound card name' && ret=0 + fi + ;; +esac + +return ret -- cgit 1.4.1