cal as preview
This commit is contained in:
parent
7cd8d0ffa8
commit
9558a1d593
55
src/main.sh
55
src/main.sh
@ -112,6 +112,13 @@ EOF
|
||||
EOF
|
||||
)
|
||||
export AWK_NEW
|
||||
|
||||
AWK_CAL=$(
|
||||
cat <<'EOF'
|
||||
@@include src/awk/cal.awk
|
||||
EOF
|
||||
)
|
||||
export AWK_CAL
|
||||
### END OF AWK SCRIPTS
|
||||
|
||||
## Colors
|
||||
@ -381,6 +388,52 @@ if [ "${1:-}" = "--preview" ]; then
|
||||
exit
|
||||
fi
|
||||
|
||||
if [ "${1:-}" = "--preview-week" ]; then
|
||||
sign=$(echo "$2" | cut -d '|' -f 1)
|
||||
if [ "$sign" = "+" ]; then
|
||||
startdate=$(echo "$2" | cut -d '|' -f 2)
|
||||
set -- $(date -d "$startdate" +"%Y %m %d")
|
||||
year=$1
|
||||
month=$2
|
||||
day=$3
|
||||
set -- $(date -d "today" +"%Y %m %d")
|
||||
year_cur=$1
|
||||
month_cur=$2
|
||||
day_cur=$3
|
||||
# Previous month
|
||||
if [ "$month" -eq 1 ]; then
|
||||
month_pre=12
|
||||
year_pre=$((year - 1))
|
||||
else
|
||||
month_pre=$((month - 1))
|
||||
year_pre=$year
|
||||
fi
|
||||
# Next month
|
||||
if [ "$month" -eq 12 ]; then
|
||||
month_nex=1
|
||||
year_nex=$((year + 1))
|
||||
else
|
||||
month_nex=$((month + 1))
|
||||
year_nex=$year
|
||||
fi
|
||||
# Highlight today
|
||||
if [ "$month_pre" -eq "$month_cur" ] && [ "$year_pre" -eq "$year_cur" ]; then
|
||||
var_pre=$day_cur
|
||||
fi
|
||||
if [ "$month" -eq "$month_cur" ] && [ "$year" -eq "$year_cur" ]; then
|
||||
var=$day_cur
|
||||
fi
|
||||
if [ "$month_nex" -eq "$month_cur" ] && [ "$year_nex" -eq "$year_cur" ]; then
|
||||
var_nex=$day_cur
|
||||
fi
|
||||
# show
|
||||
cal "$month_pre" "$year_pre" | awk -v cur="${var_pre:-}" "$AWK_CAL"
|
||||
cal "$month" "$year" | awk -v cur="${var:-}" -v day="$day" "$AWK_CAL"
|
||||
cal "$month_nex" "$year_nex" | awk -v cur="${var_nex:-}" "$AWK_CAL"
|
||||
fi
|
||||
exit
|
||||
fi
|
||||
|
||||
if [ "${1:-}" = "--delete" ]; then
|
||||
fpath=$(echo "$2" | cut -d '|' -f 4 | sed "s/ /|/g")
|
||||
if [ -n "$fpath" ]; then
|
||||
@ -480,6 +533,8 @@ selection=$(
|
||||
--ansi \
|
||||
--no-clear \
|
||||
--no-scrollbar \
|
||||
--preview-window=right,21 \
|
||||
--preview="$0 --preview-week {}" \
|
||||
--expect="ctrl-n" \
|
||||
--bind="load:pos($DISPLAY_POS)" \
|
||||
--bind="ctrl-u:become($0 --date '$DISPLAY_DATE_PREV')" \
|
||||
|
Loading…
Reference in New Issue
Block a user