Merge remote-tracking branch 'upstream/master' into 2024-list-theme-features

This commit is contained in:
Daniel YC Lin 2013-10-16 10:22:53 +08:00
commit c50cd19b1a
30 changed files with 988 additions and 44 deletions

5
.gitignore vendored
View file

@ -1,9 +1,8 @@
locals.zsh locals.zsh
log/.zsh_history log/.zsh_history
projects.zsh projects.zsh
custom/* custom/example
!custom/example custom/example.zsh
!custom/example.zsh
*.swp *.swp
!custom/example.zshcache !custom/example.zshcache
cache/ cache/

View file

@ -1,3 +1,5 @@
!https://s3.amazonaws.com/ohmyzsh/oh-my-zsh-logo.png!
oh-my-zsh is an open source, community-driven framework for managing your ZSH configuration. It comes bundled with a ton of helpful functions, helpers, plugins, themes, and few things that make you shout... oh-my-zsh is an open source, community-driven framework for managing your ZSH configuration. It comes bundled with a ton of helpful functions, helpers, plugins, themes, and few things that make you shout...
bq. "OH MY ZSHELL!" bq. "OH MY ZSHELL!"

View file

@ -0,0 +1,12 @@
function gi() { curl http://gitignore.io/api/$@ ;}
_gitignireio_get_command_list() {
curl -s http://gitignore.io/api/list | tr "," "\n"
}
_gitignireio () {
compset -P '*,'
compadd -S '' `_gitignireio_get_command_list`
}
compdef _gitignireio gi

View file

@ -0,0 +1,28 @@
# ------------------------------------------------------------------------------
# FILE: sfffe.plugin.zsh
# DESCRIPTION: search file for FE
# AUTHOR: yleo77 (ylep77@gmail.com)
# VERSION: 0.1
# REQUIRE: ack
# ------------------------------------------------------------------------------
if [ ! -x $(which ack) ]; then
echo \'ack\' is not installed!
exit -1
fi
ajs() {
ack "$@" --type js
}
acss() {
ack "$@" --type css
}
fjs() {
find ./ -name "$@*" -type f | grep '\.js'
}
fcss() {
find ./ -name "$@*" -type f | grep '\.css'
}

View file

@ -38,10 +38,20 @@ for plugin ($plugins); do
fi fi
done done
# Figure out the SHORT hostname
if [ -n "$commands[scutil]" ]; then
# OS X
SHORT_HOST=$(scutil --get ComputerName)
else
SHORT_HOST=${HOST/.*/}
fi
# Save the location of the current completion dump file.
ZSH_COMPDUMP="${ZDOTDIR:-${HOME}}/.zcompdump-${SHORT_HOST}-${ZSH_VERSION}"
# Load and run compinit # Load and run compinit
autoload -U compinit autoload -U compinit
compinit -i compinit -i -d "${ZSH_COMPDUMP}"
# Load all of the plugins that were defined in ~/.zshrc # Load all of the plugins that were defined in ~/.zshrc
for plugin ($plugins); do for plugin ($plugins); do

View file

@ -28,6 +28,7 @@ _1st_arguments=(
'missing:check all installed formuale for missing dependencies.' 'missing:check all installed formuale for missing dependencies.'
'outdated:list formulas for which a newer version is available' 'outdated:list formulas for which a newer version is available'
'prune:remove dead links' 'prune:remove dead links'
'reinstall:reinstall a formula'
'remove:remove a formula' 'remove:remove a formula'
'search:search for a formula (/regex/ or string)' 'search:search for a formula (/regex/ or string)'
'server:start a local web app that lets you browse formulae (requires Sinatra)' 'server:start a local web app that lets you browse formulae (requires Sinatra)'
@ -75,7 +76,7 @@ case "$words[1]" in
install|home|homepage|log|info|abv|uses|cat|deps|edit|options|versions) install|home|homepage|log|info|abv|uses|cat|deps|edit|options|versions)
_brew_all_formulae _brew_all_formulae
_wanted formulae expl 'all formulae' compadd -a formulae ;; _wanted formulae expl 'all formulae' compadd -a formulae ;;
remove|rm|uninstall|unlink|cleanup|link|ln) reinstall|remove|rm|uninstall|unlink|cleanup|link|ln)
_brew_installed_formulae _brew_installed_formulae
_wanted installed_formulae expl 'installed formulae' compadd -a installed_formulae ;; _wanted installed_formulae expl 'installed formulae' compadd -a installed_formulae ;;
esac esac

View file

@ -1,13 +1,20 @@
alias be="bundle exec" alias be="bundle exec"
alias bi="bundle install"
alias bl="bundle list" alias bl="bundle list"
alias bp="bundle package" alias bp="bundle package"
alias bo="bundle open" alias bo="bundle open"
alias bu="bundle update" alias bu="bundle update"
if [[ "$(uname)" == 'Darwin' ]]
then
local cores_num="$(sysctl hw.ncpu | awk '{print $2}')"
else
local cores_num="$(nproc)"
fi
eval "alias bi='bundle install --jobs=$cores_num'"
# The following is based on https://github.com/gma/bundler-exec # The following is based on https://github.com/gma/bundler-exec
bundled_commands=(annotate berks cap capify cucumber foodcritic foreman guard jekyll kitchen knife middleman nanoc rackup rainbows rake rspec ruby shotgun spec spin spork strainer tailor thin thor unicorn unicorn_rails puma) bundled_commands=(annotate berks cap capify cucumber foodcritic foreman guard jekyll kitchen knife middleman nanoc rackup rainbows rake rspec ruby shotgun spec spin spork strainer tailor taps thin thor unicorn unicorn_rails puma)
## Functions ## Functions
@ -42,3 +49,4 @@ for cmd in $bundled_commands; do
compdef _$cmd bundled_$cmd=$cmd compdef _$cmd bundled_$cmd=$cmd
fi fi
done done

