Replace roff man pages with asciidoctor

This replaces the generation of man pages on project setup
by a on-demand generation via asciidoctor.
An exception are the man pages for the commands `day`, `month`, and `week`
which are simply redirects to the man page `timew-chart.1`. Those are now
static files in the Timewarrior repository.

A CMake find module to detect asciidoctor was added.
If asciidoctor is found, the targets `doc`, `man1`, and `man7` are created.
Those targets are also added to the default build target.

If asciidoctor is not available, the target `doc` is available, but it only
emits a message to install asciidoctor first.

Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
This commit is contained in:
Thomas Lauf 2021-01-26 20:36:49 +01:00 committed by Thomas Lauf
parent 65ef38658b
commit b189ccb020
80 changed files with 1256 additions and 1527 deletions

View file

@ -5,6 +5,7 @@ set (HAVE_CMAKE true)
project (timew)
include (CXXSniffer)
include (FindAsciidoctor)
set (PROJECT_VERSION "1.4.2")
@ -31,10 +32,12 @@ set (PACKAGE_STRING "${PACKAGE} ${VERSION}")
string (TIMESTAMP PACKAGE_DATE "%Y-%m-%d")
if (FREEBSD OR DRAGONFLY)
SET (TIMEW_MANDIR man CACHE STRING "Installation directory for man pages")
SET (TIMEW_MAN1DIR man/man1 CACHE STRING "Installation directory for man pages, section 1")
SET (TIMEW_MAN5DIR man/man5 CACHE STRING "Installation directory for man pages, section 5")
SET (TIMEW_MAN7DIR man/man7 CACHE STRING "Installation directory for man pages, section 7")
else (FREEBSD OR DRAGONFLY)
SET (TIMEW_MANDIR share/man CACHE STRING "Installation directory for man pages")
SET (TIMEW_MAN1DIR share/man/man1 CACHE STRING "Installation directory for man pages, section 1")
SET (TIMEW_MAN5DIR share/man/man5 CACHE STRING "Installation directory for man pages, section 5")
SET (TIMEW_MAN7DIR share/man/man7 CACHE STRING "Installation directory for man pages, section 7")

View file

@ -0,0 +1,16 @@
message (CHECK_START "Detecting Asciidoctor")
FIND_PROGRAM(ASCIIDOCTOR_EXECUTABLE asciidoctor
PATHS "/usr/bin" "/usr/sbin")
MARK_AS_ADVANCED(ASCIIDOCTOR_EXECUTABLE)
if (ASCIIDOCTOR_EXECUTABLE)
message(CHECK_PASS "found")
message(DEBUG "Found executable ${ASCIIDOCTOR_EXECUTABLE}")
set(ASCIIDOCTOR_FOUND "YES")
else (ASCIIDOCTOR_EXECUTABLE)
message(CHECK_FAIL "not found")
message(NOTICE " Could not find Asciidoctor!")
set(ASCIIDOCTOR_FOUND "NO")
endif (ASCIIDOCTOR_EXECUTABLE)

View file

@ -5,47 +5,16 @@ message ("-- Configuring documentation")
add_subdirectory (holidays)
add_subdirectory (themes)
configure_file (man1/timew.1.in man1/timew.1)
configure_file (man1/timew-annotate.1.in man1/timew-annotate.1)
configure_file (man1/timew-cancel.1.in man1/timew-cancel.1)
configure_file (man1/timew-chart.1.in man1/timew-chart.1)
configure_file (man1/timew-config.1.in man1/timew-config.1)
configure_file (man1/timew-continue.1.in man1/timew-continue.1)
configure_file (man1/timew-day.1.in man1/timew-day.1)
configure_file (man1/timew-delete.1.in man1/timew-delete.1)
configure_file (man1/timew-diagnostics.1.in man1/timew-diagnostics.1)
configure_file (man1/timew-export.1.in man1/timew-export.1)
configure_file (man1/timew-extensions.1.in man1/timew-extensions.1)
configure_file (man1/timew-fill.1.in man1/timew-fill.1)
configure_file (man1/timew-gaps.1.in man1/timew-gaps.1)
configure_file (man1/timew-get.1.in man1/timew-get.1)
configure_file (man1/timew-help.1.in man1/timew-help.1)
configure_file (man1/timew-join.1.in man1/timew-join.1)
configure_file (man1/timew-lengthen.1.in man1/timew-lengthen.1)
configure_file (man1/timew-modify.1.in man1/timew-modify.1)
configure_file (man1/timew-month.1.in man1/timew-month.1)
configure_file (man1/timew-move.1.in man1/timew-move.1)
configure_file (man1/timew-report.1.in man1/timew-report.1)
configure_file (man1/timew-resize.1.in man1/timew-resize.1)
configure_file (man1/timew-shorten.1.in man1/timew-shorten.1)
configure_file (man1/timew-show.1.in man1/timew-show.1)
configure_file (man1/timew-split.1.in man1/timew-split.1)
configure_file (man1/timew-start.1.in man1/timew-start.1)
configure_file (man1/timew-stop.1.in man1/timew-stop.1)
configure_file (man1/timew-summary.1.in man1/timew-summary.1)
configure_file (man1/timew-tag.1.in man1/timew-tag.1)
configure_file (man1/timew-tags.1.in man1/timew-tags.1)
configure_file (man1/timew-track.1.in man1/timew-track.1)
configure_file (man1/timew-undo.1.in man1/timew-undo.1)
configure_file (man1/timew-untag.1.in man1/timew-untag.1)
configure_file (man1/timew-week.1.in man1/timew-week.1)
if (ASCIIDOCTOR_FOUND)
set (ASCIIDOCTOR_OPTIONS "--attribute=manmanual=User Manuals"
"--attribute=mansource=timew ${PROJECT_VERSION}"
"--attribute=man-linkstyle='pass:[blue R < >]'")
configure_file (man7/timew-config.7.in man7/timew-config.7)
configure_file (man7/timew-dates.7.in man7/timew-dates.7)
configure_file (man7/timew-dom.7.in man7/timew-dom.7)
configure_file (man7/timew-durations.7.in man7/timew-durations.7)
configure_file (man7/timew-hints.7.in man7/timew-hints.7)
configure_file (man7/timew-ranges.7.in man7/timew-ranges.7)
add_subdirectory (man1)
add_subdirectory (man7)
install (DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/man1/ DESTINATION ${TIMEW_MAN1DIR} FILES_MATCHING PATTERN "*.1")
install (DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/man7/ DESTINATION ${TIMEW_MAN7DIR} FILES_MATCHING PATTERN "*.7")
add_custom_target (doc ALL DEPENDS man1 man7)
else (ASCIIDOCTOR_FOUND)
add_custom_target (doc ALL
COMMAND echo "Tool 'asciidoctor' is required to generate man pages! Please install it first.")
endif (ASCIIDOCTOR_FOUND)

3
doc/man1/.gitignore vendored
View file

@ -1 +1,4 @@
*.[0-9]
!timew-day.1
!timew-month.1
!timew-week.1

21
doc/man1/CMakeLists.txt Normal file
View file

@ -0,0 +1,21 @@
cmake_minimum_required (VERSION 2.8.12)
file (GLOB DOC_SOURCES "${CMAKE_CURRENT_BINARY_DIR}/*.1.adoc")
set (DOC_FILES)
foreach (SRC ${DOC_SOURCES})
string (REPLACE ".adoc" "" OUTPUT_FILE_NAME "${SRC}")
add_custom_command (
OUTPUT "${OUTPUT_FILE_NAME}"
COMMAND ${ASCIIDOCTOR_EXECUTABLE} -b manpage ${ASCIIDOCTOR_OPTIONS} ${SRC} -o ${OUTPUT_FILE_NAME}
DEPENDS "${SRC}")
set (DOC_FILES ${DOC_FILES} "${OUTPUT_FILE_NAME}")
endforeach (SRC)
add_custom_target (man1 DEPENDS ${DOC_FILES})
install (DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
DESTINATION ${TIMEW_MANDIR}
FILES_MATCHING PATTERN "*.1")

View file

@ -1,50 +1,44 @@
.TH timew-annotate 1 "${PACKAGE_DATE}" "${PACKAGE_STRING}" "User Manuals"
.
.SH NAME
timew-annotate \- add an annotation to intervals
.
.SH SYNOPSIS
.B timew annotate
[
.I <id>
.B ...
]
.I <annotation>
.B ...
.
.SH DESCRIPTION
= timew-annotate(1)
== NAME
timew-annotate - add an annotation to intervals
== SYNOPSIS
[verse]
*timew annotate* [_<id>_**...**] _<annotation>_**...**
== DESCRIPTION
The 'annotate' command is used to add an annotation to an interval.
Using the 'summary' command, and specifying the ':ids' hint shows interval IDs.
Using the right ID, you can identify an interval to annotate.
.
.SH EXAMPLES
== EXAMPLES
For example, show the IDs:
.RS
$ timew summary :week :ids
.RE
$ timew summary :week :ids
Then having selected '@2' as the interval you wish to annotate:
.RS
$ timew annotate @2 'Lorem ipsum...'
.RE
$ timew annotate @2 'Lorem ipsum...'
Note that you can annotate multiple intervals with the same annotation:
.RS
$ timew annotate @2 @10 @23 'Lorem ipsum dolor sit amet...'
.RE
$ timew annotate @2 @10 @23 'Lorem ipsum dolor sit amet...'
If there is active time tracking, you can omit the ID when you want to add annotations to the current open interval:
.RS
$ timew start foo
.br
$ timew annotate bar
.RE
$ timew start foo
$ timew annotate bar
This results in the current interval having annotations 'foo' and 'bar'.
.
.SH BUGS
== BUGS
Currently the annotation command picks the last token from the command line and uses it as annotation.
I.e. using no quotes in an annotation command like
.RS
$ timew annotate @1 lorem ipsum dolor
.RE
$ timew annotate @1 lorem ipsum dolor
will result in interval @1 having only 'dolor' as its annotation.
.
.SH "SEE ALSO"
.BR timew-tag (1)
== SEE ALSO
**timew-tag**(1)

View file

@ -0,0 +1,37 @@
= timew-cancel(1)
== NAME
timew-cancel - cancel time tracking
== SYNOPSIS
[verse]
*timew cancel*
== DESCRIPTION
If there is an open interval, it is abandoned.
== EXAMPLES
*Cancel with active time tracking*::
+
$ timew start
...
$ timew cancel
Canceled active time tracking.
This deletes the open interval.
*Cancel with no active time tracking*::
+
...
$ timew stop
$ timew cancel
There is no active time tracking.
Cancel has no effect, only a warning is printed.
== SEE ALSO
**timew-continue**(1),
**timew-start**(1),
**timew-stop**(1),
**timew-track**(1)

