Commit graph

4863 commits

Author SHA1 Message Date
Paul Beckingham
18804a743c CmdCalendar: Converted from Date::daysInMonth to ISO8601d::daysInMonth 2015-09-26 14:09:51 -04:00
Paul Beckingham
86df438579 CmdBurndown: Converted from Date::daysInMonth to ISO8601d::daysInMonth 2015-09-26 14:08:50 -04:00
Paul Beckingham
0d6788635e ISO8601d: Added ::monthName and tests 2015-09-26 14:02:26 -04:00
Paul Beckingham
965415d7a4 ISO8601d: Added ::daysInYear and tests 2015-09-26 13:57:10 -04:00
Paul Beckingham
d8eb0ac0da ISO8601d: Added ::daysInMonth and tests 2015-09-26 13:52:43 -04:00
Paul Beckingham
6f5d07dcd4 ISO8601d: Added ::leapYear and tests 2015-09-26 13:47:27 -04:00
Paul Beckingham
f615db8a4c ISO8601d: Added ::length and tests 2015-09-26 13:38:32 -04:00
Paul Beckingham
91588c7e96 ISO8601: Added static ::dayOfWeek 2015-09-26 13:29:31 -04:00
Paul Beckingham
71e2f1bf2f Date: Removed unused ::easter method
- It is duplicated in Dates.cpp.
2015-09-26 13:19:20 -04:00
Paul Beckingham
227163a4a1 Date: Removed method signature that doesn't even exist 2015-09-26 13:07:13 -04:00
Paul Beckingham
6f726bf1cf ISO8601d: Added ::minimumMatchLength 2015-09-26 12:57:57 -04:00
Paul Beckingham
541e9eec30 Context: Initialize ISO8601::weekstart 2015-09-26 12:40:56 -04:00
Paul Beckingham
12aeecc73f ISO8601: Removed useless comment 2015-09-26 12:27:23 -04:00
Paul Beckingham
eeb592d032 ISO8601d: Renamed ::_value to ::_date 2015-09-26 12:26:09 -04:00
Paul Beckingham
5eb9948235 CmdExport: Measures JSON composition time under context.timer_render 2015-09-26 12:20:14 -04:00
Paul Beckingham
bb53ae17ae ISO8601p: Renamed ::_value to ::_period 2015-09-26 12:17:57 -04:00
Paul Beckingham
219f23de33 ISO8601: Default ctor implies 'now' 2015-09-26 11:55:29 -04:00
Paul Beckingham
1efc1f2531 ISO8601: ::clear is now a private method 2015-09-26 11:45:00 -04:00
Paul Beckingham
2b3691508f ISO8601: Prepared ::parse method for its new role of parsing all dates 2015-09-26 11:39:45 -04:00
Paul Beckingham
e2f504e686 Context: No longer calls Context methods while dtor is running. 2015-09-25 07:57:43 -04:00
Wilhelm Schuermann
4fb9307be5 TDB2: Improve TF2::get(uuid, task) performance
- Improves "task import" performance test on test machine further from
  13s to 1.9s.
- Active only during "task import".  Might be worth using during other
  mass lookups like "task sync", or could even be a good default.
2015-09-22 18:32:03 +02:00
Tomas Babej
d006a2820b CmdExport: Do not use context
Per the design of the context feature, 'task export' is not
supposed to leverage context. This is a regression from 2.4.4.
2015-09-22 06:45:04 -04:00
Paul Beckingham
5325efbd07 TW-1700: modify tags behavior changed
- Thanks to David Badura.
2015-09-21 07:28:26 -04:00
Paul Beckingham
d50372b799 Config: Cleaned up verbose entry - it is defaults, not documentation. 2015-09-20 09:18:05 -04:00
Paul Beckingham
646863db16 Cleanup: Minor tweaks 2015-09-20 09:13:24 -04:00
Paul Beckingham
d5002ab400 Bug: The 'filter' verbosity token code was missing
- Probbably cut out during the CLI --> CLI2 cutover.
2015-09-19 15:22:03 -04:00
Paul Beckingham
7c59bd5a1d TW-1699: Command interpretation displayed incorrectly
- Thanks to Tomas Babej.
2015-09-19 15:21:31 -04:00
Paul Beckingham
f86c9e2096 Task: Added boundary condition requirement 2015-09-19 09:49:22 -04:00
Paul Beckingham
6b69903208 Task: Modified the way UUIDs are validated 2015-09-19 08:56:15 -04:00
Paul Beckingham
b4077775c2 Filter: When GC is turned off, disable the query shortcuts, which do not apply. 2015-09-19 07:49:55 -04:00
Tomas Babej
45dea75faa CmdEdit: Do not allow concurrent edits 2015-09-16 20:24:13 -04:00
Scott Kostyshak
2690d9bdf3 Task: Correct a false-positive warning
- The command "task 1 modify due: wait:2days" gave the following
   output:

    Warning: You have specified that the 'wait' date is after the
    'due' date.

  Now, we check if the due date is zero, in which case the due date is
  being removed.
