mirror of
				https://github.com/ohmyzsh/ohmyzsh.git
				synced 2024-05-11 05:55:17 +00:00 
			
		
		
		
	Added time since last commit to Soliah theme and changed some colours.
This commit is contained in:
		| @@ -1,6 +1,63 @@ | ||||
| PROMPT='%{$fg[blue]%}%B%20~%b%{$reset_color%}%{$(git_prompt_info)%} $ ' | ||||
| PROMPT='%{$fg[blue]%}%n%{$reset_color%} on %{$fg[red]%}%M%{$reset_color%} in %{$fg[blue]%}%~%b%{$reset_color%}$(git_time_since_commit)$(git_prompt_info) | ||||
| $ ' | ||||
|  | ||||
| ZSH_THEME_GIT_PROMPT_PREFIX="(%{$fg[green]%}" | ||||
| ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[white]%}" | ||||
| ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%})" | ||||
| ZSH_THEME_GIT_PROMPT_DIRTY="*%{$reset_color%}" | ||||
|  | ||||
| # Text to display if the branch is dirty | ||||
| ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}*%{$reset_color%}"  | ||||
|  | ||||
| # Text to display if the branch is clean | ||||
| ZSH_THEME_GIT_PROMPT_CLEAN=""  | ||||
|  | ||||
| # 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[cyan]%}" | ||||
|  | ||||
| # 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 [[ -n $(git status -s 2> /dev/null) ]]; then | ||||
|                 if [ "$MINUTES" -gt 30 ]; then | ||||
|                     COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_LONG" | ||||
|                 elif [ "$MINUTES" -gt 10 ]; then | ||||
|                     COLOR="$ZSH_THEME_GIT_TIME_SHORT_COMMIT_MEDIUM" | ||||
|                 else | ||||
|                     COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_SHORT" | ||||
|                 fi | ||||
|             else | ||||
|                 COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL" | ||||
|             fi | ||||
|  | ||||
|             if [ "$HOURS" -gt 24 ]; then | ||||
|                 echo "($COLOR${DAYS}d${SUB_HOURS}h${SUB_MINUTES}m%{$reset_color%}|" | ||||
|             elif [ "$MINUTES" -gt 60 ]; then | ||||
|                 echo "($COLOR${HOURS}h${SUB_MINUTES}m%{$reset_color%}|" | ||||
|             else | ||||
|                 echo "($COLOR${MINUTES}m%{$reset_color%}|" | ||||
|             fi | ||||
|         else | ||||
|             COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL" | ||||
|             echo "($COLOR~|" | ||||
|         fi | ||||
|     fi | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user