mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-11-12 08:50:08 +00:00
Merge branch 'master' of git://github.com/robbyrussell/oh-my-zsh
This commit is contained in:
commit
68f893cbe0
27 changed files with 257 additions and 20 deletions
|
@ -5,7 +5,7 @@ function title {
|
||||||
print -nR $'\033k'$1$'\033'\\\
|
print -nR $'\033k'$1$'\033'\\\
|
||||||
|
|
||||||
print -nR $'\033]0;'$2$'\a'
|
print -nR $'\033]0;'$2$'\a'
|
||||||
elif [[ $TERM =~ "^xterm" || $TERM == "rxvt" ]]; then
|
elif [[ ($TERM =~ "^xterm") ]] || [[ ($TERM == "rxvt") ]]; then
|
||||||
# Use this one instead for XTerms:
|
# Use this one instead for XTerms:
|
||||||
print -nR $'\033]0;'$*$'\a'
|
print -nR $'\033]0;'$*$'\a'
|
||||||
fi
|
fi
|
||||||
|
@ -37,4 +37,3 @@ function take() {
|
||||||
mkdir -p $1
|
mkdir -p $1
|
||||||
cd $1
|
cd $1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
27
lib/git.zsh
27
lib/git.zsh
|
@ -11,3 +11,30 @@ parse_git_dirty () {
|
||||||
echo "$ZSH_THEME_GIT_PROMPT_CLEAN"
|
echo "$ZSH_THEME_GIT_PROMPT_CLEAN"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# get the status of the working tree
|
||||||
|
git_prompt_status() {
|
||||||
|
INDEX=$(git status --porcelain 2> /dev/null)
|
||||||
|
STATUS=""
|
||||||
|
if $(echo "$INDEX" | grep '^?? ' &> /dev/null); then
|
||||||
|
STATUS="$ZSH_THEME_GIT_PROMPT_UNTRACKED$STATUS"
|
||||||
|
fi
|
||||||
|
if $(echo "$INDEX" | grep '^A ' &> /dev/null); then
|
||||||
|
STATUS="$ZSH_THEME_GIT_PROMPT_ADDED$STATUS"
|
||||||
|
elif $(echo "$INDEX" | grep '^M ' &> /dev/null); then
|
||||||
|
STATUS="$ZSH_THEME_GIT_PROMPT_ADDED$STATUS"
|
||||||
|
fi
|
||||||
|
if $(echo "$INDEX" | grep '^ M ' &> /dev/null); then
|
||||||
|
STATUS="$ZSH_THEME_GIT_PROMPT_MODIFIED$STATUS"
|
||||||
|
fi
|
||||||
|
if $(echo "$INDEX" | grep '^R ' &> /dev/null); then
|
||||||
|
STATUS="$ZSH_THEME_GIT_PROMPT_RENAMED$STATUS"
|
||||||
|
fi
|
||||||
|
if $(echo "$INDEX" | grep '^ D ' &> /dev/null); then
|
||||||
|
STATUS="$ZSH_THEME_GIT_PROMPT_DELETED$STATUS"
|
||||||
|
fi
|
||||||
|
if $(echo "$INDEX" | grep '^UU ' &> /dev/null); then
|
||||||
|
STATUS="$ZSH_THEME_GIT_PROMPT_UNMERGED$STATUS"
|
||||||
|
fi
|
||||||
|
echo $STATUS
|
||||||
|
}
|
||||||
|
|
|
@ -12,7 +12,7 @@ for config_file ($ZSH/custom/*.zsh) source $config_file
|
||||||
|
|
||||||
# Load all of the plugins that were defined in ~/.zshrc
|
# Load all of the plugins that were defined in ~/.zshrc
|
||||||
plugin=${plugin:=()}
|
plugin=${plugin:=()}
|
||||||
for plugin ($plugins) source $ZSH/plugins/$plugin.plugin.zsh
|
for plugin ($plugins) source $ZSH/plugins/$plugin/$plugin.plugin.zsh
|
||||||
|
|
||||||
# Check for updates on initial load...
|
# Check for updates on initial load...
|
||||||
if [ "$DISABLE_AUTO_UPDATE" = "true" ]
|
if [ "$DISABLE_AUTO_UPDATE" = "true" ]
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
#compdef brew
|
#compdef brew
|
||||||
|
#autoload
|
||||||
|
|
||||||
# imported from the latest homebrew contributions
|
# imported from the latest homebrew contributions
|
||||||
|
|
||||||
|
@ -65,3 +66,4 @@ case "$words[1]" in
|
||||||
_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
|
||||||
|
|
4
plugins/brew/brew.plugin.zsh
Normal file
4
plugins/brew/brew.plugin.zsh
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
# add brew completion function to path
|
||||||
|
fpath=($ZSH/plugins/brew $fpath)
|
||||||
|
autoload -U compinit
|
||||||
|
compinit -i
|
|
@ -1,14 +1,3 @@
|
||||||
|
|
||||||
alias ss='thin --stats "/thin/stats" start'
|
|
||||||
alias sg='ruby script/generate'
|
|
||||||
alias sd='ruby script/destroy'
|
|
||||||
alias sp='ruby script/plugin'
|
|
||||||
alias ssp='ruby script/spec'
|
|
||||||
alias rdbm='rake db:migrate'
|
|
||||||
alias sc='ruby script/console'
|
|
||||||
alias sd='ruby script/server --debugger'
|
|
||||||
alias devlog='tail -f log/development.log'
|
|
||||||
|
|
||||||
function _cap_does_task_list_need_generating () {
|
function _cap_does_task_list_need_generating () {
|
||||||
if [ ! -f .cap_tasks~ ]; then return 0;
|
if [ ! -f .cap_tasks~ ]; then return 0;
|
||||||
else
|
else
|
||||||
|
@ -30,7 +19,3 @@ function _cap () {
|
||||||
}
|
}
|
||||||
|
|
||||||
compctl -K _cap cap
|
compctl -K _cap cap
|
||||||
|
|
||||||
function remote_console() {
|
|
||||||
/usr/bin/env ssh $1 "( cd $2 && ruby script/console production )"
|
|
||||||
}
|
|
64
plugins/gem/_gem
Normal file
64
plugins/gem/_gem
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
#compdef gem
|
||||||
|
#autoload
|
||||||
|
|
||||||
|
# gem zsh completion, based on homebrew completion
|
||||||
|
|
||||||
|
_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
|
4
plugins/gem/gem.plugin.zsh
Normal file
4
plugins/gem/gem.plugin.zsh
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
# add brew completion function to path
|
||||||
|
fpath=($ZSH/plugins/gem $fpath)
|
||||||
|
autoload -U compinit
|
||||||
|
compinit -i
|
|
@ -12,7 +12,7 @@ alias gb='git branch'
|
||||||
alias gba='git branch -a'
|
alias gba='git branch -a'
|
||||||
alias gcount='git shortlog -sn'
|
alias gcount='git shortlog -sn'
|
||||||
alias gcp='git cherry-pick'
|
alias gcp='git cherry-pick'
|
||||||
|
alias glg='git log --stat --max-count=5'
|
||||||
|
|
||||||
# Git and svn mix
|
# Git and svn mix
|
||||||
alias git-svn-dcommit-push='git svn dcommit && git push github master:svntrunk'
|
alias git-svn-dcommit-push='git svn dcommit && git push github master:svntrunk'
|
40
plugins/github/_github
Normal file
40
plugins/github/_github
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
#compdef github
|
||||||
|
#autoload
|
||||||
|
|
||||||
|
# in order to make this work, you will need to have the github gem installed
|
||||||
|
# http://github.com/defunkt/github-gem
|
||||||
|
|
||||||
|
# github zsh completion, based on 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
|
4
plugins/github/github.plugin.zsh
Normal file
4
plugins/github/github.plugin.zsh
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
# add github completion function to path
|
||||||
|
fpath=($ZSH/plugins/github $fpath)
|
||||||
|
autoload -U compinit
|
||||||
|
compinit -i
|
46
plugins/pip/_pip
Normal file
46
plugins/pip/_pip
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
#compdef pip
|
||||||
|
#autoload
|
||||||
|
|
||||||
|
# pip zsh completion, based on homebrew completion
|
||||||
|
|
||||||
|
_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
|
4
plugins/pip/pip.plugin.zsh
Normal file
4
plugins/pip/pip.plugin.zsh
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
# add brew completion function to path
|
||||||
|
fpath=($ZSH/plugins/pip $fpath)
|
||||||
|
autoload -U compinit
|
||||||
|
compinit -i
|
13
plugins/rails/rails.plugin.zsh
Normal file
13
plugins/rails/rails.plugin.zsh
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
alias ss='thin --stats "/thin/stats" start'
|
||||||
|
alias sg='ruby script/generate'
|
||||||
|
alias sd='ruby script/destroy'
|
||||||
|
alias sp='ruby script/plugin'
|
||||||
|
alias ssp='ruby script/spec'
|
||||||
|
alias rdbm='rake db:migrate'
|
||||||
|
alias sc='ruby script/console'
|
||||||
|
alias sd='ruby script/server --debugger'
|
||||||
|
alias devlog='tail -f log/development.log'
|
||||||
|
|
||||||
|
function remote_console() {
|
||||||
|
/usr/bin/env ssh $1 "( cd $2 && ruby script/console production )"
|
||||||
|
}
|
6
themes/cloud.zsh-theme
Normal file
6
themes/cloud.zsh-theme
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
PROMPT='%{$fg_bold[cyan]%}☁ %{$fg_bold[green]%}%p %{$fg[green]%}%c %{$fg_bold[cyan]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}'
|
||||||
|
|
||||||
|
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[green]%}[%{$fg[cyan]%}"
|
||||||
|
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
|
||||||
|
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[green]%}] %{$fg[yellow]%}⚡%{$reset_color%}"
|
||||||
|
ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[green]%}]"
|
15
themes/gozilla.zsh-theme
Normal file
15
themes/gozilla.zsh-theme
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}'
|
||||||
|
|
||||||
|
ZSH_THEME_GIT_PROMPT_PREFIX="("
|
||||||
|
ZSH_THEME_GIT_PROMPT_SUFFIX=")"
|
||||||
|
ZSH_THEME_GIT_PROMPT_DIRTY=""
|
||||||
|
ZSH_THEME_GIT_PROMPT_CLEAN=""
|
||||||
|
|
||||||
|
RPROMPT='$(git_prompt_status)%{$reset_color%}'
|
||||||
|
|
||||||
|
ZSH_THEME_GIT_PROMPT_ADDED="%{$fg[cyan]%} ✈"
|
||||||
|
ZSH_THEME_GIT_PROMPT_MODIFIED="%{$fg[yellow]%} ✭"
|
||||||
|
ZSH_THEME_GIT_PROMPT_DELETED="%{$fg[red]%} ✗"
|
||||||
|
ZSH_THEME_GIT_PROMPT_RENAMED="%{$fg[blue]%} ➦"
|
||||||
|
ZSH_THEME_GIT_PROMPT_UNMERGED="%{$fg[magenta]%} ✂"
|
||||||
|
ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[grey]%} ✱"
|
10
themes/lukerandall.zsh-theme
Normal file
10
themes/lukerandall.zsh-theme
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
# ZSH Theme - Preview: http://cl.ly/f701d00760f8059e06dc
|
||||||
|
# Thanks to gallifrey, upon whose theme this is based
|
||||||
|
|
||||||
|
local return_code="%(?..%{$fg_bold[red]%}%? ↵%{$reset_color%})"
|
||||||
|
|
||||||
|
PROMPT='%{$fg_bold[green]%}%n@%m%{$reset_color%} %{$fg_bold[blue]%}%2~%{$reset_color%} $(git_prompt_info)%{$reset_color%}%B»%b '
|
||||||
|
RPS1="${return_code}"
|
||||||
|
|
||||||
|
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[yellow]%}("
|
||||||
|
ZSH_THEME_GIT_PROMPT_SUFFIX=") %{$reset_color%}"
|
14
themes/philips.zsh-theme
Normal file
14
themes/philips.zsh-theme
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
if [ "$(whoami)" = "root" ]; then NCOLOR="red"; else NCOLOR="green"; fi
|
||||||
|
|
||||||
|
PROMPT='%{$fg[$NCOLOR]%}%B%n%b%{$reset_color%}:%{$fg[blue]%}%B%c/%b%{$reset_color%} $(git_prompt_info)%(!.#.$) '
|
||||||
|
RPROMPT='[%*]'
|
||||||
|
|
||||||
|
# git theming
|
||||||
|
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[blue]%}(%{$fg_no_bold[red]%}%B"
|
||||||
|
ZSH_THEME_GIT_PROMPT_SUFFIX="%b%{$fg_bold[blue]%})%{$reset_color%} "
|
||||||
|
ZSH_THEME_GIT_PROMPT_CLEAN=""
|
||||||
|
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg_bold[red]%}"
|
||||||
|
|
||||||
|
# LS colors, made with http://geoff.greer.fm/lscolors/
|
||||||
|
export LSCOLORS="Gxfxcxdxbxegedabagacad"
|
||||||
|
export LS_COLORS='no=00:fi=00:di=01;34:ln=00;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=41;33;01:ex=00;32:*.cmd=00;32:*.exe=01;32:*.com=01;32:*.bat=01;32:*.btm=01;32:*.dll=01;32:*.tar=00;31:*.tbz=00;31:*.tgz=00;31:*.rpm=00;31:*.deb=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.lzma=00;31:*.zip=00;31:*.zoo=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.tb2=00;31:*.tz2=00;31:*.tbz2=00;31:*.avi=01;35:*.bmp=01;35:*.fli=01;35:*.gif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mng=01;35:*.mov=01;35:*.mpg=01;35:*.pcx=01;35:*.pbm=01;35:*.pgm=01;35:*.png=01;35:*.ppm=01;35:*.tga=01;35:*.tif=01;35:*.xbm=01;35:*.xpm=01;35:*.dl=01;35:*.gl=01;35:*.wmv=01;35:*.aiff=00;32:*.au=00;32:*.mid=00;32:*.mp3=00;32:*.ogg=00;32:*.voc=00;32:*.wav=00;32:'
|
Loading…
Reference in a new issue