Make calendar more flexible
This commit is contained in:
parent
f892f5d605
commit
e8505903f0
|
@ -1,32 +1,23 @@
|
||||||
calendar-determine-holiday() {
|
read -rd "" cal_events <<'EOF'
|
||||||
local month day
|
3,17,Saint Patrick's day,Happy,🍀
|
||||||
read -r month day < <(date "+%m %d")
|
10,31,Halloween,Have a spooky,🎃
|
||||||
|
12,25,Christmas,Merry,🌲
|
||||||
|
EOF
|
||||||
|
|
||||||
if (( 10#$month == 3 && 10#$day < 18 )); then
|
if [[ -f ~/.events.csv ]]; then
|
||||||
if (( 17 - 10#$day == 0 )); then
|
cal_events=$(< ~/.events.csv)
|
||||||
printf "Happy Saint Patrick's day!\n"
|
fi
|
||||||
else
|
|
||||||
printf "Only %d days left until Saint Patrick's day!\n" "$(( 17 - 10#$day ))"
|
read -r cur_{month,day} < <(date "+%m %d")
|
||||||
|
|
||||||
|
while IFS=, read -r ev_month ev_day ev celebrate sym; do
|
||||||
|
if (( 10#$cur_month == 10#$ev_month )); then
|
||||||
|
if (( 10#$cur_day < 10#$ev_day )); then
|
||||||
|
printf "Only %d days until %s!\n" "$(( 10#$ev_day - 10#$cur_day ))" "$ev"
|
||||||
|
elif (( 10#$cur_day == 10#$ev_day )); then
|
||||||
|
printf "%s %s!\n" "$celebrate" "${ev^}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
PS1_prompt_sym=🍀
|
PS1_prompt_sym=$sym
|
||||||
elif (( 10#$month == 10 )); then
|
|
||||||
if (( 31 - 10#$day == 0 )); then
|
|
||||||
printf 'Have a spooky halloween!\n'
|
|
||||||
else
|
|
||||||
printf 'Only %d days left until Halloween!\n' "$(( 31 - 10#$day ))"
|
|
||||||
fi
|
|
||||||
|
|
||||||
PS1_prompt_sym=🎃
|
|
||||||
elif (( 10#$month == 12 && 10#$day < 26 )); then
|
|
||||||
if (( 25 - 10#$day == 0 )); then
|
|
||||||
printf 'Merry Christmas!\n'
|
|
||||||
else
|
|
||||||
printf 'Only %d days left until Christmas!\n' "$(( 25 - 10#$day ))"
|
|
||||||
fi
|
|
||||||
|
|
||||||
PS1_prompt_sym=🌲
|
|
||||||
fi
|
fi
|
||||||
}
|
done <<< "$cal_events"
|
||||||
|
|
||||||
calendar-determine-holiday
|
|
||||||
|
|
Loading…
Reference in New Issue