The build of the docker image currently fails due to a bug unrelated to
TW [1]. This will be reverted once the issue is fixed.
[1] https://bugs.archlinux.org/task/69563
Since taskwarrior is a CLI tool, it is likely that it is interacted with
programmatically. As such, expressions that a human would not type, but
are syntactically correct are bound to occur. In particular, task
currently is not able to handle empty parentheses expressions:
task +PENDING '(' ')'
This is due to "and" operator being injected between +PENDING (which
translates to '( status = pending )' and '('.
Modify the insertJunctions to not insert the 'and' operator between two
sub-expressions if one of them is an empty parentheses expression.
Closes#1896.
It could be argued we should not support this syntax (i.e. the ')'
character needs to be surrounded by a space. Note that the ability to
contain ')' as part of the attribute value was explicitly requested (as
a bug report) in TW-1455 (#1481).
Attribute names are often words from natural language (such as start,
end or entry). The ColumnTypeString supports resolving DOM references,
such that task commands like 'task add proj:3.proj' work.
However, the current implementation of the ColumnTypeString::modify
only looks at the first token to determine whether the input is a DOM
reference or not. This mischaracterizes inputs like 'task add
"description:start something"', where the first token of the attribute
value looks like a DOM reference (the 'start' attribute), but is in
fact, a part of larger string.
Since all DOM references are single tokens, only interpret the input as
a possible DOM reference if and only if one token was found.
Closes#1908.
these libararies are not installed so don't leave the decision up to
enviroment which might build shared libraries resulting in binary
with missing deps after installation
Fixes#2403
Previously, if no due date was set on any pending/waiting task, the
calendar output would start at the end of the currently supported date
period.
Default to current month instead.
The purpose of displaying due dates on the calendar is to convey the
relative business of any given day. Waiting status signifies a task
should not be displayed in reports yet, but for the purposes of
planning, it should be displayed in the calendar overview.
Closes#2393.
The _period attribute holds the number of seconds that the Duration
holds, while _date attribute holds the number of seconds since the
beginning of unix epoch (also known as epoch time). As such, it does not
make sense to convert _period directly into _date.
Interpret _period as offset relative to current unix epoch time.
Closes#2390.