View file

@ -1,45 +0,0 @@
.TH timew-cancel 1 "${PACKAGE_DATE}" "${PACKAGE_STRING}" "User Manuals"
.
.SH NAME
timew-cancel \- cancel time tracking
.
.SH SYNOPSIS
.B timew cancel
.
.SH DESCRIPTION
If there is an open interval, it is abandoned.
.
.SH EXAMPLES
.TP
.B Cancel with active time tracking
.RS
.br
$ timew start
.br
...
.br
$ timew cancel
.br
Canceled active time tracking.
.RE
.
This deletes the open interval.
.TP
.B Cancel with no active time tracking
.RS
.br
...
.br
$ timew stop
.br
$ timew cancel
.br
There is no active time tracking.
.RE
Cancel has no effect, only a warning is printed.
.
.SH "SEE ALSO"
.BR timew-continue (1),
.BR timew-start (1),
.BR timew-stop (1),
.BR timew-track (1)

View file

@ -1,183 +1,111 @@
.TH timew-chart 1 "${PACKAGE_DATE}" "${PACKAGE_STRING}" "User Manuals"
.
.SH NAME
timew-chart \- display chart report
.
.SH SYNOPSIS
.B timew day
[
.I <range>
] [
.I <tag>
.B ...
]
.br
.B timew month
[
.I <range>
] [
.I <tag>
.B ...
]
.br
.B timew week
[
.I <range>
] [
.I <tag>
.B ...
]
.
.SH DESCRIPTION
= timew-chart(1)
== NAME
timew-chart - display chart report
== SYNOPSIS
[verse]
*timew day* [_<range>_] [_<tag>_**...**]
*timew month* [_<range>_] [_<tag>_**...**]
*timew week* [_<range>_] [_<tag>_**...**]
== DESCRIPTION
A chart summarizes the tracked and untracked time with colored blocks drawn on a timeline.
It accepts date ranges and tags for filtering.
There are three types:
.BR day ", " week ", and " month
with their respective commands.
The
.BI reports. <type> .range
configuration setting overrides the default date range.
There are three types: *day*, *week*, and *month* with their respective commands.
The **reports.**__<type>__**.range** configuration setting overrides the default date range.
For more details, and precise times, use the 'summary' report.
.TP
.B month
*month*::
The month command shows a chart depicting a single month (current month by default).
The default date range shown is
.BR :month .
.
.TP
.B week
The default date range shown is *:month*.
*week*::
The week command shows a chart depicting a single week (current week by default).
The default date range shown is
.BR :week .
.
.TP
.B day
The default date range shown is *:week*.
*day*::
The day command shows a chart depicting a single day (today by default).
The default date range shown is
.BR :day .
.
.SH CONFIGURATION
.IR <type> " is one of"
.BR month ", " week ", " day "."
.TP
.BI reports. <type> .cell
.RS
The default date range shown is *:day*.
== CONFIGURATION
_<type>_ is one of **month**, **week**, **day**.
**reports.**__<type>__**.cell**::
Determines how many minutes are represented by a single character cell, for the charts.
The value must be greater than '0'.
A value of '15' means that an hour is represented by 60/15, or 4 character cells.
Suitable values are the divisors of 60 (30, 20, 15, 12, ...).
.br
Default value is '15'.
.RE
.TP
.BI reports. <type> .day
.RS
**reports.**__<type>__**.day**::
Determines whether the current day of the month is shown at left margin.
.br
Default value is 'yes'.
.RE
.TP
.BI reports. <type> .holidays
.RS
**reports.**__<type>__**.holidays**::
Determines whether relevant holidays are shown beneath the report.
.br
Default value is 'yes'.
.RE
.TP
.BI reports. <type> .hours
.RS
**reports.**__<type>__**.hours**::
Determines how the <type> report shows all the hours in a day ('all'), or is limited to only hours where data is tracked ('auto').
.br
Default value is 'all'.
.RE
.TP
.BI reports. <type> .lines
.RS
**reports.**__<type>__**.lines**::
Determines how many lines are used to render each day on the <type> report.
.br
Default value is '1'.
.RE
.TP
.BI reports. <type> .month
.RS
**reports.**__<type>__**.month**::
Determines whether the current month is shown at left margin.
.br
Default value is 'yes'.
.RE
.TP
.BI reports. <type> .range
.RS
**reports.**__<type>__**.range**::
For reports that show a range of data, this setting will override the default value.
The value should be a range hint, see
.BR timew-hints (7).
.RE
.TP
.BI reports. <type> .spacing
.RS
**timew-hints**(7).
**reports.**__<type>__**.spacing**::
Specifies how many spaces are inserted between the hours in the <type> report exclusions.
A value of '0' yields a more compact report.
.br
Default value is '1'.
.RE
.TP
.BI reports. <type> .axis
.RS
**reports.**__<type>__**.axis**::
The value 'internal' puts the hour markers (time line at the top) inside the exclusion blocks, 'external' puts the hour markers in a separate line; additional values might be defined in the future.
.br
Default is 'internal' for the day report and 'external' for other reports.
.br
.RE
.TP
.BI reports. <type> .summary
.RS
**reports.**__<type>__**.summary**::
Determines whether the hours summary is shown.
.br
Default value is 'on'.
.RE
.TP
.BI reports. <type> .totals
.RS
**reports.**__<type>__**.totals**::
Determines whether the time totals are shown for each day on the report.
.br
Default value is 'on'.
.RE
.TP
.BI reports. <type> .week
.RS
**reports.**__<type>__**.week**::
Determines whether the current week number is shown at left margin.
.br
Default value is 'yes'.
.RE
.TP
.BI reports. <type> .weekday
.RS
**reports.**__<type>__**.weekday**::
Determines whether the current weekday is shown at left margin.
.br
Default value is 'yes'.
.RE
.
.SH HINTS
.TP
.B :blank
== HINTS
*:blank*::
The ':blank' hint causes only the excluded time to be shown, with no tracked time.
This can be used to see the exclusions.
.TP
.B :ids
*:ids*::
The ':ids' hint causes the intervals to be displayed with their ids
.
.SH EXAMPLES
== EXAMPLES
Charts accept date ranges and tags for filtering, or shortcut hints:
.RS
$ timew month 1st - today
.br
$ timew week FOO BAR
.br
$ timew day :week
.RE
.
.SH "SEE ALSO"
.BR timew-day (1),
.BR timew-month (1),
.BR timew-summary (1),
.BR timew-week (1)
$ timew month 1st - today
$ timew week FOO BAR
$ timew day :week
== SEE ALSO
**timew-day**(1),
**timew-month**(1),
**timew-summary**(1),
**timew-week**(1)

View file

@ -1,49 +1,37 @@
.TH timew-config 1 "${PACKAGE_DATE}" "${PACKAGE_STRING}" "User Manuals"
.
.SH NAME
timew-config \- get and set Timewarrior configuration
.
.SH SYNOPSIS
.B timew config
[
.I <name>
{
.I <value>
|
.B ''
}
]
.
.SH DESCRIPTION
= timew-config(1)
== NAME
timew-config - get and set Timewarrior configuration
== SYNOPSIS
[verse]
*timew config* [_<name>_ {_<value>_|*''*}]
== DESCRIPTION
Allows setting and removing configuration values, as an alternative to directly editing your ~/.timewarrior/timewarrior.cfg file.
.
.SH EXAMPLES
== EXAMPLES
For example:
.RS
$ timew config verbose yes
.br
$ timew config verbose ''
.br
$ timew config verbose
.RE
$ timew config verbose yes
$ timew config verbose ''
$ timew config verbose
The first command sets 'verbose' to 'yes'.
The second sets it to a blank value which overrides the default value.
The third example deletes the 'verbose' setting.
.
When modifying configuration in this way, interactive confirmation will be sought.
To override this confirmation, use the ':yes' hint, which means you intend to answer 'yes' to the confirmation questions:
.RS
$ timew config verbose '' :yes
.RE
$ timew config verbose '' :yes
If no arguments are provided, all configuration settings are shown:
.RS
$ timew config
.br
verbose = yes
.br
...
.RE
.
.SH "SEE ALSO"
.BR timew-hints (1),
.BR timew-show (1)
$ timew config
verbose = yes
...
== SEE ALSO
**timew-hints**(1),
**timew-show**(1)

View file

@ -0,0 +1,82 @@
= timew-continue(1)
== NAME
timew-continue - resume tracking of existing interval
== SYNOPSIS
[verse]
*timew continue* [_<id>_|_<tag>_**...**] [_<datetime>_|_<range>_]
== DESCRIPTION
The 'continue' command is used to resume tracking specified by a closed interval.
This command is a convenient way to resume work without re-entering the tags.
The interval to be resumed can be specified either by its id or by a set of tags.
Specifying multiple ids or both ids and tags will result in an error.
When given a set of tags, the first interval matching it will be taken as a blueprint for the new interval.
When given neither id nor tags, the first interval in the database is taken.
When no datetime or range given, the new interval is started at the current time.
== EXAMPLES
Using the 'summary' command and specifying the ':ids' hint shows interval IDs.
Consider the following intervals:
$ src/timew summary :ids
Wk Date Day ID Tags Start End Time Total
W23 2020-06-04 Thu @4 BAR 13:00:00 14:00:00 1:00:00
@3 BAR, FOO 14:00:00 15:00:00 1:00:00
@2 BAR, BAZ, FOO 15:00:00 16:00:00 1:00:00
@1 FOO 16:00:00 17:00:00 1:00:00 4:00:00
4:00:00
Simple continue::
+
$ timew continue
The 'continue' command creates a new open interval, starting now, with tag 'FOO'
Continue an interval via id::
+
$ timew continue @3
The 'continue' command creates a new open interval, starting now, with tags 'BAR' and 'FOO'.
Continue an interval via tag set::
+
$ timew continue FOO BAR
The 'continue' command creates a new open interval, starting now, with tags 'FOO', 'BAR', and 'BAZ'.
Note that the first matching interval (here '@2') is taken as a blueprint for the new interval, although '@3' would have been a perfect match for the given tag set.
The command 'timew continue BAR' would have the same effect.
This means that there is no way to continue '@4' via a tag set.
Continue an interval at a specific date & time::
+
$ timew continue @4 19:00 (1)
$ timew continue FOO 19:00 (2)
The 'continue' command creates a new open interval
1. with tag 'BAR' (as specified by '@4') and start time '19:00'.
2. with tag 'FOO' (as specified by '@1') and start time '19:00'.
Continue an interval with a specific range::
+
$ timew continue @4 19:00 - 20:00 (1)
$ timew continue FOO 19:00 - 20:00 (2)
The 'continue' command creates a new closed interval
1. with tag 'BAR' (as specified by '@4'), start time '19:00', and end time '20:00'.
2. with tag 'FOO' (as specified by '@1') and start time '19:00', and end time '20:00'.
== SEE ALSO
**timew-cancel**(1),
**timew-start**(1),
**timew-stop**(1),
**timew-track**(1)

