mirror of
				git://git.code.sf.net/p/zsh/code
				synced 2025-10-30 05:40:58 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			38 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
	
		
			1.2 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 args ctx="${curcontext}argument-1:"
 | |
| zstyle -T  ":completion:${ctx}" tag-order && \
 | |
|   zstyle ":completion:${ctx}" tag-order init
 | |
| 
 | |
| case $OSTYPE in
 | |
|   freebsd*|dragonfly*)
 | |
|     args=(
 | |
|       '(-)-r[show the results of boot time rcorder]'
 | |
|       '(-)-R[restart all enabled local services]'
 | |
|     )
 | |
|   ;&
 | |
|   netbsd*)
 | |
|     _arguments -s $args \
 | |
|       '(-)-e[show services that are enabled]' \
 | |
|       '(-)-l[list all scripts in /etc/rc.d and the local startup directory]' \
 | |
|       '(-e -R)-v[verbose]' \
 | |
|       ':service name:_services' \
 | |
|       '*::service argument:_init_d'
 | |
|   ;;
 | |
|   *)
 | |
|     _arguments -s \
 | |
|       '(-d --debug)'{-d,--debug}'[turn debugging on]' \
 | |
|       '(- :)'{-h,--help}'[print help information]' \
 | |
|       '(- :)'{-v,--version}'[print version information]' \
 | |
|       '(-)'{-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'
 | |
|   ;;
 | |
| esac
 |