mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-10-22 16:20:23 +02:00
18455: Screen completion function
This commit is contained in:
parent
b68937eef4
commit
c1e87808ac
3 changed files with 89 additions and 1 deletions
|
@ -19,5 +19,5 @@ _user_admin _rsync _arping _spamassassin _mtools _ifconfig
|
|||
_fsh _chkconfig _cdcd _irssi _mysqldiff _sccs
|
||||
_netcat _larch _texinfo _figlet _elinks _tidy
|
||||
_global _global_tags _ant _lsof _mt _xmlsoft
|
||||
_perforce _python _antiword
|
||||
_perforce _python _antiword _screen
|
||||
'
|
||||
|
|
83
Completion/Unix/Command/_screen
Normal file
83
Completion/Unix/Command/_screen
Normal file
|
@ -0,0 +1,83 @@
|
|||
#compdef screen
|
||||
#Generated by Felix Rosencrantz
|
||||
|
||||
local context state line scr_cmds
|
||||
scr_cmds=(
|
||||
acladd aclchg acldel aclgrp aclumask
|
||||
activity addacl allpartial at attrcolor
|
||||
autodetach autonuke backtick bce bell_msg
|
||||
bind bindkey break breaktype bufferfile
|
||||
c1 caption charset chdir clear
|
||||
colon command compacthist console copy
|
||||
copy_reg crlf debug defautonuke defbce
|
||||
defbreaktype defc1 defcharset defencoding defescape
|
||||
defflow defgr defhstatus defkanji deflog
|
||||
deflogin defmode defmonitor defobuflimit defscrollback
|
||||
defshell defsilence defslowpaste defutf8 defwrap
|
||||
defwritelock defzombie detach digraph dinfo
|
||||
displays dumptermcap echo encoding escape
|
||||
eval exec fit flow focus
|
||||
gr hardcopy hardcopy_append hardcopydir hardstatus
|
||||
height help history hstatus ignorecase
|
||||
info ins_reg kill lastmsg license
|
||||
lockscreen log logfile login logtstamp
|
||||
mapdefault mapnotnext maptimeout markkeys maxwin
|
||||
meta monitor msgminwait msgwait multiuser
|
||||
nethack next nonblock number obuflimit
|
||||
only other partial password paste
|
||||
pastefont pow_break pow_detach pow_detach_msg prev
|
||||
printcmd process quit readbuf readreg
|
||||
redisplay register remove removebuf reset
|
||||
resize screen scrollback select sessionname
|
||||
setenv setsid shell shelltitle silence
|
||||
silencewait sleep slowpaste sorendition source
|
||||
split startup_message stuff su term
|
||||
termcap termcapinfo terminfo time title
|
||||
unsetenv utf8 vbell vbell_msg vbellwait
|
||||
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[@]})'
|
||||
|
||||
case $state in
|
||||
"sessionname")
|
||||
# Complete folder 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
|
||||
;;
|
||||
esac
|
Loading…
Add table
Add a link
Reference in a new issue