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