Commit graph

3257 commits

Author SHA1 Message Date
Thomas Lauf
8ba588dc24 Remove obsolete function subset (with Interval)
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2022-01-09 12:00:56 +01:00
Thomas Lauf
be5607bb8e Remove obsolete function getIntervalsByIds
- Was replaced by interval filter IntervalFilterAllWithIds in 9968b9e9

Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2022-01-09 11:53:34 +01:00
Thomas Lauf
993ae85d5c Add check whether requested intervals have been found when searching by ID
- Restores behaviour which got lost when switching to the new interval filtering in 9968b9e9
- Add test for each command

Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2022-01-09 11:43:56 +01:00
Thomas Lauf
c2e26a989e Fix test description
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2022-01-05 23:44:12 +01:00
Thomas Lauf
6cf52faeb6 Update libshared to 072e0e0cb91c1e05e02db59ed83924b43e992938
With 179a6153, all 'end of' named dates point to the last second of the respective interval.
(see GothenburgBitFactory/taskwarrior#2519)
Redefine hint intervals in Timewarrior by 'start of' named dates, such that their ranges comprise the full interval as expected.

Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2022-01-05 23:42:19 +01:00
Thomas Lauf
f616b77bba Update ChangeLog
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2022-01-03 23:24:40 +01:00
Thomas Lauf
8ab44ba5e5 Skip empty intervals when flattening
Closes #403

Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2022-01-03 23:15:16 +01:00
Thomas Lauf
4044635e08 Add complementary hint :holidays/no-holidays
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2022-01-02 15:48:03 +01:00
Thomas Lauf
1a6d5cacca Make summary output configurable via rules
- add config `reports.summary.ids` to toggle display of IDs
- add config `reports.summary.annotations` to toggle display of annotations
- add hints `:no-ids` and `:no-annotations` to override positive configs

Closes #474

Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2022-01-02 15:48:03 +01:00
Thomas Lauf
b40f28ca4a Add braces to for and if statement
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2022-01-02 15:48:03 +01:00
Thomas Lauf
fe3c69ef20 Rename variable to show_annotations
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2022-01-02 15:48:03 +01:00
Thomas Lauf
4b483bab56 Rename variable to show_ids
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2022-01-02 15:48:03 +01:00
Thomas Lauf
17f9e8727c Add curly braces to if-statements
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2022-01-02 15:40:38 +01:00
Thomas Lauf
592f4b8b6e Apply 'one sentence, one line' to some comments
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2022-01-02 15:35:55 +01:00
Thomas Lauf
ac2e94064f Fix padding in case single digit weeks are present
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2022-01-02 15:34:33 +01:00
Thomas Lauf
1d07ec4aea Add comma
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2022-01-01 14:27:51 +01:00
Thomas Lauf
8efb716fbf Fix typo
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2022-01-01 14:27:35 +01:00
Thomas Lauf
4ac1fd39c9 Remove duplicate line
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2022-01-01 14:26:39 +01:00
Thomas Lauf
d5773b456e Update ChangeLog
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2021-12-06 08:31:03 +01:00
Shaun Ruffell
6f0181d953 Do not leak filter in IntervalFilterFirstOf
This is a continuation of 285aa7171e, and should have been part
of that commit.

Signed-off-by: Shaun Ruffell <sruffell@sruffell.net>
2021-12-06 08:30:38 +01:00
Thomas Lauf
9e748d44e7 Update ChangeLog
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2021-12-03 23:01:19 +01:00
Shaun Ruffell
285aa7171e Do not leak IntervalFilters in IntervalFilterAndGroup
This eliminates the use of the naked "new" so that when the filters object is
destroyed, the filters are also freed.

This also eliminates a potential issue with binding an r-value reference to a
Range as a reference in IntervalFilterAllInRange.

Signed-off-by: Shaun Ruffell <sruffell@sruffell.net>
2021-12-03 22:57:52 +01:00
Thomas Lauf
7234b990d7 Update ChangeLog
Closes #468

Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2021-12-02 22:31:17 +01:00
Thomas Lauf
40d0c656e7 Replace getLatestInterval by new interval filtering
Replace in commands CmdAnnotate, CmdDefault, CmdContinue, CmdTag, and CmdUntag
Also in function domGet

Relates to #468

Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2021-12-02 22:31:16 +01:00
Thomas Lauf
9cd693d55d Use filter IntervalFilterFirstOf in CmdContinue
Relates to #468

Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2021-12-02 22:31:16 +01:00
Thomas Lauf
244b351118 Add interval filter IntervalFilterFirstOf
A first-of interval filter is done when the first matching interval has been found.

Relates to #468

Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2021-12-02 22:31:16 +01:00
Thomas Lauf
9968b9e9d1 Replace function getIntervalsByIds by getTracked with new filtering
Replace getIntervalsByIds in commands CmdAnnotate, CmdContinue, CmdDelete,
CmdJoin, CmdLengthen, CmdModify, CmdMove, CmdResize, CmdShorten, CmdSplit,
CmdTag, and CmdUntag

Relates to #468

Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2021-12-02 22:31:15 +01:00
Thomas Lauf
5f96fd2878 Add interval filter IntervalFilterAndGroup
An and-group interval filter accepts all intervals which are accepted by all filters in its group.
It is done, if one of the filters in its group is done.

Relates to #468

Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2021-12-02 22:31:15 +01:00
Thomas Lauf
c546add03f Use new filtering in getTracked
Replace getTracked in commands CmdSummary, CmdChart, CmdExport, CmdFill,
CmdReport, CmdTags, and CmdContinue. Also in  functions domGet and autoFill

Relates to #468

Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2021-12-02 22:31:15 +01:00
Thomas Lauf
a7e2d8c08c Add interval filter IntervalFilterAllWithIds
An id-set interval filter accepts all intervals, which contain all ids of the given id set.
This filter is done when all ids have been found.

Relates to #468

Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2021-12-02 22:31:14 +01:00
Thomas Lauf
51bbb71708 Add interval filter IntervalFilterAllInRange
An all-in-range interval filter accepts all intervals which intersect with the given range.
This filter is done if it encounters an interval with an end datetime before its range's start datetime.

Relates to #468

Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2021-12-02 22:31:14 +01:00
Thomas Lauf
c789de7c4e Add interval filter IntervalFilterAllWithTags
An all-with-tags interval filter accepts all intervals which contain all tags of the given tag set.
This filter is never done, i.e. it will consume all intervals from the stream.

Relates to #468

Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2021-12-02 22:31:14 +01:00
Thomas Lauf
94f3077a4b Add abstract base class IntervalFilter
Relates to #468

Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2021-12-02 22:31:13 +01:00
Thomas Lauf
e4eeca6755 Remove version constraint from fiu-utils and libfiu-dev
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2021-12-02 21:32:20 +01:00
Thomas Lauf
8d1b89db30 Improve performance-plot script
- Add option to select commands for display
- Use name of data directory as plot title

Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2021-11-19 23:20:25 +01:00
Thomas Lauf
b87f4a1f5c Fix performance test for command stop
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2021-11-19 22:35:37 +01:00
Thomas Lauf
77d4728a09 Update ChangeLog
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2021-11-14 12:59:38 +01:00
Lim Ding Wen
82b7e5537d SummaryColors: Fix formatting
Signed-off-by: Lim Ding Wen <limdingwen@gmail.com>
2021-11-12 22:15:05 +01:00
Lim Ding Wen
026ef7268f SummaryColors: Handle tags with no user-set colors
Signed-off-by: Lim Ding Wen <limdingwen@gmail.com>
2021-11-12 22:15:05 +01:00
Lim Ding Wen
aa08d0a3f2 SummaryColors: Add colors to summary
Signed-off-by: Lim Ding Wen <limdingwen@gmail.com>
2021-11-12 22:15:05 +01:00
Thomas Lauf
e90e243496 Update ChangeLog
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2021-11-12 22:14:17 +01:00
Thomas Lauf
07d0dc0a98 Do not add empty exclusion ranges to list
Closes #466

Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2021-11-12 21:59:25 +01:00
Thomas Lauf
d54df087cb Add braces to if- and for-statements
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2021-11-12 21:59:23 +01:00
Thomas Lauf
11a57e3cc5 Improve timemachine test-script
- Fix `--fail-at-end` option
- Collect errors and print report at end
- Make variable `tests` an array, add safeguards
- Combine cases
- Make variables `dates`, `hours`, `minutes` an array, add `pad_with_zero` function
- Execute test with specific 'runtime', so it picks up fake time
  - Python scripts are then executed as `faketime <date> python3 <test>`
  - Shell scripts as `faketime <date> bash <test>`
  - Everything else as `faketime <date> <test>`

Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2021-11-12 21:59:07 +01:00
Thomas Lauf
269d1dff7b Update AUTHORS, ChangeLog
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2021-11-09 14:39:50 +01:00
Lim Ding Wen
03443d259d TagColorDoc: Add tag color documentation to timew-chart.
Signed-off-by: Lim Ding Wen <limdingwen@gmail.com>
2021-11-07 15:53:06 +01:00
Lim Ding Wen
3ea6a5ccd4 TagColorDoc: Add line break for easier reading.
Signed-off-by: Lim Ding Wen <limdingwen@gmail.com>
2021-11-07 15:53:06 +01:00
Lim Ding Wen
c7781927ec TagColorDoc: Added man documentation for configuring tag colors.
Signed-off-by: Lim Ding Wen <limdingwen@gmail.com>
2021-11-07 15:53:06 +01:00
Thomas Lauf
e1b29b388e Update ChangeLog
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
2021-07-14 21:05:20 +02:00
Shaun Ruffell
7ffb2421a2 AtomicFile: Minor cleanups
1) Remove AtomicFile::impl::find and use std::find_if directly.

2) Remove static functions that take a string for path. Allow the compiler to
construct the Path object as necessary.

Signed-off-by: Shaun Ruffell <sruffell@sruffell.net>
2021-07-13 20:31:55 +02:00