commit
6c13721f55
7 changed files with 232 additions and 6 deletions
@ -0,0 +1,40 @@ |
|||||||
|
#compdef artisan |
||||||
|
|
||||||
|
# Laravel autocompletion |
||||||
|
# Author: John Hamelink <john@johnhamelink.com> |
||||||
|
# |
||||||
|
# This plugin does the following: |
||||||
|
# - Adds aliases and autocompletion for artisan |
||||||
|
# - Adds aliases and autocompletion for bob |
||||||
|
|
||||||
|
local curcontext="$curcontext" state line _opts _bundles ret=1 |
||||||
|
_arguments -C \ |
||||||
|
'1: :->cmds' \ |
||||||
|
'*:: :->args' && ret=0 |
||||||
|
|
||||||
|
case $state in |
||||||
|
cmds) |
||||||
|
|
||||||
|
_values "Artisan command" \ |
||||||
|
'session\:install[Create a session table]' \ |
||||||
|
'migrate[Manage Migrations]' \ |
||||||
|
'test[Run a test]' \ |
||||||
|
'route\:\:call[Call a route in the CLI]' \ |
||||||
|
'key\:\:generate[Generate a key]' |
||||||
|
ret=0 |
||||||
|
;; |
||||||
|
args) |
||||||
|
case $line[1] in |
||||||
|
migrate) |
||||||
|
_values \ |
||||||
|
'install[Create the Laravel migration table' \ |
||||||
|
'make[Create a migration]' \ |
||||||
|
'rollback[Roll back to the last migration operation]' \ |
||||||
|
'reset[Roll back all migrations that have ever run]' |
||||||
|
ret=0 |
||||||
|
;; |
||||||
|
esac |
||||||
|
;; |
||||||
|
esac |
||||||
|
|
||||||
|
return ret |
||||||
@ -0,0 +1,3 @@ |
|||||||
|
#!zsh |
||||||
|
alias artisan='php artisan' |
||||||
|
alias bob='php artisan bob::build' |
||||||
@ -0,0 +1,136 @@ |
|||||||
|
#compdef supervisorctl |
||||||
|
|
||||||
|
typeset -A opt_args |
||||||
|
local context state line |
||||||
|
|
||||||
|
_supervisorctl() { |
||||||
|
_arguments -s -S \ |
||||||
|
{--configuration,-c}"[configuration file path (default /etc/supervisor.conf)]:FILENAME:_files" \ |
||||||
|
{--help,-h}"[print usage message and exit]:" \ |
||||||
|
{--interactive,-i}"[start an interactive shell after executing commands]" \ |
||||||
|
{--serverurl,-s}"[URL on which supervisord server is listening (default "http://localhost:9001").]" \ |
||||||
|
{--username,-u}"[username to use for authentication with server]:USERNAME:_users" \ |
||||||
|
{--password,-p}"[password to use for authentication with server]:PASSWORD:" \ |
||||||
|
{--history-file,-r}"[keep a readline history (if readline is available)]:FILENAME:_files" \ |
||||||
|
"*::supervisorctl commands:_supervisorctl_command" |
||||||
|
} |
||||||
|
|
||||||
|
(( $+functions[_supervisorctl_command] )) || |
||||||
|
_supervisorctl_command() { |
||||||
|
local cmd ret=1 |
||||||
|
|
||||||
|
(( $+supervisorctl_cmds )) || _supervisorctl_cmds=( |
||||||
|
"add:Activates any updates in config for process/group" \ |
||||||
|
"avail:Display all configured processes" \ |
||||||
|
"clear:Clear process/multiple-process/all-process log files" \ |
||||||
|
"exit:Exit the supervisor shell." \ |
||||||
|
"fg:Connect to a process in foreground mode" \ |
||||||
|
"maintail:tail of supervisor main log file" \ |
||||||
|
"open:Connect to a remote supervisord process. (for UNIX domain socket, use unix:///socket/path)" \ |
||||||
|
"pid:Get the PID of supervisord." \ |
||||||
|
"quit:Exit the supervisor shell." \ |
||||||
|
"reload:Restart the remote supervisord." \ |
||||||
|
"remove:Removes process/group from active config" \ |
||||||
|
"reread:Reload the daemon's configuration files" \ |
||||||
|
"restart:Restart process or group." \ |
||||||
|
"shutdown:Shut the remote supervisord down." \ |
||||||
|
"start:Start process or groups." \ |
||||||
|
"status:Get process status info." \ |
||||||
|
"stop:Stop process or group." \ |
||||||
|
"tail:tail of process stdout" \ |
||||||
|
"update:Reload config and add/remove as necessary" \ |
||||||
|
"version:Show the version of the remote supervisord process" \ |
||||||
|
"help:Show help" \ |
||||||
|
) |
||||||
|
|
||||||
|
if (( CURRENT == 1 )); then |
||||||
|
_describe -t commands 'supervisorctl subcommand' _supervisorctl_cmds \ |
||||||
|
|| compadd "$@" - ${(s.:.)${(j.:.)_supervisorctl_syns}} |
||||||
|
else |
||||||
|
local curcontext="$curcontext" |
||||||
|
|
||||||
|
cmd="${${_supervisorctl_cmds[(r)$words[1]:*]%%:*}:-${(k)_supervisorctl_syns[(r)(*:|)$words[1](:*|)]}}" |
||||||
|
if (( $#cmd )); then |
||||||
|
curcontext="${curcontext%:*:*}:supervisorctl-${cmd}:" |
||||||
|
_call_function ret _supervisorctl_$cmd || _message 'no more arguments' |
||||||
|
else |
||||||
|
_message "unknown supervisorctl command: $words[1]" |
||||||
|
fi |
||||||
|
return ret |
||||||
|
fi |
||||||
|
} |
||||||
|
|
||||||
|
# get supervisor contoroll processes |
||||||
|
(( $+functions[_get_supervisor_procs] )) || |
||||||
|
_get_supervisor_procs() { |
||||||
|
local cache_policy |
||||||
|
zstyle -s ":completion:${curcontext}:" cache-policy cache_policy |
||||||
|
if [[ -z "$cache_policy" ]]; then |
||||||
|
zstyle ":completion:${curcontext}:" cache-policy _supervisor_procs_caching_policy |
||||||
|
fi |
||||||
|
|
||||||
|
if ( [[ ${+_supervisor_procs} -eq 0 ]] || _cache_invalid supervisor_procs ) \ |
||||||
|
&& ! _retrieve_cache supervisor_procs; then |
||||||
|
|
||||||
|
_supervisor_procs=(${${(f)"$(supervisorctl status >/dev/null 2>&1 | awk -F' ' '{print $1}')"}}) |
||||||
|
_store_cache supervisor_procs _supervisor_procs |
||||||
|
fi |
||||||
|
|
||||||
|
local expl |
||||||
|
_wanted supervisor_procs expl 'supervisor processes' compadd -a _supervisor_procs |
||||||
|
} |
||||||
|
|
||||||
|
_supervisor_procs_caching_policy() { |
||||||
|
local -a oldp |
||||||
|
oldp=( "$1"(Nmw+1) ) |
||||||
|
(( $#oldp )) |
||||||
|
} |
||||||
|
|
||||||
|
(( $+functions[_supervisorctl_add] )) || |
||||||
|
_supervisorctl_add() { |
||||||
|
_arguments -s \ |
||||||
|
"--help[use help system]" \ |
||||||
|
"*::supervisorctl commands:_supervisorctl" |
||||||
|
} |
||||||
|
|
||||||
|
(( $+functions[_supervisorctl_help] )) || |
||||||
|
_supervisorctl_help() { |
||||||
|
_arguments -s \ |
||||||
|
"*:supervisorctl commands:_supervisorctl" |
||||||
|
} |
||||||
|
|
||||||
|
(( $+functions[_supervisorctl_maintail] )) || |
||||||
|
_supervisorctl_maintail() { |
||||||
|
_arguments -s \ |
||||||
|
'-f[Continuous tail of supervisor main log file (Ctrl-C to exit)]' |
||||||
|
} |
||||||
|
|
||||||
|
(( $+functions[_supervisorctl_start] )) || |
||||||
|
_supervisorctl_start() { |
||||||
|
# TODO: add 'all' |
||||||
|
_arguments -s \ |
||||||
|
'*::supvervisor process:_get_supervisor_procs' |
||||||
|
} |
||||||
|
|
||||||
|
(( $+functions[_supervisorctl_status] )) || |
||||||
|
_supervisorctl_status() { |
||||||
|
_arguments \ |
||||||
|
'*::supvervisor process:_get_supervisor_procs' |
||||||
|
} |
||||||
|
|
||||||
|
(( $+functions[_supervisorctl_stop] )) || |
||||||
|
_supervisorctl_stop() { |
||||||
|
# TODO: add 'all' |
||||||
|
_arguments -s \ |
||||||
|
'*::supvervisor process:_get_supervisor_procs' |
||||||
|
} |
||||||
|
|
||||||
|
(( $+functions[_supervisorctl_tail] )) || |
||||||
|
_supervisorctl_tail() { |
||||||
|
# TODO: add 'stderr' |
||||||
|
_arguments -s \ |
||||||
|
'-f[Continuous tail of named process stdout Ctrl-C to exit.]' \ |
||||||
|
'*::supvervisor process:_get_supervisor_procs' |
||||||
|
} |
||||||
|
|
||||||
|
_supervisorctl "$@" |
||||||
@ -0,0 +1,32 @@ |
|||||||
|
#compdef supervisord |
||||||
|
|
||||||
|
typeset -A opt_args |
||||||
|
local context state line |
||||||
|
|
||||||
|
_arguments \ |
||||||
|
{--configuration,-c}"[configuration file]:FILENAME:_files" \ |
||||||
|
{--nodaemon,-n}"[run in the foreground (same as 'nodaemon true' in config file)]" \ |
||||||
|
{--help,-h}"[print this usage message and exit]:" \ |
||||||
|
{--user,-u}"[run supervisord as this user]:USER:_users" \ |
||||||
|
{--umask,-m}"[use this umask for daemon subprocess (default is 022)]" \ |
||||||
|
{--directory,-d}"[directory to chdir to when daemonized]" \ |
||||||
|
{--logfile,-l}"[use FILENAME as logfile path]:FILENAME:_files" \ |
||||||
|
{--logfile_maxbytes,-y}"[use BYTES to limit the max size of logfile]" \ |
||||||
|
{--logfile_backups,-z}"[number of backups to keep when max bytes reached]" \ |
||||||
|
{--loglevel,-e}"[use LEVEL as log level (debug,info,warn,error,critical)]:level:->levels" \ |
||||||
|
{--pidfile,-j}"[write a pid file for the daemon process to FILENAME]:FILENAME:_files" \ |
||||||
|
{--identifier,-i}"[identifier used for this instance of supervisord]" \ |
||||||
|
{--childlogdir,-q}"[the log directory for child process logs]:child log directory:_files -/" \ |
||||||
|
{--nocleanup,-k}"[prevent the process from performing cleanup (removal of old automatic child log files) at startup.]" \ |
||||||
|
{--minfds,-a}"[the minimum number of file descriptors for start success]" \ |
||||||
|
{--strip_ansi,-t}"[strip ansi escape codes from process output]" \ |
||||||
|
"--minprocs[the minimum number of processes available for start success]" \ |
||||||
|
"--profile_options[run supervisord under profiler and output results based on OPTIONS, which is a comma-sep'd list of 'cumulative', 'calls', and/or 'callers', e.g. 'cumulative,callers')]" \ |
||||||
|
"*::args:_gnu_generic" |
||||||
|
|
||||||
|
case $state in |
||||||
|
levels) |
||||||
|
levels=("debug" "info" "warn" "error" "critical") |
||||||
|
_describe -t levels 'supervisord levels' levels && return 0 |
||||||
|
;; |
||||||
|
esac |
||||||
@ -0,0 +1 @@ |
|||||||
|
# DECLARION: This plugin was created by hhatto. What I did is just making a portal from https://bitbucket.org/hhatto/zshcompfunc4supervisor. |
||||||
@ -0,0 +1,7 @@ |
|||||||
|
PROMPT=$'%{$fg[white]%}$(~/.rvm/bin/rvm-prompt) %{$fg_bold[cyan]%}%~%{$reset_color%}$(git_prompt_info) %{$fg[cyan]%}%D{[%I:%M:%S]}\ |
||||||
|
%{$fg_bold[green]%}%n$%{$reset_color%} ' |
||||||
|
|
||||||
|
ZSH_THEME_GIT_PROMPT_PREFIX=" %{$fg[white]%}(" |
||||||
|
ZSH_THEME_GIT_PROMPT_SUFFIX=")%{$reset_color%}" |
||||||
|
ZSH_THEME_GIT_PROMPT_DIRTY="*" |
||||||
|
ZSH_THEME_GIT_PROMPT_CLEAN="" |
||||||
Loading…
Reference in new issue