Compare commits
	
		
			2 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 080843310c | |||
| f638d8c652 | 
| @@ -1,5 +1,5 @@ | |||||||
| # smd.zsh-theme by Thomas Kuschel, based on smt.zsh-theme, based on dogenpunk by Matthew Nelson. | # smd.zsh-theme, based on smt.zsh-theme, based on dogenpunk by Matthew Nelson. | ||||||
|  | REPORTTIME=3 | ||||||
| MODE_INDICATOR="%{$fg_bold[red]%}❮%{$reset_color%}%{$fg[red]%}❮❮%{$reset_color%}" | MODE_INDICATOR="%{$fg_bold[red]%}❮%{$reset_color%}%{$fg[red]%}❮❮%{$reset_color%}" | ||||||
| local return_status="%{$fg[red]%}%(?..%?⏎)%{$reset_color%} " | local return_status="%{$fg[red]%}%(?..%?⏎)%{$reset_color%} " | ||||||
|  |  | ||||||
| @@ -21,7 +21,7 @@ ZSH_THEME_GIT_PROMPT_SHA_BEFORE="➤ %{$fg_bold[yellow]%}" | |||||||
| ZSH_THEME_GIT_PROMPT_SHA_AFTER="%{$reset_color%}" | ZSH_THEME_GIT_PROMPT_SHA_AFTER="%{$reset_color%}" | ||||||
|  |  | ||||||
| function prompt_char() { | function prompt_char() { | ||||||
|  command git branch &>/dev/null && echo "%{$fg[green]%}±%{$reset_color%}" || echo "%{$fg[cyan]%}◯%{$reset_color%}" | 	command git branch &>/dev/null && echo "%{$fg[green]%}±%{$reset_color%}" || echo "%{$fg[cyan]%}◯%{$reset_color%}" | ||||||
| } | } | ||||||
|  |  | ||||||
| # Colors vary depending on time lapsed. | # Colors vary depending on time lapsed. | ||||||
| @@ -33,48 +33,48 @@ ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL="%{$fg[cyan]%}" | |||||||
| # Determine the time since last commit. If branch is clean, | # Determine the time since last commit. If branch is clean, | ||||||
| # use a neutral color, otherwise colors will vary according to time. | # use a neutral color, otherwise colors will vary according to time. | ||||||
| function git_time_since_commit() { | function git_time_since_commit() { | ||||||
|  local COLOR MINUTES HOURS DAYS SUB_HOURS SUB_MINUTES | 	local COLOR MINUTES HOURS DAYS SUB_HOURS SUB_MINUTES | ||||||
|  local last_commit now seconds_since_last_commit | 	local last_commit seconds_since_last_commit | ||||||
|  |  | ||||||
|  # Only proceed if there is actually a commit | 	# Only proceed if there is actually a commit | ||||||
|  if ! last_commit=$(command git -c log.showSignature=false log --pretty=format:'%at' -1 2>/dev/null); then | 	if ! last_commit=$(command git -c log.showSignature=false log --pretty=format:'%at' -1 2>/dev/null); then | ||||||
|   echo "[$ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL~%{$reset_color%}]" | 		echo "[$ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL~%{$reset_color%}]" | ||||||
|   return | 		return | ||||||
|  fi | 	fi | ||||||
|  |  | ||||||
|  # Totals | 	# Totals | ||||||
|  now=$(date +%s) | 	seconds_since_last_commit=$(( $(date +%s) - last_commit )) | ||||||
|  seconds_since_last_commit=$(( now - last_commit )) | 	MINUTES=$(( seconds_since_last_commit / 60 )) | ||||||
|  MINUTES=$(( seconds_since_last_commit / 60 )) | 	HOURS=$(( MINUTES / 60 )) | ||||||
|  HOURS=$(( MINUTES / 60 )) |  | ||||||
|  |  | ||||||
|  # Sub-hours and sub-minutes | 	# Sub-hours and sub-minutes | ||||||
|  DAYS=$(( HOURS / 24 )) | 	DAYS=$(( HOURS / 24 )) | ||||||
|  SUB_HOURS=$(( HOURS % 24 )) | 	SUB_HOURS=$(( HOURS % 24 )) | ||||||
|  SUB_MINUTES=$(( MINUTES % 60 )) | 	SUB_MINUTES=$(( MINUTES % 60 )) | ||||||
|  |  | ||||||
|  if [[ -z "$(command git status -s 2>/dev/null)" ]]; then | 	if [[ -z "$(command git status -s 2>/dev/null)" ]]; then | ||||||
|   COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL" | 		COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL" | ||||||
|  else | 	else | ||||||
|   if [[ "$MINUTES" -gt 30 ]]; then | 		if [[ "$MINUTES" -gt 30 ]]; then | ||||||
|    COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_LONG" | 			COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_LONG" | ||||||
|   elif [[ "$MINUTES" -gt 10 ]]; then | 		elif [[ "$MINUTES" -gt 10 ]]; then | ||||||
|    COLOR="$ZSH_THEME_GIT_TIME_SHORT_COMMIT_MEDIUM" | 			COLOR="$ZSH_THEME_GIT_TIME_SHORT_COMMIT_MEDIUM" | ||||||
|   else | 		else | ||||||
|    COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_SHORT" | 			COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_SHORT" | ||||||
|   fi | 		fi | ||||||
|  fi | 	fi | ||||||
|  |  | ||||||
|  if [[ "$HOURS" -gt 24 ]]; then | 	if [[ "$HOURS" -gt 24 ]]; then | ||||||
|   echo "[${COLOR}${DAYS}d${SUB_HOURS}h${SUB_MINUTES}m%{$reset_color%}]" | 		echo "[${COLOR}${DAYS}d${SUB_HOURS}h${SUB_MINUTES}m%{$reset_color%}]" | ||||||
|  elif [[ "$MINUTES" -gt 60 ]]; then | 	elif [[ "$MINUTES" -gt 60 ]]; then | ||||||
|   echo "[${COLOR}${HOURS}h${SUB_MINUTES}m%{$reset_color%}]" | 		echo "[${COLOR}${HOURS}h${SUB_MINUTES}m%{$reset_color%}]" | ||||||
|  else | 	else | ||||||
|   echo "[${COLOR}${MINUTES}m%{$reset_color%}]" | 		echo "[${COLOR}${MINUTES}m%{$reset_color%}]" | ||||||
|  fi | 	fi | ||||||
| } | } | ||||||
|  |  | ||||||
| PROMPT=' | PROMPT=' | ||||||
| %{$fg[cyan]%}%m%{$reset_color%} 福 %{$fg[cyan]%}%~ %{$reset_color%}$(git_prompt_short_sha)$(git_prompt_info) | %{$fg[cyan]%}%m%{$reset_color%} 福 %{$fg[cyan]%}%~ %{$reset_color%}$(git_prompt_short_sha)$(git_prompt_info) | ||||||
| %{$fg[red]%}%!%{$reset_color%} $(prompt_char) ❯ ' | %{$fg[red]%}%!%{$reset_color%} $(prompt_char) ❯ ' | ||||||
|  |  | ||||||
| RPROMPT='${return_status}$(git_time_since_commit)$(git_prompt_status)%{$reset_color%}' | RPROMPT='${return_status}$(git_time_since_commit)$(git_prompt_status)%{$reset_color%}' | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user