mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-10-16 12:21:18 +02:00
23761: calendar -b shows brief output
This commit is contained in:
parent
91d714752c
commit
1a4e80df1b
3 changed files with 25 additions and 6 deletions
|
@ -1,3 +1,8 @@
|
|||
2007-08-16 Peter Stephenson <pws@csr.com>
|
||||
|
||||
* 23761: Doc/Zsh/calsys.yo, Functions/Calendar/calendar:
|
||||
calendar -b shows brief output.
|
||||
|
||||
2007-08-14 Peter Stephenson <pws@csr.com>
|
||||
|
||||
* 23759: Doc/Zsh/contrib.yo, Functions/MIME/pick-web-browser:
|
||||
|
|
|
@ -309,8 +309,8 @@ subsect(Calendar system functions)
|
|||
|
||||
startitem()
|
||||
findex(calendar)
|
||||
xitem(tt(calendar) [ tt(-adDsv) ] [ tt(-C) var(calfile) ] [ -n var(num) ] [ tt(-S) var(showprog) ] [ [ var(start) ] var(end) ])(
|
||||
item(tt(calendar -r) [ tt(-adDrsv) ] [ tt(-C) var(calfile) ] [ -n var(num) ] [ tt(-S) var(showprog) ] [ var(start) ])(
|
||||
xitem(tt(calendar) [ tt(-abdDsv) ] [ tt(-C) var(calfile) ] [ -n var(num) ] [ tt(-S) var(showprog) ] [ [ var(start) ] var(end) ])(
|
||||
item(tt(calendar -r) [ tt(-abdDrsv) ] [ tt(-C) var(calfile) ] [ -n var(num) ] [ tt(-S) var(showprog) ] [ var(start) ])(
|
||||
Show events in the calendar.
|
||||
|
||||
With no arguments, show events from the start of today until the end of
|
||||
|
@ -342,6 +342,10 @@ item(tt(-a))(
|
|||
Show all items in the calendar, regardless of the tt(start) and
|
||||
tt(end).
|
||||
)
|
||||
item(tt(-b))(
|
||||
Brief: don't display continuation lines (i.e. indented lines following
|
||||
the line with the date/time), just the first line.
|
||||
)
|
||||
item(tt(-C) var(calfile))(
|
||||
Explicitly specify a calendar file instead of the value of
|
||||
the tt(calendar-file) style or the the default tt(~/calendar).
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
emulate -L zsh
|
||||
setopt extendedglob
|
||||
|
||||
local line restline REPLY REPLY2 userange pruned nobackup datefmt
|
||||
local line showline restline REPLY REPLY2 userange pruned nobackup datefmt
|
||||
local calendar donefile sched newfile warnstr mywarnstr newdate
|
||||
integer time start stop today ndays y m d next=-1 shown done nodone
|
||||
integer verbose warntime mywarntime t tcalc tsched i rstat remaining
|
||||
integer showcount icount repeating repeattime resched showall
|
||||
integer showcount icount repeating repeattime resched showall brief
|
||||
local -a calendar_entries calendar_addlines
|
||||
local -a times calopts showprog lockfiles match mbegin mend
|
||||
|
||||
|
@ -101,6 +101,11 @@ while [[ ${argv[opti+1]} = -* ]]; do
|
|||
(( showall = 1 ))
|
||||
;;
|
||||
|
||||
(b)
|
||||
# Brief: don't show continuation lines
|
||||
(( brief = 1 ))
|
||||
;;
|
||||
|
||||
(d)
|
||||
# Move out of date items to the done file.
|
||||
(( done = 1 ))
|
||||
|
@ -284,16 +289,21 @@ fi
|
|||
fi
|
||||
fi
|
||||
(( shown = 0 ))
|
||||
if (( brief )); then
|
||||
showline=${line%%$'\n'*}
|
||||
else
|
||||
showline=$line
|
||||
fi
|
||||
if (( showall || (t >= start && (remaining || t <= stop || icount < showcount)) ))
|
||||
then
|
||||
$showprog $start $stop "$line"
|
||||
$showprog $start $stop "$showline"
|
||||
(( icount++ ))
|
||||
# Doesn't count as "shown" unless the event has now passed.
|
||||
(( t <= EPOCHSECONDS )) && (( shown = 1 ))
|
||||
elif [[ -n $sched ]]; then
|
||||
(( tsched = t - mywarntime ))
|
||||
if (( tsched >= start && tsched <= stop)); then
|
||||
$showprog $start $stop "due in ${mywarnstr}: $line"
|
||||
$showprog $start $stop "due in ${mywarnstr}: $showline"
|
||||
fi
|
||||
fi
|
||||
if [[ -n $sched ]]; then
|
||||
|
|
Loading…
Reference in a new issue