2015-09-15 17:02:59 -04:00
Paul Beckingham
11009fd3ff CLI2: Multiple 'limit:N' args are now properly handled
- The 'next' report has 'limit:page' in the filter, and when an additional arg
  was specified, only the first was obeyed. This means that it could not be
  effectively overriden.
2015-09-15 17:02:59 -04:00
Paul Beckingham
b4e5285a50 Lexer: Updated list of Unicode space characters 2015-09-15 17:02:59 -04:00
Wilhelm Schuermann
605f8020b7 Nibbler: Improve import performance
Takes the "import" performance test from 5m5s on a test machine to 13s
total.

A huge part of the previously morbid performance were memory allocation
and release for very little benefit in the JSON parser.  With this new
approach the copying is kept to a minimum.  There is still room for
improvements.
2015-09-15 18:14:18 +02:00
Wilhelm Schuermann
e478396a04 DOM: Prevent use-after-free in CLI2::canonicalize 2015-09-15 12:57:18 +02:00
Tomas Babej
514c869aea sort: Do not use Variant to sort UDA strings
String UDA defer the evaluation of the sort_compare method
to the '<' operator of the Variant class, since the logic for
comparing string UDAs (which can have custom sort orders) is
already implemented there.

However, since primary use case of Variant is the filter evaluation,
it handles trivial (empty) values in a manner which does not allow
for its direct usage as the comparison operator between sort UDAs.

When filtering, a trivial (empty) value should neither match
'uda < A' nor 'uda >= A'. However, when sorting tasks upon values of
this UDA, precisely one of the above expressions *must* be true.

This commit implements the UDA string sorting logic directly in
the sort_compare method.
2015-09-13 09:16:07 -04:00
Tomas Babej
b9f217a716 Context: Add timer that measures the total command duration explicitly 2015-09-12 17:36:57 -04:00
Paul Beckingham
ed58263c16 Timer: Added static ::now method for timestamps 2015-09-12 14:02:13 -04:00
Paul Beckingham
f42de556fa CmdUnique: Changed from std::to_string to ::format
- https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52015
2015-09-12 09:52:09 -04:00
Paul Beckingham
75aa4008e1 CmdUnique: Missing header 2015-09-12 09:40:48 -04:00
Tomas Babej
2d0ac20720 CmdUnique: Special-case 'id' attribute 2015-09-12 09:25:01 -04:00
Paul Beckingham
d026eb759f Config: Removed unnecessary parentheses in report filters, given TW-1656 2015-09-12 09:21:05 -04:00
Paul Beckingham
360071712f CLI2: Removed references to PSEUDO args, now they are demoted to config settings 2015-09-12 09:20:31 -04:00
Paul Beckingham
84b3055690 CLI2: Pseudo-args demoted to config settings
- When 'limit:N' is encountered, it is removed from the command line, and
  added as a config setting, equivalent to 'rc.limit:N'.
- This simplifieѕ subsequent command line parsing.
2015-09-12 09:03:15 -04:00
Paul Beckingham
c59afe34c4 TW-1656: Implicitly parenthesize argv filter
- Thanks to Daniel Shahaf.
2015-09-12 08:57:38 -04:00
Paul Beckingham
1f47e8c99f TW-1692: 42//' segfaults
- Thanks to Daniel Shahaf.
2015-09-12 07:34:56 -04:00
Paul Beckingham
2bdaa37e32 CLI2: Removed unnecessary processing of filter 2015-09-11 08:44:39 -04:00
Paul Beckingham
442ef6a29b CLI2: Combined two conditions 2015-09-11 08:43:55 -04:00
Paul Beckingham
cd736a0d70 TW-1688: task fails to import
- Thanks to Rainer Müller.
2015-09-11 07:49:29 -04:00