Commit 143dd165 authored by NanoTech's avatar NanoTech
Browse files

Merge branch 'master' of git://github.com/robbyrussell/oh-my-zsh

parents 2a203b55 01b0366f
locals.zsh locals.zsh
log/.zsh_history log/.zsh_history
projects.zsh projects.zsh
custom/*.zsh custom/*
!custom/example.zsh !custom/example.zsh
\ No newline at end of file
...@@ -21,3 +21,5 @@ alias ll='ls -l' ...@@ -21,3 +21,5 @@ alias ll='ls -l'
alias sl=ls # often screw this up alias sl=ls # often screw this up
alias afind='ack-grep -il' alias afind='ack-grep -il'
alias x=extract
...@@ -34,5 +34,3 @@ ZSH_THEME_GIT_PROMPT_CLEAN="" # Text to display if the branch is c ...@@ -34,5 +34,3 @@ ZSH_THEME_GIT_PROMPT_CLEAN="" # Text to display if the branch is c
# Setup the prompt with pretty colors # Setup the prompt with pretty colors
setopt prompt_subst setopt prompt_subst
# Load the theme
source "$ZSH/themes/$ZSH_THEME.zsh-theme"
\ No newline at end of file
...@@ -34,9 +34,31 @@ zstyle ':completion:*:*:*:*:processes' command "ps -u `whoami` -o pid,user,comm ...@@ -34,9 +34,31 @@ zstyle ':completion:*:*:*:*:processes' command "ps -u `whoami` -o pid,user,comm
zstyle ':completion:*:cd:*' tag-order local-directories directory-stack path-directories zstyle ':completion:*:cd:*' tag-order local-directories directory-stack path-directories
cdpath=(.) cdpath=(.)
# use /etc/hosts and known_hosts for hostname completion
[ -r ~/.ssh/known_hosts ] && _ssh_hosts=(${${${${(f)"$(<$HOME/.ssh/known_hosts)"}:#[\|]*}%%\ *}%%,*}) || _ssh_hosts=()
[ -r /etc/hosts ] && : ${(A)_etc_hosts:=${(s: :)${(ps:\t:)${${(f)~~"$(</etc/hosts)"}%%\#*}##[:blank:]#[^[:blank:]]#}}} || _etc_hosts=()
hosts=(
"$_ssh_hosts[@]"
"$_etc_hosts[@]"
`hostname`
localhost
)
zstyle ':completion:*:hosts' hosts $hosts
# Use caching so that commands like apt and dpkg complete are useable
zstyle ':completion::complete:*' use-cache 1
zstyle ':completion::complete:*' cache-path ~/.oh-my-zsh/cache/
# Don't complete uninteresting users
zstyle ':completion:*:*:*:users' ignored-patterns \
adm amanda apache avahi beaglidx bin cacti canna clamav daemon \
dbus distcache dovecot fax ftp games gdm gkrellmd gopher \
hacluster haldaemon halt hsqldb ident junkbust ldap lp mail \
mailman mailnull mldonkey mysql nagios \
named netdump news nfsnobody nobody nscd ntp nut nx openvpn \
operator pcap postfix postgres privoxy pulse pvm quagga radvd \
rpc rpcuser rpm shutdown squid sshd sync uucp vcsa xfs
# ... unless we really want to.
zstyle '*' single-ignored show
# Load known hosts file for auto-completion with ssh and scp commands
if [ -f ~/.ssh/known_hosts ]; then
zstyle ':completion:*' hosts $( sed 's/[, ].*$//' $HOME/.ssh/known_hosts )
zstyle ':completion:*:*:(ssh|scp):*:*' hosts `sed 's/^\([^ ,]*\).*$/\1/' ~/.ssh/known_hosts`
fi
...@@ -36,5 +36,9 @@ cd () { ...@@ -36,5 +36,9 @@ cd () {
alias md='mkdir -p' alias md='mkdir -p'
alias rd=rmdir alias rd=rmdir
alias d='dirs -v' alias d='dirs -v'
# mkdir & cd to it
function mcd() {
mkdir -p "$1" && cd "$1";
}
\ No newline at end of file
...@@ -37,3 +37,39 @@ function take() { ...@@ -37,3 +37,39 @@ function take() {
mkdir -p $1 mkdir -p $1
cd $1 cd $1
} }
function extract() {
unset REMOVE_ARCHIVE
if test "$1" = "-r"; then
REMOVE=1
shift
fi
if [[ -f $1 ]]; then
case $1 in
*.tar.bz2) tar xvjf $1;;
*.tar.gz) tar xvzf $1;;
*.tar.xz) tar xvJf $1;;
*.tar.lzma) tar --lzma -xvf $1;;
*.bz2) bunzip $1;;
*.rar) unrar $1;;
*.gz) gunzip $1;;
*.tar) tar xvf $1;;
*.tbz2) tar xvjf $1;;
*.tgz) tar xvzf $1;;
*.zip) unzip $1;;
*.Z) uncompress $1;;
*.7z) 7z x $1;;
*) echo "'$1' cannot be extracted via >extract<";;
esac
if [[ $REMOVE_ARCHIVE -eq 1 ]]; then
echo removing "$1";
/bin/rm "$1";
fi
else
echo "'$1' is not a valid file"
fi
}
...@@ -14,6 +14,9 @@ for config_file ($ZSH/custom/*.zsh) source $config_file ...@@ -14,6 +14,9 @@ for config_file ($ZSH/custom/*.zsh) source $config_file
plugin=${plugin:=()} plugin=${plugin:=()}
for plugin ($plugins) source $ZSH/plugins/$plugin/$plugin.plugin.zsh for plugin ($plugins) source $ZSH/plugins/$plugin/$plugin.plugin.zsh
# Load the theme
source "$ZSH/themes/$ZSH_THEME.zsh-theme"
# Check for updates on initial load... # Check for updates on initial load...
if [ "$DISABLE_AUTO_UPDATE" = "true" ] if [ "$DISABLE_AUTO_UPDATE" = "true" ]
then then
......
# Uses the command-not-found package zsh support
# as seen in http://www.porcheron.info/command-not-found-for-zsh/
# this is installed in Ubuntu
source /etc/zsh_command_not_found
# add brew completion function to path # add gem completion function to path
fpath=($ZSH/plugins/gem $fpath) fpath=($ZSH/plugins/gem $fpath)
autoload -U compinit autoload -U compinit
compinit -i compinit -i
...@@ -8,6 +8,7 @@ alias gd='git diff | mate' ...@@ -8,6 +8,7 @@ alias gd='git diff | mate'
alias gdv='git diff -w "$@" | vim -R -' alias gdv='git diff -w "$@" | vim -R -'
alias gc='git commit -v' alias gc='git commit -v'
alias gca='git commit -v -a' alias gca='git commit -v -a'
alias gco='git checkout'
alias gb='git branch' alias gb='git branch'
alias gba='git branch -a' alias gba='git branch -a'
alias gcount='git shortlog -sn' alias gcount='git shortlog -sn'
...@@ -26,7 +27,7 @@ function current_branch() { ...@@ -26,7 +27,7 @@ function current_branch() {
echo ${ref#refs/heads/} echo ${ref#refs/heads/}
} }
# these aliases take advangate of the previous function # these aliases take advantage of the previous function
alias ggpull='git pull origin $(current_branch)' alias ggpull='git pull origin $(current_branch)'
alias ggpush='git push origin $(current_branch)' alias ggpush='git push origin $(current_branch)'
alias ggpnp='git pull origin $(current_branch) && git push origin $(current_branch)' alias ggpnp='git pull origin $(current_branch) && git push origin $(current_branch)'
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
# Example usage: http://screencast.com/t/ZDgwNDUwNT # Example usage: http://screencast.com/t/ZDgwNDUwNT
open_lighthouse_ticket () { open_lighthouse_ticket () {
if [ ! -f .lighthouse-url ]; then if [ ! -f .lighthouse-url ]; then
echo "There is no .lighthouse file in the current directory..." echo "There is no .lighthouse-url file in the current directory..."
return 0; return 0;
else else
lighthouse_url=$(cat .lighthouse-url); lighthouse_url=$(cat .lighthouse-url);
......
_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
}
_phing () {
if [ -f build.xml ]; then
if _phing_does_target_list_need_generating; then
echo "\nGenerating .phing_targets..." > /dev/stderr
phing -l |grep -v ":" |grep -v "^$"|grep -v "\-" > .phing_targets
fi
compadd `cat .phing_targets`
fi
}
compdef _phing phing
alias rs='ruby script/rails server'
alias rg='ruby script/rails generate'
alias rd='ruby script/rails destroy'
alias rp='ruby script/rails plugin'
alias rdbm='rake db:migrate db:test:clone'
alias rc='ruby script/rails console'
alias rd='ruby script/rais server --debugger'
alias devlog='tail -f log/development.log'
function svn_prompt_info {
if [[ -d .svn ]]; then
echo "$ZSH_PROMPT_BASE_COLOR$ZSH_THEME_SVN_PROMPT_PREFIX\
$ZSH_THEME_REPO_NAME_COLOR$(svn_get_repo_name)$ZSH_PROMPT_BASE_COLOR$ZSH_THEME_SVN_PROMPT_SUFFIX$ZSH_PROMPT_BASE_COLOR$(svn_dirty)$ZSH_PROMPT_BASE_COLOR"
fi
}
function in_svn() {
if [[ -d .svn ]]; then
echo 1
fi
}
function svn_get_repo_name {
if [ is_svn ]; then
svn info | sed -n 's/Repository\ Root:\ .*\///p' | read SVN_ROOT
svn info | sed -n "s/URL:\ .*$SVN_ROOT\///p" | sed "s/\/.*$//"
fi
}
function svn_get_rev_nr {
if [ is_svn ]; then
svn info 2> /dev/null | sed -n s/Revision:\ //p
fi
}
function svn_dirty_choose {
if [ is_svn ]; then
s=$(svn status 2>/dev/null)
if [ $s ]; then
echo $1
else
echo $2
fi
fi
}
function svn_dirty {
svn_dirty_choose $ZSH_THEME_SVN_PROMPT_DIRTY $ZSH_THEME_SVN_PROMPT_CLEAN
}
\ No newline at end of file
#compdef vagrant
#autoload
# vagrant zsh completion
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.'
)
__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
}
__box_list ()
{
_wanted application expl 'command' compadd $(command ls -1 $HOME/.vagrant/boxes 2>/dev/null| sed -e 's/ /\\ /g')
}
__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
;;
esac
;;
esac
fpath=($ZSH/plugins/vagrant $fpath)
autoload -U compinit
compinit -i
if [ "$(whoami)" = "root" ]; then CARETCOLOR="red"; else CARETCOLOR="blue"; fi if [ $UID -eq 0 ]; then CARETCOLOR="red"; else CARETCOLOR="blue"; fi
local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})"
......
if [ "$(whoami)" = "root" ]; then NCOLOR="red"; else NCOLOR="yellow"; fi if [ $UID -eq 0 ]; then NCOLOR="red"; else NCOLOR="yellow"; fi
PROMPT='%{$fg[$NCOLOR]%}%c ➤ %{$reset_color%}' PROMPT='%{$fg[$NCOLOR]%}%c ➤ %{$reset_color%}'
RPROMPT='%{$fg[$NCOLOR]%}%p $(git_prompt_info)%{$reset_color%}' RPROMPT='%{$fg[$NCOLOR]%}%p $(git_prompt_info)%{$reset_color%}'
......
# the svn plugin has to be activated for this to work.
PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%}$(svn_prompt_info)%{$reset_color%}'
ZSH_THEME_GIT_PROMPT_PREFIX="git:(%{$fg[red]%}"
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%})%{$fg[yellow]%} ✗ %{$reset_color%}"
ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%}) "
ZSH_PROMPT_BASE_COLOR="%{$fg_bold[blue]%}"
ZSH_THEME_REPO_NAME_COLOR="%{$fg_bold[red]%}"
ZSH_THEME_SVN_PROMPT_PREFIX="svn:("
ZSH_THEME_SVN_PROMPT_SUFFIX=")"
ZSH_THEME_SVN_PROMPT_DIRTY="%{$fg[red]%} ✘ %{$reset_color%}"
ZSH_THEME_SVN_PROMPT_CLEAN=" "
\ No newline at end of file
# ZSH Theme - Preview: http://gyazo.com/8becc8a7ed5ab54a0262a470555c3eed.png
local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})"
local user_host='%{$terminfo[bold]$fg[green]%}%n@%m%{$reset_color%}'
local current_dir='%{$terminfo[bold]$fg[blue]%} %~%{$reset_color%}'
local rvm_ruby='%{$fg[red]%}‹$(~/.rvm/bin/rvm-prompt i v g)›%{$reset_color%}'
local git_branch='$(git_prompt_info)%{$reset_color%}'
PROMPT="╭─${user_host} ${current_dir} ${rvm_ruby} ${git_branch}
╰─%B$%b "
RPS1="${return_code}"
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[yellow]%}‹"
ZSH_THEME_GIT_PROMPT_SUFFIX="› %{$reset_color%}"
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment