Commit graph

1467 commits

Author SHA1 Message Date
DanielMowitz
1d804ae7c8 Implemented non-cumulative burndown reports and added a test for them. 2021-09-11 13:56:03 -04:00
Tomas Babej
0bc92d6115
meta: Adjust copyright headers 2021-09-05 12:02:07 -04:00
Dustin J. Mitchell
309e99d49e Refactor task diffs to handle new attributes
This refactors task(Info)Differences to be methods of Task and to
correctly handle the `annotation_`, `tags_`, and `dep_` attributes.
2021-09-04 10:49:45 -04:00
Tomas Babej
99f4929dc5
CmdExport: Throw an exception when the report is not found
The Context::getContext ().error only issues a log message, but allows
the execution of the program. In order to interrupt the execution, an
exception must be raised.
2021-08-31 18:27:45 -04:00
Dheepak Krishnamurthy
9ce366ddab task <filter> export [<report>] 2021-08-29 12:48:18 -04:00
Tomas Babej
5309132add CmdTimesheet: Add ability to specify if context should be used
This makes timesheet consistent with other report commands.
2021-08-21 08:25:06 -04:00
Tomas Babej
ab29ef8326 CmdCustom: Respect report.<name>.context configuration variable
This allows the user to configure if a specific report should (or should
not) adhere to the currently active context.

Closes #2560.
2021-08-21 08:25:06 -04:00
Tomas Babej
a464324617 CmdConfig: Properly preserve comments at the end of the line
Trailing comments previously caused crash of the application.

Closes #2581.
2021-08-21 01:06:55 -04:00
Tomas Babej
e2e184b8d4 CmdConfig: Be more strict when matching confiuration variables
Allow only leading spaces in front of configuration variables, as
opposed to arbitrary strings.

This prevents matching variables like "report.list.context=" when one is
seeking to modify "context=".
2021-08-21 01:06:55 -04:00
Dustin J. Mitchell
20af583e21 Refactor to store dependencies as individual attributes
This also drops support for the transitional `json.depends.array`
configuration value, which has not been necessary since ~2016.

As with tags, dependencies are stored in both a "combined",
comma-separated format (for compatibility) and in an
attribute-per-dependency format (for the future).
2021-08-17 20:36:54 -04:00
Dustin J. Mitchell
413b8d22b7 Remove references to the 'depends' property outside of Task.cpp
With the exception of `taskDifferences` and `taskInfoDifferences`,
deferred to #2572.
2021-08-17 20:36:54 -04:00
Tomas Babej
861e8a6414 commands: Do not remove wait attribute upon task completion/deletion 2021-08-08 14:27:25 -04:00
Dustin J. Mitchell
20041c120e Refactor to store tags as individual attributes
Each tag is stored as `tag_<tagname>: x`.  The `x` is required because
empty attributes are treated as nonexistent.

For compatibility, the `tags` attribute is updated in sync with the
per-tag attributes.  This compatibility support may be dropped in later
versions.

Note that synchronization _updates_ use JSON format, which does not
change with this patch, and thus no compatibility issues exist.  The
synchronization _initialization_, however, uses FF4, meaning that a
sync server initialized from a version of `task` with this patch will
contain `tag_<tagname>` attributes, which will look like orphaned UDAs
to older versions.  However, as updates to tasks are synchronized via
the sync server, the updates will not contain these attributes and they
will show as "deleted" in the `task info` display on the older version.
Aside from the noise in the `task info` output, this is harmless.
2021-08-05 02:11:27 -04:00
Rosen Penev
5c137f5c8f use emplace
Allows removing the constructor name as emplace forwards the arguments
directly.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-08-05 02:03:59 -04:00
Korrat
b33a99a748 Nag based on task state before modification
With this patch, taskwarrior uses the urgency of tasks before any
modifications are applied when deciding whether to show nag messages.

Previously, taskwarrior would apply modifications before deciding
whether to show nag messages, which could lead to spurious nag messages
when completing an active task.
2021-07-30 18:56:25 -04:00
Scott Mcdermott
607baa081d CmdInfo: fix missing spaces causing run-on in virtual tag list
without the fix, when listing out the tags we would see output like:

    Virtual tags  PENDING PROJECTREADY TAGGED UDA UNBLOCKED

there isn't a PROJECTREADY tag of course, but rather a missing space
2021-07-23 17:07:11 -04:00
sebu06
3d61966831 Added coloring of dates with scheduled tasks
Color can be changed using color.calendar.scheduled
2021-07-20 07:38:14 -04:00
sebu06
69b34dcef3 using convenience function for paying attention to verbosity tokens 2021-07-18 15:09:52 -04:00
Sebastian Uharek
bd2ad97ccb Added output of number of tasks to be modified in batch mode 2021-07-18 15:09:52 -04:00
Vladyslav Tronko
af6f2b55ec Fix matching project name during urgency calculation 2021-07-17 16:21:59 -04:00
Tomas Babej
5e5a48606f CmdExec: Prevent user from executing an empty command
Closes #2503.
2021-06-10 21:44:07 -04:00
oxalica
3672ed0c1b Remove build date/time from diagnostic message
This message does not really help, and makes the binary
non-deterministic.
2021-06-02 19:33:39 -04:00
Rosen Penev
73575f8d88 convert manual loops to std::count_if
Simpler and generates less assembly.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-05-01 21:20:52 -04:00
Rosen Penev
ab7f5b0b51 clang-tidy: loop conversion
Found with modernize-loop-convert

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-04-23 09:13:22 -04:00
Rosen Penev
e84930be8d clang-tidy: use auto
Found with modernize-use-auto

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-04-23 01:39:23 -04:00
Rosen Penev
d0c4350c2f clang-tidy: add missing reserve calls
Found with performance-inefficient-vector-operation

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-04-23 00:22:43 -04:00
Rosen Penev
3cafb5257e clang-tidy: use = default
Found with modernize-use-equals-default

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-04-23 00:15:06 -04:00
Rosen Penev
8ffb85b327 clang-tidy: use '' for single character find
Found with performance-faster-string-find

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-04-22 23:18:16 -04:00
Tomas Babej
44220287c4 CmdCalendar: Only display relevant parts of the legend 2021-04-21 23:44:36 -04:00
Tomas Babej
282f3d344a
CmdCalendar: Adjust styling 2021-04-21 23:09:08 -04:00
DanielMowitz
a16f3addc7 Made CmdCalendar.cpp even less redundant by only calling
config.get ("dateformat.holiday") once for every method.
2021-04-21 22:23:00 -04:00
DanielMowitz
23244e61a5 Renamed variables to be more consistent and improved readability. 2021-04-21 22:23:00 -04:00
DanielMowitz
f703bd5a74 Made CmdCalendar.cpp less redundant by only calling
Context::getContext().config once per method.
2021-04-21 22:23:00 -04:00
DanielMowitz
45c67fef6e Update CmdCalendar.cpp
Converted some tabs to spaces and added braces to a for loop.
2021-04-21 22:23:00 -04:00
DanielMowitz
374b97bb66 Implemented multi-day holidays. 2021-04-21 22:23:00 -04:00
DanielMowitz
dc5ebfa612 Made the code for colorizing the calendar a little more dry. 2021-04-21 22:23:00 -04:00
Max Rossmannek
6546c050c5 Un-wait a waiting task when deleted 2021-04-06 23:34:32 -04:00
Max Rossmannek
33dcea68f5 Un-wait a waiting task when done
Implements #2322
2021-04-06 23:34:32 -04:00
DanielMowitz
fb6c42f375 Change nagging behavior
Don't nag if the specified set of tasks consists only of highest urgency tasks.
2021-04-04 22:06:07 -04:00
Tomas Babej
693f2f74cd CmdEdit: Respect bulk option
Since 'task edit' is a data-modification operation (that is particularly
hard to cancel mid-way), it should also respect the 'bulk' option like
all the other modification operations (mod, start...).

Closes #2428.
2021-04-03 17:57:08 -04:00
Tomas Babej
fe6a6ca93b compatibility: Explicitly specify template type to support older compilers
This makes curret development branch buildable on Ubuntu 18 / Centos 7 /
SUSE 15.
2021-04-03 15:01:39 -04:00
Tomas Babej
c701137313 CmdContext: Report context as not found if nothing was deleted 2021-04-03 15:01:39 -04:00
Tomas Babej
201b1c37b4 CmdContext: Allow user to define read-only / write-only contexts 2021-04-03 15:01:39 -04:00
Tomas Babej
4de23a3e20 CmdContext: Remove all types of context when deleting 2021-04-03 15:01:39 -04:00
Tomas Babej
062878022b CmdContext: Expand information provided in 'context show' 2021-04-03 15:01:39 -04:00
Tomas Babej
a558ffcd42 CmdContext: List info about both read and write context 2021-04-03 15:01:39 -04:00
Tomas Babej
c0ded37f91 CmdContext: Discard .read/.write suffix when discovering contexts 2021-04-03 15:01:39 -04:00
Tomas Babej
41823c7939 CmdContext: Expand description 2021-04-03 15:01:39 -04:00
Tomas Babej
985aab0541 CmdContext: Define both read and write context 2021-04-03 15:01:39 -04:00
Tomas Babej
9bc726ba61 commands: Modify CmdAdd and CmdLog to use context
This only sets the command properties.
2021-04-03 15:01:39 -04:00