19
plugins/docker/README.md Normal file
View file

@ -0,0 +1,19 @@
## Docker autocomplete plugin
- Adds autocomplete options for all docker commands.
- Will also show containerIDs and Image names where applicable
####Shows help for all commands
![General Help](http://i.imgur.com/tUBO9jh.png "Help for all commands")
####Shows your downloaded images where applicable
![Images](http://i.imgur.com/R8ZsWO1.png "Images")
####Shows your running containers where applicable
![Containers](http://i.imgur.com/WQtbheg.png "Containers")
Maintainer : Ahmed Azaan ([@aeonazaan](https://twitter.com/aeonazaan))

290
plugins/docker/_docker Normal file
View file

@ -0,0 +1,290 @@
#compdef docker
# Docker autocompletion for oh-my-zsh
# Requires: Docker installed
# Author : Azaan (@aeonazaan)
# ----- Helper functions
# Output a selectable list of all running docker containers
__docker_containers() {
declare -a cont_cmd
cont_cmd=($(docker ps | awk 'NR>1{print $1":[CON("$1")"$2"("$3")]"}'))
_describe 'containers' cont_cmd
}
# output a selectable list of all docker images
__docker_images() {
declare -a img_cmd
img_cmd=($(docker images | awk 'NR>1{print $1}'))
_describe 'images' img_cmd
}
# ----- Commands
# Seperate function for each command, makes extension easier later
# ---------------------------
__attach() {
__docker_containers
}
__build() {
_arguments \
'-q=false[Suppress verbose build output]' \
'-t="[fuck to be applied to the resulting image in case of success]' \
'*:files:_files'
}
__commit() {
_arguments \
'-author="[Author]' \
'-m="[Commit message]' \
'-run="[Config automatically applied when the image is run.\n]'
__docker_containers
}
__diff() {
__docker_containers
}
__export() {
__docker_containers
}
__history() {
__docker_images
}
__images() {
_arguments \
'-a[show all images]' \
'-notrunc[dont truncate output]' \
'-q[only show numeric IDs]' \
'-viz[output graph in graphviz format]'
__docker_images
}
__import() {
_arguments '*:files:_files'
}
__info() {
# no arguments
}
__insert() {
__docker_images
_arguments '*:files:_files'
}
__inspect() {
__docker_images
__docker_containers
}
__kill() {
__docker_containers
}
__login() {
_arguments \
'-e="[email]' \
'-p="[password]' \
'-u="[username]' \
}
__logs() {
__docker_containers
}
__port() {
__docker_containers
}
__top() {
__docker_containers
}
__ps() {
_arguments \
'-a[Show all containers. Only running containers are shown by default.]' \
'-beforeId="[Show only container created before Id, include non-running ones.]' \
'-l[Show only the latest created container, include non-running ones.]' \
'-n=[Show n last created containers, include non-running ones.]' \
'-notrurrrrnc[Dont truncate output]' \
'-q[Only display numeric IDs]' \
'-s[Display sizes]' \
'-sinceId="[Show only containers created since Id, include non-running ones.]'
}
__pull() {
_arguments '-t="[Download tagged image in repository]'
}
__push() {
}
__restart() {
_arguments '-t=[number of seconds to try to stop before killing]'
__docker_containers
}
__rm() {
_arguments '-v[Remove the volumes associated to the container]'
__docker_containers
}
__rmi() {
__docker_images
}
__run() {
_arguments \
'-a=[Attach to stdin, stdout or stderr.]' \
'-c=[CPU shares (relative weight)]' \
'-d[Detached mode: leave the container running in the background]' \
'-dns=[Set custom dns servers]' \
'-e=[Set environment variables]' \
'-entrypoint="[Overwrite the default entrypoint of the image]' \
'-h="[Container host name]' \
'-i[Keep stdin open even if not attached]' \
'-m=[Memory limit (in bytes)]' \
'-p=[Expose a containers port to the host (use docker port to see the actual mapping)]' \
'-t[Allocate a pseudo-tty]' \
'-u="[Username or UID]' \
'-v=[Bind mount a volume (e.g. from the host: -v /host:/container, from docker: -v /container)]' \
'-volumes-from="[Mount volumes from the specified container]'
__docker_images
}
__search() {
_arguments '-notrunc[Dont truncate output]'
}
__start() {
__docker_containers
}
__stop() {
_arguments '-t=[number of seconds to try to stop before killing]'
__docker_containers
}
__tag() {
_arguments '-f[Force]'
__docker_images
}
__version() {
}
__wait() {
__docker_containers
}
# end commands ---------
# ----------------------
local -a _1st_arguments
_1st_arguments=(
"attach":"Attach to a running container"
"build":"Build a container from a Dockerfile"
"commit":"Create a new image from a container's changes"
"diff":"Inspect changes on a container's filesystem"
"export":"Stream the contents of a container as a tar archive"
"history":"Show the history of an image"
"images":"List images"
"import":"Create a new filesystem image from the contents of a tarball"
"info":"Display system-wide information"
"insert":"Insert a file in an image"
"inspect":"Return low-level information on a container"
"kill":"Kill a running container"
"login":"Register or Login to the docker registry server"
"logs":"Fetch the logs of a container"
"port":"Lookup the public-facing port which is NAT-ed to PRIVATE_PORT"
"top":"Lookup the running processes of a container"
"ps":"List containers"
"pull":"Pull an image or a repository from the docker registry server"
"push":"Push an image or a repository to the docker registry server"
"restart":"Restart a running container"
"rm":"Remove one or more containers"
"rmi":"Remove one or more images"
"run":"Run a command in a new container"
"search":"Search for an image in the docker index"
"start":"Start a stopped container"
"stop":"Stop a running container"
"tag":"Tag an image into a repository"
"version":"Show the docker version information"
"wait":"Block until a container stops, then print its exit code"
)
_arguments '*:: :->command'
if (( CURRENT == 1 )); then
_describe -t commands "docker command" _1st_arguments
return
fi
local -a _command_args
case "$words[1]" in
attach)
__docker_containers ;;
build)
__build ;;
commit)
__commit ;;
diff)
__diff ;;
export)
__export ;;
history)
__history ;;
images)
__images ;;
import)
__import ;;
info)
__info ;;
insert)
__insert ;;
inspect)
__inspect ;;
kill)
__kill ;;
login)
__login ;;
logs)
__logs ;;
port)
__port ;;
top)
__top ;;
ps)
__ps ;;
pull)
__pull ;;
push)
__push ;;
restart)
__restart ;;
rm)
__rm ;;
rmi)
__rmi ;;
run)
__run ;;
search)
__search ;;
start)
__start ;;
stop)
__stop ;;
tag)
__tag ;;
version)
__version ;;
wait)
__wait ;;
esac

