1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2025-01-19 11:31:26 +01:00

33486: new completion function

This commit is contained in:
Oliver Kiddle 2014-10-21 20:57:01 +02:00
parent 5e592fd9b0
commit 2ecc4bab41
2 changed files with 73 additions and 0 deletions

View file

@ -1,5 +1,7 @@
2014-10-21 Oliver Kiddle <opk@zsh.org>
* 33486: Completion/X/Command/_rdesktop: new completion function
* 33485: Completion/BSD/Command/_portsnap,
Completion/Darwin/Command/_defaults,
Completion/Darwin/Command/_fink, Completion/Debian/Command/_dchroot,

View file

@ -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