Adds options to hide segments

[Closes #5]
This commit is contained in:
Caio Gondim
2014-07-14 23:15:48 +02:00
parent d85b0f1260
commit 01dfbf87fe
2 changed files with 66 additions and 16 deletions

View File

@@ -54,53 +54,68 @@ ZSH_THEME="bullet-train"
Bullet Train is configurable. You can change colors and which segments you want
or don't want to see. All options must be overridden in your **.zshrc** file.
The status segment backgound and foreground color
The status segment backgound, foreground color and visibility:
```bash
BULLETTRAIN_STATUS_SHOW=true
BULLETTRAIN_STATUS_BG=black
BULLETTRAIN_STATUS_FG=default
```
The time segment background and foreground color
The time segment background, foreground color and visibility:
```bash
BULLETTRAIN_TIME_SHOW=true
BULLETTRAIN_TIME_BG=''
BULLETTRAIN_TIME_FG=''
```
Python virtualenv background and foreground color, and the symbol used for the
segment
Python virtualenv background, foreground color, visibility and the symbol used
for the segment:
```bash
BULLETRTAIN_VIRTUALENV_BG=yellow
BULLETRTAIN_VIRTUALENV_FG=white
BULLETRTAIN_VIRTUALENV_PREFIX=🐍
BULLETTRAIN_VIRTUALENV_SHOW=true
BULLETTRAIN_VIRTUALENV_BG=yellow
BULLETTRAIN_VIRTUALENV_FG=white
BULLETTRAIN_VIRTUALENV_PREFIX=🐍
```
Node.js version, if NVM is installed
Node.js background, foreground color, visibility and prefix for the segment:
```bash
BULLETTRAIN_NVM_SHOW=true
BULLETTRAIN_NVM_BG=green
BULLETTRAIN_NVM_FG=white
BULLETTRAIN_NVM_PREFIX="⬡ "
```
RMV backgound and foreground color, and the symbol used for the segment
RMV backgound and foreground color, visibility and symbol used for the segment:
```bash
BULLETTRAIN_RVM_SHOW=true
BULLETTRAIN_RVM_BG=magenta
BULLETTRAIN_RVM_FG=white
BULLETTRAIN_RVM_PREFIX=♦️
```
Current directory background and foreground colors
Current directory background, foreground color and visibility:
```bash
BULLETTRAIN_DIR_SHOW=true
BULLETTRAIN_DIR_BG=blue
BULLETTRAIN_DIR_FG=white
```
GIT background and foreground colors
Git background, foreground color and visibility:
```bash
BULLETTRAIN_GIT_SHOW=true
BULLETTRAIN_GIT_BG=white
BULLETTRAIN_GIT_FG=black
```
GIT icons info
Git icons info:
```bash
BULLETTRAIN_GIT_CLEAN="✔"
BULLETTRAIN_GIT_DIRTY="✘"

View File

@@ -18,27 +18,34 @@ VIRTUAL_ENV_DISABLE_PROMPT=true
BULLETTRAIN_STATUS_BG=black
BULLETTRAIN_STATUS_FG=default
BULLETTRAIN_TIME_SHOW=true
BULLETTRAIN_TIME_BG=''
BULLETTRAIN_TIME_FG=''
BULLETRTAIN_VIRTUALENV_BG=yellow
BULLETRTAIN_VIRTUALENV_FG=white
BULLETRTAIN_VIRTUALENV_PREFIX=🐍
BULLETTRAIN_VIRTUALENV_SHOW=true
BULLETTRAIN_VIRTUALENV_BG=yellow
BULLETTRAIN_VIRTUALENV_FG=white
BULLETTRAIN_VIRTUALENV_PREFIX=🐍
BULLETTRAIN_NVM_SHOW=true
BULLETTRAIN_NVM_BG=green
BULLETTRAIN_NVM_FG=white
BULLETTRAIN_NVM_PREFIX="⬡ "
BULLETTRAIN_RVM_SHOW=true
BULLETTRAIN_RVM_BG=magenta
BULLETTRAIN_RVM_FG=white
BULLETTRAIN_RVM_PREFIX=♦️
BULLETTRAIN_DIR_SHOW=true
BULLETTRAIN_DIR_BG=blue
BULLETTRAIN_DIR_FG=white
BULLETTRAIN_GIT_SHOW=true
BULLETTRAIN_GIT_BG=white
BULLETTRAIN_GIT_FG=black
BULLETTRAIN_CONTEXT_SHOW=true
BULLETTRAIN_CONTEXT_BG=black
BULLETTRAIN_CONTEXT_FG=default
@@ -109,6 +116,10 @@ prompt_end() {
# Context: user@hostname (who am I and where am I)
prompt_context() {
if [[ $BULLETTRAIN_CONTEXT_SHOW == false ]] then
return
fi
local user=`whoami`
if [[ "$user" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then
@@ -118,6 +129,10 @@ prompt_context() {
# Git
prompt_git() {
if [[ $BULLETTRAIN_GIT_SHOW == false ]] then
return
fi
local ref dirty mode repo_path
repo_path=$(git rev-parse --git-dir 2>/dev/null)
@@ -164,11 +179,19 @@ prompt_hg() {
# Dir: current working directory
prompt_dir() {
if [[ $BULLETTRAIN_DIR_SHOW == false ]] then
return
fi
prompt_segment $BULLETTRAIN_DIR_BG $BULLETTRAIN_DIR_FG '%1~'
}
# RVM: only shows RVM info if on a gemset that is not the default one
prompt_rvm() {
if [[ $BULLETTRAIN_RVM_SHOW == false ]] then
return
fi
if which rvm-prompt &> /dev/null; then
if [[ ! -n `rvm gemset list | grep "=> (default)"` ]]
then
@@ -179,14 +202,22 @@ prompt_rvm() {
# Virtualenv: current working virtualenv
prompt_virtualenv() {
if [[ $BULLETTRAIN_VIRTUALENV_SHOW == false ]] then
return
fi
local virtualenv_path="$VIRTUAL_ENV"
if [[ -n $virtualenv_path && -n $VIRTUAL_ENV_DISABLE_PROMPT ]]; then
prompt_segment $BULLETRTAIN_VIRTUALENV_BG $BULLETRTAIN_VIRTUALENV_FG $BULLETRTAIN_VIRTUALENV_PREFIX" `basename $virtualenv_path`"
prompt_segment $BULLETTRAIN_VIRTUALENV_BG $BULLETTRAIN_VIRTUALENV_FG $BULLETTRAIN_VIRTUALENV_PREFIX" `basename $virtualenv_path`"
fi
}
# NVM: Node version manager
prompt_nvm() {
if [[ $BULLETTRAIN_NVM_SHOW == false ]] then
return
fi
[[ `which nvm` != "nvm not found" ]] || return
local nvm_prompt
nvm_prompt=$(node -v 2>/dev/null)
@@ -196,6 +227,10 @@ prompt_nvm() {
}
prompt_time() {
if [[ $BULLETTRAIN_TIME_SHOW == false ]] then
return
fi
if [[ $BULLETTRAIN_TIME_BG == '' && $BULLETTRAIN_TIME_BG == '' ]] then
prompt_standout_segment %D{%H:%M:%S}
else