View file

@ -1,122 +0,0 @@
.TH timew-continue 1 "${PACKAGE_DATE}" "${PACKAGE_STRING}" "User Manuals"
.
.SH NAME
timew-continue \- resume tracking of existing interval
.
.SH SYNOPSIS
.B timew continue
[
.I <id>
|
.I <tag>
.B ...
] [
.I <datetime>
|
.I <range>
]
.
.SH DESCRIPTION
The 'continue' command is used to resume tracking specified by a closed interval.
This command is a convenient way to resume work without re-entering the tags.
.PP
The interval to be resumed can be specified either by its id or by a set of tags.
Specifying multiple ids or both ids and tags will result in an error.
.PP
When given a set of tags, the first interval matching it will be taken as a blueprint for the new interval.
When given neither id nor tags, the first interval in the database is taken.
.PP
When no datetime or range given, the new interval is started at the current time.
.
.SH EXAMPLES
Using the 'summary' command and specifying the ':ids' hint shows interval IDs.
Consider the following intervals:
.RS
.sp
$ src/timew summary :ids
Wk Date Day ID Tags Start End Time Total
.br
W23 2020-06-04 Thu @4 BAR 13:00:00 14:00:00 1:00:00
.br
@3 BAR, FOO 14:00:00 15:00:00 1:00:00
.br
@2 BAR, BAZ, FOO 15:00:00 16:00:00 1:00:00
.br
@1 FOO 16:00:00 17:00:00 1:00:00 4:00:00
.br
.br
4:00:00
.br
.RE
.sp
.TP
Simple continue
.RS
.sp
$ timew continue
.RE
.sp
The 'continue' command creates a new open interval, starting now, with tag 'FOO'
.TP
Continue an interval via id:
.RS
.sp
$ timew continue @3
.RE
.sp
The 'continue' command creates a new open interval, starting now, with tags 'BAR' and 'FOO'.
.TP
Continue an interval via tag set:
.RS
.sp
$ timew continue FOO BAR
.RE
.sp
The 'continue' command creates a new open interval, starting now, with tags 'FOO', 'BAR', and 'BAZ'.
.PP
Note that the first matching interval (here '@2') is taken as a blueprint for the new interval, although '@3' would have been a perfect match for the given tag set.
The command 'timew continue BAR' would have the same effect.
This means that there is no way to continue '@4' via a tag set.
.TP
Continue an interval at a specific date & time:
.RS
.sp
$ timew continue @4 19:00
.B " (1)"
.br
$ timew continue FOO 19:00
.B (2)
.RE
.sp
The 'continue' command creates a new open interval
.br
.IP 1.
with tag 'BAR' (as specified by '@4') and start time '19:00'.
.br
.IP 2.
with tag 'FOO' (as specified by '@1') and start time '19:00'.
.TP
Continue an interval with a specific range:
.RS
.sp
$ timew continue @4 19:00 - 20:00
.B " (1)"
.br
$ timew continue FOO 19:00 - 20:00
.B (2)
.RE
.sp
The 'continue' command creates a new closed interval
.IP 1.
with tag 'BAR' (as specified by '@4'), start time '19:00', and end time '20:00'.
.br
.IP 2.
with tag 'FOO' (as specified by '@1') and start time '19:00', and end time '20:00'.
.
.SH "SEE ALSO"
.BR timew-cancel (1),
.BR timew-start (1),
.BR timew-stop (1),
.BR timew-track (1)

1
doc/man1/timew-day.1 Normal file
View file

@ -0,0 +1 @@
.so man1/timew-chart.1

View file

@ -0,0 +1,26 @@
= timew-delete(1)
== NAME
timew-delete - delete intervals
== SYNOPSIS
[verse]
*timew delete* _<id>_**...**
== DESCRIPTION
Deletes an interval.
Using the 'summary' command, and specifying the ':ids' hint shows interval IDs.
Using the right ID, you can identify an interval to delete.
== EXAMPLES
For example, show the IDs:
$ timew summary :week :ids
Then having selected '@2' as the interval you wish to delete:
$ timew delete @2
== SEE ALSO
*timew-cancel*(1)

View file

@ -1,27 +0,0 @@
.TH timew-delete 1 "${PACKAGE_DATE}" "${PACKAGE_STRING}" "User Manuals"
.
.SH NAME
timew-delete \- delete intervals
.
.SH SYNOPSIS
.B timew delete
.I <id>
.B ...
.
.SH DESCRIPTION
Deletes an interval.
Using the 'summary' command, and specifying the ':ids' hint shows interval IDs.
Using the right ID, you can identify an interval to delete.
.
.SH EXAMPLES
For example, show the IDs:
.RS
$ timew summary :week :ids
.RE
Then having selected '@2' as the interval you wish to delete:
.RS
$ timew delete @2
.RE
.
.SH "SEE ALSO"
.BR timew-cancel

View file

@ -1,14 +1,16 @@
.TH timew-diagnostics 1 "${PACKAGE_DATE}" "${PACKAGE_STRING}" "User Manuals"
.
.SH NAME
timew-diagnostics \- show diagnostic information
.
.SH SYNOPSIS
.B timew diagnostics
.
.SH DESCRIPTION
= timew-diagnostics(1)
== NAME
timew-diagnostics - show diagnostic information
== SYNOPSIS
[verse]
*timew diagnostics*
== DESCRIPTION
This command shows details about your version of Timewarrior, your platform, how it was built, compiler features, configuration, file access, extensions and more.
The purpose of this command is to help diagnose configuration problems and provide supplemental information when reporting a problem.
.
.SH "SEE ALSO"
.BR timew-extensions (1)
== SEE ALSO
**timew-extensions**(1)

View file

@ -0,0 +1,17 @@
= timew-export(1)
== NAME
timew-export - export tracked time in JSON
== SYNOPSIS
[verse]
*timew export* [_<range>_] [_<tag>_**...**]
== DESCRIPTION
Exports all the tracked time in JSON format.
Supports filtering.
== EXAMPLES
For example:
$ timew export from 2016-01-01 for 3wks tag1

View file

@ -1,22 +0,0 @@
.TH timew-export 1 "${PACKAGE_DATE}" "${PACKAGE_STRING}" "User Manuals"
.
.SH NAME
timew-export \- export tracked time in JSON
.
.SH SYNOPSIS
.B timew export
[
.I <range>
] [
.I <tag> ...
]
.
.SH DESCRIPTION
Exports all the tracked time in JSON format.
Supports filtering.
.
.SH EXAMPLES
For example:
.RS
$ timew export from 2016-01-01 for 3wks tag1
.RE

View file

@ -0,0 +1,14 @@
= timew-extensions(1)
== NAME
timew-extensions - list available extensions
== SYNOPSIS
[verse]
*timew extensions*
== DESCRIPTION
Displays the directory containing the extension programs and a table showing each extension and its status.
== SEE ALSO
**timew-diagnostics**(1)

View file

@ -1,13 +0,0 @@
.TH timew-extensions 1 "${PACKAGE_DATE}" "${PACKAGE_STRING}" "User Manuals"
.
.SH NAME
timew-extensions \- list available extensions
.
.SH SYNOPSIS
.B timew extensions
.
.SH DESCRIPTION
Displays the directory containing the extension programs and a table showing each extension and its status.
.
.SH "SEE ALSO"
.BR timew-diagnostics (1)

View file

@ -1,31 +1,30 @@
.TH timew-fill 1 "${PACKAGE_DATE}" "${PACKAGE_STRING}" "User Manuals"
.
.SH NAME
timew-fill \- adjust intervals to fill in surrounding gaps
.
.SH SYNOPSIS
.B timew fill
.I <id>
.B ...
.
.SH DESCRIPTION
= timew-fill(1)
== NAME
timew-fill - adjust intervals to fill in surrounding gaps
== SYNOPSIS
[verse]
*timew fill* _<id>_**...**
== DESCRIPTION
The 'fill' command is used to adjust any interval to fill in surrounding gaps.
Using the 'summary' command, and specifying the ':ids' hint shows interval IDs.
Using the right ID, you can identify an interval to fill.
.
.SH EXAMPLES
== EXAMPLES
For example, show the IDs:
.RS
$ timew summary :week :ids
.RE
$ timew summary :week :ids
Then having selected '@2' as the interval you wish to fill:
.RS
$ timew fill @2
.RE
$ timew fill @2
Note that you can fill multiple intervals:
.RS
$ timew fill @2 @10 @23
.RE
.
.SH "SEE ALSO"
.BR timew-hints (1)
$ timew fill @2 @10 @23
== SEE ALSO
**timew-hints**(1)

View file

@ -1,34 +1,25 @@
.TH timew-gaps 1 "${PACKAGE_DATE}" "${PACKAGE_STRING}" "User Manuals"
.
.SH NAME
timew-gaps \- display time tracking gaps
.
.SH SYNOPSIS
.B timew gaps
[
.I <range>
] [
.I <tag>
.B ...
]
.
.SH DESCRIPTION
= timew-gaps(1)
== NAME
timew-gaps - display time tracking gaps
== SYNOPSIS
[verse]
*timew gaps* [_<range>_] [_<tag>_**...**]
== DESCRIPTION
Displays a summary of time that is neither tracked nor excluded from tracking.
.
The 'reports.gaps.range' configuration setting overrides the default date range.
The ':blank' hint causes only the excluded time to be shown, with no tracked time.
The default date range shown is ':day'.
.
The ':blank' hint causes only the excluded time to be shown, with no tracked time.
.
.SH CONFIGURATION
.TP
.B reports.gaps.range
.RS
== CONFIGURATION
**reports.gaps.range**::
For reports that show a range of data, this setting will override the default value.
The value should be a range hint, see
.BR timew-hints (7).
.RE
.
.SH "SEE ALSO"
.BR timew-summary (1)
The value should be a range hint, see **timew-hints**(7).
== SEE ALSO
**timew-summary**(1)

22
doc/man1/timew-get.1.adoc Normal file
View file

@ -0,0 +1,22 @@
= timew-get(1)
== NAME
timew-get - display DOM values
== SYNOPSIS
[verse]
*timew get* _<DOM>_**...**
== DESCRIPTION
Validates the DOM reference, then obtains the value and displays it.
== EXAMPLES
For example:
$ timew get dom.active
1
It is an error to reference an interval or tag that does not exist.
== SEE ALSO
*timew-DOM*

View file

@ -1,23 +0,0 @@
.TH timew-get 1 "${PACKAGE_DATE}" "${PACKAGE_STRING}" "User Manuals"
.
.SH NAME
timew-get \- display DOM values
.
.SH SYNOPSIS
.B timew get
.I <DOM>
.B ...
.
.SH DESCRIPTION
Validates the DOM reference, then obtains the value and displays it.
.
.SH EXAMPLES
For example:
.RS
$ timew get dom.active
1
.RE
It is an error to reference an interval or tag that does not exist.
.
.SH "SEE ALSO"
.BR timew-DOM

View file

@ -0,0 +1,22 @@
= timew-help(1)
== NAME
timew-help - display help
== SYNOPSIS
[verse]
*timew help* {_<command>_|*interval*|*hints*|*date*|*duration*}
== DESCRIPTION
The help command shows detailed descriptions and examples of commands, interval syntax, supported hints, date and duration formats and DOM references.
== EXAMPLES
For example:
$ timew help
$ timew help start
$ timew help hints
$ timew help interval
$ timew help date
$ timew help duration
$ timew help dom

View file

@ -1,39 +0,0 @@
.TH timew-help 1 "${PACKAGE_DATE}" "${PACKAGE_STRING}" "User Manuals"
.
.SH NAME
timew-help \- display help
.
.SH SYNOPSIS
.B timew help
{
.I <command>
|
.B interval
|
.B hints
|
.B date
|
.B duration
}
.
.SH DESCRIPTION
The help command shows detailed descriptions and examples of commands, interval syntax, supported hints, date and duration formats and DOM references.
.
.SH EXAMPLES
For example:
.RS
$ timew help
.br
$ timew help start
.br
$ timew help hints
.br
$ timew help interval
.br
$ timew help date
.br
$ timew help duration
.br
$ timew help dom
.RE

View file

@ -1,29 +1,28 @@
.TH timew-join 1 "${PACKAGE_DATE}" "${PACKAGE_STRING}" "User Manuals"
.
.SH NAME
timew-join \- join intervals
.
.SH SYNOPSIS
.B timew join
.I <id> <id>
.
.SH DESCRIPTION
= timew-join(1)
== NAME
timew-join - join intervals
== SYNOPSIS
[verse]
*timew join* _<id> <id>_
== DESCRIPTION
Joins two intervals, by using the earlier of the two start times, and the later of the two end times, and the combined set of tags.
Using the 'summary' command, and specifying the ':ids' hint shows interval IDs.
Using the correct IDs, you can identify an intervals to join.
.
.SH EXAMPLES
== EXAMPLES
For example, show the IDs:
.RS
$ timew summary :week :ids
.RE
$ timew summary :week :ids
Then having selected '@1' and '@2' as the intervals you wish to join:
.RS
$ timew join @1 @2
.RE
.
.SH "SEE ALSO"
.BR timew-lengthen (1),
.BR timew-resize (1),
.BR timew-shorten (1),
.BR timew-split (1)
$ timew join @1 @2
== SEE ALSO
**timew-lengthen**(1),
**timew-resize**(1),
**timew-shorten**(1),
**timew-split**(1)

View file

@ -0,0 +1,34 @@
= timew-lengthen(1)
== NAME
timew-lengthen - lengthen intervals
== SYNOPSIS
[verse]
*timew lengthen* _<id>_**...** _<duration>_
== DESCRIPTION
The 'lengthen' command is used to defer the end date of a closed interval.
Using the 'summary' command, and specifying the ':ids' hint shows interval IDs.
Using the right ID, you can identify an interval to lengthen.
== EXAMPLES
For example, show the IDs:
$ timew summary :week :ids
Then having selected '@2' as the interval you wish to lengthen:
$ timew lengthen @2 10mins
Note that you can lengthen multiple intervals,:
$ timew lengthen @2 @10 @23 1hour
== SEE ALSO
**timew-modify**(1),
**timew-resize**(1),
**timew-shorten**(1),
**timew-summary**(1),
**timew-tag**(1),
**timew-untag**(1)

View file

@ -1,37 +0,0 @@
.TH timew-lengthen 1 "${PACKAGE_DATE}" "${PACKAGE_STRING}" "User Manuals"
.
.SH NAME
timew-lengthen \- lengthen intervals
.
.SH SYNOPSIS
.B timew lengthen
.I <id>
.B ...
.I <duration>
.
.SH DESCRIPTION
The 'lengthen' command is used to defer the end date of a closed interval.
Using the 'summary' command, and specifying the ':ids' hint shows interval IDs.
Using the right ID, you can identify an interval to lengthen.
.
.SH EXAMPLES
For example, show the IDs:
.RS
$ timew summary :week :ids
.RE
Then having selected '@2' as the interval you wish to lengthen:
.RS
$ timew lengthen @2 10mins
.RE
Note that you can lengthen multiple intervals,:
.RS
$ timew lengthen @2 @10 @23 1hour
.RE
.
.SH "SEE ALSO"
.BR timew-modify (1),
.BR timew-resize (1),
.BR timew-shorten (1),
.BR timew-summary (1),
.BR timew-tag (1),
.BR timew-untag (1)

View file

@ -0,0 +1,30 @@
= timew-modify(1)
== NAME
timew-modify - change start or end date of an interval
== SYNOPSIS
[verse]
*timew modify* (*start*|*end*) _<id>_ _<date>_
== DESCRIPTION
The 'modify' command is used to change the start or end date of an interval.
Using the 'summary' command, and specifying the ':ids' hint shows interval IDs.
Using the right ID, you can identify an interval to modify.
== EXAMPLES
For example, show the IDs:
$ timew summary :week :ids
Then having selected '@3' as the interval you wish to modify:
$ timew modify end @3 2020-12-28T17:00:00
== SEE ALSO
**timew-lengthen**(1),
**timew-move**(1),
**timew-resize**(1)
**timew-shorten**(1),
**timew-summary**(1)

View file

@ -1,36 +0,0 @@
.TH timew-modify 1 "${PACKAGE_DATE}" "${PACKAGE_STRING}" "User Manuals"
.
.SH NAME
timew-modify \- change start or end date of an interval
.
.SH SYNOPSIS
.B timew modify (
.I start
|
.I end
)
.I <id>
.I <date>
.
.SH DESCRIPTION
The 'modify' command is used to change the start or end date of an interval.
Using the 'summary' command, and specifying the ':ids' hint shows interval IDs.
Using the right ID, you can identify an interval to modify.
.
.SH EXAMPLES
For example, show the IDs:
.RS
$ timew summary :week :ids
.RE
.PP
Then having selected '@3' as the interval you wish to modify:
.RS
$ timew modify end @3 "${PACKAGE_DATE}"T17:00:00
.RE
.
.SH "SEE ALSO"
.BR timew-lengthen (1),
.BR timew-move (1),
.BR timew-resize (1)
.BR timew-shorten (1),
.BR timew-summary (1)

1
doc/man1/timew-month.1 Normal file
View file

@ -0,0 +1 @@
.so man1/timew-chart.1

View file

@ -0,0 +1,31 @@
= timew-move(1)
== NAME
timew-move - change interval start-time
== SYNOPSIS
[verse]
*timew move* _<id>_ _<date>_
== DESCRIPTION
The 'move' command is used to reposition an interval at a new start time.
Using the 'summary' command, and specifying the ':ids' hint shows interval IDs.
Using the right ID, you can identify an interval to move.
== EXAMPLES
For example, show the IDs:
$ timew summary :week :ids
Then having selected '@2' as the interval you wish to move:
$ timew move @2 9am
== SEE ALSO
**timew-lengthen**(1),
**timew-modify**(1),
**timew-resize**(1),
**timew-shorten**(1),
**timew-summary**(1),
**timew-tag**(1),
**timew-untag**(1)

View file

@ -1,32 +0,0 @@
.TH timew-move 1 "${PACKAGE_DATE}" "${PACKAGE_STRING}" "User Manuals"
.
.SH NAME
timew-move \- change interval start-time
.
.SH SYNOPSIS
.B timew move
.I <id> <date>
.
.SH DESCRIPTION
The 'move' command is used to reposition an interval at a new start time.
Using the 'summary' command, and specifying the ':ids' hint shows interval IDs.
Using the right ID, you can identify an interval to move.
.
.SH EXAMPLES
For example, show the IDs:
.RS
$ timew summary :week :ids
.RE
Then having selected '@2' as the interval you wish to move:
.RS
$ timew move @2 9am
.RE
.
.SH "SEE ALSO"
.BR timew-lengthen (1),
.BR timew-modify (1),
.BR timew-resize (1),
.BR timew-shorten (1),
.BR timew-summary (1),
.BR timew-tag (1),
.BR timew-untag (1)

View file

@ -0,0 +1,17 @@
= timew-report(1)
== NAME
timew-report - run an extension report
== SYNOPSIS
[verse]
*timew* [*report*] _<report>_ [_<range>_] [_<tag>_**...**]
== DESCRIPTION
Runs an extension report, and supports filtering data.
The 'report' command itself is optional, which means that these two commands are equivalent:
$ timew report foo :week
$ timew foo :week
This does however assume there is a 'foo' extension installed.

View file

@ -1,27 +0,0 @@
.TH timew-report 1 "${PACKAGE_DATE}" "${PACKAGE_STRING}" "User Manuals"
.
.SH NAME
timew-report \- run an extension report
.
.SH SYNOPSIS
.B timew
[
.B report
]
.I <report>
[
.I <range>
] [
.I <tag>
.B ...
]
.
.SH DESCRIPTION
Runs an extension report, and supports filtering data.
The 'report' command itself is optional, which means that these two commands are equivalent:
.RS
$ timew report foo :week
.br
$ timew foo :week
.RE
This does however assume there is a 'foo' extension installed.

View file

@ -0,0 +1,34 @@
= timew-resize(1)
== NAME
timew-resize - set interval duration
== SYNOPSIS
[verse]
*timew resize* _<id>_**...** _<duration>_
== DESCRIPTION
The 'resize' command is used to change the duration of a closed interval.
Using the 'summary' command, and specifying the ':ids' hint shows interval IDs.
Using the right ID, you can identify an interval to resize.
== EXAMPLES
For example, show the IDs:
$ timew summary :week :ids
Then having selected '@3' as the interval you wish to resize:
$ timew resize @3 15mins
Note that you can resize multiple intervals,:
$ timew resize @3 @1 @13 1hour
== SEE ALSO
**timew-lengthen**(1),
**timew-modify**(1),
**timew-shorten**(1),
**timew-summary**(1),
**timew-tag**(1),
**timew-untag**(1)

