mirror of
https://github.com/GothenburgBitFactory/timewarrior.git
synced 2025-06-26 10:54:28 +02:00
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:
parent
65ef38658b
commit
b189ccb020
80 changed files with 1256 additions and 1527 deletions
|
@ -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")
|
||||
|
|
16
cmake/FindAsciidoctor.cmake
Normal file
16
cmake/FindAsciidoctor.cmake
Normal 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)
|
|
@ -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
3
doc/man1/.gitignore
vendored
|
@ -1 +1,4 @@
|
|||
*.[0-9]
|
||||
!timew-day.1
|
||||
!timew-month.1
|
||||
!timew-week.1
|
||||
|
|
21
doc/man1/CMakeLists.txt
Normal file
21
doc/man1/CMakeLists.txt
Normal 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")
|
|
@ -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)
|
37
doc/man1/timew-cancel.1.adoc
Normal file
37
doc/man1/timew-cancel.1.adoc
Normal 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)
|
|
@ -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)
|
|
@ -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)
|
|
@ -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)
|
82
doc/man1/timew-continue.1.adoc
Normal file
82
doc/man1/timew-continue.1.adoc
Normal 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)
|
|
@ -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
1
doc/man1/timew-day.1
Normal file
|
@ -0,0 +1 @@
|
|||
.so man1/timew-chart.1
|
26
doc/man1/timew-delete.1.adoc
Normal file
26
doc/man1/timew-delete.1.adoc
Normal 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)
|
|
@ -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
|
|
@ -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)
|
17
doc/man1/timew-export.1.adoc
Normal file
17
doc/man1/timew-export.1.adoc
Normal 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
|
|
@ -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
|
14
doc/man1/timew-extensions.1.adoc
Normal file
14
doc/man1/timew-extensions.1.adoc
Normal 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)
|
|
@ -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)
|
|
@ -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)
|
|
@ -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
22
doc/man1/timew-get.1.adoc
Normal 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*
|
|
@ -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
|
22
doc/man1/timew-help.1.adoc
Normal file
22
doc/man1/timew-help.1.adoc
Normal 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
|
|
@ -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
|
|
@ -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)
|
34
doc/man1/timew-lengthen.1.adoc
Normal file
34
doc/man1/timew-lengthen.1.adoc
Normal 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)
|
|
@ -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)
|
30
doc/man1/timew-modify.1.adoc
Normal file
30
doc/man1/timew-modify.1.adoc
Normal 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)
|
|
@ -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
1
doc/man1/timew-month.1
Normal file
|
@ -0,0 +1 @@
|
|||
.so man1/timew-chart.1
|
31
doc/man1/timew-move.1.adoc
Normal file
31
doc/man1/timew-move.1.adoc
Normal 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)
|
|
@ -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)
|
17
doc/man1/timew-report.1.adoc
Normal file
17
doc/man1/timew-report.1.adoc
Normal 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.
|
|
@ -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.
|
34
doc/man1/timew-resize.1.adoc
Normal file
34
doc/man1/timew-resize.1.adoc
Normal 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)
|
|
@ -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)
|
34
doc/man1/timew-shorten.1.adoc
Normal file
34
doc/man1/timew-shorten.1.adoc
Normal 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)
|
|
@ -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)
|
14
doc/man1/timew-show.1.adoc
Normal file
14
doc/man1/timew-show.1.adoc
Normal 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)
|
|
@ -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)
|
27
doc/man1/timew-split.1.adoc
Normal file
27
doc/man1/timew-split.1.adoc
Normal 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)
|
|
@ -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)
|
|
@ -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)
|
32
doc/man1/timew-stop.1.adoc
Normal file
32
doc/man1/timew-stop.1.adoc
Normal 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)
|
|
@ -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)
|
33
doc/man1/timew-summary.1.adoc
Normal file
33
doc/man1/timew-summary.1.adoc
Normal 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)
|
|
@ -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)
|
|
@ -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)
|
12
doc/man1/timew-tags.1.adoc
Normal file
12
doc/man1/timew-tags.1.adoc
Normal 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.
|
|
@ -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.
|
27
doc/man1/timew-track.1.adoc
Normal file
27
doc/man1/timew-track.1.adoc
Normal 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)
|
|
@ -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)
|
|
@ -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
|
|
@ -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
1
doc/man1/timew-week.1
Normal file
|
@ -0,0 +1 @@
|
|||
.so man1/timew-chart.1
|
164
doc/man1/timew.1.adoc
Normal file
164
doc/man1/timew.1.adoc
Normal 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)
|
|
@ -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
21
doc/man7/CMakeLists.txt
Normal 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")
|
|
@ -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
|
|
@ -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)
|
|
@ -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
|
|
@ -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.
|
|
@ -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
|
|
@ -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.
|
|
@ -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>"
|
||||
|
|
|
@ -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 \
|
||||
|
|
|
@ -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++ \
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -4,6 +4,7 @@ ENV DEBIAN_FRONTEND noninteractive
|
|||
|
||||
RUN apt-get update
|
||||
RUN apt-get install -y \
|
||||
asciidoctor \
|
||||
cmake \
|
||||
g++ \
|
||||
git \
|
||||
|
|
|
@ -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++ \
|
||||
|
|
|
@ -2,7 +2,9 @@ FROM fedora:31
|
|||
|
||||
RUN dnf update -y
|
||||
RUN dnf install -y \
|
||||
asciidoctor \
|
||||
cmake \
|
||||
findutils \
|
||||
gcc-c++ \
|
||||
glibc-locale-source \
|
||||
git \
|
||||
|
|
|
@ -2,7 +2,9 @@ FROM fedora:32
|
|||
|
||||
RUN dnf update -y
|
||||
RUN dnf install -y \
|
||||
asciidoctor \
|
||||
cmake \
|
||||
findutils \
|
||||
gcc-c++ \
|
||||
glibc-locale-source \
|
||||
git \
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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 \
|
||||
|
|
|
@ -4,6 +4,7 @@ ENV DEBIAN_FRONTEND noninteractive
|
|||
|
||||
RUN apt-get update
|
||||
RUN apt-get install -y \
|
||||
asciidoctor \
|
||||
cmake \
|
||||
g++ \
|
||||
git \
|
||||
|
|
|
@ -4,6 +4,7 @@ ENV DEBIAN_FRONTEND noninteractive
|
|||
|
||||
RUN apt-get update && yes | unminimize
|
||||
RUN apt-get install -y \
|
||||
asciidoctor \
|
||||
cmake \
|
||||
g++ \
|
||||
git \
|
||||
|
|
|
@ -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"""
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue