aboutsummaryrefslogtreecommitdiff
path: root/powerlevel9k.zsh-theme
diff options
context:
space:
mode:
authorDominik Ritter <dominik.ritter@pixelhouse.de>2015-03-22 22:10:09 +0300
committerDominik Ritter <dominik.ritter@pixelhouse.de>2015-03-22 22:10:09 +0300
commitd3125e8b6fe90d0c8dd28bcc1d8a2d64d49d8e4e (patch)
treed3510cf010ec25db8e15f1efe3c2814f55889f4b /powerlevel9k.zsh-theme
parent2d6971622911962badbf44504618535a4a97991e (diff)
All elements can now be on each side.
For better customization, you can add an array of elements in your zshrc: POWERLEVEL9K_LEFT_PROMPT_ELEMENTS POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS
Diffstat (limited to 'powerlevel9k.zsh-theme')
-rw-r--r--powerlevel9k.zsh-theme44
1 files changed, 26 insertions, 18 deletions
diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme
index 21bb9b40..51eaab5f 100644
--- a/powerlevel9k.zsh-theme
+++ b/powerlevel9k.zsh-theme
@@ -91,7 +91,7 @@ right_prompt_segment() {
# Note that if $DEFAULT_USER is not set, this prompt segment will always print
prompt_context() {
if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then
- left_prompt_segment black default "%(!.%{%F{yellow}%}.)$USER@%m"
+ $1_prompt_segment black default "%(!.%{%F{yellow}%}.)$USER@%m"
fi
}
@@ -102,9 +102,9 @@ prompt_git() {
if $(git rev-parse --is-inside-work-tree >/dev/null 2>&1); then
dirty=$(parse_git_dirty)
if [[ -n $dirty ]]; then
- left_prompt_segment yellow black
+ $1_prompt_segment yellow black
else
- left_prompt_segment green black
+ $1_prompt_segment green black
fi
echo -n "${vcs_info_msg_0_}"
@@ -162,7 +162,7 @@ function +vi-git-tagname() {
# Dir: current working directory
prompt_dir() {
- left_prompt_segment blue black '%~'
+ $1_prompt_segment blue black '%~'
}
# Virtualenv: current working virtualenv
@@ -171,7 +171,7 @@ prompt_dir() {
prompt_virtualenv() {
local virtualenv_path="$VIRTUAL_ENV"
if [[ -n $virtualenv_path && -n $VIRTUAL_ENV_DISABLE_PROMPT ]]; then
- left_prompt_segment blue black "(`basename $virtualenv_path`)"
+ $1_prompt_segment blue black "(`basename $virtualenv_path`)"
fi
}
@@ -184,13 +184,13 @@ prompt_status() {
[[ $UID -eq 0 ]] && symbols+="%{%F{yellow}%}⚡"
[[ $(jobs -l | wc -l) -gt 0 ]] && symbols+="%{%F{cyan}%}⚙"
- [[ -n "$symbols" ]] && left_prompt_segment black default "$symbols"
+ [[ -n "$symbols" ]] && $1_prompt_segment black default "$symbols"
}
# Right Status: (return code, root status, background jobs)
# This creates a status segment for the *right* prompt. Exact same thing as
# above - just other side.
-rprompt_status() {
+prompt_longstatus() {
local symbols bg
symbols=()
@@ -205,17 +205,17 @@ rprompt_status() {
[[ $UID -eq 0 ]] && symbols+="%{%F{yellow}%}⚡"
[[ $(jobs -l | wc -l) -gt 0 ]] && symbols+="%{%F{cyan}%}⚙"
- [[ -n "$symbols" ]] && right_prompt_segment $bg default "$symbols"
+ [[ -n "$symbols" ]] && $1_prompt_segment $bg default "$symbols"
}
# System time
prompt_time() {
- right_prompt_segment white black '%D{%H:%M:%S} '
+ $1_prompt_segment white black '%D{%H:%M:%S} '
}
# Command number (in local history)
prompt_history() {
- right_prompt_segment "244" black '%h'
+ $1_prompt_segment "244" black '%h'
}
# Ruby Version Manager information
@@ -229,20 +229,28 @@ prompt_rvm() {
# Main prompt
build_left_prompt() {
- #prompt_virtualenv
- prompt_context
- prompt_dir
- prompt_git
- #prompt_rvm
+ if (( ${#POWERLEVEL9K_LEFT_PROMPT_ELEMENTS} == 0 )); then
+ POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(context dir git)
+ fi
+
+ for element in $POWERLEVEL9K_LEFT_PROMPT_ELEMENTS; do
+ prompt_$element "left"
+ done
+
left_prompt_end
}
# Right prompt
build_right_prompt() {
RETVAL=$?
- rprompt_status
- prompt_history
- prompt_time
+
+ if (( ${#POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS} == 0 )); then
+ POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(longstatus history time)
+ fi
+
+ for element in $POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS; do
+ prompt_$element "right"
+ done
}
# Create the prompts