Tomas Babej
a219bd30cf
Task: Bump annotations with duplicate entry values
...
Since annotations are stored as a map, duplicate entry values lead to
data loss (i.e. annotations overriding each other on import). Perhaps
the choice of using a map internally should be reconsidered.
Closes #1938 .
2021-06-19 12:29:41 -04:00
Tomas Babej
8b86f16f25
Variant: Do not use implicit fall-through
...
The code handling the comparison between the date and string types would
convert the variants to correct types, but only through multi-level
fall-through in the switch statement, which is always a bit of a
dangerous construct.
Added explicit return for the non-trivial case, preventing the need for
the fall-through.
Closes #2502 .
2021-06-12 15:49:06 -04:00
Tomas Babej
c98fe5f34b
cmake: Remove recur2.cpp from CMakeLists
2021-06-12 10:40:47 -04:00
Tomas Babej
34ffd164bb
recur: Remove references to the new recurrence mechanism
2021-06-12 10:40:29 -04:00
Tomas Babej
4db7990df8
recur: Remove WIP recurrence overhaul implementation
...
The feature has been moved to 3.0 milestone. Also, we are now using
feature branches for development of new functionality, in order to make
the development branch more stable.
2021-06-12 10:37:23 -04:00
Tomas Babej
5e5a48606f
CmdExec: Prevent user from executing an empty command
...
Closes #2503 .
2021-06-10 21:44:07 -04:00
oxalica
2cb8f1d5ea
Support relative include for themes in taskrc
2021-06-02 19:34:57 -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
begasus
4fff27f4bc
Fix reference for errno.h on Haiku
2021-05-14 00:04:48 -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
Tomas Babej
62399239ca
Filter: Make +ACTIVE trigger pendingOnly shortcut
2021-04-24 15:28:00 -04:00
Tomas Babej
523e2b40fe
Filter: Consider presence of +PENDING tag signal to skip completed.data
...
This puts +PENDING at the same level of treatment as status:pending when
it comes to decision whether the data processed should be pending only.
The mechanism is by no means perfect and should be improved in the
future.
2021-04-24 15:28:00 -04:00
Tomas Babej
5e87be4641
Filter: Fix copy-paste error in pendingOnly
2021-04-24 15:28:00 -04:00
Tomas Babej
c7fd6b798b
libshared: Bump version to support Pig.getUntilAscii
2021-04-24 10:47:28 -04:00
Tomas Babej
87d0499fc8
performance: Use ascii-only version of getUnitl for parsing attribute names
...
Not having to consider utf-8 characters has performance benefits.
2021-04-24 10:47:28 -04:00
Tomas Babej
95b135b59e
DOM: Create a copy of Task object only if needed
2021-04-24 10:47:28 -04:00
Tomas Babej
87b0be9b6f
performance: Pre-emptively reserve size of the values vector
...
Each token will add a corresponding Variant into the vector, so we can
avoid the performance penalty connected with dynamic resizes of the
vector.
2021-04-24 10:47:28 -04:00
Tomas Babej
312f77f703
performance: Do not use Pig to extract raw line content
2021-04-24 10:47:28 -04:00
Tomas Babej
e7487c8a63
performance: Avoid lexing input when not needed in getDOM
...
Lexing a token can be expensive operation. Perform lexing only if a
UUID/ID reference could have been provided.
2021-04-24 10:47:28 -04:00
Tomas Babej
c3f9d09d22
performance: Cache used command value
...
The detected command does not change once CLI2::analysis has been
performed. Cache the value of the command to avoid the need to
re-discover the correct value each time we're interested in it.
2021-04-24 10:47:28 -04:00
Tomas Babej
a19773873a
performance: Cache CLI2::canonicalize lookups
...
Canonicalization of attributes or attribute prefixes happens once per
every single task considered in the filtering process. It maps short,
prefixed names to their full-length versions, for example:
"pro" -> "project" in the expression "project:Home"
It follows that such process is not task-dependant and as such the
lookups can be cached.
2021-04-24 10:47:28 -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
15f0ab87e0
clang-tidy: use const references
...
Found with performance-for-range-copy
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-04-23 01:59:45 -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
4aaaa8dcc8
clang-tidy: use bool literals
...
Found with modernize-use-bool-literals
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-04-23 00:11:52 -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
Tomas Babej
bd0d907335
CLI2: Apply desugaring of plain filter args to date args
...
This ensures that commands like `task marc` perform description
substring search on `marc`.
Closes #2451 .
2021-04-14 02:44:33 -04:00
Tomas Babej
475a16b3d4
CLI2: Fix docstring for desugarFilterPlainArgs
...
Desugaring is applied also for tokens of Lexer::type::identifier, make
sure the docstring correctly documents that.
2021-04-14 02:44:33 -04:00
Paolo Capriotti
856b589bac
Parse 'context' verbose token correctly
2021-04-11 20:32:42 -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
1bba59e972
CLI2: Move the recursion block to the right place in addContext
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