mirror of
				git://git.code.sf.net/p/zsh/code
				synced 2025-10-31 06:00:54 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			83 lines
		
	
	
	
		
			3.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			83 lines
		
	
	
	
		
			3.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| #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
 |