View file

@ -1,37 +0,0 @@
.TH timew-resize 1 "${PACKAGE_DATE}" "${PACKAGE_STRING}" "User Manuals"
.
.SH NAME
timew-resize \- set interval duration
.
.SH SYNOPSIS
.B timew resize
.I <id>
.B ...
.I <duration>
.
.SH DESCRIPTION
The 'resize' command is used to change the duration of a closed interval.
Using the 'summary' command, and specifying the ':ids' hint shows interval IDs.
Using the right ID, you can identify an interval to resize.
.
.SH EXAMPLES
For example, show the IDs:
.RS
$ timew summary :week :ids
.RE
Then having selected '@3' as the interval you wish to resize:
.RS
$ timew resize @3 15mins
.RE
Note that you can resize multiple intervals,:
.RS
$ timew resize @3 @1 @13 1hour
.RE
.
.SH "SEE ALSO"
.BR timew-lengthen (1),
.BR timew-modify (1),
.BR timew-shorten (1),
.BR timew-summary (1),
.BR timew-tag (1),
.BR timew-untag (1)

View file

@ -0,0 +1,34 @@
= timew-shorten(1)
== NAME
timew-shorten - shorten intervals
== SYNOPSIS
[verse]
*timew shorten* _<id>_**...** _<duration>_
== DESCRIPTION
The 'shorten' command is used to advance the end date of a closed interval.
Using the 'summary' command, and specifying the ':ids' hint shows interval IDs.
Using the right ID, you can identify an interval to shorten.
== EXAMPLES
For example, show the IDs:
$ timew summary :week :ids
Then having selected '@2' as the interval you wish to shorten:
$ timew shorten @2 10mins
Note that you can shorten multiple intervals,:
$ timew shorten @2 @10 @23 1hour
== SEE ALSO
**timew-lengthen**(1),
**timew-modify**(1),
**timew-resize**(1),
**timew-summary**(1),
**timew-tag**(1),
**timew-untag**(1)

View file

@ -1,38 +0,0 @@
.TH timew-shorten 1 "${PACKAGE_DATE}" "${PACKAGE_STRING}" "User Manuals"
.
.SH NAME
timew-shorten \- shorten intervals
.
.SH SYNOPSIS
.B timew shorten
.I <id>
.B ...
.I <duration>
.
.SH DESCRIPTION
The 'shorten' command is used to advance the end date of a closed interval.
Using the 'summary' command, and specifying the ':ids' hint shows interval IDs.
Using the right ID, you can identify an interval to shorten.
.
.SH EXAMPLES
For example, show the IDs:
.RS
$ timew summary :week :ids
.RE
.br
Then having selected '@2' as the interval you wish to shorten:
.RS
$ timew shorten @2 10mins
.RE
Note that you can shorten multiple intervals,:
.RS
$ timew shorten @2 @10 @23 1hour
.RE
.
.SH "SEE ALSO"
.BR timew-lengthen (1),
.BR timew-modify (1),
.BR timew-resize (1),
.BR timew-summary (1),
.BR timew-tag (1),
.BR timew-untag (1)

View file

@ -0,0 +1,14 @@
= timew-show(1)
== NAME
timew-show - display configuration
== SYNOPSIS
[verse]
*timew show*
== DESCRIPTION
Displays the effective configuration in hierarchical form.
== SEE ALSO
**timew-config**(1)

View file

@ -1,13 +0,0 @@
.TH timew-show 1 "${PACKAGE_DATE}" "${PACKAGE_STRING}" "User Manuals"
.
.SH NAME
timew-show \- display configuration
.
.SH SYNOPSIS
.B timew show
.
.SH DESCRIPTION
Displays the effective configuration in hierarchical form.
.
.SH "SEE ALSO"
.BR timew-config (1)

View file

@ -0,0 +1,27 @@
= timew-split(1)
== NAME
timew-split - split intervals
== SYNOPSIS
[verse]
*timew split* _<id>_**...**
== DESCRIPTION
Ѕplits an interval into two equally sized adjacent intervals, having the same tags.
Using the 'summary' command, and specifying the ':ids' hint shows interval IDs.
Using the right ID, you can identify an interval to split.
== EXAMPLES
For example, show the IDs:
$ timew summary :week :ids
Then having selected '@2' as the interval you wish to split:
$ timew split @2
== SEE ALSO
**timew-join**(1),
**timew-lengthen**(1),
**timew-shorten**(1)

View file

@ -1,29 +0,0 @@
.TH timew-split 1 "${PACKAGE_DATE}" "${PACKAGE_STRING}" "User Manuals"
.
.SH NAME
timew-split \- split intervals
.
.SH SYNOPSIS
.B timew split
.I <id>
.B ...
.
.SH DESCRIPTION
Ѕplits an interval into two equally sized adjacent intervals, having the same tags.
Using the 'summary' command, and specifying the ':ids' hint shows interval IDs.
Using the right ID, you can identify an interval to split.
.
.SH EXAMPLES
For example, show the IDs:
.RS
$ timew summary :week :ids
.RE
Then having selected '@2' as the interval you wish to split:
.RS
$ timew split @2
.RE
.
.SH "SEE ALSO"
.BR timew-join (1),
.BR timew-lengthen (1),
.BR timew-shorten (1)

View file

@ -1,36 +1,31 @@
.TH timew-start 1 "${PACKAGE_DATE}" "${PACKAGE_STRING}" "User Manuals"
.
.SH NAME
timew-start \- start time tracking
.
.SH SYNOPSIS
.B timew start
[
.I <date>
] [
.I <tag>
.B ...
]
.
.SH DESCRIPTION
= timew-start(1)
== NAME
timew-start - start time tracking
== SYNOPSIS
[verse]
*timew start* [_<date>_] [_<tag>_**...**]
== DESCRIPTION
Begins tracking using the current time with any specified set of tags.
If a tag contains multiple words, therefore containing spaces, use quotes to surround the whole tag.
.
.SH EXAMPLES
== EXAMPLES
For example, this command specifies two tags ('weekend' and 'Home & Garden'), the second of which requires quotes.
.RS
$ timew start weekend 'Home & Garden'
.RE
$ timew start weekend 'Home & Garden'
An optional date may be specified to indicate the intended start of the tracked time:
.RS
$ timew start 8am weekend 'Home & Garden'
.RE
$ timew start 8am weekend 'Home & Garden'
If there is a previous open interval, it will be closed at the given start time.
.
Quotes are harmless if used unnecessarily.
.
.SH "SEE ALSO"
.BR timew-cancel (1),
.BR timew-continue (1),
.BR timew-stop (1),
.BR timew-track (1)
== SEE ALSO
**timew-cancel**(1),
**timew-continue**(1),
**timew-stop**(1),
**timew-track**(1)

View file

@ -0,0 +1,32 @@
= timew-stop(1)
== NAME
timew-stop - stop time tracking
== SYNOPSIS
[verse]
*timew stop* [_<date>_] [_<tag>_**...**]
== DESCRIPTION
Stops tracking time.
If tags are specified, then they are no longer tracked.
If no tags are specified, all tracking stops.
== EXAMPLES
For example:
$ timew start tag1 tag2
...
$ timew stop tag1
Initially time is tracked for both 'tag1' and 'tag2', then 'tag1' tracking is stopped, leaving tag2 active.
To stop all tracking:
$ timew stop
== SEE ALSO
**timew-cancel**(1),
**timew-continue**(1),
**timew-start**(1),
**timew-track**(1)

View file

@ -1,39 +0,0 @@
.TH timew-stop 1 "${PACKAGE_DATE}" "${PACKAGE_STRING}" "User Manuals"
.
.SH NAME
timew-stop \- stop time tracking
.
.SH SYNOPSIS
.B timew stop
[
.I <date>
] [
.I <tag>
.B ...
]
.
.SH DESCRIPTION
Stops tracking time.
If tags are specified, then they are no longer tracked.
If no tags are specified, all tracking stops.
.
.SH EXAMPLES
For example:
.RS
$ timew start tag1 tag2
.br
...
.br
$ timew stop tag1
.RE
Initially time is tracked for both 'tag1' and 'tag2', then 'tag1' tracking is stopped, leaving tag2 active.
To stop all tracking:
.RS
$ timew stop
.RE
.
.SH "SEE ALSO"
.BR timew-cancel (1),
.BR timew-continue (1),
.BR timew-start (1),
.BR timew-track (1)

View file

@ -0,0 +1,33 @@
= timew-summary(1)
== NAME
timew-summary - display a time-tracking summary
== SYNOPSIS
[verse]
*timew summary* [_<range>_] [_<tag>_**...**]
== DESCRIPTION
Displays a report summarizing tracked and untracked time for the current day by default.
Accepts date ranges and tags for filtering, or shortcut hints:
$ timew summary monday - today
$ timew summary :week
$ timew summary :month
The ':ids' hint adds an 'ID' column to the summary report output for interval modification.
== CONFIGURATION
**reports.summary.holidays**::
Determines whether relevant holidays are shown beneath the report.
Default value is 'yes'.
== SEE ALSO
**timew-day**(1),
**timew-lengthen**(1),
**timew-modify**(1),
**timew-month**(1),
**timew-shorten**(1),
**timew-tag**(1),
**timew-untag**(1),
**timew-week**(1)

View file

@ -1,44 +0,0 @@
.TH timew-summary 1 "${PACKAGE_DATE}" "${PACKAGE_STRING}" "User Manuals"
.
.SH NAME
timew-summary \- display a time-tracking summary
.
.SH SYNOPSIS
.B timew summary
[
.I <range>
] [
.I <tag>
.B ...
]
.
.SH DESCRIPTION
Displays a report summarizing tracked and untracked time for the current day by default.
Accepts date ranges and tags for filtering, or shortcut hints:
.RS
$ timew summary monday - today
.br
$ timew summary :week
.br
$ timew summary :month
.RE
The ':ids' hint adds an 'ID' column to the summary report output for interval modification.
.
.SH CONFIGURATION
.TP
.B reports.summary.holidays
.RS
Determines whether relevant holidays are shown beneath the report.
.br
Default value is 'yes'.
.RE
.
.SH "SEE ALSO"
.BR timew-day (1),
.BR timew-lengthen (1),
.BR timew-modify (1),
.BR timew-month (1),
.BR timew-shorten (1),
.BR timew-tag (1),
.BR timew-untag (1),
.BR timew-week (1)

