mirror of
				git://git.code.sf.net/p/zsh/code
				synced 2025-11-04 07:21:06 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			31 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
#compdef service
 | 
						|
 | 
						|
# *:: for last argument looks more like a hack but it is
 | 
						|
# the simplest way known to me to reset $words and keep
 | 
						|
# _sub_command happy
 | 
						|
 | 
						|
# we are interested in init service only
 | 
						|
local ctx="${curcontext}argument-1:"
 | 
						|
zstyle -T  ":completion:${ctx}" tag-order && \
 | 
						|
  zstyle ":completion:${ctx}" tag-order init
 | 
						|
 | 
						|
 | 
						|
if [[ $OSTYPE = freebsd* ]]; then
 | 
						|
  _arguments -s \
 | 
						|
    '(-)-e[show services that are enabled]' \
 | 
						|
    '(-)-l[list all scripts in /etc/rc.d and the local startup directory]' \
 | 
						|
    '(-)-r[show the results of boot time rcorder]' \
 | 
						|
    '(-)-v[verbose]' \
 | 
						|
    ':service name:_services' \
 | 
						|
    '*::service argument:_init_d'
 | 
						|
else
 | 
						|
  _arguments -s \
 | 
						|
    '(-d --debug)'{-d,--debug}'[turn debugging on]' \
 | 
						|
    '(- :)'{-h,--help}'[print usage]' \
 | 
						|
    '(- :)'{-v,--version}'[print version]' \
 | 
						|
    '(-)'{-f,--full-restart}'[restart service]' \
 | 
						|
    '(- :)'{-R,--full-restart-all}'[restart all services]' \
 | 
						|
    '(- :)'{-s,--status-all}'[print status of all services]' \
 | 
						|
    ':service name:_services' \
 | 
						|
    '*::service argument: _init_d'
 | 
						|
fi
 |