View file

@ -52,7 +52,7 @@ function extract() {
(*.xz) unxz "$1" ;; (*.xz) unxz "$1" ;;
(*.lzma) unlzma "$1" ;; (*.lzma) unlzma "$1" ;;
(*.Z) uncompress "$1" ;; (*.Z) uncompress "$1" ;;
(*.zip) unzip "$1" -d $extract_dir ;; (*.zip|*.war|*.jar) unzip "$1" -d $extract_dir ;;
(*.rar) unrar x -ad "$1" ;; (*.rar) unrar x -ad "$1" ;;
(*.7z) 7za x "$1" ;; (*.7z) 7za x "$1" ;;
(*.deb) (*.deb)

View file

@ -1,5 +1,6 @@
# Open folder in ForkLift.app from console # Open folder in ForkLift.app of ForkLift2.app from console
# Author: Adam Strzelecki nanoant.com, modified by Bodo Tasche bitboxer.de # Author: Adam Strzelecki nanoant.com, modified by Bodo Tasche bitboxer.de
# Updated to support ForkLift2 by Johan Kaving
# #
# Usage: # Usage:
# fl [<folder>] # fl [<folder>]
@ -22,9 +23,33 @@ function fl {
fi fi
fi fi
osascript 2>&1 1>/dev/null <<END osascript 2>&1 1>/dev/null <<END
tell application "ForkLift"
activate try
end tell tell application "Finder"
set appName to name of application file id "com.binarynights.ForkLift2"
end tell
on error err_msg number err_num
tell application "Finder"
set appName to name of application file id "com.binarynights.ForkLift"
end tell
end try
if application appName is running
tell application appName
activate
end tell
else
tell application appName
activate
end tell
repeat until application appName is running
delay 1
end repeat
tell application appName
activate
end tell
end if
tell application "System Events" tell application "System Events"
tell application process "ForkLift" tell application process "ForkLift"
try try
@ -36,7 +61,7 @@ function fl {
keystroke "g" using {command down, shift down} keystroke "g" using {command down, shift down}
tell sheet 1 of topWindow tell sheet 1 of topWindow
set value of text field 1 to "$PWD" set value of text field 1 to "$PWD"
keystroke return keystroke return
end tell end tell
end tell end tell
end tell end tell

View file

@ -20,6 +20,12 @@
# c. Or, use this file as a oh-my-zsh plugin. # c. Or, use this file as a oh-my-zsh plugin.
# #
#Alias
alias gf='git flow'
alias gcd='git checkout develop'
alias gch='git checkout hotfix'
alias gcr='git checkout release'
_git-flow () _git-flow ()
{ {
local curcontext="$curcontext" state line local curcontext="$curcontext" state line

View file

@ -60,3 +60,24 @@ _git-branch ()
"($l $c $m -d)-D[delete a branch]" \ "($l $c $m -d)-D[delete a branch]" \
$dependent_deletion_args $dependent_deletion_args
} }
(( $+functions[__git_ignore_line] )) ||
__git_ignore_line () {
declare -a ignored
ignored=()
((CURRENT > 1)) &&
ignored+=(${line[1,CURRENT-1]//(#m)[\[\]()\\*?#<>~\^]/\\$MATCH})
((CURRENT < $#line)) &&
ignored+=(${line[CURRENT+1,-1]//(#m)[\[\]()\\*?#<>~\^]/\\$MATCH})
$* -F ignored
}
(( $+functions[__git_ignore_line_inside_arguments] )) ||
__git_ignore_line_inside_arguments () {
declare -a compadd_opts
zparseopts -D -E -a compadd_opts V: J: 1 2 n f X: M: P: S: r: R: q F:
__git_ignore_line $* $compadd_opts
}

View file

@ -5,6 +5,8 @@ alias gst='git status'
compdef _git gst=git-status compdef _git gst=git-status
alias gd='git diff' alias gd='git diff'
compdef _git gd=git-diff compdef _git gd=git-diff
alias gdc='git diff --cached'
compdef _git gdc=git-diff
alias gl='git pull' alias gl='git pull'
compdef _git gl=git-pull compdef _git gl=git-pull
alias gup='git pull --rebase' alias gup='git pull --rebase'
@ -22,6 +24,8 @@ alias gca='git commit -v -a'
compdef _git gc=git-commit compdef _git gc=git-commit
alias gca!='git commit -v -a --amend' alias gca!='git commit -v -a --amend'
compdef _git gca!=git-commit compdef _git gca!=git-commit
alias gcmsg='git commit -m'
compdef _git gcmsg=git-commit
alias gco='git checkout' alias gco='git checkout'
compdef _git gco=git-checkout compdef _git gco=git-checkout
alias gcm='git checkout master' alias gcm='git checkout master'
@ -52,9 +56,9 @@ compdef gcount=git
alias gcl='git config --list' alias gcl='git config --list'
alias gcp='git cherry-pick' alias gcp='git cherry-pick'
compdef _git gcp=git-cherry-pick compdef _git gcp=git-cherry-pick
alias glg='git log --stat --max-count=5' alias glg='git log --stat --max-count=10'
compdef _git glg=git-log compdef _git glg=git-log
alias glgg='git log --graph --max-count=5' alias glgg='git log --graph --max-count=10'
compdef _git glgg=git-log compdef _git glgg=git-log
alias glgga='git log --graph --decorate --all' alias glgga='git log --graph --decorate --all'
compdef _git glgga=git-log compdef _git glgga=git-log
@ -70,7 +74,10 @@ alias grh='git reset HEAD'
alias grhh='git reset HEAD --hard' alias grhh='git reset HEAD --hard'
alias gclean='git reset --hard && git clean -dfx' alias gclean='git reset --hard && git clean -dfx'
alias gwc='git whatchanged -p --abbrev-commit --pretty=medium' alias gwc='git whatchanged -p --abbrev-commit --pretty=medium'
alias gf='git ls-files | grep'
#remove the gf alias
#alias gf='git ls-files | grep'
alias gpoat='git push origin --all && git push origin --tags' alias gpoat='git push origin --all && git push origin --tags'
alias gmt='git mergetool --no-prompt' alias gmt='git mergetool --no-prompt'
compdef _git gm=git-mergetool compdef _git gm=git-mergetool
@ -124,3 +131,17 @@ function _git_log_prettily(){
} }
alias glp="_git_log_prettily" alias glp="_git_log_prettily"
compdef _git glp=git-log compdef _git glp=git-log
# Work In Progress (wip)
# These features allow to pause a branch development and switch to another one (wip)
# When you want to go back to work, just unwip it
#
# This function return a warning if the current branch is a wip
function work_in_progress() {
if $(git log -n 1 | grep -q -c wip); then
echo "WIP!!"
fi
}
# these alias commit and uncomit wip branches
alias gwip='git add -A; git ls-files --deleted -z | xargs -0 git rm; git commit -m "wip"'
alias gunwip='git log -n 1 | grep -q -c wip && git reset HEAD~1'

View file

@ -0,0 +1,58 @@
# Easily jump around the file system by manually adding marks
# marks are stored as symbolic links in the directory $MARKPATH (default $HOME/.marks)
#
# jump FOO: jump to a mark named FOO
# mark FOO: create a mark named FOO
# unmark FOO: delete a mark
# marks: lists all marks
#
export MARKPATH=$HOME/.marks
jump() {
cd -P "$MARKPATH/$1" 2>/dev/null || echo "No such mark: $1"
}
mark() {
if (( $# == 0 )); then
MARK=$(basename "$(pwd)")
else
MARK="$1"
fi
if read -q \?"Mark $(pwd) as ${MARK}? (y/n) "; then
mkdir -p "$MARKPATH"; ln -s "$(pwd)" "$MARKPATH/$MARK"
fi
}
unmark() {
rm -i "$MARKPATH/$1"
}
autoload colors
marks() {
for link in $MARKPATH/*(@); do
local markname="$fg[cyan]${link:t}$reset_color"
local markpath="$fg[blue]$(readlink $link)$reset_color"
printf "%s\t" $markname
printf "-> %s \t\n" $markpath
done
}
_completemarks() {
if [[ $(ls "${MARKPATH}" | wc -l) -gt 1 ]]; then
reply=($(ls $MARKPATH/**/*(-) | grep : | sed -E 's/(.*)\/([_\da-zA-Z\-]*):$/\2/g'))
else
if readlink -e "${MARKPATH}"/* &>/dev/null; then
reply=($(ls "${MARKPATH}"))
fi
fi
}
compctl -K _completemarks jump
compctl -K _completemarks unmark
_mark_expansion() {
setopt extendedglob
autoload -U modify-current-argument
modify-current-argument '$(readlink "$MARKPATH/$ARG")'
}
zle -N _mark_expansion
bindkey "^g" _mark_expansion

View file

@ -0,0 +1,2 @@
# Allow SSH tab completion for mosh hostnames
compdef mosh=ssh

View file

@ -1,5 +1,13 @@
# Open the node api for your current version to the optional section. # Open the node api for your current version to the optional section.
# TODO: Make the section part easier to use. # TODO: Make the section part easier to use.
function node-docs { function node-docs {
open "http://nodejs.org/docs/$(node --version)/api/all.html#all_$1" # get the open command
local open_cmd
if [[ $(uname -s) == 'Darwin' ]]; then
open_cmd='open'
else
open_cmd='xdg-open'
fi
$open_cmd "http://nodejs.org/docs/$(node --version)/api/all.html#all_$1"
} }

26
plugins/nvm/_nvm Normal file
View file

@ -0,0 +1,26 @@
#compdef nvm
#autoload
[[ -s ~/.nvm/nvm.sh ]] || return 0
local -a _1st_arguments
_1st_arguments=(
'help:show help'
'install:download and install a version'
'uninstall:uninstall a version'
'use:modify PATH to use version'
'run:run version with given arguments'
'ls:list installed versions or versions matching a given description'
'ls-remote:list remote versions available for install'
'deactivate:undo effects of NVM on current shell'
'alias:show or set aliases'
'unalias:deletes an alias'
'copy-packages:install global NPM packages to current version'
)
_arguments -C '*:: :->subcmds' && return 0
if (( CURRENT == 1 )); then
_describe -t commands "nvm subcommand" _1st_arguments
return
fi

View file

@ -0,0 +1,3 @@
# The addition 'nvm install' attempts in ~/.profile
[[ -s ~/.nvm/nvm.sh ]] && . ~/.nvm/nvm.sh

View file

@ -6,8 +6,8 @@
_pip_all() { _pip_all() {
# we cache the list of packages (originally from the macports plugin) # we cache the list of packages (originally from the macports plugin)
if (( ! $+piplist )); then if (( ! $+piplist )); then
echo -n " (caching package index...)" echo -n " (caching package index...)"
piplist=($(pip search * | cut -d ' ' -f 1 | tr '[A-Z]' '[a-z]')) piplist=($(pip search * | cut -d ' ' -f 1 | tr '[A-Z]' '[a-z]'))
fi fi
} }
@ -62,6 +62,11 @@ case "$words[1]" in
'(--no-install)--no-install[only download packages]' \ '(--no-install)--no-install[only download packages]' \
'(--no-download)--no-download[only install downloaded packages]' \ '(--no-download)--no-download[only install downloaded packages]' \
'(--install-option)--install-option[extra arguments to be supplied to the setup.py]' \ '(--install-option)--install-option[extra arguments to be supplied to the setup.py]' \
'(--single-version-externally-managed)--single-version-externally-managed[do not download/install dependencies. requires --record or --root]'\
'(--root)--root[treat this path as a fake chroot, installing into it. implies --single-version-externally-managed]'\
'(--record)--record[file to record all installed files to.]'\
'(-r --requirement)'{-r,--requirement}'[requirements file]: :_files'\
'(-e --editable)'{-e,--editable}'[path of or url to source to link to instead of installing.]: :_files -/'\
'1: :->packages' && return 0 '1: :->packages' && return 0
if [[ "$state" == packages ]]; then if [[ "$state" == packages ]]; then

381
plugins/pod/_pod Normal file
View file

@ -0,0 +1,381 @@
#compdef pod
#autoload
# -----------------------------------------------------------------------------
# FILE: _pod
# DESCRIPTION: Cocoapods autocomplete plugin for Oh-My-Zsh
# http://cocoapods.org
# AUTHOR: Alexandre Joly (alexandre.joly@mekanics.ch)
# GITHUB: https://github.com/mekanics
# TWITTER: @jolyAlexandre
# VERSION: 0.0.1
# LICENSE: MIT
# -----------------------------------------------------------------------------
local -a _1st_arguments
_1st_arguments=(
'help:Show help for the given command.'
'install:Install project dependencies'
'ipc:Inter-process communication'
'list:List pods'
'outdated:Show outdated project dependencies'
'podfile-info:Shows information on installed Pods'
'push:Push new specifications to a spec-repo'
'repo:Manage spec-repositories'
'search:Searches for pods'
'setup:Setup the CocoaPods environment'
'spec:Manage pod specs'
'update:Update outdated project dependencies'
)
local -a _repo_arguments
_repo_arguments=(
'add:Add a spec repo'
'lint:Validates all specs in a repo'
'update:Update a spec repo'
)
local -a _spec_arguments
_spec_arguments=(
'cat:Prints a spec file'
'create:Create spec file stub'
'edit:Edit a spec file'
'lint:Validates a spec file'
'which:Prints the path of the given spec'
)
local -a _ipc_arguments
_ipc_arguments=(
'list:Lists the specifications know to CocoaPods'
'podfile:Converts a Podfile to YAML'
'repl:The repl listens to commands on standard input'
'spec:Converts a podspec to YAML'
'update-search-index:Updates the search index'
)
local -a _list_arguments
_list_arguments=(
'new:Lists pods introduced in the master spec-repo since the last check'
)
local -a _inherited_options
_inherited_options=(
'(--silent)--silent[Show nothing]' \
'(--version)--version[Show the version of CocoaPods]' \
'(--no-color)--no-color[Show output without color]' \
'(--verbose)--verbose[Show more debugging information]' \
'(--help)--help[Show help banner of specified command]'
)
local -a _install_options
_install_options=(
'(--no-clean)--no-clean[Leave SCM dirs like `.git` and `.svn` intact after downloading]' \
'(--no-integrate)--no-integrate[Skip integration of the Pods libraries in the Xcode project(s)]' \
'(--no-repo-update)--no-repo-update[Skip running `pod repo update` before install]'
)
local -a _update_options
_update_options=(
'(--no-clean)--no-clean[Leave SCM dirs like `.git` and `.svn intact after downloading]' \
'(--no-integrate)--no-integrate[Skip integration of the Pods libraries in the Xcode project(s)]' \
'(--no-repo-update)--no-repo-update[Skip running `pod repo update before install]'
)
local -a _outdated_options
_outdated_options=(
'(--no-repo-update)--no-repo-update[Skip running `pod repo update` before install]'
)
local -a _search_options
_search_options=(
'(--full)--full[Search by name, summary, and description]' \
'(--stats)--stats[Show additional stats (like GitHub watchers and forks)]' \
'(--ios)--ios[Restricts the search to Pods supported on iOS]' \
'(--osx)--osx[Restricts the search to Pods supported on OS X]'
)
local -a _list_options
_list_options=(
'(--update)--update[Run `pod repo update` before listing]'
)
local -a _podfile_info_options
_podfile_info_options=(
'(--all)--all[Show information about all Pods with dependencies that are used in a project]' \
'(--md)--md[Output information in Markdown format]' \
'*:script or directory:_files'
)
local -a _push_options
_push_options=(
'(--allow-warnings)--allow-warnings[Allows pushing even if there are warnings]' \
'(--local-only)--local-only[Does not perform the step of pushing REPO to its remote]' \
'*:script or directory:_files'
)
local -a _repo_lint_options
_repo_lint_options=(
'(--only-errors)--only-errors[Lint presents only the errors]'
)
local -a _setup_options
_setup_options=(
'(--push)--push[Use this option to enable push access once granted]'
)
local -a _spec_lint_options
_spec_lint_options=(
'(--quick)--quick[Lint skips checks that would require to download and build the spec]' \
'(--only-errors)--only-errors[Lint validates even if warnings are present]' \
'(--no-clean)--no-clean[Lint leaves the build directory intact for inspection]' \
'*:script or directory:_files'
)
local -a _spec_cat_options
_spec_cat_options=(
'(--show-all)--show-all[Pick from all versions of the given podspec]'
)
local -a _spec_which_options
_spec_which_options=(
'(--show-all)--show-all[Print all versions of the given podspec]'
)
local -a _spec_edit_options
_spec_edit_options=(
'(--show-all)--show-all[Pick which spec to edit from all available versions of the given podspec]'
)
__first_command_list ()
{
local expl
declare -a tasks
tasks=(install ipc list outdated podfile-info push repo search setup spec update)
_wanted tasks expl 'help' compadd $tasks
}
__repo_list() {
_wanted application expl 'repo' compadd $(command ls -1 ~/.cocoapods 2>/dev/null | sed -e 's/ /\\ /g')
}
__pod-repo() {
local curcontext="$curcontext" state line
typeset -A opt_args
_arguments -C \
':command:->command' \
'*::options:->options'
case $state in
(command)
_describe -t commands "pod repo" _repo_arguments
return
;;
(options)
case $line[1] in
(lint)
_arguments \
$_inherited_options \
$_repo_lint_options \
':feature:__repo_list'
;;
(update)
_arguments \
$_inherited_options \
':feature:__repo_list'
;;
(add)
_arguments \
$_inherited_options
esac
;;
esac
}
__pod-spec() {
local curcontext="$curcontext" state line
typeset -A opt_args
_arguments -C \
':command:->command' \
'*::options:->options'
case $state in
(command)
_describe -t commands "pod spec" _spec_arguments
return
;;
(options)
case $line[1] in
(create)
_arguments \
$_inherited_options
;;
(lint)
_arguments \
$_inherited_options \
$_spec_lint_options
;;
(cat)
_arguments \
$_inherited_options \
$_spec_cat_options
;;
(which)
_arguments \
$_inherited_options \
$_spec_which_options
;;
(edit)
_arguments \
$_inherited_options \
$_spec_edit_options
;;
esac
return
;;
esac
}
__pod-ipc() {
local curcontext="$curcontext" state line
typeset -A opt_args
_arguments -C \
':command:->command' \
'*::options:->options'
case $state in
(command)
_describe -t commands "pod ipc" _ipc_arguments
return
;;
(options)
_arguments -C \
$_inherited_options
return
;;
esac
}
__pod-list() {
local curcontext="$curcontext" state line
typeset -A opt_args
_arguments -C \
$_inherited_options \
$_list_options \
':command:->command' \
'*::options:->options'
case $state in
(command)
_describe -t commands "pod list" _list_arguments
return
;;
(options)
_arguments -C \
$_inherited_options \
$_list_options
return
;;
esac
}
local curcontext="$curcontext" state line
typeset -A opt_args
_arguments -C \
$_inherited_options \
':command:->command' \
'*::options:->options'
case $state in
(command)
_describe -t commands "pod" _1st_arguments
return
;;
(options)
case $line[1] in
(help)
_arguments \
$_inherited_options \
':help:__first_command_list'
;;
(push)
_arguments \
$_inherited_options \
$_push_options \
':repo:__repo_list'
;;
(repo)
__pod-repo
;;
(spec)
__pod-spec
;;
(ipc)
__pod-ipc
;;
(list)
__pod-list
;;
(install)
_arguments \
$_inherited_options \
$_install_options
;;
(update)
_arguments \
$_inherited_options \
$_update_options
;;
(outdated)
_arguments \
$_inherited_options \
$_outdated_options
;;
(search)
_arguments \
$_inherited_options \
$_search_options
;;
(podfile-info)
_arguments \
$_inherited_options \
$_podfile_info_options
;;
(setup)
_arguments \
$_inherited_options \
$_setup_options
;;
esac
;;
esac

View file

@ -4,7 +4,11 @@ function _rails_command () {
if [ -e "script/server" ]; then if [ -e "script/server" ]; then
ruby script/$@ ruby script/$@
else else
ruby script/rails $@ if [ -e "bin/rails" ]; then
bin/rails $@
else
rails $@
fi
fi fi
} }

View file

@ -31,7 +31,7 @@ compdef _rb19 rb19
function rb20 { function rb20 {
if [ -z "$1" ]; then if [ -z "$1" ]; then
rvm use "$ruby" rvm use "$ruby20"
else else
rvm use "$ruby20@$1" rvm use "$ruby20@$1"
fi fi

View file

@ -21,7 +21,8 @@ elif [[ $('uname') == 'Darwin' ]]; then
for _sublime_path in $_sublime_darwin_paths; do for _sublime_path in $_sublime_darwin_paths; do
if [[ -a $_sublime_path ]]; then if [[ -a $_sublime_path ]]; then
alias st="'$_sublime_path'" alias subl="'$_sublime_path'"
alias st=subl
break break
fi fi
done done

View file

@ -38,7 +38,7 @@ if which tmux &> /dev/null
fi fi
# Set the correct local config file to use. # Set the correct local config file to use.
if [[ "$ZSH_TMUX_ITERM2" == "false" ]] && (( [[ -f $HOME/.tmux.conf ]] || -h $HOME/.tmux.conf ]] )) if [[ "$ZSH_TMUX_ITERM2" == "false" ]] && [[ -f $HOME/.tmux.conf || -h $HOME/.tmux.conf ]]
then then
#use this when they have a ~/.tmux.conf #use this when they have a ~/.tmux.conf
export _ZSH_TMUX_FIXED_CONFIG="$zsh_tmux_plugin_path/tmux.extra.conf" export _ZSH_TMUX_FIXED_CONFIG="$zsh_tmux_plugin_path/tmux.extra.conf"

View file

@ -11,7 +11,7 @@ function web_search() {
fi fi
# check whether the search engine is supported # check whether the search engine is supported
if [[ ! $1 =~ '(google|bing|yahoo)' ]]; if [[ ! $1 =~ '(google|bing|yahoo|duckduckgo)' ]];
then then
echo "Search engine $1 not supported." echo "Search engine $1 not supported."
return 1 return 1
@ -24,8 +24,12 @@ function web_search() {
$open_cmd "$url" $open_cmd "$url"
return return
fi fi
if [[ $1 == 'duckduckgo' ]]; then
url="${url}/search?q=" #slightly different search syntax for DDG
url="${url}/?q="
else
url="${url}/search?q="
fi
shift # shift out $1 shift # shift out $1
while [[ $# -gt 0 ]]; do while [[ $# -gt 0 ]]; do
@ -38,6 +42,15 @@ function web_search() {
$open_cmd "$url" $open_cmd "$url"
} }
alias bing='web_search bing' alias bing='web_search bing'
alias google='web_search google' alias google='web_search google'
alias yahoo='web_search yahoo' alias yahoo='web_search yahoo'
alias ddg='web_search duckduckgo'
#add your own !bang searches here
alias wiki='web_search duckduckgo \!w'
alias news='web_search duckduckgo \!n'
alias youtube='web_search duckduckgo \!yt'
alias map='web_search duckduckgo \!m'
alias image='web_search duckduckgo \!i'
alias ducky='web_search duckduckgo \!'

View file

@ -14,7 +14,7 @@ ZSH_THEME="robbyrussell"
# Set to this to use case-sensitive completion # Set to this to use case-sensitive completion
# CASE_SENSITIVE="true" # CASE_SENSITIVE="true"
# Comment this out to disable bi-weekly auto-update checks # Uncomment this to disable bi-weekly auto-update checks
# DISABLE_AUTO_UPDATE="true" # DISABLE_AUTO_UPDATE="true"
# Uncomment to change how often before auto-updates occur? (in days) # Uncomment to change how often before auto-updates occur? (in days)

View file

@ -7,7 +7,7 @@ ZSH_THEME_GIT_PROMPT_CLEAN=""
git_custom_status() { git_custom_status() {
local cb=$(current_branch) local cb=$(current_branch)
if [ -n "$cb" ]; then if [ -n "$cb" ]; then
echo "$(parse_git_dirty)$ZSH_THEME_GIT_PROMPT_PREFIX$(current_branch)$ZSH_THEME_GIT_PROMPT_SUFFIX" echo "$(parse_git_dirty)%{$fg_bold[yellow]%}$(work_in_progress)%{$reset_color%}$ZSH_THEME_GIT_PROMPT_PREFIX$(current_branch)$ZSH_THEME_GIT_PROMPT_SUFFIX"
fi fi
} }

View file

@ -5,16 +5,15 @@
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# Color shortcuts # Color shortcuts
R=$fg[red] R=$fg_no_bold[red]
G=$fg[green] G=$fg_no_bold[green]
M=$fg[magenta] M=$fg_no_bold[magenta]
RB=$fg_bold[red] Y=$fg_no_bold[yellow]
YB=$fg_bold[yellow] B=$fg_no_bold[blue]
BB=$fg_bold[blue]
RESET=$reset_color RESET=$reset_color
if [ "$(whoami)" = "root" ]; then if [ "$(whoami)" = "root" ]; then
PROMPTCOLOR="%{$RB%}" PREFIX="-!-"; PROMPTCOLOR="%{$R%}" PREFIX="-!-";
else else
PROMPTCOLOR="" PREFIX="---"; PROMPTCOLOR="" PREFIX="---";
fi fi
@ -73,13 +72,14 @@ function custom_git_prompt() {
PROMPT='%B$PREFIX %2~ $(custom_git_prompt)%{$M%}%B»%b%{$RESET%} ' PROMPT='%B$PREFIX %2~ $(custom_git_prompt)%{$M%}%B»%b%{$RESET%} '
RPS1="${return_code}" RPS1="${return_code}"
ZSH_THEME_GIT_PROMPT_PREFIX="%{$YB%}" ZSH_THEME_GIT_PROMPT_PREFIX="%{$Y%}"
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$YB%}%{$RESET%} " ZSH_THEME_GIT_PROMPT_SUFFIX="%{$Y%}%{$RESET%} "
ZSH_THEME_GIT_PROMPT_DIRTY="%{$R%}*" ZSH_THEME_GIT_PROMPT_DIRTY="%{$R%}*"
ZSH_THEME_GIT_PROMPT_CLEAN="" ZSH_THEME_GIT_PROMPT_CLEAN=""
ZSH_THEME_GIT_PROMPT_AHEAD="%{$BB%}➔" ZSH_THEME_GIT_PROMPT_AHEAD="%{$B%}➔"
ZSH_THEME_GIT_STATUS_PREFIX=" " ZSH_THEME_GIT_STATUS_PREFIX=" "
@ -90,7 +90,7 @@ ZSH_THEME_GIT_PROMPT_STAGED_RENAMED="%{$G%}R"
ZSH_THEME_GIT_PROMPT_STAGED_DELETED="%{$G%}D" ZSH_THEME_GIT_PROMPT_STAGED_DELETED="%{$G%}D"
# Not-staged # Not-staged
ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$R%}" ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$R%}?"
ZSH_THEME_GIT_PROMPT_MODIFIED="%{$R%}M" ZSH_THEME_GIT_PROMPT_MODIFIED="%{$R%}M"
ZSH_THEME_GIT_PROMPT_DELETED="%{$R%}D" ZSH_THEME_GIT_PROMPT_DELETED="%{$R%}D"
ZSH_THEME_GIT_PROMPT_UNMERGED="%{$R%}UU" ZSH_THEME_GIT_PROMPT_UNMERGED="%{$R%}UU"

View file

@ -24,7 +24,8 @@ function theme_preview() {
THEME_NAME=`echo $THEME | sed s/\.zsh-theme$//` THEME_NAME=`echo $THEME | sed s/\.zsh-theme$//`
print "$fg[blue]${(l.((${COLUMNS}-${#THEME_NAME}-5))..─.)}$reset_color $THEME_NAME $fg[blue]───$reset_color" print "$fg[blue]${(l.((${COLUMNS}-${#THEME_NAME}-5))..─.)}$reset_color $THEME_NAME $fg[blue]───$reset_color"
source "$THEMES_DIR/$THEME" source "$THEMES_DIR/$THEME"
print -P $PROMPT cols=$(tput cols)
print -P "$PROMPT $RPROMPT"
} }
function banner() { function banner() {