View file

@ -1,45 +1,39 @@
.TH timew-tag 1 "${PACKAGE_DATE}" "${PACKAGE_STRING}" "User Manuals"
.
.SH NAME
timew-tag \- add tags to intervals
.
.SH SYNOPSIS
.B timew tag
[
.I <id>
.B ...
]
.I <tag>
.B ...
.
.SH DESCRIPTION
= timew-tag(1)
== NAME
timew-tag - add tags to intervals
== SYNOPSIS
[verse]
*timew tag* [_<id>_**...**] _<tag>_**...**
== DESCRIPTION
The 'tag' command is used to add a tag to an interval.
Using the 'summary' command, and specifying the ':ids' hint shows interval IDs.
Using the right ID, you can identify an interval to tag.
.
.SH EXAMPLES
== EXAMPLES
For example, show the IDs:
.RS
$ timew summary :week :ids
.RE
$ timew summary :week :ids
Then having selected '@2' as the interval you wish to tag:
.RS
$ timew tag @2 'New Tag'
.RE
$ timew tag @2 'New Tag'
Note that you can tag multiple intervals, with multiple tags:
.RS
$ timew tag @2 @10 @23 'Tag One' tag2 tag3
.RE
$ timew tag @2 @10 @23 'Tag One' tag2 tag3
If there is active time tracking, you can omit the ID when you want to add tags to the current open interval:
.RS
$ timew start foo
.br
$ timew tag bar
.RE
$ timew start foo
$ timew tag bar
This results in the current interval having tags 'foo' and 'bar'.
.
.SH "SEE ALSO"
.BR timew-lengthen (1),
.BR timew-shorten (1),
.BR timew-summary (1),
.BR timew-untag (1)
== SEE ALSO
**timew-lengthen**(1),
**timew-shorten**(1),
**timew-summary**(1),
**timew-untag**(1)

View file

@ -0,0 +1,12 @@
= timew-tags(1)
== NAME
timew-tags - display a list of tags
== SYNOPSIS
[verse]
*timew tags* [_<range>_]
== DESCRIPTION
Displays all the tags that have been used by default.
When a filter is specified, shows only the tags that were used during that time.

View file

@ -1,14 +0,0 @@
.TH timew-tags 1 "${PACKAGE_DATE}" "${PACKAGE_STRING}" "User Manuals"
.
.SH NAME
timew-tags \- display a list of tags
.
.SH SYNOPSIS
.B timew tags
[
.I <range>
]
.
.SH DESCRIPTION
Displays all the tags that have been used by default.
When a filter is specified, shows only the tags that were used during that time.

View file

@ -0,0 +1,27 @@
= timew-track(1)
== NAME
timew-track - add intervals to the database
== SYNOPSIS
[verse]
*timew track* _<range>_ [_<tag>_**...**]
== DESCRIPTION
The track command is used to add tracked time in the past.
Perhaps you forgot to record time, or are just filling in old entries.
== EXAMPLES
For example:
$ timew track :yesterday 'Training Course'
$ timew track 9am - 11am 'Staff Meeting'
Note that the track command expects a closed interval (start and end time), when recording.
If a closed interval is not provided, the 'track' command behaves the same as the 'start' command.
== SEE ALSO
**timew-cancel**(1),
**timew-continue**(1),
**timew-start**(1),
**timew-stop**(1)

View file

@ -1,32 +0,0 @@
.TH timew-track 1 "${PACKAGE_DATE}" "${PACKAGE_STRING}" "User Manuals"
.
.SH NAME
timew-track \- add intervals to the database
.
.SH SYNOPSIS
.B timew track
.I <range>
[
.I <tag>
.B ...
]
.
.SH DESCRIPTION
The track command is used to add tracked time in the past.
Perhaps you forgot to record time, or are just filling in old entries.
.
.SH EXAMPLES
For example:
.RS
$ timew track :yesterday 'Training Course'
.br
$ timew track 9am - 11am 'Staff Meeting'
.RE
Note that the track command expects a closed interval (start and end time), when recording.
If a closed interval is not provided, the 'track' command behaves the same as the 'start' command.
.
.SH "SEE ALSO"
.BR timew-cancel (1),
.BR timew-continue (1),
.BR timew-start (1),
.BR timew-stop (1)

View file

@ -1,12 +1,13 @@
.TH timew-undo 1 "${PACKAGE_DATE}" "${PACKAGE_STRING}" "User Manuals"
.
.SH NAME
timew-undo \- revert Timewarrior commands
.
.SH SYNOPSIS
.B timew undo
.
.SH DESCRIPTION
= timew-undo(1)
== NAME
timew-undo - revert Timewarrior commands
== SYNOPSIS
[verse]
*timew undo*
== DESCRIPTION
The 'undo' command is used to revert the action of Timewarrior commands.
Only commands affecting intervals or Timewarrior configuration can be reverted.
Timewarrior keeps a journal of changes to the interval database and Timewarrior configuration.
@ -14,10 +15,8 @@ A call to 'undo' removes the last entry in the journal and restores the previous
As long as there are entries in the journal, you can revert the respective action.
The 'undo' command itself cannot be undone!
.SH EXAMPLES
Undo an interval modification:
.RS
$ timew split @1
.br
$ timew undo
.RE
== EXAMPLES
Undo an interval modification::
+
$ timew split @1
$ timew undo

View file

@ -1,45 +1,39 @@
.TH timew-untag 1 "${PACKAGE_DATE}" "${PACKAGE_STRING}" "User Manuals"
.
.SH NAME
timew-untag \- remove tags from intervals
.
.SH SYNOPSIS
.B timew untag
[
.I <id>
.B ...
]
.I <tag>
.B ...
.
.SH DESCRIPTION
= timew-untag(1)
== NAME
timew-untag - remove tags from intervals
== SYNOPSIS
[verse]
*timew untag* [_<id>_**...** ] _<tag>_**...**
== DESCRIPTION
The 'untag' command is used to remove a tag from an interval.
Using the 'summary' command, and specifying the ':ids' hint shows interval IDs.
Using the right ID, you can identify an interval to untag.
.
.SH EXAMPLES
== EXAMPLES
For example, show the IDs:
.RS
$ timew summary :week :ids
.RE
$ timew summary :week :ids
Then having selected '@2' as the interval you wish to untag:
.RS
$ timew untag @2 'Old Tag'
.RE
$ timew untag @2 'Old Tag'
Note that you can untag multiple intervals, with multiple tags:
.RS
$ timew untag @2 @10 @23 'Old Tag' tag2 tag3
.RE
$ timew untag @2 @10 @23 'Old Tag' tag2 tag3
If there is active time tracking, you can omit the ID when you want to remove tags from the current open interval:
.RS
$ timew start foo bar
.br
$ timew untag bar
.RE
$ timew start foo bar
$ timew untag bar
This results in the current interval having tag 'foo' but not 'bar'.
.
.SH "SEE ALSO"
.BR timew-lengthen (1),
.BR timew-shorten (1),
.BR timew-summary (1),
.BR timew-tag (1)
== SEE ALSO
**timew-lengthen**(1),
**timew-shorten**(1),
**timew-summary**(1),
**timew-tag**(1)

1
doc/man1/timew-week.1 Normal file
View file

@ -0,0 +1 @@
.so man1/timew-chart.1

164
doc/man1/timew.1.adoc Normal file
View file

@ -0,0 +1,164 @@
= timew(1)
== NAME
timew - a command line time tracker
== SYNOPSIS
[verse]
*timew* [*--version*|*--help*]
*timew* [_<command>_ [_<arg>_**...**]]
== DESCRIPTION
Timewarrior is a command line time tracker.
It allows you to easily track your time and generate summary reports.
This is a reference, not a tutorial.
If you are looking for a tutorial, check the online documentation here:
https://timewarrior.net/docs/
When run without arguments or options, the default command is run, which indicates whether there is any active tracking, and if so, shows a summary, then exits with a code 0.
If there is no active time tracking, exit code is 1.
== OPTIONS
*--version*::
Displays Timewarrior version information
*--help*::
Displays Timewarrior usage information
== Timewarrior commands
Timewarrior supports many commands.
Alphabetically:
*timew-annotate*(1)::
Add annotation to intervals
*timew-cancel*(1)::
Cancel time tracking
*timew-config*(1)::
Get and set Timewarrior configuration
*timew-continue*(1)::
Resume tracking of existing interval
*timew-day*(1)::
Display day chart
*timew-delete*(1)::
Delete intervals
*timew-diagnostics*(1)::
Show diagnostic information
*timew-export*(1)::
Export tracked time in JSON
*timew-extensions*(1)::
List available extensions
*timew-get*(1)::
Display DOM values
*timew-help*(1)::
Display help
*timew-join*(1)::
Join intervals
*timew-lengthen*(1)::
Lengthen intervals
*timew-modify*(1)::
Change start or end time of an interval
*timew-month*(1)::
Display month chart
*timew-move*(1)::
Change interval start-time
*timew-report*(1)::
Run an extension report
*timew-resize*(1)::
Set interval duration
*timew-shorten*(1)::
Shorten intervals
*timew-show*(1)::
Display configuration
*timew-split*(1)::
Split intervals
*timew-start*(1)::
Start time tracking
*timew-stop*(1)::
Stop time tracking
*timew-summary*(1)::
Display a time-tracking summary
*timew-tag*(1)::
Add tags to intervals
*timew-tags*(1)::
Display a list of tags
*timew-track*(1)::
Add intervals to the database
*timew-undo*(1)::
Undo Timewarrior commands
*timew-untag*(1)::
Remove tags from intervals
*timew-week*(1)::
Display week chart
== MORE EXAMPLES
For examples please see the online documentation starting at:
<https://timewarrior.net/docs/>
Note that the online documentation can be more detailed and more current than this man page
== FILES
~/.timewarrior/timewarrior.cfg::
User configuration file.
~/.timewarrior/data/YYYY-MM.data::
Time tracking data files.
== pass:[CREDITS & COPYRIGHT]
Copyright (C) 2015 - 2018 T. Lauf, P. Beckingham, F. Hernandez. +
Timewarrior is distributed under the MIT license.
See https://www.opensource.org/licenses/mit-license.php for more information.
== FURTHER DOCUMENTATION
For more information regarding Timewarrior, see the following:
The official site at <https://timewarrior.net>
The official code repository at <https://github.com/GothenburgBitFactory/timewarrior>
You can contact the project by emailing <support@gothenburgbitfactory.org>
== REPORTING BUGS
Bugs in Timewarrior may be reported to the issue-tracker at <https://github.com/GothenburgBitFactory/timewarrior/issues>
== SEE ALSO
**timew-config**(7),
**timew-dates**(7),
**timew-dom**(7),
**timew-durations**(7),
**timew-hints**(7),
**timew-range**(7)

