summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/functions.zsh3
-rw-r--r--lib/git.zsh27
-rw-r--r--plugins/git/git.plugin.zsh2
-rw-r--r--plugins/github/_github40
-rw-r--r--plugins/github/github.plugin.zsh4
-rw-r--r--themes/cloud.zsh-theme6
-rw-r--r--themes/gozilla.zsh-theme15
-rw-r--r--themes/philips.zsh-theme14
8 files changed, 108 insertions, 3 deletions
diff --git a/lib/functions.zsh b/lib/functions.zsh
index 561586cba..e3c0de43e 100644
--- a/lib/functions.zsh
+++ b/lib/functions.zsh
@@ -5,7 +5,7 @@ function title {
print -nR $'\033k'$1$'\033'\\\
print -nR $'\033]0;'$2$'\a'
- elif [[ $TERM =~ "^xterm" || $TERM == "rxvt" ]]; then
+ elif [[ ($TERM =~ "^xterm") ]] || [[ ($TERM == "rxvt") ]]; then
# Use this one instead for XTerms:
print -nR $'\033]0;'$*$'\a'
fi
@@ -37,4 +37,3 @@ function take() {
mkdir -p $1
cd $1
}
-
diff --git a/lib/git.zsh b/lib/git.zsh
index 889dd98df..75fdc1f9c 100644
--- a/lib/git.zsh
+++ b/lib/git.zsh
@@ -11,3 +11,30 @@ parse_git_dirty () {
echo "$ZSH_THEME_GIT_PROMPT_CLEAN"
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
+}
diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh
index 655eaf728..d317d179d 100644
--- a/plugins/git/git.plugin.zsh
+++ b/plugins/git/git.plugin.zsh
@@ -12,7 +12,7 @@ alias gb='git branch'
alias gba='git branch -a'
alias gcount='git shortlog -sn'
alias gcp='git cherry-pick'
-
+alias glg='git log --stat --max-count=5'
# Git and svn mix
alias git-svn-dcommit-push='git svn dcommit && git push github master:svntrunk'
diff --git a/plugins/github/_github b/plugins/github/_github
new file mode 100644
index 000000000..83e1713c7
--- /dev/null
+++ b/plugins/github/_github
@@ -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
diff --git a/plugins/github/github.plugin.zsh b/plugins/github/github.plugin.zsh
new file mode 100644
index 000000000..c23504b85
--- /dev/null
+++ b/plugins/github/github.plugin.zsh
@@ -0,0 +1,4 @@
+# add github completion function to path
+fpath=($ZSH/plugins/github $fpath)
+autoload -U compinit
+compinit -i
diff --git a/themes/cloud.zsh-theme b/themes/cloud.zsh-theme
new file mode 100644
index 000000000..ad5e2834b
--- /dev/null
+++ b/themes/cloud.zsh-theme
@@ -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]%}]" \ No newline at end of file
diff --git a/themes/gozilla.zsh-theme b/themes/gozilla.zsh-theme
new file mode 100644
index 000000000..c6b752e9b
--- /dev/null
+++ b/themes/gozilla.zsh-theme
@@ -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]%} ✱"
diff --git a/themes/philips.zsh-theme b/themes/philips.zsh-theme
new file mode 100644
index 000000000..fa7c59035
--- /dev/null
+++ b/themes/philips.zsh-theme
@@ -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:'