56 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
#compdef powify
 | 
						|
 | 
						|
_powify_all_servers() {
 | 
						|
  all_servers=(`ls $HOME/.pow/ 2>/dev/null`)
 | 
						|
}
 | 
						|
 | 
						|
local -a all_servers
 | 
						|
 | 
						|
local -a _1st_arguments
 | 
						|
_1st_arguments=(
 | 
						|
  'server:server specific commands'
 | 
						|
  'utils:manage powify'
 | 
						|
  'create:creates a pow app from the current directory (to change the name append name as an argument)'
 | 
						|
  'destroy:destroys the pow app linked to the current directory'
 | 
						|
  'restart:restarts the pow app linked to the current directory'
 | 
						|
  'always_restart:reload the pow app after each request'
 | 
						|
  'always_restart_off:do not reload the pow app after each request'
 | 
						|
  'rename:rename the current pow app to [NAME] or renmae [OLD] to [NEW]'
 | 
						|
  'environment:run the this pow app in a different environment (aliased `env`)'
 | 
						|
  'browse:opens and navigates the default browser to this app'
 | 
						|
  'logs:tail the application logs'
 | 
						|
)
 | 
						|
 | 
						|
_arguments '*:: :->command'
 | 
						|
 | 
						|
if (( CURRENT == 1 )); then
 | 
						|
  _describe -t commands "powify command" _1st_arguments
 | 
						|
  return
 | 
						|
fi
 | 
						|
 | 
						|
case "$words[1]" in
 | 
						|
  server)
 | 
						|
    _values , \
 | 
						|
      'install[install pow server]' \
 | 
						|
      'reinstall[reinstall pow server]' \
 | 
						|
      'update[update pow server]' \
 | 
						|
      'uninstall[uninstall pow server]' \
 | 
						|
      'list[list all pow apps]' \
 | 
						|
      'start[start the pow server]' \
 | 
						|
      'stop[stop the pow server]' \
 | 
						|
      'restart[restart the pow server]' \
 | 
						|
      'host[adds all pow apps to /etc/hosts file]' \
 | 
						|
      'unhost[removes all pow apps from /etc/hosts file]' \
 | 
						|
      'status[print the current server status]' \
 | 
						|
      'config[print the current server configuration]' \
 | 
						|
      'logs[tails the pow server logs]' ;;
 | 
						|
  utils)
 | 
						|
    _values , \
 | 
						|
      'install[install powify.dev server management tool]' \
 | 
						|
      'reinstall[reinstall powify.dev server management tool]' \
 | 
						|
      'uninstall[uninstall powify.dev server management tool]' ;;
 | 
						|
  destroy|restart|always_restart|always_restart_off|rename|browse|logs)
 | 
						|
    _powify_all_servers
 | 
						|
    _wanted all_servers expl 'all pow servers' compadd -a all_servers ;;
 | 
						|
esac
 |