summaryrefslogtreecommitdiff
path: root/themes
diff options
context:
space:
mode:
authorMarc Cornellà <marc.cornella@live.com>2020-02-19 18:19:46 +0100
committerMarc Cornellà <marc.cornella@live.com>2020-02-19 18:19:46 +0100
commitd76258ff554ea58d9865b9864f5fff1dd8d2e4bb (patch)
treeb42a4854f0ac97cd6205c737ce1f0df093dc6dbd /themes
parent77813a330bbc716503dcc4d8d98b6d8ae6f74d03 (diff)
downloadzsh-d76258ff554ea58d9865b9864f5fff1dd8d2e4bb.tar.gz
zsh-d76258ff554ea58d9865b9864f5fff1dd8d2e4bb.tar.bz2
zsh-d76258ff554ea58d9865b9864f5fff1dd8d2e4bb.zip
avit: add years since last commit if appropriate
Diffstat (limited to 'themes')
-rw-r--r--themes/avit.zsh-theme14
1 files changed, 9 insertions, 5 deletions
diff --git a/themes/avit.zsh-theme b/themes/avit.zsh-theme
index 4f82f3414..51701572b 100644
--- a/themes/avit.zsh-theme
+++ b/themes/avit.zsh-theme
@@ -29,7 +29,7 @@ function _user_host() {
# use a neutral color, otherwise colors will vary according to time.
function _git_time_since_commit() {
local last_commit now seconds_since_last_commit
- local minutes hours commit_age
+ local minutes hours days years commit_age
# Only proceed if there is actually a commit.
if last_commit=$(git log --pretty=format:'%at' -1 2> /dev/null); then
now=$(date +%s)
@@ -37,12 +37,16 @@ function _git_time_since_commit() {
# Totals
minutes=$((seconds_since_last_commit / 60))
- hours=$((seconds_since_last_commit / 3600))
+ hours=$((minutes / 60))
+ days=$((hours / 24))
+ years=$((days / 365))
- if [[ $hours -ge 24 ]]; then
- commit_age="$(( hours / 24 ))d"
+ if [[ $years -gt 0 ]]; then
+ commit_age="${years}y$((days % 365 ))d"
+ elif [[ $days -gt 0 ]]; then
+ commit_age="${days}d$((hours % 24))h"
elif [[ $hours -gt 0 ]]; then
- commit_age+="$(( hours % 24 ))h$(( minutes % 60 ))m"
+ commit_age+="${hours}h$(( minutes % 60 ))m"
else
commit_age="${minutes}m"
fi