summaryrefslogtreecommitdiff
path: root/oh-my-zsh/themes/af-magic.zsh-theme
diff options
context:
space:
mode:
Diffstat (limited to 'oh-my-zsh/themes/af-magic.zsh-theme')
-rw-r--r--oh-my-zsh/themes/af-magic.zsh-theme46
1 files changed, 46 insertions, 0 deletions
diff --git a/oh-my-zsh/themes/af-magic.zsh-theme b/oh-my-zsh/themes/af-magic.zsh-theme
new file mode 100644
index 0000000..2ef9b02
--- /dev/null
+++ b/oh-my-zsh/themes/af-magic.zsh-theme
@@ -0,0 +1,46 @@
+# af-magic.zsh-theme
+#
+# Author: Andy Fleming
+# URL: http://andyfleming.com/
+
+# dashed separator size
+function afmagic_dashes {
+ # check either virtualenv or condaenv variables
+ local python_env="${VIRTUAL_ENV:-$CONDA_DEFAULT_ENV}"
+
+ # if there is a python virtual environment and it is displayed in
+ # the prompt, account for it when returning the number of dashes
+ if [[ -n "$python_env" && "$PS1" = \(* ]]; then
+ echo $(( COLUMNS - ${#python_env} - 3 ))
+ else
+ echo $COLUMNS
+ fi
+}
+
+# primary prompt: dashed separator, directory and vcs info
+PS1="${FG[237]}\${(l.\$(afmagic_dashes)..-.)}%{$reset_color%}
+${FG[032]}%~\$(git_prompt_info)\$(hg_prompt_info) ${FG[105]}%(!.#.»)%{$reset_color%} "
+PS2="%{$fg[red]%}\ %{$reset_color%}"
+
+# right prompt: return code, virtualenv and context (user@host)
+RPS1="%(?..%{$fg[red]%}%? ↵%{$reset_color%})"
+if (( $+functions[virtualenv_prompt_info] )); then
+ RPS1+='$(virtualenv_prompt_info)'
+fi
+RPS1+=" ${FG[237]}%n@%m%{$reset_color%}"
+
+# git settings
+ZSH_THEME_GIT_PROMPT_PREFIX=" ${FG[075]}(${FG[078]}"
+ZSH_THEME_GIT_PROMPT_CLEAN=""
+ZSH_THEME_GIT_PROMPT_DIRTY="${FG[214]}*%{$reset_color%}"
+ZSH_THEME_GIT_PROMPT_SUFFIX="${FG[075]})%{$reset_color%}"
+
+# hg settings
+ZSH_THEME_HG_PROMPT_PREFIX=" ${FG[075]}(${FG[078]}"
+ZSH_THEME_HG_PROMPT_CLEAN=""
+ZSH_THEME_HG_PROMPT_DIRTY="${FG[214]}*%{$reset_color%}"
+ZSH_THEME_HG_PROMPT_SUFFIX="${FG[075]})%{$reset_color%}"
+
+# virtualenv settings
+ZSH_THEME_VIRTUALENV_PREFIX=" ${FG[075]}["
+ZSH_THEME_VIRTUALENV_SUFFIX="]%{$reset_color%}"