summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore2
-rw-r--r--plugins/gem/gem.plugin.zsh2
-rw-r--r--plugins/svn/svn.plugin.zsh42
-rw-r--r--themes/afowler.zsh-theme2
-rw-r--r--themes/arrow.zsh-theme2
-rw-r--r--themes/awesomepanda.zsh-theme18
-rw-r--r--themes/clean.zsh-theme2
-rw-r--r--themes/dieter.zsh-theme56
-rw-r--r--themes/dst.zsh-theme2
-rw-r--r--themes/flazz.zsh-theme19
-rw-r--r--themes/jreese.zsh-theme2
-rw-r--r--themes/lambda.zsh-theme6
-rw-r--r--themes/philips.zsh-theme2
-rw-r--r--themes/pmcgee.zsh-theme2
14 files changed, 150 insertions, 9 deletions
diff --git a/.gitignore b/.gitignore
index f84db6dc2..8d19d100c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,5 @@
locals.zsh
log/.zsh_history
projects.zsh
-custom/*.zsh
+custom/*
!custom/example.zsh \ No newline at end of file
diff --git a/plugins/gem/gem.plugin.zsh b/plugins/gem/gem.plugin.zsh
index 65d3766f3..d4e5c6584 100644
--- a/plugins/gem/gem.plugin.zsh
+++ b/plugins/gem/gem.plugin.zsh
@@ -1,4 +1,4 @@
-# add brew completion function to path
+# add gem completion function to path
fpath=($ZSH/plugins/gem $fpath)
autoload -U compinit
compinit -i
diff --git a/plugins/svn/svn.plugin.zsh b/plugins/svn/svn.plugin.zsh
new file mode 100644
index 000000000..45d461306
--- /dev/null
+++ b/plugins/svn/svn.plugin.zsh
@@ -0,0 +1,42 @@
+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
diff --git a/themes/afowler.zsh-theme b/themes/afowler.zsh-theme
index b5a9bb173..3a4753fc1 100644
--- a/themes/afowler.zsh-theme
+++ b/themes/afowler.zsh-theme
@@ -1,4 +1,4 @@
-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%})"
diff --git a/themes/arrow.zsh-theme b/themes/arrow.zsh-theme
index a23efd1d7..d62dcdcb9 100644
--- a/themes/arrow.zsh-theme
+++ b/themes/arrow.zsh-theme
@@ -1,4 +1,4 @@
-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%}'
RPROMPT='%{$fg[$NCOLOR]%}%p $(git_prompt_info)%{$reset_color%}'
diff --git a/themes/awesomepanda.zsh-theme b/themes/awesomepanda.zsh-theme
new file mode 100644
index 000000000..411b89837
--- /dev/null
+++ b/themes/awesomepanda.zsh-theme
@@ -0,0 +1,18 @@
+# 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
diff --git a/themes/clean.zsh-theme b/themes/clean.zsh-theme
index 95f532a82..7ee29cb8c 100644
--- a/themes/clean.zsh-theme
+++ b/themes/clean.zsh-theme
@@ -1,4 +1,4 @@
-if [ "$(whoami)" = "root" ]; then NCOLOR="red"; else NCOLOR="white"; fi
+if [ $UID -eq 0 ]; then NCOLOR="red"; else NCOLOR="white"; fi
PROMPT='%{$fg[$NCOLOR]%}%B%n%b%{$reset_color%}:%{$fg[blue]%}%B%c/%b%{$reset_color%} $(git_prompt_info)%(!.#.$) '
RPROMPT='[%*]'
diff --git a/themes/dieter.zsh-theme b/themes/dieter.zsh-theme
new file mode 100644
index 000000000..0a5e9265b
--- /dev/null
+++ b/themes/dieter.zsh-theme
@@ -0,0 +1,56 @@
+# the idea of this theme is to contain a lot of info in a small string, by
+# compressing some parts and colorcoding, which bring useful visual cues,
+# while limiting the amount of colors and such to keep it easy on the eyes.
+# When a command exited >0, the timestamp will be in red and the exit code
+# will be on the right edge.
+# The exit code visual cues will only display once.
+# (i.e. they will be reset, even if you hit enter a few times on empty command prompts)
+
+typeset -A host_repr
+
+# translate hostnames into shortened, colorcoded strings
+host_repr=('dieter-ws-a7n8x-arch' "%{$fg_bold[green]%}ws" 'dieter-p4sci-arch' "%{$fg_bold[blue]%}p4")
+
+# local time, color coded by last return code
+time_enabled="%(?.%{$fg[green]%}.%{$fg[red]%})%*%{$reset_color%}"
+time_disabled="%{$fg[green]%}%*%{$reset_color%}"
+time=$time_enabled
+
+# user part, color coded by privileges
+local user="%(!.%{$fg[blue]%}.%{$fg[blue]%})%n%{$reset_color%}"
+
+# Hostname part. compressed and colorcoded per host_repr array
+# if not found, regular hostname in default color
+local host="@${host_repr[$(hostname)]:-$(hostname)}%{$reset_color%}"
+
+# Compacted $PWD
+local pwd="%{$fg[blue]%}%c%{$reset_color%}"
+
+PROMPT='${time} ${user}${host} ${pwd} $(git_prompt_info)'
+
+# i would prefer 1 icon that shows the "most drastic" deviation from HEAD,
+# but lets see how this works out
+ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[yellow]%}"
+ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} "
+ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[green]%} %{$fg[yellow]%}?%{$fg[green]%}%{$reset_color%}"
+ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[green]%}"
+
+# elaborate exitcode on the right when >0
+return_code_enabled="%(?..%{$fg[red]%}%? ↵%{$reset_color%})"
+return_code_disabled=
+return_code=$return_code_enabled
+
+RPS1='${return_code}'
+
+function accept-line-or-clear-warning () {
+ if [[ -z $BUFFER ]]; then
+ time=$time_disabled
+ return_code=$return_code_disabled
+ else
+ time=$time_enabled
+ return_code=$return_code_enabled
+ fi
+ zle accept-line
+}
+zle -N accept-line-or-clear-warning
+bindkey '^M' accept-line-or-clear-warning
diff --git a/themes/dst.zsh-theme b/themes/dst.zsh-theme
index fa0d9cb06..3e2539d57 100644
--- a/themes/dst.zsh-theme
+++ b/themes/dst.zsh-theme
@@ -5,7 +5,7 @@ ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}!"
ZSH_THEME_GIT_PROMPT_CLEAN=""
function prompt_char {
- if [ "$(whoami)" = "root" ]; then echo "%{$fg[red]%}#%{$reset_color%}"; else echo $; fi
+ if [ $UID -eq 0 ]; then echo "%{$fg[red]%}#%{$reset_color%}"; else echo $; fi
}
PROMPT='%(?, ,%{$fg[red]%}FAIL%{$reset_color%}
diff --git a/themes/flazz.zsh-theme b/themes/flazz.zsh-theme
new file mode 100644
index 000000000..280794f2b
--- /dev/null
+++ b/themes/flazz.zsh-theme
@@ -0,0 +1,19 @@
+if [ "$(whoami)" = "root" ]
+then CARETCOLOR="red"
+else CARETCOLOR="blue"
+fi
+
+local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})"
+
+PROMPT='%m%{${fg_bold[magenta]}%} :: %{$reset_color%}%{${fg[green]}%}%3~ $(git_prompt_info)%{${fg_bold[$CARETCOLOR]}%}%#%{${reset_color}%} '
+
+RPS1='$(vi_mode_prompt_info) ${return_code}'
+
+ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[cyan]%}‹"
+ZSH_THEME_GIT_PROMPT_SUFFIX="› %{$reset_color%}"
+
+MODE_INDICATOR="%{$fg_bold[magenta]%}<%{$reset_color%}%{$fg[magenta]%}<<%{$reset_color%}"
+
+# TODO use 265 colors
+#MODE_INDICATOR="$FX[bold]$FG[020]<$FX[no_bold]%{$fg[blue]%}<<%{$reset_color%}"
+# TODO use two lines if git
diff --git a/themes/jreese.zsh-theme b/themes/jreese.zsh-theme
index 534664f11..0fa6b4ecd 100644
--- a/themes/jreese.zsh-theme
+++ b/themes/jreese.zsh-theme
@@ -1,6 +1,6 @@
# ZSH Theme - Preview: http://dl.dropbox.com/u/1552408/Screenshots/2010-04-08-oh-my-zsh.png
-if [ "$(whoami)" = "root" ]; then NCOLOR="red"; else NCOLOR="green"; fi
+if [ $UID -eq 0 ]; then NCOLOR="red"; else NCOLOR="green"; fi
local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})"
PROMPT='%{$fg[$NCOLOR]%}%n%{$fg[green]%}@%m%{$reset_color%} %~ \
diff --git a/themes/lambda.zsh-theme b/themes/lambda.zsh-theme
new file mode 100644
index 000000000..63292d331
--- /dev/null
+++ b/themes/lambda.zsh-theme
@@ -0,0 +1,6 @@
+# ZSH Theme - Preview: http://cl.ly/350F0F0k1M2y3A2i3p1S
+
+PROMPT='λ %~/ $(git_prompt_info)%{$reset_color%}'
+
+ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[green]%}"
+ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} "
diff --git a/themes/philips.zsh-theme b/themes/philips.zsh-theme
index fa7c59035..e7ea51a2f 100644
--- a/themes/philips.zsh-theme
+++ b/themes/philips.zsh-theme
@@ -1,4 +1,4 @@
-if [ "$(whoami)" = "root" ]; then NCOLOR="red"; else NCOLOR="green"; fi
+if [ $UID -eq 0 ]; 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='[%*]'
diff --git a/themes/pmcgee.zsh-theme b/themes/pmcgee.zsh-theme
index 4eb54df5b..e4e45c71a 100644
--- a/themes/pmcgee.zsh-theme
+++ b/themes/pmcgee.zsh-theme
@@ -1,4 +1,4 @@
-if [ "$(whoami)" = "root" ]; then NCOLOR="red"; else NCOLOR="green"; fi
+if [ $UID -eq 0 ]; then NCOLOR="red"; else NCOLOR="green"; fi
PROMPT='
%{$fg[$NCOLOR]%}%B%n@%m%b%{$reset_color%} %{$fg[white]%}%B${PWD/#$HOME/~}%b%{$reset_color%}