summary refs log tree commit diff
path: root/bin/man1/when.1
blob: 3f2735f70015fa0f2a3c18af7d75a7a943f38b15 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
.Dd September 19, 2022
.Dt WHEN 1
.Os
.
.Sh NAME
.Nm when
.Nd date calculator
.
.Sh SYNOPSIS
.Nm
.Op Ar expr
.Nm
.Cm -
.
.Sh DESCRIPTION
.Nm
is a date calculator.
If no
.Ar expr
is given,
expressions are read
from standard input.
If
.Cm -
is given,
the intervals between each named date
and today are printed.
.
.Pp
The grammar is as follows:
.Bl -tag -width Ds
.It Sy \&.
Today's date.
The empty expression is equivalent.
.
.It Ar name Op Sy = Ar date
A named date.
Names are alphanumeric including underscores.
.
.It Ar month Ar date Op Ar year
A full date,
or a date in the current year.
Months can be abbreviated to three letters.
.
.It Ar day
A day of the week
in the current week.
Days can be abbreviated to three letters.
.
.It Sy < Ar date
The date one week before.
.
.It Sy > Ar date
The date one week after.
.
.It Ar date Sy + Ar interval
The date after some interval.
.
.It Ar date Sy - Ar interval
The date before some interval.
.
.It Ar date Sy - Ar date
The interval between two dates.
.
.It Ar num Sy d
A number of days.
.
.It Ar num Sy w
A number of weeks.
.
.It Ar num Sy m
A number of months.
.
.It Ar num Sy y
A number of years.
.El
.
.Sh FILES
The file
.Pa $XDG_CONFIG_HOME/when/dates
or
.Pa ~/.config/when/dates
is read before any other expressions,
if it exists.
.
.Sh EXAMPLES
.Bl -tag -width "Dec 25 - ."
.It Ic Dec 25 - \&.
How long until Christmas.
.It Ic >Fri
The date next Friday.
.It Ic \&. + 2w
Your last day at work.
.El
.Pp
Checking a milestone:
.Bd -literal -offset indent
$ echo 'hrt = oct 15 2021' >> ~/.config/when/dates
$ when -hrt
.Ed
t.c: Prepend "V" when guessing ref namesLukas Fleischer In cgit_print_snapshot_links() we strip leading "v" and "V", while we currently only prepend a lower case "v" when parsing a snapshot file name. This results in broken snapshot links for tags that start with an upper case "V". Avoid this by prepending a "V" as a fallback. Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de> 2013-04-10t0107: Skip ZIP tests if unzip(1) isn't availableLukas Fleischer Note that we cannot use skip_all here since some tests have already been executed when ZIP tests are reached. Use test prerequisites to skip everything using unzip(1) if the binary is not available instead. Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de> 2013-04-10tests/: Do not use `sed -i`Lukas Fleischer "-i" isn't part of the POSIX standard and doesn't work on several platforms such as OpenBSD. Use a temporary file instead. Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de> 2013-04-10Add branch-sort and repo.branch-sort options.Jason A. Donenfeld When set to "name", branches are sorted by name, which is the current default. When set to "age", branches are sorted by the age of the repository. This feature was requested by Konstantin Ryabitsev for use on kernel.org. Proposed-by: Konstantin Ryabitsev <mricon@kernel.org> 2013-04-10t0109: chain operations with &&John Keeping Without '&&' between operations, we will not detect if strace or cgit exit with an error status, which would cause a false positive test status in this case. Signed-off-by: John Keeping <john@keeping.me.uk> 2013-04-10cgit.c: Do not restore unset environment variablesLukas Fleischer getenv() returns a NULL pointer if the specified variable name cannot be found in the environment. However, some setenv() implementations crash if a NULL pointer is passed as second argument. Only restore variables that are not NULL. See commit d96d2c98ebc4c2d3765f5b35c4142e0e828a421b for a related patch. Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de> 2013-04-09t0107: Use `tar -z` for gzip'ed archivesLukas Fleischer