* PATCH: rdesktop completion
@ 2014-10-21 18:42 Oliver Kiddle
0 siblings, 0 replies; only message in thread
From: Oliver Kiddle @ 2014-10-21 18:42 UTC (permalink / raw)
To: Zsh workers
New completion function.
Oliver
diff --git a/Completion/X/Command/_rdesktop b/Completion/X/Command/_rdesktop
new file mode 100644
index 0000000..0bd08d9
--- /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
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2014-10-21 18:49 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-10-21 18:42 PATCH: rdesktop completion Oliver Kiddle
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/zsh/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).