Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- PROMPT='$(_prompt_line)
- $(whoami): ${_current_dir}
- nvm:$(nvm_prompt_info) $(git_prompt_info) $(git_prompt_short_sha)
- λ '
- PROMPT2='%{$fg[grey]%}◀%{$reset_color%} '
- RPROMPT='$(_git_time_since_commit) $(git_prompt_status) ${_return_status}%{$(echotc DO 1)%}'
- local _current_dir="%{$fg[blue]%}%3~%{$reset_color%} "
- local _return_status="%{$fg[red]%}%(?..⍉)%{$reset_color%}"
- local _hist_no="%{$fg[grey]%}%h%{$reset_color%}"
- _prompt_line() {
- for i in {0..$(( $(tput cols) / 2 - 6 ))}; do
- echo -n "--"
- done
- echo -n " %*"
- }
- # Determine the time since last commit. If branch is clean,
- # use a neutral color, otherwise colors will vary according to time.
- function _git_time_since_commit() {
- if git rev-parse --git-dir > /dev/null 2>&1; then
- # Only proceed if there is actually a commit.
- if [[ $(git log 2>&1 > /dev/null | grep -c "^fatal: bad default revision") == 0 ]]; then
- # Get the last commit.
- last_commit=$(git log --pretty=format:'%at' -1 2> /dev/null)
- now=$(date +%s)
- seconds_since_last_commit=$((now-last_commit))
- # Totals
- minutes=$((seconds_since_last_commit / 60))
- hours=$((seconds_since_last_commit/3600))
- # Sub-hours and sub-minutes
- days=$((seconds_since_last_commit / 86400))
- sub_hours=$((hours % 24))
- sub_minutes=$((minutes % 60))
- if [ $hours -gt 24 ]; then
- commit_age="${days}d"
- elif [ $minutes -gt 60 ]; then
- commit_age="${sub_hours}h${sub_minutes}m"
- else
- commit_age="${minutes}m"
- fi
- color=$ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL
- echo "$color$commit_age%{$reset_color%}"
- fi
- fi
- }
- if [[ $USER == "root" ]]; then
- CARETCOLOR="red"
- else
- CARETCOLOR="white"
- fi
- MODE_INDICATOR="%{$fg_bold[yellow]%}❮%{$reset_color%}%{$fg[yellow]%}❮❮%{$reset_color%}"
- ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[green]%}"
- ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
- ZSH_THEME_GIT_PROMPT_DIRTY=" %{$fg[red]%}✗%{$reset_color%}"
- ZSH_THEME_GIT_PROMPT_CLEAN=" %{$fg[green]%}✔%{$reset_color%}"
- ZSH_THEME_GIT_PROMPT_ADDED="%{$fg[green]%}✚ "
- 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[cyan]%}§ "
- ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[grey]%}◒ "
- # Colors vary depending on time lapsed.
- ZSH_THEME_GIT_TIME_SINCE_COMMIT_SHORT="%{$fg[green]%}"
- ZSH_THEME_GIT_TIME_SHORT_COMMIT_MEDIUM="%{$fg[yellow]%}"
- ZSH_THEME_GIT_TIME_SINCE_COMMIT_LONG="%{$fg[red]%}"
- ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL="%{$fg[grey]%}"
- # LS colors, made with http://geoff.greer.fm/lscolors/
- export LSCOLORS="exfxcxdxbxegedabagacad"
- export LS_COLORS='di=34;40:ln=35;40:so=32;40:pi=33;40:ex=31;40:bd=34;46:cd=34;43:su=0;41:sg=0;46:tw=0;42:ow=0;43:'
- export GREP_COLOR='1;33'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement