Sorin Ionescu
13 years ago
24 changed files with 0 additions and 1472 deletions
@ -1,27 +0,0 @@ |
|||||||
if stat -f%m . &> /dev/null; then |
|
||||||
stat_cmd=(stat -f%m) |
|
||||||
else |
|
||||||
stat_cmd=(stat -L --format=%Y) |
|
||||||
fi |
|
||||||
|
|
||||||
function _ant_does_target_list_need_generating() { |
|
||||||
if [[ ! -f .ant_targets ]]; then |
|
||||||
return 0 |
|
||||||
else |
|
||||||
accurate=$($stat_cmd .ant_targets) |
|
||||||
changed=$($stat_cmd build.xml) |
|
||||||
return $(expr $accurate '>=' $changed) |
|
||||||
fi |
|
||||||
} |
|
||||||
|
|
||||||
function _ant() { |
|
||||||
if [[ -f build.xml ]]; then |
|
||||||
if _ant_does_target_list_need_generating; then |
|
||||||
sed -n '/<target/s/<target.*name="\([^"]*\).*$/\1/p' build.xml > .ant_targets |
|
||||||
fi |
|
||||||
compadd `cat .ant_targets` |
|
||||||
fi |
|
||||||
} |
|
||||||
|
|
||||||
compdef _ant ant |
|
||||||
|
|
@ -1,19 +0,0 @@ |
|||||||
# Complete brew. |
|
||||||
completion_file="${0:h}/_brew" |
|
||||||
if [[ ! -e "$completion_file" ]]; then |
|
||||||
if [[ -L "$completion_file" ]]; then |
|
||||||
unlink "$completion_file" 2> /dev/null |
|
||||||
fi |
|
||||||
|
|
||||||
if (( $+commands[brew] )); then |
|
||||||
ln -s \ |
|
||||||
"$(brew --prefix)/Library/Contributions/brew_zsh_completion.zsh" \ |
|
||||||
"$completion_file" \ |
|
||||||
2> /dev/null |
|
||||||
fi |
|
||||||
fi |
|
||||||
unset completion_file |
|
||||||
|
|
||||||
# Aliases |
|
||||||
alias brews='brew list -1' |
|
||||||
|
|
@ -1,33 +0,0 @@ |
|||||||
# Set this to 1 if you want to cache the tasks. |
|
||||||
cache_task_list=1 |
|
||||||
|
|
||||||
# Cache filename. |
|
||||||
cache_file='.cake_task_cache' |
|
||||||
|
|
||||||
function _cake_does_target_list_need_generating() { |
|
||||||
if [[ $cache_task_list -eq 0 ]]; then |
|
||||||
return 1 |
|
||||||
fi |
|
||||||
|
|
||||||
if [[ ! -f $cache_file ]]; then |
|
||||||
return 0 |
|
||||||
else |
|
||||||
accurate=$(stat -f%m $cache_file) |
|
||||||
changed=$(stat -f%m Cakefile) |
|
||||||
return $(expr $accurate '>=' $changed) |
|
||||||
fi |
|
||||||
} |
|
||||||
|
|
||||||
function _cake() { |
|
||||||
if [[ -f Cakefile ]]; then |
|
||||||
if _cake_does_target_list_need_generating; then |
|
||||||
cake | sed -e "s/cake \([^ ]*\) .*/\1/" | grep -v '^$' > $cache_file |
|
||||||
compadd `cat $cache_file` |
|
||||||
else |
|
||||||
compadd `cake | sed -e "s/cake \([^ ]*\) .*/\1/" | grep -v '^$'` |
|
||||||
fi |
|
||||||
fi |
|
||||||
} |
|
||||||
|
|
||||||
compdef _cake cake |
|
||||||
|
|
@ -1,20 +0,0 @@ |
|||||||
#compdef cap |
|
||||||
#autoload |
|
||||||
|
|
||||||
function _cap-does-task-list-need-generating() { |
|
||||||
if [[ ! -f .cap_tasks~ ]]; then return 0; |
|
||||||
else |
|
||||||
accurate=$(stat -f%m .cap_tasks~) |
|
||||||
changed=$(stat -f%m config/deploy.rb) |
|
||||||
return $(expr $accurate '>=' $changed) |
|
||||||
fi |
|
||||||
} |
|
||||||
|
|
||||||
if [[ -f config/deploy.rb ]]; then |
|
||||||
if _cap-does-task-list-need-generating; then |
|
||||||
echo "\nGenerating .cap_tasks~..." > /dev/stderr |
|
||||||
cap --tasks | grep '#' | cut -d " " -f 2 > .cap_tasks~ |
|
||||||
fi |
|
||||||
compadd $(cat .cap_tasks~) |
|
||||||
fi |
|
||||||
|
|
@ -1,191 +0,0 @@ |
|||||||
#compdef knife |
|
||||||
|
|
||||||
# These flags should be available everywhere according to the knife man page. |
|
||||||
knife_general_flags=( |
|
||||||
--help |
|
||||||
--server-url |
|
||||||
--key |
|
||||||
--config |
|
||||||
--editor |
|
||||||
--format |
|
||||||
--log_level |
|
||||||
--logfile |
|
||||||
--no-editor |
|
||||||
--user |
|
||||||
--print-after |
|
||||||
--version |
|
||||||
--yes |
|
||||||
) |
|
||||||
|
|
||||||
# Knife has a very special syntax, some example calls are: |
|
||||||
# knife status |
|
||||||
# knife cookbook list |
|
||||||
# knife role show ROLENAME |
|
||||||
# knife data bag show DATABAGNAME |
|
||||||
# knife role show ROLENAME --attribute ATTRIBUTENAME |
|
||||||
# knife cookbook show COOKBOOKNAME COOKBOOKVERSION recipes |
|
||||||
|
|
||||||
# The -Q switch in compadd allows for completion of things like "data bag" without |
|
||||||
# having to go through two rounds of completion and avoids ZSH inserting a '\' for |
|
||||||
# escaping spaces. |
|
||||||
function _knife() { |
|
||||||
local curcontext="$curcontext" state line |
|
||||||
typeset -A opt_args |
|
||||||
cloudproviders=(bluebox ec2 rackspace slicehost terremark) |
|
||||||
_arguments \ |
|
||||||
'1: :->knifecmd'\ |
|
||||||
'2: :->knifesubcmd'\ |
|
||||||
'3: :->knifesubcmd2' \ |
|
||||||
'4: :->knifesubcmd3' \ |
|
||||||
'5: :->knifesubcmd4' \ |
|
||||||
'6: :->knifesubcmd5' |
|
||||||
|
|
||||||
case $state in |
|
||||||
(knifecmd) |
|
||||||
compadd -Q "$@" bootstrap client configure cookbook "cookbook site" "data bag" exec index node recipe role search ssh status windows $cloudproviders |
|
||||||
;; |
|
||||||
(knifesubcmd) |
|
||||||
case $words[2] in |
|
||||||
(bluebox|ec2|rackspace|slicehost|terremark) |
|
||||||
compadd "$@" server images |
|
||||||
;; |
|
||||||
(client) |
|
||||||
compadd -Q "$@" "bulk delete" list create show delete edit reregister |
|
||||||
;; |
|
||||||
(configure) |
|
||||||
compadd "$@" client |
|
||||||
;; |
|
||||||
(cookbook) |
|
||||||
compadd -Q "$@" test list create download delete "metadata from" show "bulk delete" metadata upload |
|
||||||
;; |
|
||||||
(node) |
|
||||||
compadd -Q "$@" "from file" create show edit delete list run_list "bulk delete" |
|
||||||
;; |
|
||||||
(recipe) |
|
||||||
compadd "$@" list |
|
||||||
;; |
|
||||||
(role) |
|
||||||
compadd -Q "$@" "bulk delete" create delete edit "from file" list show |
|
||||||
;; |
|
||||||
(windows) |
|
||||||
compadd "$@" bootstrap |
|
||||||
;; |
|
||||||
(*) |
|
||||||
_arguments '2:Subsubcommands:($(_knife_options1))' |
|
||||||
esac |
|
||||||
;; |
|
||||||
(knifesubcmd2) |
|
||||||
case $words[3] in |
|
||||||
(server) |
|
||||||
compadd "$@" list create delete |
|
||||||
;; |
|
||||||
(images) |
|
||||||
compadd "$@" list |
|
||||||
;; |
|
||||||
(site) |
|
||||||
compadd "$@" vendor show share search download list unshare |
|
||||||
;; |
|
||||||
(show|delete|edit) |
|
||||||
_arguments '3:Subsubcommands:($(_chef_$words[2]s_remote))' |
|
||||||
;; |
|
||||||
(upload|test) |
|
||||||
_arguments '3:Subsubcommands:($(_chef_$words[2]s_local) --all)' |
|
||||||
;; |
|
||||||
(list) |
|
||||||
compadd -a "$@" knife_general_flags |
|
||||||
;; |
|
||||||
(bag) |
|
||||||
compadd -Q "$@" show edit list "from file" create delete |
|
||||||
;; |
|
||||||
(*) |
|
||||||
_arguments '3:Subsubcommands:($(_knife_options2))' |
|
||||||
esac |
|
||||||
;; |
|
||||||
(knifesubcmd3) |
|
||||||
case $words[3] in |
|
||||||
(show) |
|
||||||
case $words[2] in |
|
||||||
(cookbook) |
|
||||||
versioncomp=1 |
|
||||||
_arguments '4:Cookbookversions:($(_cookbook_versions) latest)' |
|
||||||
;; |
|
||||||
(node|client|role) |
|
||||||
compadd "$@" --attribute |
|
||||||
esac |
|
||||||
esac |
|
||||||
case $words[4] in |
|
||||||
(show|edit) |
|
||||||
_arguments '4:Subsubsubcommands:($(_chef_$words[2]_$words[3]s_remote))' |
|
||||||
;; |
|
||||||
(file) |
|
||||||
_arguments '*:file or directory:_files -g "*.(rb|json)"' |
|
||||||
;; |
|
||||||
(list) |
|
||||||
compadd -a "$@" knife_general_flags |
|
||||||
;; |
|
||||||
(*) |
|
||||||
_arguments '*:Subsubcommands:($(_knife_options3))' |
|
||||||
esac |
|
||||||
;; |
|
||||||
(knifesubcmd4) |
|
||||||
if (( versioncomp > 0 )); then |
|
||||||
compadd "$@" attributes definitions files libraries providers recipes resources templates |
|
||||||
else |
|
||||||
_arguments '*:Subsubcommands:($(_knife_options2))' |
|
||||||
fi |
|
||||||
;; |
|
||||||
(knifesubcmd5) |
|
||||||
_arguments '*:Subsubcommands:($(_knife_options3))' |
|
||||||
esac |
|
||||||
} |
|
||||||
|
|
||||||
# Helper functions to provide the argument completion for several depths of commands |
|
||||||
function _knife_options1() { |
|
||||||
( for line in $( knife $words[2] --help | grep -v "^knife" ); do echo $line | grep "\-\-"; done ) |
|
||||||
} |
|
||||||
|
|
||||||
function _knife_options2() { |
|
||||||
( for line in $( knife $words[2] $words[3] --help | grep -v "^knife" ); do echo $line | grep "\-\-"; done ) |
|
||||||
} |
|
||||||
|
|
||||||
function _knife_options3() { |
|
||||||
( for line in $( knife $words[2] $words[3] $words[4] --help | grep -v "^knife" ); do echo $line | grep "\-\-"; done ) |
|
||||||
} |
|
||||||
|
|
||||||
# The chef_x_remote functions use knife to get a list of objects of type x on the server |
|
||||||
function _chef_roles_remote() { |
|
||||||
(knife role list | grep \" | awk '{print $1}' | awk -F"," '{print $1}' | awk -F"\"" '{print $2}') |
|
||||||
} |
|
||||||
|
|
||||||
function _chef_clients_remote() { |
|
||||||
(knife client list | grep \" | awk '{print $1}' | awk -F"," '{print $1}' | awk -F"\"" '{print $2}') |
|
||||||
} |
|
||||||
|
|
||||||
function _chef_nodes_remote() { |
|
||||||
(knife node list | grep \" | awk '{print $1}' | awk -F"," '{print $1}' | awk -F"\"" '{print $2}') |
|
||||||
} |
|
||||||
|
|
||||||
function _chef_cookbooks_remote() { |
|
||||||
(knife cookbook list | grep \" | awk '{print $1}' | awk -F"," '{print $1}' | awk -F"\"" '{print $2}') |
|
||||||
} |
|
||||||
|
|
||||||
function _chef_sitecookbooks_remote() { |
|
||||||
(knife cookbook site list | grep \" | awk '{print $1}' | awk -F"," '{print $1}' | awk -F"\"" '{print $2}') |
|
||||||
} |
|
||||||
|
|
||||||
function _chef_data_bags_remote() { |
|
||||||
(knife data bag list | grep \" | awk '{print $1}' | awk -F"," '{print $1}' | awk -F"\"" '{print $2}') |
|
||||||
} |
|
||||||
|
|
||||||
# The chef_x_local functions use the knife config to find the paths of relevant objects x to be uploaded to the server |
|
||||||
function _chef_cookbooks_local() { |
|
||||||
(for i in $( grep cookbook_path $HOME/.chef/knife.rb | awk 'BEGIN {FS = "[" }; {print $2}' | sed 's/\,//g' | sed "s/'//g" | sed 's/\(.*\)]/\1/' ); do ls $i; done) |
|
||||||
} |
|
||||||
|
|
||||||
# This function extracts the available cookbook versions on the chef server |
|
||||||
function _cookbook_versions() { |
|
||||||
(knife cookbook show $words[4] | grep -v $words[4] | grep -v -E '\]|\[|\{|\}' | sed 's/ //g' | sed 's/"//g') |
|
||||||
} |
|
||||||
|
|
||||||
function _knife "$@" |
|
||||||
|
|
@ -1,67 +0,0 @@ |
|||||||
#compdef cpanm |
|
||||||
|
|
||||||
## |
|
||||||
# cpanminus Z Shell completion script |
|
||||||
## |
|
||||||
# |
|
||||||
# Current supported cpanm version: 1.4000 (Tue Mar 8 01:00:49 PST 2011) |
|
||||||
# |
|
||||||
# The latest code is always located at: |
|
||||||
# https://github.com/rshhh/cpanminus/blob/master/etc/_cpanm |
|
||||||
# |
|
||||||
|
|
||||||
local arguments curcontext="$curcontext" |
|
||||||
typeset -A opt_args |
|
||||||
|
|
||||||
|
|
||||||
arguments=( |
|
||||||
|
|
||||||
# Commands |
|
||||||
# '(--install -i)'{--install,-i}'[Installs the modules]' |
|
||||||
'(- :)--self-upgrade[Upgrades itself]' |
|
||||||
'(- :)--info[Displays distribution info on CPAN]' |
|
||||||
'(--installdeps)--installdeps[Only install dependencies]' |
|
||||||
'(--look)--look[Download/unpack the distribution and then open the directory with your shell]' |
|
||||||
'(- :)'{--help,-h}'[Displays help information]' |
|
||||||
'(- :)'{--version,-V}'[Displays software version]' |
|
||||||
|
|
||||||
# Options |
|
||||||
{--force,-f}'[Force install]' |
|
||||||
{--notest,-n}'[Do not run unit tests]' |
|
||||||
{--sudo,-S}'[sudo to run install commands]' |
|
||||||
'(-v --verbose --quiet -q)'{--verbose,-v}'[Turns on chatty output]' |
|
||||||
'(-q --quiet --verbose -v)'{--quiet,-q}'[Turns off all output]' |
|
||||||
{--local-lib,-l}'[Specify the install base to install modules]' |
|
||||||
{--local-lib-contained,-L}'[Specify the install base to install all non-core modules]' |
|
||||||
'--mirror[Specify the base URL for the mirror (e.g. http://cpan.cpantesters.org/)]:URLs:_urls' |
|
||||||
'--mirror-only[Use the mirror\''s index file instead of the CPAN Meta DB]' |
|
||||||
'--prompt[Prompt when configure/build/test fails]' |
|
||||||
'--reinstall[Reinstall the distribution even if you already have the latest version installed]' |
|
||||||
'--interactive[Turn on interactive configure]' |
|
||||||
|
|
||||||
'--scandeps[Scan the depencencies of given modules and output the tree in a text format]' |
|
||||||
'--format[Specify what format to display the scanned dependency tree]:scandeps format:(tree json yaml dists)' |
|
||||||
|
|
||||||
'--save-dists[Specify the optional directory path to copy downloaded tarballs]' |
|
||||||
# '--uninst-shadows[Uninstalls the shadow files of the distribution that you\''re installing]' |
|
||||||
|
|
||||||
'--auto-cleanup[Number of days that cpanm\''s work directories expire in. Defaults to 7]' |
|
||||||
'(--no-man-pages)--man-pages[Generates man pages for executables (man1) and libraries (man3)]' |
|
||||||
'(--man-pages)--no-man-pages[Do not generate man pages]' |
|
||||||
|
|
||||||
|
|
||||||
# Note: Normally with "--lwp", "--wget" and "--curl" options set to true (which is the default) cpanm tries LWP, |
|
||||||
# Wget, cURL and HTTP::Tiny (in that order) and uses the first one available. |
|
||||||
# (So that the exclusions are not enabled here for the completion) |
|
||||||
'(--lwp)--lwp[Use LWP module to download stuff]' |
|
||||||
'(--wget)--wget[Use GNU Wget (if available) to download stuff]' |
|
||||||
'(--curl)--curl[Use cURL (if available) to download stuff]' |
|
||||||
|
|
||||||
# Other completions |
|
||||||
'*:Local directory or archive:_files -/ -g "*.(tar.gz|tgz|tar.bz2|zip)(-.)"' |
|
||||||
# '*::args: _normal' # this looks for default files (any files) |
|
||||||
) |
|
||||||
_arguments -s $arguments \ |
|
||||||
&& return 0 |
|
||||||
|
|
||||||
return 1 |
|
@ -1,36 +0,0 @@ |
|||||||
#compdef gas |
|
||||||
#autoload |
|
||||||
|
|
||||||
local curcontext="$curcontext" state line cmds ret=1 |
|
||||||
|
|
||||||
_arguments -C \ |
|
||||||
'(- 1 *)'{-v,--version}'[display version information]' \ |
|
||||||
'(-h|--help)'{-h,--help}'[show help information]' \ |
|
||||||
'1: :->cmds' \ |
|
||||||
'*: :->args' && ret=0 |
|
||||||
|
|
||||||
case "$state" in |
|
||||||
(cmds) |
|
||||||
cmds=( |
|
||||||
"version:Prints Gas's version" |
|
||||||
"use:Uses author" |
|
||||||
"show:Shows your current user" |
|
||||||
"list:Lists your authors" |
|
||||||
"import:Imports current user to gasconfig" |
|
||||||
"help:Describe available tasks or one specific task" |
|
||||||
"delete:Deletes author" |
|
||||||
"add:Adds author to gasconfig" |
|
||||||
) |
|
||||||
_describe -t commands 'gas command' cmds && ret=0 |
|
||||||
;; |
|
||||||
(args) |
|
||||||
case "$line[1]" in |
|
||||||
(use|delete) |
|
||||||
_values -S , 'authors' $(cat ~/.gas | sed -n -e 's/^\[\(.*\)\]/\1/p') && ret=0 |
|
||||||
;; |
|
||||||
esac |
|
||||||
;; |
|
||||||
esac |
|
||||||
|
|
||||||
return ret |
|
||||||
|
|
@ -1,332 +0,0 @@ |
|||||||
#!zsh |
|
||||||
# |
|
||||||
# Installation |
|
||||||
# ------------ |
|
||||||
# |
|
||||||
# To achieve git-flow completion nirvana: |
|
||||||
# |
|
||||||
# 0. Update your zsh's git-completion module to the newest verion. |
|
||||||
# From here. http://zsh.git.sourceforge.net/git/gitweb.cgi?p=zsh/zsh;a=blob_plain;f=Completion/Unix/Command/_git;hb=HEAD |
|
||||||
# |
|
||||||
# 1. Install this file. Either: |
|
||||||
# |
|
||||||
# a. Place it in your .zshrc: |
|
||||||
# |
|
||||||
# b. Or, copy it somewhere (e.g. ~/.git-flow-completion.zsh) and put the following line in |
|
||||||
# your .zshrc: |
|
||||||
# |
|
||||||
# source ~/.git-flow-completion.zsh |
|
||||||
# |
|
||||||
# c. Or, use this file as a oh-my-zsh plugin. |
|
||||||
# |
|
||||||
|
|
||||||
_git-flow () |
|
||||||
{ |
|
||||||
local curcontext="$curcontext" state line |
|
||||||
typeset -A opt_args |
|
||||||
|
|
||||||
_arguments -C \ |
|
||||||
':command:->command' \ |
|
||||||
'*::options:->options' |
|
||||||
|
|
||||||
case $state in |
|
||||||
(command) |
|
||||||
|
|
||||||
local -a subcommands |
|
||||||
subcommands=( |
|
||||||
'init:Initialize a new git repo with support for the branching model.' |
|
||||||
'feature:Manage your feature branches.' |
|
||||||
'release:Manage your release branches.' |
|
||||||
'hotfix:Manage your hotfix branches.' |
|
||||||
'support:Manage your support branches.' |
|
||||||
'version:Shows version information.' |
|
||||||
) |
|
||||||
_describe -t commands 'git flow' subcommands |
|
||||||
;; |
|
||||||
|
|
||||||
(options) |
|
||||||
case $line[1] in |
|
||||||
|
|
||||||
(init) |
|
||||||
_arguments \ |
|
||||||
-f'[Force setting of gitflow branches, even if already configured]' |
|
||||||
;; |
|
||||||
|
|
||||||
(version) |
|
||||||
;; |
|
||||||
|
|
||||||
(hotfix) |
|
||||||
__git-flow-hotfix |
|
||||||
;; |
|
||||||
|
|
||||||
(release) |
|
||||||
__git-flow-release |
|
||||||
;; |
|
||||||
|
|
||||||
(feature) |
|
||||||
__git-flow-feature |
|
||||||
;; |
|
||||||
esac |
|
||||||
;; |
|
||||||
esac |
|
||||||
} |
|
||||||
|
|
||||||
__git-flow-release () |
|
||||||
{ |
|
||||||
local curcontext="$curcontext" state line |
|
||||||
typeset -A opt_args |
|
||||||
|
|
||||||
_arguments -C \ |
|
||||||
':command:->command' \ |
|
||||||
'*::options:->options' |
|
||||||
|
|
||||||
case $state in |
|
||||||
(command) |
|
||||||
|
|
||||||
local -a subcommands |
|
||||||
subcommands=( |
|
||||||
'start:Start a new release branch.' |
|
||||||
'finish:Finish a release branch.' |
|
||||||
'list:List all your release branches. (Alias to `git flow release`)' |
|
||||||
) |
|
||||||
_describe -t commands 'git flow release' subcommands |
|
||||||
_arguments \ |
|
||||||
-v'[Verbose (more) output]' |
|
||||||
;; |
|
||||||
|
|
||||||
(options) |
|
||||||
case $line[1] in |
|
||||||
|
|
||||||
(start) |
|
||||||
_arguments \ |
|
||||||
-F'[Fetch from origin before performing finish]'\ |
|
||||||
':version:__git_flow_version_list' |
|
||||||
;; |
|
||||||
|
|
||||||
(finish) |
|
||||||
_arguments \ |
|
||||||
-F'[Fetch from origin before performing finish]' \ |
|
||||||
-s'[Sign the release tag cryptographically]'\ |
|
||||||
-u'[Use the given GPG-key for the digital signature (implies -s)]'\ |
|
||||||
-m'[Use the given tag message]'\ |
|
||||||
-p'[Push to $ORIGIN after performing finish]'\ |
|
||||||
':version:__git_flow_version_list' |
|
||||||
;; |
|
||||||
|
|
||||||
*) |
|
||||||
_arguments \ |
|
||||||
-v'[Verbose (more) output]' |
|
||||||
;; |
|
||||||
esac |
|
||||||
;; |
|
||||||
esac |
|
||||||
} |
|
||||||
|
|
||||||
__git-flow-hotfix () |
|
||||||
{ |
|
||||||
local curcontext="$curcontext" state line |
|
||||||
typeset -A opt_args |
|
||||||
|
|
||||||
_arguments -C \ |
|
||||||
':command:->command' \ |
|
||||||
'*::options:->options' |
|
||||||
|
|
||||||
case $state in |
|
||||||
(command) |
|
||||||
|
|
||||||
local -a subcommands |
|
||||||
subcommands=( |
|
||||||
'start:Start a new hotfix branch.' |
|
||||||
'finish:Finish a hotfix branch.' |
|
||||||
'list:List all your hotfix branches. (Alias to `git flow hotfix`)' |
|
||||||
) |
|
||||||
_describe -t commands 'git flow hotfix' subcommands |
|
||||||
_arguments \ |
|
||||||
-v'[Verbose (more) output]' |
|
||||||
;; |
|
||||||
|
|
||||||
(options) |
|
||||||
case $line[1] in |
|
||||||
|
|
||||||
(start) |
|
||||||
_arguments \ |
|
||||||
-F'[Fetch from origin before performing finish]'\ |
|
||||||
':hotfix:__git_flow_version_list'\ |
|
||||||
':branch-name:__git_branch_names' |
|
||||||
;; |
|
||||||
|
|
||||||
(finish) |
|
||||||
_arguments \ |
|
||||||
-F'[Fetch from origin before performing finish]' \ |
|
||||||
-s'[Sign the release tag cryptographically]'\ |
|
||||||
-u'[Use the given GPG-key for the digital signature (implies -s)]'\ |
|
||||||
-m'[Use the given tag message]'\ |
|
||||||
-p'[Push to $ORIGIN after performing finish]'\ |
|
||||||
':hotfix:__git_flow_hotfix_list' |
|
||||||
;; |
|
||||||
|
|
||||||
*) |
|
||||||
_arguments \ |
|
||||||
-v'[Verbose (more) output]' |
|
||||||
;; |
|
||||||
esac |
|
||||||
;; |
|
||||||
esac |
|
||||||
} |
|
||||||
|
|
||||||
__git-flow-feature () |
|
||||||
{ |
|
||||||
local curcontext="$curcontext" state line |
|
||||||
typeset -A opt_args |
|
||||||
|
|
||||||
_arguments -C \ |
|
||||||
':command:->command' \ |
|
||||||
'*::options:->options' |
|
||||||
|
|
||||||
case $state in |
|
||||||
(command) |
|
||||||
|
|
||||||
local -a subcommands |
|
||||||
subcommands=( |
|
||||||
'start:Start a new feature branch.' |
|
||||||
'finish:Finish a feature branch.' |
|
||||||
'list:List all your feature branches. (Alias to `git flow feature`)' |
|
||||||
'publish: public' |
|
||||||
'track: track' |
|
||||||
'diff: diff' |
|
||||||
'rebase: rebase' |
|
||||||
'checkout: checkout' |
|
||||||
'pull: pull' |
|
||||||
) |
|
||||||
_describe -t commands 'git flow feature' subcommands |
|
||||||
_arguments \ |
|
||||||
-v'[Verbose (more) output]' |
|
||||||
;; |
|
||||||
|
|
||||||
(options) |
|
||||||
case $line[1] in |
|
||||||
|
|
||||||
(start) |
|
||||||
_arguments \ |
|
||||||
-F'[Fetch from origin before performing finish]'\ |
|
||||||
':feature:__git_flow_feature_list'\ |
|
||||||
':branch-name:__git_branch_names' |
|
||||||
;; |
|
||||||
|
|
||||||
(finish) |
|
||||||
_arguments \ |
|
||||||
-F'[Fetch from origin before performing finish]' \ |
|
||||||
-r'[Rebase instead of merge]'\ |
|
||||||
':feature:__git_flow_feature_list' |
|
||||||
;; |
|
||||||
|
|
||||||
(publish) |
|
||||||
_arguments \ |
|
||||||
':feature:__git_flow_feature_list'\ |
|
||||||
;; |
|
||||||
|
|
||||||
(track) |
|
||||||
_arguments \ |
|
||||||
':feature:__git_flow_feature_list'\ |
|
||||||
;; |
|
||||||
|
|
||||||
(diff) |
|
||||||
_arguments \ |
|
||||||
':branch:__git_branch_names'\ |
|
||||||
;; |
|
||||||
|
|
||||||
(rebase) |
|
||||||
_arguments \ |
|
||||||
-i'[Do an interactive rebase]' \ |
|
||||||
':branch:__git_branch_names' |
|
||||||
;; |
|
||||||
|
|
||||||
(checkout) |
|
||||||
_arguments \ |
|
||||||
':branch:__git_flow_feature_list'\ |
|
||||||
;; |
|
||||||
|
|
||||||
(pull) |
|
||||||
_arguments \ |
|
||||||
':remote:__git_remotes'\ |
|
||||||
':branch:__git_branch_names' |
|
||||||
;; |
|
||||||
|
|
||||||
*) |
|
||||||
_arguments \ |
|
||||||
-v'[Verbose (more) output]' |
|
||||||
;; |
|
||||||
esac |
|
||||||
;; |
|
||||||
esac |
|
||||||
} |
|
||||||
|
|
||||||
__git_flow_version_list () |
|
||||||
{ |
|
||||||
local expl |
|
||||||
declare -a versions |
|
||||||
|
|
||||||
versions=(${${(f)"$(_call_program versions git flow release list 2> /dev/null | tr -d ' |*')"}}) |
|
||||||
__git_command_successful || return |
|
||||||
|
|
||||||
_wanted versions expl 'version' compadd $versions |
|
||||||
} |
|
||||||
|
|
||||||
__git_flow_feature_list () |
|
||||||
{ |
|
||||||
local expl |
|
||||||
declare -a features |
|
||||||
|
|
||||||
features=(${${(f)"$(_call_program features git flow feature list 2> /dev/null | tr -d ' |*')"}}) |
|
||||||
__git_command_successful || return |
|
||||||
|
|
||||||
_wanted features expl 'feature' compadd $features |
|
||||||
} |
|
||||||
|
|
||||||
__git_remotes () { |
|
||||||
local expl gitdir remotes |
|
||||||
|
|
||||||
gitdir=$(_call_program gitdir git rev-parse --git-dir 2>/dev/null) |
|
||||||
__git_command_successful || return |
|
||||||
|
|
||||||
remotes=(${${(f)"$(_call_program remotes git config --get-regexp '"^remote\..*\.url$"')"}//#(#b)remote.(*).url */$match[1]}) |
|
||||||
__git_command_successful || return |
|
||||||
|
|
||||||
# TODO: Should combine the two instead of either or. |
|
||||||
if (( $#remotes > 0 )); then |
|
||||||
_wanted remotes expl remote compadd $* - $remotes |
|
||||||
else |
|
||||||
_wanted remotes expl remote _files $* - -W "($gitdir/remotes)" -g "$gitdir/remotes/*" |
|
||||||
fi |
|
||||||
} |
|
||||||
|
|
||||||
__git_flow_hotfix_list () |
|
||||||
{ |
|
||||||
local expl |
|
||||||
declare -a hotfixes |
|
||||||
|
|
||||||
hotfixes=(${${(f)"$(_call_program hotfixes git flow hotfix list 2> /dev/null | tr -d ' |*')"}}) |
|
||||||
__git_command_successful || return |
|
||||||
|
|
||||||
_wanted hotfixes expl 'hotfix' compadd $hotfixes |
|
||||||
} |
|
||||||
|
|
||||||
__git_branch_names () { |
|
||||||
local expl |
|
||||||
declare -a branch_names |
|
||||||
|
|
||||||
branch_names=(${${(f)"$(_call_program branchrefs git for-each-ref --format='"%(refname)"' refs/heads 2>/dev/null)"}#refs/heads/}) |
|
||||||
__git_command_successful || return |
|
||||||
|
|
||||||
_wanted branch-names expl branch-name compadd $* - $branch_names |
|
||||||
} |
|
||||||
|
|
||||||
__git_command_successful () { |
|
||||||
if (( ${#pipestatus:#0} > 0 )); then |
|
||||||
_message 'not a git repository' |
|
||||||
return 1 |
|
||||||
fi |
|
||||||
return 0 |
|
||||||
} |
|
||||||
|
|
||||||
zstyle ':completion:*:*:git:*' user-commands flow:'description for foo' |
|
@ -1,41 +0,0 @@ |
|||||||
#compdef github |
|
||||||
#autoload |
|
||||||
|
|
||||||
# The github-gem is neccessary for this completion to work. |
|
||||||
# http://github.com/defunkt/github-gem |
|
||||||
|
|
||||||
# This completion is based on the Homebrew completion. |
|
||||||
|
|
||||||
local -a _1st_arguments |
|
||||||
_1st_arguments=( |
|
||||||
'browse:Open this repo in a web browser' |
|
||||||
'clone:Clone a repo' |
|
||||||
'config:Automatically set configuration info, or pass args to specify' |
|
||||||
'create-from-local:Create a new GitHub repository from the current local repository' |
|
||||||
'create:Create a new empty GitHub repository' |
|
||||||
'fetch:Fetch from a remote to a local branch' |
|
||||||
'fetch_all:Fetch all refs from a user' |
|
||||||
'fork:Forks a GitHub repository' |
|
||||||
'home:Open this repos master branch in a web browser' |
|
||||||
'ignore:Ignore a SHA from github network commits' |
|
||||||
'info:Info about this project' |
|
||||||
'issues:Project issues tools' |
|
||||||
'network:Project network tools - sub-commands : web [user], list, fetch, commits' |
|
||||||
'open:Open the given user/project in a web browser' |
|
||||||
'pull-request:Generate the text for a pull request' |
|
||||||
'pull:Pull from a remote' |
|
||||||
'search:Search GitHub for the given repository name' |
|
||||||
'track:Track another users repository' |
|
||||||
) |
|
||||||
|
|
||||||
local expl |
|
||||||
local -a pkgs installed_pkgs |
|
||||||
|
|
||||||
_arguments \ |
|
||||||
'*:: :->subcmds' && return 0 |
|
||||||
|
|
||||||
if (( CURRENT == 1 )); then |
|
||||||
_describe -t commands "github subcommand" _1st_arguments |
|
||||||
return |
|
||||||
fi |
|
||||||
|
|
@ -1,159 +0,0 @@ |
|||||||
#compdef heroku |
|
||||||
#autoload |
|
||||||
|
|
||||||
# Heroku Autocomplete plugin for Oh-My-Zsh |
|
||||||
# Requires: The Heroku client gem (https://github.com/heroku/heroku) |
|
||||||
# Author: Ali B. (http://awhitebox.com) |
|
||||||
|
|
||||||
local -a _1st_arguments |
|
||||||
_1st_arguments=( |
|
||||||
"account\:confirm_billing":"Confirm that your account can be billed at the end of the month" |
|
||||||
"addons":"list installed addons" |
|
||||||
"addons\:list":"list all available addons" |
|
||||||
"addons\:add":"install an addon" |
|
||||||
"addons\:upgrade":"upgrade an existing addon" |
|
||||||
"addons\:downgrade":"downgrade an existing addon" |
|
||||||
"addons\:remove":"uninstall an addon" |
|
||||||
"addons\:open":"open an addon's dashboard in your browser" |
|
||||||
"apps":"list your apps" |
|
||||||
"apps\:info":"show detailed app information" |
|
||||||
"apps\:create":"create a new app" |
|
||||||
"apps\:rename":"rename the app" |
|
||||||
"apps\:open":"open the app in a web browser" |
|
||||||
"apps\:destroy":"permanently destroy an app" |
|
||||||
"auth\:login":"log in with your heroku credentials" |
|
||||||
"auth\:logout":"clear local authentication credentials" |
|
||||||
"config":"display the config vars for an app" |
|
||||||
"config\:add":"add one or more config vars" |
|
||||||
"config\:remove":"remove a config var" |
|
||||||
"db\:push":"push local data up to your app" |
|
||||||
"db\:pull":"pull heroku data down into your local database" |
|
||||||
"domains":"list custom domains for an app" |
|
||||||
"domains\:add":"add a custom domain to an app" |
|
||||||
"domains\:remove":"remove a custom domain from an app" |
|
||||||
"domains\:clear":"remove all custom domains from an app" |
|
||||||
"help":"list available commands or display help for a specific command" |
|
||||||
"keys":"display keys for the current user" |
|
||||||
"keys\:add":"add a key for the current user" |
|
||||||
"keys\:remove":"remove a key from the current user" |
|
||||||
"keys\:clear":"remove all authentication keys from the current user" |
|
||||||
"logs":"display recent log output" |
|
||||||
"logs\:cron":"DEPRECATED: display cron logs from legacy logging" |
|
||||||
"logs\:drains":"manage syslog drains" |
|
||||||
"maintenance\:on":"put the app into maintenance mode" |
|
||||||
"maintenance\:off":"take the app out of maintenance mode" |
|
||||||
"pg\:info":"display database information" |
|
||||||
"pg\:ingress":"allow direct connections to the database from this IP for one minute" |
|
||||||
"pg\:promote":"sets DATABASE as your DATABASE_URL" |
|
||||||
"pg\:psql":"open a psql shell to the database" |
|
||||||
"pg\:reset":"delete all data in DATABASE" |
|
||||||
"pg\:unfollow":"stop a replica from following and make it a read/write database" |
|
||||||
"pg\:wait":"monitor database creation, exit when complete" |
|
||||||
"pgbackups":"list captured backups" |
|
||||||
"pgbackups\:url":"get a temporary URL for a backup" |
|
||||||
"pgbackups\:capture":"capture a backup from a database id" |
|
||||||
"pgbackups\:restore":"restore a backup to a database" |
|
||||||
"pgbackups\:destroy":"destroys a backup" |
|
||||||
"plugins":"list installed plugins" |
|
||||||
"plugins\:install":"install a plugin" |
|
||||||
"plugins\:uninstall":"uninstall a plugin" |
|
||||||
"ps\:dynos":"scale to QTY web processes" |
|
||||||
"ps\:workers":"scale to QTY background processes" |
|
||||||
"ps":"list processes for an app" |
|
||||||
"ps\:restart":"restart an app process" |
|
||||||
"ps\:scale":"scale processes by the given amount" |
|
||||||
"releases":"list releases" |
|
||||||
"releases\:info":"view detailed information for a release" |
|
||||||
"rollback":"roll back to an older release" |
|
||||||
"run":"run an attached process" |
|
||||||
"run\:rake":"remotely execute a rake command" |
|
||||||
"run\:console":"open a remote console session" |
|
||||||
"sharing":"list collaborators on an app" |
|
||||||
"sharing\:add":"add a collaborator to an app" |
|
||||||
"sharing\:remove":"remove a collaborator from an app" |
|
||||||
"sharing\:transfer":"transfer an app to a new owner" |
|
||||||
"ssl":"list certificates for an app" |
|
||||||
"ssl\:add":"add an ssl certificate to an app" |
|
||||||
"ssl\:remove":"remove an ssl certificate from an app" |
|
||||||
"ssl\:clear":"remove all ssl certificates from an app" |
|
||||||
"stack":"show the list of available stacks" |
|
||||||
"stack\:migrate":"prepare migration of this app to a new stack" |
|
||||||
"version":"show heroku client version" |
|
||||||
) |
|
||||||
|
|
||||||
_arguments '*:: :->command' |
|
||||||
|
|
||||||
if (( CURRENT == 1 )); then |
|
||||||
_describe -t commands "heroku command" _1st_arguments |
|
||||||
return |
|
||||||
fi |
|
||||||
|
|
||||||
local -a _command_args |
|
||||||
case "$words[1]" in |
|
||||||
apps:info) |
|
||||||
_command_args=( |
|
||||||
'(-r|--raw)'{-r,--raw}'[output info as raw key/value pairs]' \ |
|
||||||
) |
|
||||||
;; |
|
||||||
apps:create) |
|
||||||
_command_args=( |
|
||||||
'(-a|--addons)'{-a,--addons}'[a list of addons to install]' \ |
|
||||||
'(-r|--remote)'{-r,--remote}'[the git remote to create, default "heroku"]' \ |
|
||||||
'(-s|--stack)'{-s,--stack}'[the stack on which to create the app]' \ |
|
||||||
) |
|
||||||
;; |
|
||||||
config) |
|
||||||
_command_args=( |
|
||||||
'(-s|--shell)'{-s,--shell}'[output config vars in shell format]' \ |
|
||||||
) |
|
||||||
;; |
|
||||||
db:push) |
|
||||||
_command_args=( |
|
||||||
'(-c|--chunksize)'{-c,--chunksize}'[specify the number of rows to send in each batch]' \ |
|
||||||
'(-d|--debug)'{-d,--debug}'[enable debugging output]' \ |
|
||||||
'(-e|--exclude)'{-e,--exclude}'[exclude the specified tables from the push]' \ |
|
||||||
'(-f|--filter)'{-f,--filter}'[only push certain tables]' \ |
|
||||||
'(-r|--resume)'{-r,--resume}'[resume transfer described by a .dat file]' \ |
|
||||||
'(-t|--tables)'{-t,--tables}'[only push the specified tables]' \ |
|
||||||
) |
|
||||||
;; |
|
||||||
db:pull) |
|
||||||
_command_args=( |
|
||||||
'(-c|--chunksize)'{-c,--chunksize}'[specify the number of rows to send in each batch]' \ |
|
||||||
'(-d|--debug)'{-d,--debug}'[enable debugging output]' \ |
|
||||||
'(-e|--exclude)'{-e,--exclude}'[exclude the specified tables from the pull]' \ |
|
||||||
'(-f|--filter)'{-f,--filter}'[only pull certain tables]' \ |
|
||||||
'(-r|--resume)'{-r,--resume}'[resume transfer described by a .dat file]' \ |
|
||||||
'(-t|--tables)'{-t,--tables}'[only pull the specified tables]' \ |
|
||||||
) |
|
||||||
;; |
|
||||||
keys) |
|
||||||
_command_args=( |
|
||||||
'(-l|--long)'{-l,--long}'[display extended information for each key]' \ |
|
||||||
) |
|
||||||
;; |
|
||||||
logs) |
|
||||||
_command_args=( |
|
||||||
'(-n|--num)'{-n,--num}'[the number of lines to display]' \ |
|
||||||
'(-p|--ps)'{-p,--ps}'[only display logs from the given process]' \ |
|
||||||
'(-s|--source)'{-s,--source}'[only display logs from the given source]' \ |
|
||||||
'(-t|--tail)'{-t,--tail}'[continually stream logs]' \ |
|
||||||
) |
|
||||||
;; |
|
||||||
pgbackups:capture) |
|
||||||
_command_args=( |
|
||||||
'(-e|--expire)'{-e,--expire}'[if no slots are available to capture, delete the oldest backup to make room]' \ |
|
||||||
) |
|
||||||
;; |
|
||||||
stack) |
|
||||||
_command_args=( |
|
||||||
'(-a|--all)'{-a,--all}'[include deprecated stacks]' \ |
|
||||||
) |
|
||||||
;; |
|
||||||
esac |
|
||||||
|
|
||||||
_arguments \ |
|
||||||
$_command_args \ |
|
||||||
'(--app)--app[the app name]' \ |
|
||||||
&& return 0 |
|
||||||
|
|
@ -1,28 +0,0 @@ |
|||||||
function _lein_commands() { |
|
||||||
local ret=1 state |
|
||||||
_arguments ':subcommand:->subcommand' && ret=0 |
|
||||||
|
|
||||||
case "$state" in |
|
||||||
subcommand) |
|
||||||
subcommands=( |
|
||||||
"clean:remove compiled files and dependencies from project" |
|
||||||
"compile:ahead-of-time compile the project" |
|
||||||
"deps:download and install all dependencies" |
|
||||||
"help:display a list of tasks or help for a given task" |
|
||||||
"install:install the project and its dependencies in your local repository" |
|
||||||
"jar:create a jar file containing the compiled .class files" |
|
||||||
"new:create a new project skeleton" |
|
||||||
"pom:write a pom.xml file to disk for maven interop" |
|
||||||
"test:run the project's tests" |
|
||||||
"uberjar:Create a jar including the contents of each of deps" |
|
||||||
"upgrade:upgrade leiningen to the latest stable release" |
|
||||||
"version:print leiningen's version" |
|
||||||
) |
|
||||||
_describe -t subcommands 'leiningen subcommands' subcommands && ret=0 |
|
||||||
esac |
|
||||||
|
|
||||||
return ret |
|
||||||
} |
|
||||||
|
|
||||||
compdef _lein_commands lein |
|
||||||
|
|
@ -1,89 +0,0 @@ |
|||||||
#compdef port |
|
||||||
|
|
||||||
local subcmds |
|
||||||
|
|
||||||
# we cache the list of ports |
|
||||||
# we shall use some cache policy to avoid problems with new ports |
|
||||||
if (( ! $+portlist )); then |
|
||||||
portlist=($(port echo all; echo "all current active inactive installed uninstalled outdated")) |
|
||||||
fi |
|
||||||
|
|
||||||
subcmds=( |
|
||||||
'activate' |
|
||||||
'archive' |
|
||||||
'build' |
|
||||||
'cat' |
|
||||||
'clean' |
|
||||||
'configure' |
|
||||||
'contents' |
|
||||||
'deactivate' |
|
||||||
'dependents' |
|
||||||
'deps' |
|
||||||
'destroot' |
|
||||||
'dir' |
|
||||||
'distcheck' |
|
||||||
'distclean' |
|
||||||
'dmg' |
|
||||||
'echo' |
|
||||||
'edit' |
|
||||||
'extract' |
|
||||||
'fetch' |
|
||||||
'file' |
|
||||||
'help' |
|
||||||
'info' |
|
||||||
'install' |
|
||||||
'installed' |
|
||||||
'list' |
|
||||||
'livecheck' |
|
||||||
'location' |
|
||||||
'mpkg' |
|
||||||
'outdated' |
|
||||||
'patch' |
|
||||||
'pkg' |
|
||||||
'provides' |
|
||||||
'rpmpackage' |
|
||||||
'search' |
|
||||||
'selfupdate' |
|
||||||
'sync' |
|
||||||
'test' |
|
||||||
'unarchive' |
|
||||||
'uninstall' |
|
||||||
'upgrade' |
|
||||||
'variants' |
|
||||||
'version' |
|
||||||
) |
|
||||||
|
|
||||||
_arguments -C \ |
|
||||||
'-v[verbose mode (generate verbose messages)]' \ |
|
||||||
'-d[debug mode (generate debugging messages)]' \ |
|
||||||
'-q[quiet mode (suppress messages)]' \ |
|
||||||
'-D[specify portdir]' \ |
|
||||||
'-k[keep mode (do not autoclean after install)]' \ |
|
||||||
'-n[dont follow dependencies in upgrade (only for upgrading)]' \ |
|
||||||
'-a[upgrade all installed ports (only for upgrading)]' \ |
|
||||||
'-u[uninstall non-active ports when upgrading and uninstalling]' \ |
|
||||||
'-f[force mode (ignore state file)]' \ |
|
||||||
'-s[source-only mode]' \ |
|
||||||
'-b[binary-only mode]' \ |
|
||||||
'-o[honor state files older than Portfile]' \ |
|
||||||
'*::command:->command' \ |
|
||||||
&& return 0 |
|
||||||
|
|
||||||
case $state in |
|
||||||
command) |
|
||||||
if ((CURRENT == 1)); then |
|
||||||
state=subcommands |
|
||||||
else |
|
||||||
state=portname |
|
||||||
fi |
|
||||||
;; |
|
||||||
esac |
|
||||||
|
|
||||||
case $state in |
|
||||||
subcommands) |
|
||||||
_describe -t commands 'port commands' subcmds |
|
||||||
;; |
|
||||||
portname) |
|
||||||
_describe -t commands 'available ports' portlist |
|
||||||
;; |
|
||||||
esac |
|
@ -1,21 +0,0 @@ |
|||||||
function _phing_does_target_list_need_generating() { |
|
||||||
if [[ ! -f .phing_targets ]]; then |
|
||||||
return 0 |
|
||||||
else |
|
||||||
accurate=$(stat -f%m .phing_targets) |
|
||||||
changed=$(stat -f%m build.xml) |
|
||||||
return $(expr $accurate '>=' $changed) |
|
||||||
fi |
|
||||||
} |
|
||||||
|
|
||||||
function _phing() { |
|
||||||
if [[ -f build.xml ]]; then |
|
||||||
if _phing_does_target_list_need_generating; then |
|
||||||
phing -l |grep -v ":" |grep -v "^$"|grep -v "\-" > .phing_targets |
|
||||||
fi |
|
||||||
compadd `cat .phing_targets` |
|
||||||
fi |
|
||||||
} |
|
||||||
|
|
||||||
compdef _phing phing |
|
||||||
|
|
@ -1,5 +0,0 @@ |
|||||||
#compdef powder |
|
||||||
#autoload |
|
||||||
|
|
||||||
compadd `powder help | grep powder | cut -d " " -f 4` |
|
||||||
|
|
@ -1,47 +0,0 @@ |
|||||||
#compdef pip |
|
||||||
#autoload |
|
||||||
|
|
||||||
# This completion is based on the Homebrew completion. |
|
||||||
|
|
||||||
function _pip-installed() { |
|
||||||
installed_pkgs=(`pip freeze`) |
|
||||||
} |
|
||||||
|
|
||||||
local -a _1st_arguments |
|
||||||
_1st_arguments=( |
|
||||||
'bundle:Create pybundles (archives containing multiple packages)' |
|
||||||
'freeze:Output all currently installed packages (exact versions) to stdout' |
|
||||||
'help:Show available commands' |
|
||||||
'install:Install packages' |
|
||||||
'search:Search PyPI' |
|
||||||
'uninstall:Uninstall packages' |
|
||||||
'unzip:Unzip individual packages' |
|
||||||
'zip:Zip individual packages' |
|
||||||
) |
|
||||||
|
|
||||||
local expl |
|
||||||
local -a pkgs installed_pkgs |
|
||||||
|
|
||||||
_arguments \ |
|
||||||
'(--version)--version[Show version number of program and exit]' \ |
|
||||||
'(-v --verbose)'{-v,--verbose}'[Give more output]' \ |
|
||||||
'(-q --quiet)'{-q,--quiet}'[Give less output]' \ |
|
||||||
'(-h --help)'{-h,--help}'[Show help]' \ |
|
||||||
'*:: :->subcmds' && return 0 |
|
||||||
|
|
||||||
if (( CURRENT == 1 )); then |
|
||||||
_describe -t commands "pip subcommand" _1st_arguments |
|
||||||
return |
|
||||||
fi |
|
||||||
|
|
||||||
case "$words[1]" in |
|
||||||
list) |
|
||||||
if [[ "$state" == forms ]]; then |
|
||||||
_pip-installed |
|
||||||
_requested installed_pkgs expl 'installed packages' compadd -a installed_pkgs |
|
||||||
fi ;; |
|
||||||
uninstall) |
|
||||||
_pip-installed |
|
||||||
_wanted installed_pkgs expl 'installed packages' compadd -a installed_pkgs ;; |
|
||||||
esac |
|
||||||
|
|
@ -1,143 +0,0 @@ |
|||||||
#compdef redis-cli rec |
|
||||||
#autoload |
|
||||||
|
|
||||||
# This completion is based on the Homebrew completion. |
|
||||||
|
|
||||||
local -a _1st_arguments |
|
||||||
_1st_arguments=( |
|
||||||
'append:append a value to a key' |
|
||||||
'auth:authenticate to the server' |
|
||||||
'bgrewriteeaof:asynchronously rewrite the append-only file' |
|
||||||
'bgsave:asynchornously save the dataset to disk' |
|
||||||
'blpop:remove and get the first element in a list, or block until one is available' |
|
||||||
'brpop:remove and get the last element in a list, or block until one is available' |
|
||||||
'brpoplpush:pop a value from a list, push it to another list and return it; or block until one is available' |
|
||||||
# 'config get:get the value of a configuration parameter' |
|
||||||
# 'config set:set a configuration parameter to the given value' |
|
||||||
# 'config resetstat: reset the stats returned by INFO' |
|
||||||
'dbsize:return the number of keys in the selected database' |
|
||||||
# 'debug object:get debugging information about a key' |
|
||||||
# 'debug setgfault:make the server crash' |
|
||||||
'decr:decrement the integer value of a key by one' |
|
||||||
'decrby:decrement the integet value of a key by the given number' |
|
||||||
'del:delete a key' |
|
||||||
'discard:discard all commands issued after MULTI' |
|
||||||
'echo:echo the given string' |
|
||||||
'exec:execute all commands issued after a MULTI' |
|
||||||
'exists:determine if a key exists' |
|
||||||
'expire:set the time to live for a key, in seconds' |
|
||||||
'expireat:set the expiration for a key as a UNIX timestamp' |
|
||||||
'flushall:remove all keys from all databases' |
|
||||||
'flushdb:remove all keys from the current database' |
|
||||||
'get:get the value of a key' |
|
||||||
'getbit:returns the bit value at offset in the string value stored at key' |
|
||||||
'getrange:get a substring of the string stored at a key' |
|
||||||
'getset:set the string value of a key and return its old value' |
|
||||||
'hdel:delete a hash field' |
|
||||||
'hexists:determine if a hash field exists' |
|
||||||
'hget:get the value of a hash field' |
|
||||||
'hgetall:get all the fields and values in a hash' |
|
||||||
'hincrby:increment the integer value of a hash field by the given number' |
|
||||||
'hkeys:get all the fields in a hash' |
|
||||||
'hlen:get the number of fields in a hash' |
|
||||||
'hmget:get the values of all the given hash fields' |
|
||||||
'hmset:set multiple hash fields to multiple values' |
|
||||||
'hset:set the string value of a hash field' |
|
||||||
'hsetnx:set the value of a hash field, only if the field does not exist' |
|
||||||
'hvals:get all the values in a hash' |
|
||||||
'incr:increment the integer value of a key by one' |
|
||||||
'incrby:increment the integer value of a key by the given number' |
|
||||||
'info:get information and statistics about the server' |
|
||||||
'keys:find all keys matching the given pattern' |
|
||||||
'lastsave:get the UNIX timestamp of the last successful save to disk' |
|
||||||
'lindex:get an element from a list by its index' |
|
||||||
'linsert:insert an element before or after another element in a list' |
|
||||||
'llen:get the length of a list' |
|
||||||
'lpop:remove and get the first element in a list' |
|
||||||
'lpush:prepend a value to a list' |
|
||||||
'lpushx:prepend a value to a list, only if the list exists' |
|
||||||
'lrange:get a range of elements from a list' |
|
||||||
'lrem:remove elements from a list' |
|
||||||
'lset:set the value of an element in a list by its index' |
|
||||||
'ltrim:trim a list to the specified range' |
|
||||||
'mget:get the values of all the given keys' |
|
||||||
'monitor:listen for all requests received by the server in real time' |
|
||||||
'move:move a key to another database' |
|
||||||
'mset:set multiple keys to muliple values' |
|
||||||
'msetnx:set multiple keys tom ultiple values, only if none of the keys exist' |
|
||||||
'multi:mark the start of a transaction block' |
|
||||||
'object:inspect the internals of Redis objects' |
|
||||||
'persist:remove the expiration from a key' |
|
||||||
'ping:ping the server' |
|
||||||
'psubscribe:listen for messages published to channels matching the given patterns' |
|
||||||
'publish:post a message to a channel' |
|
||||||
'punsubscribe:stop listening for messages posted to channels matching the given patterns' |
|
||||||
'quit:close the connection' |
|
||||||
'randomkey:return a random key from the keyspace' |
|
||||||
'rename:rename a key' |
|
||||||
'renamenx:rename a key, only if the new key does not exist' |
|
||||||
'rpop:remove and get the last element in a list' |
|
||||||
'rpoplpush:remove the last element in a list, append it to another list and return it' |
|
||||||
'rpush:append a value to a list' |
|
||||||
'rpushx:append a value to a list, only if the list exists' |
|
||||||
'sadd:add a member to a set' |
|
||||||
'save:synchronously save the dataset to disk' |
|
||||||
'scard:get the number of members in a set' |
|
||||||
'sdiff:subtract multiple sets' |
|
||||||
'sdiffstore:subtract multiple sets and store the resulting set in a key' |
|
||||||
'select:change the selected database for the current connection' |
|
||||||
'set:set the string value of a key' |
|
||||||
'setbit:sets or clears the bit at offset in the string value stored at key' |
|
||||||
'setex:set the value and expiration of a key' |
|
||||||
'setnx:set the value of a key, only if the key does not exist' |
|
||||||
'setrange:overwrite part of a string at key starting at the specified offset' |
|
||||||
'shutdown:synchronously save the dataset to disk and then shut down the server' |
|
||||||
'sinter:intersect multiple sets' |
|
||||||
'sinterstore:intersect multiple sets and store the resulting set in a key' |
|
||||||
'sismember:determine if a given value is a member of a set' |
|
||||||
'slaveof:make the server a slave of another instance, or promote it as master' |
|
||||||
'smembers:get all the members in a set' |
|
||||||
'smove:move a member from one set to another' |
|
||||||
'sort:sort the elements in a list, set or sorted set' |
|
||||||
'spop:remove and return a random member from a set' |
|
||||||
'srandmember:get a random member from a set' |
|
||||||
'srem:remove a member from a set' |
|
||||||
'strlen:get the length of the value stored in a key' |
|
||||||
'subscribe:listen for messages published to the given channels' |
|
||||||
'sunion:add multiple sets' |
|
||||||
'sunionstore:add multiple sets and store the resulting set in a key' |
|
||||||
'ttl:get the time to live for a key' |
|
||||||
'type:determine the type stored at key' |
|
||||||
'unsubscribe:stop listening for messages posted to the given channels' |
|
||||||
'unwatch:forget about all watched keys' |
|
||||||
'watch:watch the given keys to determine execution of the MULTI/EXEC block' |
|
||||||
'zadd:add a member to a sorted set, or update its score if it already exists' |
|
||||||
'zcard:get the number of members in a sorted set' |
|
||||||
'zcount:count the members in a sorted set with scores within the given values' |
|
||||||
'zincrby:increment the score of a member in a sorted set' |
|
||||||
'zinterstore:intersect multiple sorted sets and store the resulting sorted set in a new key' |
|
||||||
'zrange:return a range of members in a sorted set, by index' |
|
||||||
'zrangebyscore:return a range of members in a sorted set, by score' |
|
||||||
'zrank:determine the index of a member in a sorted set' |
|
||||||
'zrem:remove a member from a sorted set' |
|
||||||
'zremrangebyrank:remove all members in a sorted set within the given indexes' |
|
||||||
'zremrangebyscore:remove all members in a sorted set within the given scores' |
|
||||||
'zrevrange:return a range of membrs in a sorted set, by index, with scores ordered from high to low' |
|
||||||
'zrevrangebyscore:return a range of members in a sorted set, by score, with scores ordered from high to low' |
|
||||||
'zrevrank:determine the index of a member in a sorted set, with scores ordered from high to low' |
|
||||||
'zscore:get the score associated with the given member in a sorted set' |
|
||||||
'zunionstore:add multiple sorted sets and store te resulting sorted set in a new key' |
|
||||||
) |
|
||||||
|
|
||||||
local expl |
|
||||||
|
|
||||||
_arguments \ |
|
||||||
'(-v --version)'{-v,--version}'[show version]' \ |
|
||||||
'(-h --help)'{-h,--help}'[show help]' \ |
|
||||||
'*:: :->subcmds' && return 0 |
|
||||||
|
|
||||||
if (( CURRENT == 1 )); then |
|
||||||
_describe -t commands "redis-cli subcommand" _1st_arguments |
|
||||||
return |
|
||||||
fi |
|
||||||
|
|
@ -1,67 +0,0 @@ |
|||||||
#compdef gem |
|
||||||
#autoload |
|
||||||
|
|
||||||
# This completion is based on the Homebrew completion. |
|
||||||
|
|
||||||
function _gem-installed() { |
|
||||||
installed_gems=(`gem list --local --no-versions`) |
|
||||||
} |
|
||||||
|
|
||||||
local -a _1st_arguments |
|
||||||
_1st_arguments=( |
|
||||||
'cert:Manage RubyGems certificates and signing settings' |
|
||||||
'check:Check installed gems' |
|
||||||
'cleanup:Clean up old versions of installed gems in the local repository' |
|
||||||
'contents:Display the contents of the installed gems' |
|
||||||
'dependency:Show the dependencies of an installed gem' |
|
||||||
'environment:Display information about the RubyGems environment' |
|
||||||
'fetch:Download a gem and place it in the current directory' |
|
||||||
'generate_index:Generates the index files for a gem server directory' |
|
||||||
'help:Provide help on the `gem` command' |
|
||||||
'install:Install a gem into the local repository' |
|
||||||
'list:Display gems whose name starts with STRING' |
|
||||||
'lock:Generate a lockdown list of gems' |
|
||||||
'mirror:Mirror a gem repository' |
|
||||||
'outdated:Display all gems that need updates' |
|
||||||
'owner:Manage gem owners on RubyGems.org.' |
|
||||||
'pristine:Restores installed gems to pristine condition from files located in the gem cache' |
|
||||||
'push:Push a gem up to RubyGems.org' |
|
||||||
'query:Query gem information in local or remote repositories' |
|
||||||
'rdoc:Generates RDoc for pre-installed gems' |
|
||||||
'search:Display all gems whose name contains STRING' |
|
||||||
'server:Documentation and gem repository HTTP server' |
|
||||||
'sources:Manage the sources and cache file RubyGems uses to search for gems' |
|
||||||
'specification:Display gem specification (in yaml)' |
|
||||||
'stale:List gems along with access times' |
|
||||||
'uninstall:Uninstall gems from the local repository' |
|
||||||
'unpack:Unpack an installed gem to the current directory' |
|
||||||
'update:Update the named gems (or all installed gems) in the local repository' |
|
||||||
'which:Find the location of a library file you can require' |
|
||||||
) |
|
||||||
|
|
||||||
local expl |
|
||||||
local -a gems installed_gems |
|
||||||
|
|
||||||
_arguments \ |
|
||||||
'(-v --version)'{-v,--version}'[show version]' \ |
|
||||||
'(-h --help)'{-h,--help}'[show help]' \ |
|
||||||
'*:: :->subcmds' && return 0 |
|
||||||
|
|
||||||
if (( CURRENT == 1 )); then |
|
||||||
_describe -t commands "gem subcommand" _1st_arguments |
|
||||||
return |
|
||||||
fi |
|
||||||
|
|
||||||
case "$words[1]" in |
|
||||||
(list) |
|
||||||
if [[ "$state" == 'forms' ]]; then |
|
||||||
_gem-installed |
|
||||||
_requested installed_gems expl 'installed gems' compadd -a installed_gems |
|
||||||
fi |
|
||||||
;; |
|
||||||
(uninstall|update) |
|
||||||
_gem-installed |
|
||||||
_wanted installed_gems expl 'installed gems' compadd -a installed_gems |
|
||||||
;; |
|
||||||
esac |
|
||||||
|
|
@ -1,25 +0,0 @@ |
|||||||
# Complete task. |
|
||||||
completion_file="${0:h}/_task" |
|
||||||
if [[ ! -e "$completion_file" ]] && ; then |
|
||||||
if [[ -L "$completion_file" ]]; then |
|
||||||
unlink "$completion_file" 2> /dev/null |
|
||||||
fi |
|
||||||
|
|
||||||
if (( $+commands[taskwarrior] )); then |
|
||||||
ln -s \ |
|
||||||
"${commands[task]:h:h}/share/doc/task/scripts/zsh/_task" \ |
|
||||||
"$completion_file" \ |
|
||||||
2> /dev/null |
|
||||||
fi |
|
||||||
fi |
|
||||||
unset completion_file |
|
||||||
|
|
||||||
# Style |
|
||||||
zstyle ':completion:*:*:task:*' verbose yes |
|
||||||
zstyle ':completion:*:*:task:*:descriptions' format '%U%B%d%b%u' |
|
||||||
zstyle ':completion:*:*:task:*' group-name '' |
|
||||||
|
|
||||||
# Aliases |
|
||||||
alias t=task |
|
||||||
compdef _task t=task |
|
||||||
|
|
@ -1,5 +0,0 @@ |
|||||||
#compdef thor |
|
||||||
#autoload |
|
||||||
|
|
||||||
compadd `thor list | grep thor | cut -d " " -f 2` |
|
||||||
|
|
@ -1,100 +0,0 @@ |
|||||||
#compdef vagrant |
|
||||||
#autoload |
|
||||||
|
|
||||||
local -a _1st_arguments |
|
||||||
_1st_arguments=( |
|
||||||
'box:Box commands' |
|
||||||
'destroy:Destroys the vagrant environment' |
|
||||||
'halt:Halts the currently running vagrant environment' |
|
||||||
'help:[TASK] Describe available tasks or one specific task' |
|
||||||
'init:[box_name] [box_url] Initializes current folder for Vagrant usage' |
|
||||||
'package:Packages a vagrant environment for distribution' |
|
||||||
'provision:Run the provisioner' |
|
||||||
'reload:Reload the vagrant environment' |
|
||||||
'resume:Resumes a suspend vagrant environment' |
|
||||||
'ssh:SSH into the currently running environment' |
|
||||||
'ssh_config:outputs .ssh/config valid syntax for connecting to this environment via ssh.' |
|
||||||
'status:Shows the status of the current Vagrant environment.' |
|
||||||
'suspend:Suspends the currently running vagrant environment' |
|
||||||
'up:Creates the vagrant environment' |
|
||||||
'version:Prints the Vagrant version information' |
|
||||||
) |
|
||||||
|
|
||||||
local -a _box_arguments |
|
||||||
_box_arguments=( |
|
||||||
'add:NAME URI Add a box to the system' |
|
||||||
'help:COMMAND Describe subcommands or one specific subcommand' |
|
||||||
'list:Lists all installed boxes' |
|
||||||
'remove:NAME Remove a box from the system' |
|
||||||
'repackage:NAME Repackage an installed box into a `.box` file.' |
|
||||||
) |
|
||||||
|
|
||||||
function __task_list() { |
|
||||||
local expl |
|
||||||
declare -a tasks |
|
||||||
|
|
||||||
tasks=(box destroy halt init package provision reload resume ssh ssh_config status suspend up version) |
|
||||||
_wanted tasks expl 'help' compadd $tasks |
|
||||||
} |
|
||||||
|
|
||||||
function __box_list() { |
|
||||||
_wanted application expl 'command' compadd $(command ls -1 $HOME/.vagrant/boxes 2>/dev/null| sed -e 's/ /\\ /g') |
|
||||||
} |
|
||||||
|
|
||||||
function __vm_list () { |
|
||||||
_wanted application expl 'command' compadd $(command grep Vagrantfile -oe '^[^#]*\.vm\.define *:\([a-zA-Z0-9]\+\)' 2>/dev/null | cut -d: -f2) |
|
||||||
} |
|
||||||
|
|
||||||
function __vagrant-box() { |
|
||||||
local curcontext="$curcontext" state line |
|
||||||
typeset -A opt_args |
|
||||||
|
|
||||||
_arguments -C \ |
|
||||||
':command:->command' \ |
|
||||||
'*::options:->options' |
|
||||||
|
|
||||||
case $state in |
|
||||||
(command) |
|
||||||
_describe -t commands "gem subcommand" _box_arguments |
|
||||||
return |
|
||||||
;; |
|
||||||
(options) |
|
||||||
case $line[1] in |
|
||||||
(repackage|remove) |
|
||||||
_arguments ':feature:__box_list' |
|
||||||
;; |
|
||||||
esac |
|
||||||
;; |
|
||||||
esac |
|
||||||
} |
|
||||||
|
|
||||||
local expl |
|
||||||
local -a boxes installed_boxes |
|
||||||
local curcontext="$curcontext" state line |
|
||||||
typeset -A opt_args |
|
||||||
|
|
||||||
_arguments -C \ |
|
||||||
':command:->command' \ |
|
||||||
'*::options:->options' |
|
||||||
|
|
||||||
case $state in |
|
||||||
(command) |
|
||||||
_describe -t commands "gem subcommand" _1st_arguments |
|
||||||
return |
|
||||||
;; |
|
||||||
|
|
||||||
(options) |
|
||||||
case $line[1] in |
|
||||||
(help) |
|
||||||
_arguments ':feature:__task_list' |
|
||||||
;; |
|
||||||
|
|
||||||
(box) |
|
||||||
__vagrant-box |
|
||||||
;; |
|
||||||
(up|provision|package|destroy|reload|ssh|halt|resume|status) |
|
||||||
_arguments ':feature:__vm_list' |
|
||||||
esac |
|
||||||
;; |
|
||||||
esac |
|
||||||
|
|
Loading…
Reference in new issue