mirror of
git://git.code.sf.net/p/zsh/code
synced 2024-11-19 21:44:11 +01:00
18459: Completion/Unix/Command/_screen: fix up suggestions from Oliver, and other changes.
This commit is contained in:
parent
c5e5b124ba
commit
537f405ca1
@ -1,3 +1,8 @@
|
||||
2003-04-22 Felix Rosencrantz <f_rosencrantz@yahoo.com>
|
||||
|
||||
* 18459: Completion/Unix/Command/_screen: fix up suggestions from
|
||||
Oliver.
|
||||
|
||||
2003-04-22 Oliver Kiddle <opk@zsh.org>
|
||||
|
||||
* unposted: Completion/Unix/Command/_imagemagick: correct return codes
|
||||
|
@ -1,8 +1,9 @@
|
||||
#compdef screen
|
||||
#Generated by Felix Rosencrantz
|
||||
|
||||
local context state line scr_cmds
|
||||
scr_cmds=(
|
||||
local context state line scr_cmds
|
||||
typeset -A opt_args
|
||||
scr_cmds=(
|
||||
acladd aclchg acldel aclgrp aclumask
|
||||
activity addacl allpartial at attrcolor
|
||||
autodetach autonuke backtick bce bell_msg
|
||||
@ -37,47 +38,44 @@
|
||||
verbose version wall width windowlist
|
||||
windows wrap writebuf writelock xoff
|
||||
xon zombie
|
||||
)
|
||||
)
|
||||
|
||||
typeset -A opt_args
|
||||
_arguments \
|
||||
"-a[Force all capabilities into each window's termcap.]" \
|
||||
'-A:Adapt all windows to the new display width & height.' \
|
||||
"-c:Read configuration file instead of '.screenrc'.:_files -/" \
|
||||
'-d:Detach the elsewhere running screen (with -r: reattach here).:->sessionname' \
|
||||
'-dmS:Start as daemon: Screen session in detached mode.' \
|
||||
'-D:Detach and logout remote (with -r: reattach here).' \
|
||||
'-e:Change command characters.' \
|
||||
'-f-:Flow control on, -fn = off, -fa = auto.:((n\:Flow\ conrol\ off a\:Flow\ conrol\ auto))' \
|
||||
'-h:Set the size of the scrollback history buffer.' \
|
||||
'-i[Interrupt output sooner when flow control is on.]' \
|
||||
'-l[Login mode on (update /var/run/utmp), -ln = off.]' \
|
||||
'-list[Do nothing, just list our SockDir.]' \
|
||||
'-ls[Do nothing, just list our SockDir.]' \
|
||||
"-L[Terminal's last character can be safely updated.]" \
|
||||
'-m[ignore $STY variable, do create a new screen session.]' \
|
||||
'-O[Choose optimal output rather than exact vt100 emulation.]' \
|
||||
'-p:Preselect the named window if it exists.' \
|
||||
'-q[Quiet startup. Exits with non-zero return code if unsuccessful.]' \
|
||||
'-r[Reattach to a detached screen process.]:Handling Tag sessionname:->sessionname' \
|
||||
'-R[Reattach if possible, otherwise start a new session.]' \
|
||||
'-s:Shell to execute rather than $SHELL.' \
|
||||
'-S:Name this session <pid>.sockname instead of <pid>.<tty>.<host>.' \
|
||||
"-t:Set title. (window's name)." \
|
||||
'-T:Use term as $TERM for windows, rather than "screen".' \
|
||||
'-U[Tell screen to use UTF-8 encoding.]' \
|
||||
'-v[Print screen version.]' \
|
||||
'-wipe[Do nothing, just clean up SockDir.]' \
|
||||
'-x[Attach to a not detached screen. (Multi display mode).]' \
|
||||
'-X[Execute <cmd> as a screen command in the specified session.]:screencmd:(${scr_cmds[@]})'
|
||||
_arguments \
|
||||
"-a[force all capabilities into each window's termcap]" \
|
||||
'-A[adapt all windows to the new display width & height]' \
|
||||
"-c[read configuration file instead of '.screenrc']:config file:_files -/" \
|
||||
'-d[detach the elsewhere running screen (with -r: reattach here)]:session name:->sessionname' \
|
||||
'-dmS[start as daemon, screen session in detached mode]' \
|
||||
'-D[detach and logout remote (with -r: reattach here)]' \
|
||||
'-e[change command characters]:command characters:' \
|
||||
'-f-[set flow control]:flow control:((n\:flow\ control\ off a\:Flow\ control\ auto \:Flow\ control\ on))' \
|
||||
'-h[set the size of the scrollback history buffer]:buffer size:' \
|
||||
'-i[interrupt output sooner when flow control is on]' \
|
||||
'(-l)-ln[login mode off (do not update /var/run/utmp)]' \
|
||||
'(-ln)-l[login mode on (update /var/run/utmp)]' \
|
||||
'(-)'{-ls,-list}'[list sessions/socket directory]' \
|
||||
"-L[terminal's last character can be safely updated]" \
|
||||
'-m[ignore $STY variable, do create a new screen session]' \
|
||||
'-O[choose optimal output rather than exact vt100 emulation]' \
|
||||
'-p[preselect the named window]:window number or name:(( \=\:windowlist -\:blank\ window \:window\ number))' \
|
||||
'-q[quiet startup. exits with non-zero return code if unsuccessful]' \
|
||||
'-r[reattach to a detached screen process]:session name:->sessionname' \
|
||||
'-R[reattach if possible, otherwise start a new session]' \
|
||||
'-s[shell to execute rather than $SHELL]:shell name: _command_names -e' \
|
||||
'-S[name this session <pid>.sockname instead of <pid>.<tty>.<host>]:session name:' \
|
||||
"-t[set title(window's name)]:title:" \
|
||||
'-T[use term as $TERM for windows, rather than "screen"]:terminal type:_terminals' \
|
||||
'-U[tell screen to use UTF-8 encoding]' \
|
||||
'(-)-v[print screen version]' \
|
||||
'(-)-wipe[do nothing, clean up SockDir]' \
|
||||
'-x[attach to a not detached screen. (Multi display mode).]' \
|
||||
'-X[Execute <cmd> as a screen command in the specified session.]:screencmd:(${scr_cmds[@]})'
|
||||
|
||||
case $state in
|
||||
"sessionname")
|
||||
# Complete folder names.
|
||||
sessionname)
|
||||
# Complete session names
|
||||
local screendir
|
||||
|
||||
screendir=(`screen -ls | grep Socket | sed -n -e 's/\.$//' -e '$p' | awk '{print $NF;}'`)
|
||||
|
||||
_wanted files expl 'screen process' _path_files -W screendir
|
||||
;;
|
||||
screendir=( ${${${(M)${(f)"$(_call_program screen-session $words[1] -ls)"}:#*Socket*}%.}##* } )
|
||||
_wanted screen-session expl 'screen process' _path_files -W screendir
|
||||
;;
|
||||
esac
|
||||
|
Loading…
Reference in New Issue
Block a user