View file

@ -1,239 +0,0 @@
.TH timew 1 "${PACKAGE_DATE}" "${PACKAGE_STRING}" "User Manuals"
.
.SH NAME
timew \- A command line time tracker.
.
.SH SYNOPSIS
.BR "timew " [ --version | --help ]
.br
.B timew
.RI [ "<command> " [ <arg> "...]]"
.
.SH DESCRIPTION
Timewarrior is a command line time tracker.
It allows you to easily track your time and generate summary reports.
.
This is a reference, not a tutorial.
If you are looking for a tutorial, check the online documentation here:
.br
https://timewarrior.net/docs/
.br
When run without arguments or options, the default command is run, which indicates whether there is any active tracking, and if so, shows a summary, then exits with a code 0.
If there is no active time tracking, exit code is 1.
.
.SH OPTIONS
.TP
.B \-\-version
.RS
Displays TimeWarrior version information
.RE
.TP
.B \-\-help
.RS
Display TimeWarrior usage information
.RE
.
.SH "TIMEWARRIOR COMMANDS"
Timewarrior supports many commands.
Alphabetically:
.
.TP
.BR timew-annotate (1)
.RS
Add annotation to intervals
.RE
.TP
.BR timew-cancel (1)
.RS
Cancel time tracking
.RE
.TP
.BR timew-config (1)
.RS
Get and set Timewarrior configuration
.RE
.TP
.BR timew-continue (1)
.RS
Resume tracking of existing interval
.RE
.TP
.BR timew-day (1)
.RS
Display day chart
.RE
.TP
.BR timew-delete (1)
.RS
Delete intervals
.RE
.TP
.BR timew-diagnostics (1)
.RS
Show diagnostic information
.RE
.TP
.BR timew-export (1)
.RS
Export tracked time in JSON
.RE
.TP
.BR timew-extensions (1)
.RS
List available extensions
.RE
.TP
.BR timew-get (1)
.RS
Display DOM values
.RE
.TP
.BR timew-help (1)
.RS
Display help
.RE
.TP
.BR timew-join (1)
.RS
Join intervals
.RE
.TP
.BR timew-lengthen (1)
.RS
Lengthen intervals
.RE
.TP
.BR timew-modify (1)
.RS
Change start or end time of an interval
.RE
.TP
.BR timew-month (1)
.RS
Display month chart
.RE
.TP
.BR timew-move (1)
.RS
Change interval start-time
.RE
.TP
.BR timew-report (1)
.RS
Run an extension report
.RE
.TP
.BR timew-resize (1)
.RS
Set interval duration
.RE
.TP
.BR timew-shorten (1)
.RS
Shorten intervals
.RE
.TP
.BR timew-show (1)
.RS
Display configuration
.RE
.TP
.BR timew-split (1)
.RS
Split intervals
.RE
.TP
.BR timew-start (1)
.RS
Start time tracking
.RE
.TP
.BR timew-stop (1)
.RS
Stop time tracking
.RE
.TP
.BR timew-summary (1)
.RS
Display a time-tracking summary
.RE
.TP
.BR timew-tag (1)
.RS
Add tags to intervals
.RE
.TP
.BR timew-tags (1)
.RS
Display a list of tags
.RE
.TP
.BR timew-track (1)
.RS
Add intervals to the database
.RE
.TP
.BR timew-undo (1)
.RS
Undo Timewarrior commands
.RE
.TP
.BR timew-untag (1)
.RS
Remove tags from intervals
.RE
.TP
.BR timew-week (1)
.RS
Display week chart
.RE
.
.SH "MORE EXAMPLES"
.
For examples please see the online documentation starting at:
.
.RS
<https://timewarrior.net/docs/>
.RE
.
Note that the online documentation can be more detailed and more current than this man page.
.
.SH FILES
.
.TP
~/.timewarrior/timewarrior.cfg
User configuration file.
.
.TP
~/.timewarrior/data/YYYY-MM.data
Time tracking data files.
.
.SH "CREDITS & COPYRIGHTS"
Copyright (C) 2015 \- 2018 T. Lauf, P. Beckingham, F. Hernandez.
.br
Timewarrior is distributed under the MIT license.
See https://www.opensource.org/licenses/mit-license.php for more information.
.
.SH "FURTHER DOCUMENTATION"
For more information regarding Timewarrior, see the following:
.
.TP
The official site at <https://timewarrior.net>
.
.TP
The official code repository at <https://github.com/GothenburgBitFactory/timewarrior>
.
.TP
You can contact the project by emailing <support@gothenburgbitfactory.org>
.
.SH "REPORTING BUGS"
.TP
Bugs in Timewarrior may be reported to the issue-tracker at <https://github.com/GothenburgBitFactory/timewarrior/issues>
.
.SH "SEE ALSO"
.BR timew-config (7),
.BR timew-dates (7),
.BR timew-dom (7),
.BR timew-durations (7),
.BR timew-hints (7),
.BR timew-ranges (7)

21
doc/man7/CMakeLists.txt Normal file
View file

@ -0,0 +1,21 @@
cmake_minimum_required (VERSION 2.8.12)
file (GLOB DOC_SOURCES "${CMAKE_CURRENT_BINARY_DIR}/*.7.adoc")
set (DOC_FILES)
foreach (SRC ${DOC_SOURCES})
string (REPLACE ".adoc" "" OUTPUT_FILE_NAME "${SRC}")
add_custom_command (
OUTPUT "${OUTPUT_FILE_NAME}"
COMMAND ${ASCIIDOCTOR_EXECUTABLE} -b manpage ${ASCIIDOCTOR_OPTIONS} ${SRC} -o ${OUTPUT_FILE_NAME}
DEPENDS "${SRC}")
set (DOC_FILES ${DOC_FILES} "${OUTPUT_FILE_NAME}")
endforeach (SRC)
add_custom_target (man7 DEPENDS ${DOC_FILES})
install (DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
DESTINATION ${TIMEW_MANDIR}
FILES_MATCHING PATTERN "*.7")

View file

@ -1,62 +1,51 @@
.TH timew-config 7 "${PACKAGE_DATE}" "${PACKAGE_STRING}" "User Manuals"
.
.SH NAME
timew-config \- Timewarrior configuration file and override options
.
.SH SYNOPSIS
.BI "timew rc." <name> = "<value> <command>"
.
.SH DESCRIPTION
Timewarrior stores its configuration in the user's home directory in
.I ~/.timewarrior/timewarrior.cfg.
= timew-config(7)
== NAME
timew-config - Timewarrior configuration file and override options
== SYNOPSIS
**timew rc.**__<name>__**=**__<value>__ _<command>_
== DESCRIPTION
Timewarrior stores its configuration in the user's home directory in _~/.timewarrior/timewarrior.cfg_.
This file contains a mix of rules and configuration settings.
Note that the TIMEWARRIORDB environment variable can be set to override this location.
.
The values 'true', '1', 'y', 'yes' and 'on' are all equivalent and enable a setting.
Any other value means disable the setting.
.
Default values may be overridden by timewarrior.cfg values, which may in turn be overridden on the command line using:
.BI rc. <name> = <value>
.PP
Default values may be overridden by timewarrior.cfg values, which may in turn be overridden on the command line using: **rc.**__<name>__**=**__<value>__
For example, to turn off verbose mode:
.RS
rc.verbose=0
.RE
.PP
rc.verbose=0
Note that hints can also do this (:quiet).
.
.SH CONFIGURATION
.TP
.B confirmation
.RS
== CONFIGURATION
*confirmation*::
Determines whether harmful operations require interactive confirmation.
.br
+
May be overridden by the ':yes' hint.
.br
+
Default value is 'yes'.
.RE
.TP
.B verbose
.RS
*verbose*::
Determines whether Timewarrior generates feedback.
.br
+
May be overridden by the ':quiet' hint.
.br
+
Default value is 'yes'.
.RE
.TP
.B debug
.RS
*debug*::
Determines whether diagnostic debugging information is shown.
.br
+
Useful for troubleshooting, but not for general use.
.br
+
Default value is 'off'.
.RE
.TP
.B debug.indicator
.RS
*debug.indicator*::
The debug output prefix string.
.br
+
Default value is '>>'.
.RE

View file

@ -1,39 +1,44 @@
.TH timew-dates 7 "${PACKAGE_DATE}" "${PACKAGE_STRING}" "User Manuals"
.
.SH NAME
timew-dates \- date formats supported by Timewarrior
.
.SH SYNOPSIS
.
.SH DESCRIPTION
= timew-dates(7)
== NAME
timew-dates - date formats supported by Timewarrior
== SYNOPSIS
== DESCRIPTION
Timewarrior supports the following date formats based on ISO-8601:
.
<extended-date> [T <extended-time>] Extended date, optional extended time
<date> [T <time>] Date, optional time
<extended-time> Extended time
<time> Time
.
extended-date:
extended-date::
+
YYYY-MM-DD Year, month, day
YYYY-MM Year, month, 1st
YYYY-DDD Year, Julian day 001-366
YYYY-WwwD Year, week number, day number
YYYY-Www Year, week number, day 1
.
extended-time:
extended-time::
+
hh:mm[:ss]Z Hours, minutes, optional seconds, UTC
hh:mm[:ss][+/-hh:mm] Hours, minutes, optional seconds, TZ
.
date:
date::
+
YYYYMMDD Year, month, day
YYYYWww Year, week number, day number
YYYYDDD Year, Julian day 001-366
.
time:
time::
+
hhmm[ss]Z Hour, minutes, optional seconds, UTC
hhmm[ss][+/-hh[mm]] Hour, minutes, optional seconds, TZ
.br
Examples:
2016-06-09T08:12:00Z
2016-06T08:12:00+01:00
2016-06T08:12Z
@ -44,9 +49,9 @@ Examples:
2016W24
8:12:00Z
0812-0500
.br
In addition to the standard date formats, the following are supported:
.
now Current date and time
today Current date at 0:00:00
yesterday Yesterday at 0:00:00
@ -84,14 +89,15 @@ In addition to the standard date formats, the following are supported:
midsommar midnight, 1st Saturday after 20th June
midsommarafton midnight, 1st Friday after 19th June
juhannus midnight, 1st Friday after 19th June
.br
Examples:
8am
24th
monday
august
.br
.
.SH "SEE ALSO"
.BR timew-durations (7),
.BR timew-hints (7)
== SEE ALSO
**timew-durations**(7),
**timew-hints**(7)

View file

@ -1,23 +1,23 @@
.TH timew-dom 7 "${PACKAGE_DATE}" "${PACKAGE_STRING}" "User Manuals"
.
.SH NAME
timew-dom \- Timewarrior DOM
.
.SH SYNOPSIS
.
.SH DESCRIPTION
= timew-dom(7)
== NAME
timew-dom - Timewarrior DOM
== SYNOPSIS
== DESCRIPTION
Supported DOM references are:
.
dom.tag.count Count of all tags
dom.tag.1 Nth tag used
.
dom.active '1' if there is active tracking, otherwise '0'
dom.active.tag.count Count of active tags
dom.active.tag.1 Active Nth tag
dom.active.start Active start timestamp (ISO Extended local date)
dom.active.duration Active elapsed (ISO Period)
dom.active.json Active interval as JSON
.
dom.tracked.count Count of tracked intervals
dom.tracked.1.tag.count Count of active tags
dom.tracked.1.tag.1 Tracked Nth, Nth tag
@ -25,5 +25,5 @@ Supported DOM references are:
dom.tracked.1.end Tracked Nth, end time, blank if closed
dom.tracked.1.duration Tracked Nth, elapsed
dom.tracked.1.json Tracked Nth, interval as JSON
.
dom.rc.<name> Configuration setting
dom.rc.<name> Configuration setting

View file

@ -1,17 +1,18 @@
.TH timew-durations 7 "${PACKAGE_DATE}" "${PACKAGE_STRING}" "User Manuals"
.
.SH NAME
timew-durations \- duration formats supported by Timewarrior
.
.SH SYNOPSIS
.
.SH DESCRIPTION
= timew-durations(7)
== NAME
timew-durations - duration formats supported by Timewarrior
== SYNOPSIS
== DESCRIPTION
Timewarrior supports the following duration formats based on ISO-8601:
.
'P' [nn 'Y'] [nn 'M'] [nn 'D'] ['T' [nn 'H'] [nn 'M'] [nn 'S']]
PnnW
.br
Examples:
P1Y 1 year
P1.5M 1.5 months
PT1S 1 second
@ -20,16 +21,16 @@ Examples:
P600D 600 days
P3W 3 weeks
P1Y1DT1H1M1S 1 year and 25 hours, 61 seconds (imprecise term)
.br
Note that the year and month terms are imprecise, being defined as 365d and 30d respectively.
For precision use the other terms.
.br
In addition to the standard duration formats, the following are supported:
.
n[.n]<unit>
.br
Where the <unit> is one of:
.
annual
biannual
bimonthly
@ -48,12 +49,12 @@ Where the <unit> is one of:
weekdays
weekly, weeks, week, wks, wk, w
yearly, years, year, yrs, yr, y
.br
Examples:
1hour 60 minutes
1.5h 90 minutes
3mo 3 months
10d 10 days
.br
Note that the year, quarter and month terms are imprecise, being defined as 365d, 91d and 30d respectively.
For precision use the other terms.

View file

@ -1,39 +1,39 @@
.TH timew-hints 7 "${PACKAGE_DATE}" "${PACKAGE_STRING}" "User Manuals"
.
.SH NAME
timew-hints \- Timewarrior hints
.
.SH SYNOPSIS
.
.SH DESCRIPTION
= timew-hints(7)
== NAME
timew-hints - Timewarrior hints
== SYNOPSIS
== DESCRIPTION
Timewarrior supports hints, which are single-word command line features that start with a colon like this:
.
:week
.br
Hints serve several purposes.
This example is a shortcut for the date range that defines the current week.
.br
Other hints, such as:
.
:quiet
.br
Are ways to control the behavior of Timewarrior, in this case eliminating all forms of feedback, for purposes of automation.
.br
The supported hints are:
.
:quiet Turns off all feedback. For automation
:debug Runs in debug mode, shows many runtime details
:yes Overrides confirmation by answering 'yes' to the questions
.
:color Force color on, even if not connected to a TTY
:nocolor Force color off, even if connected to a TTY
:blank Leaves tracked time out of a report
:fill Expand time to fill surrounding available gap
:adjust Automatically correct overlaps
:ids Displays interval ID numbers in the summary report
.br
Range hints provide convenient shortcuts to date ranges:
.
:yesterday The 24 hours of the previous day
:day The 24 hours of the current day
:week This week
@ -51,4 +51,4 @@ Range hints provide convenient shortcuts to date ranges:
:thursday Previous thursday
:friday Previous friday
:saturday Previous saturday
:sunday Previous sunday
:sunday Previous sunday

View file

@ -1,23 +1,23 @@
.TH timew-ranges 7 "${PACKAGE_DATE}" "${PACKAGE_STRING}" "User Manuals"
.
.SH NAME
timew-ranges \- date and time ranges supported by Timewarrior
.
.SH SYNOPSIS
.
.SH DESCRIPTION
= timew-ranges(7)
== NAME
timew-ranges - date and time ranges supported by Timewarrior
== SYNOPSIS
== DESCRIPTION
An interval defines a block of time that is tracked.
The syntax for specifying an interval is flexible, and may be one of:
.
[from] <date>
[from] <date> to/- <date>
[from] <date> for <duration>
<duration> before/after <date>
<duration> ago
[for] <duration>
.br
Examples are:
.
from 9:00
from 9am - 11am
from 9:00:00 to 11:00
@ -26,5 +26,5 @@ Examples are:
2h before 11:00
2h ago
for 2h
.br
An interval is said to be 'closed' if there is both a start and end, and 'open' if there is no end date.
An interval is said to be 'closed' if there is both a start and end, and 'open' if there is no end date.

View file

@ -1,7 +1,7 @@
#!/bin/sh
CONCEPTS="$( ls doc/man7/*.in | sed -E 's|doc/man7/timew-(.*).7.in|\1|' | sort )"
COMMANDS="$( ls doc/man1/*.in | sed -E 's|doc/man1/timew-(.*).1.in|\1|' | sort | tr '\n' ' ' )"
CONCEPTS="$( find doc/man7 -name "timew-*.7*" | sed -E 's|doc/man7/timew-(.*)\.7.*|\1|' | sort -u )"
COMMANDS="$( find doc/man1 -name "timew-*.1*" | sed -E 's|doc/man1/timew-(.*)\.1.*|\1|' | sort -u | tr '\n' ' ' )"
echo "// Generated file. Do not modify"
echo "#include <vector>"

View file

@ -3,6 +3,7 @@ FROM archlinux/base
RUN pacman -Sy --noconfirm archlinux-keyring
RUN pacman -Syu --noconfirm
RUN pacman -S --noconfirm \
asciidoctor \
cmake \
gcc \
git \

View file

@ -3,6 +3,7 @@ FROM centos:7
RUN yum update -y
RUN yum install -y epel-release centos-release-scl
RUN yum install -y \
asciidoctor \
cmake3 \
devtoolset-7-gcc* \
gcc-c++ \

View file

@ -1,7 +1,8 @@
FROM centos:8
RUN yum update -y
RUN yum install -y \
RUN dnf update -y
RUN dnf install -y \
ruby \
cmake3 \
gcc-c++ \
git \
@ -10,10 +11,9 @@ RUN yum install -y \
python36 \
python3-dateutil
# Setup environment
RUN echo "#!/bin/bash" >> /etc/profile.d/enable_env.sh ; \
echo "source scl_source enable devtoolset-7" >> /etc/profile.d/enable_env.sh ;
RUN gem install asciidoctor
# Setup environment
RUN ln -sf /usr/bin/python3 /usr/bin/python
ENV LC_ALL en_US.UTF-8

View file

@ -4,6 +4,7 @@ ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update
RUN apt-get install -y \
asciidoctor \
cmake \
g++ \
git \

View file

@ -3,6 +3,7 @@ FROM debian:testing
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && apt-get install -y \
asciidoctor \
cmake \
fiu-utils=1.00-* \
g++ \

View file

@ -2,7 +2,9 @@ FROM fedora:31
RUN dnf update -y
RUN dnf install -y \
asciidoctor \
cmake \
findutils \
gcc-c++ \
glibc-locale-source \
git \

View file

@ -2,7 +2,9 @@ FROM fedora:32
RUN dnf update -y
RUN dnf install -y \
asciidoctor \
cmake \
findutils \
gcc-c++ \
glibc-locale-source \
git \

View file

@ -8,8 +8,11 @@ RUN zypper install -y \
make \
man \
python3 \
python3-dateutil
python3-dateutil \
ruby
RUN gem install asciidoctor
RUN update-alternatives --install /usr/bin/asciidoctor asciidoctor /usr/lib64/ruby/gems/2.5.0/gems/asciidoctor-2.0.12/bin/asciidoctor 10
RUN update-alternatives --install /usr/bin/python python /usr/bin/python3 10
ENV TZ=Europe/Berlin

View file

@ -7,6 +7,7 @@ RUN apt-get update && \
add-apt-repository -y ppa:ubuntu-toolchain-r/test
RUN apt-get update && \
apt-get install -y \
asciidoctor \
cmake \
gcc-snapshot \
g++-6 \

View file

@ -4,6 +4,7 @@ ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update
RUN apt-get install -y \
asciidoctor \
cmake \
g++ \
git \

View file

@ -4,6 +4,7 @@ ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && yes | unminimize
RUN apt-get install -y \
asciidoctor \
cmake \
g++ \
git \

View file

@ -61,10 +61,8 @@ class TestHelp(TestCase):
def test_help_with_command_should_show_man_page(self):
"""timew help with command should show man page"""
code, out, err = self.t("help start")
# Some versions of man have bug that displays following on stderr:
# doc/man1/timew-shorten.1.in: ignoring bogus filename
# Just check that stdout is correct here.
self.assertRegex(out, r"timew-start\(1\)\s+User Manuals\s+timew-start\(1\)")
self.assertRegex(out, r"TIMEW-START\(1\)\s+User Manuals\s+TIMEW-START\(1\)")
def test_help_with_unknown_argument_should_show_error_message(self):
"""timew help with unknown argument should show error message"""

View file

@ -2,11 +2,12 @@ set -x
brew install cmake
brew install pyenv
brew install asciidoctor
pyenv install 3.8.0
pyenv global 3.8.0
eval "$( pyenv init - )"
Updpip install --upgrade pip
pip install --upgrade pip
pip install python-dateutil
git clean -dfx