Commit graph

331 commits

Author SHA1 Message Date
Paul Beckingham
5325efbd07 TW-1700: modify tags behavior changed
- Thanks to David Badura.
2015-09-21 07:28:26 -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
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
7a0927effe Task: Project attributes are exempt from DOM expansion 2015-09-07 16:40:32 -04:00
Paul Beckingham
e4132f6a02 CLI2: Expand DOM references in single-token values 2015-09-07 11:49:55 -04:00
Paul Beckingham
58d52a0191 Task: Factored out eval, added eval for tags. 2015-09-06 16:26:05 -04:00
Paul Beckingham
16b8f90048 Task: Removed commented code 2015-09-06 03:05:19 -04:00
Tomas Babej
efab724802 Task: Convince myself Task comparison is implemented correctly 2015-09-05 17:19:13 -04:00
Tomas Babej
6b83945a21 Urgency: Replace 'next' coefficient with configuration entry 2015-09-04 08:10:36 -04:00
Paul Beckingham
4008a64fdd Virtual Tags: New 'PROJECT', 'PRIORITY' and 'LATEST' virtual tags
- Added documentation.
2015-08-31 16:54:18 -04:00
Paul Beckingham
ada6c24789 Virtual Tag: Undocumented, experimental support for 'LATEST' 2015-08-31 12:59:44 -04:00
Paul Beckingham
bc1aa0bc0f TW-1666: import should reject invalid data
- Thanks to Daniel Shahaf.
2015-08-22 12:34:10 -04:00
Paul Beckingham
d640fed3d4 Task: 'wait:' bug fix
- When 'wait:' is specified, it no longer sets 'status:waiting' because there
  is no value.  Thanks to Daniel Shahaf.
2015-08-22 12:16:45 -04:00
Paul Beckingham
4e9ec1b320 Task: Segfault protection 2015-08-22 07:45:10 -04:00
Paul Beckingham
733e4e5aff Task: Code cleanup 2015-08-15 23:51:34 -04:00
Paul Beckingham
392a5dacd9 Task: Duration replaced by ISO8601p 2015-08-12 08:27:08 -04:00
Paul Beckingham
77ae4a3613 Task: Code cleanup 2015-08-09 10:43:43 -04:00
Paul Beckingham
3e7c9157a1 Task: Code cleanup 2015-08-09 10:20:49 -04:00
Paul Beckingham
4529bcf24a Import: UUID attribute is now validated 2015-08-09 10:20:25 -04:00
Paul Beckingham
16cee8e263 TW-1627: 'mon' is replaced with date in project field
- Thanks to James Cline.
2015-07-28 23:44:20 -04:00
Paul Beckingham
0f4d3c1d60 Task: Dependencies are exported as a JSON array
- The 'json.depends.array' setting controls whether dedendencies are encoded as
  a JSON array, or comma-separated string.
- The default value is on.
- Both forms are imported.
2015-07-28 21:54:29 -04:00
Paul Beckingham
84a9140763 Task: Stubbed duration storage change 2015-07-27 20:48:54 -04:00
Paul Beckingham
c2c26b338b CmdImport: Added support for free-form JSON import 2015-07-27 20:48:51 -04:00
Paul Beckingham
5995320164 Task: Added a code path allowing parseJSON to be handed a JSON tree 2015-07-27 20:48:48 -04:00
Paul Beckingham
41a76c6798 Tags: New 'UDA' and 'ORPHAN' virtual tags. 2015-07-24 23:46:24 -04:00
Paul Beckingham
30911968cc Task: Dead code removal 2015-07-17 14:31:25 -04:00
Paul Beckingham
6890fd32c7 Task: Duration handling improvements
- Separated handling for 'recur' (store in raw form) and type 'duration'
  attributes (store formatted).
- Added missing storage handling for type duration attributes.
2015-07-16 16:15:47 -04:00
Paul Beckingham
264dae02bc TW-1592: Able to add duplicate tags using 'tags:<value>'
- Thanks to Tomas Babej.
2015-07-15 13:48:47 -04:00
Paul Beckingham
1f8a66b7f3 CLI2: Integrated Lexer::decomposeSubstitution
- Task::modify now considers the 'g' at the end of a substitution to be a
  string of characters, which may contain 'g'. No other flags are currently
  supported.
2015-07-11 16:44:13 -04:00
Tomas Babej
15dea00eeb Task: Do not include recurring tasks into OVERDUE virtual tag 2015-07-11 11:46:51 -04:00
Paul Beckingham
4d82dd7985 Task: Lexer::Type::word arguments are dequoted before being stored 2015-07-10 13:15:42 -04:00
Paul Beckingham
b7519bb550 Task: Removed Eval::ambiguity. 2015-07-01 17:52:34 -04:00
Paul Beckingham
f96a42d8b0 Feature: Error on virtual tag modification attempt
- An attempt to add or remove a virtual tag is now an error (thanks to Scott M).
2015-06-27 18:39:50 -04:00
Paul Beckingham
737cb23546 CLI2: Eliminated CLI
- This is a large commit, as all the changes are centered around the elimination
  of CLI.
- CLI is no longer compiled.
- Context no longer maintains CLI + CLI2.
- Filter now walks the parse tree and sends to Eval a
  std::vector <std::pair <std::string, Lexer::Type>> containing only args tagged
  with FILTER.
- Filter more efficiently sets/unsets Eval::debug, by doing it less often.
- The filterExpr.length() check is no longer meaningful, and instead the size of
  the std::vector above is used.
- Filter::pendingOnly performs better analysis.
- Filter::safety makes use of the std::vector size also.
- Task::modify makes use of 'canonical' rather than 'name', which is a policy
  change, not a fix.
2015-06-24 13:23:56 -04:00
Paul Beckingham
960d2be06d Task: Added a Lexer::dequote to values 2015-06-22 16:29:56 -04:00
Paul Beckingham
57133140fb Plumbing: Attempt at fixing the Cygwin missing std::to_string function. 2015-06-07 16:00:12 -04:00
Wilhelm Schuermann
e95167a984 Plumbing: Use variadic templates for format()
- Use variadic templates, with a slight twist for properly supporting
  Taskwarrior's l10n strings.
- Adjust code that relied on implicit type conversion which led to
  problems with template instantiation.
- Move some functionality out of format() in order to keep it generic.
2015-06-07 20:54:02 +02:00
Wilhelm Schuermann
5105bd05f9 TW-1454: Redundant dependency should not stop modification 2015-06-05 23:57:48 +02:00
Wilhelm Schuermann
2ad3713e8c JSON: Fix memory leak in parser
- Fix JSON root object leaking out by using delete.
  This is by no means a comprehensive fix since exceptions are involved
  in a lot of places, but it does fix the memory leak in all cases
  checked in Taskwarrior's test suite.
- Going with a shared_ptr or unique_ptr here might be a better
  solution, but would involve more code changes.
2015-06-03 23:12:34 +02:00
Paul Beckingham
e8d04bdce6 C++11: N1984 auto 2015-05-24 13:36:26 -04:00
Wilhelm Schuermann
49f7612704 TW-1572: Implement better urgency inheritance
- Implement recursive urgency inheritance.  If this is to be made a
  default setting, some thought will have to be put into making it
  more efficient.
2015-05-22 23:01:21 +02:00
Paul Beckingham
e74c6963a9 C++11: Cleaned up program framework with range-based for 2015-05-11 17:50:53 -04:00
Paul Beckingham
935b2993f3 C++11: Took advantage of N1757. 2015-04-06 15:30:39 -04:00
Paul Beckingham
5da3416b79 TW-70: urgency.user.keyword.<keyword>.coefficient=...
- The 'urgency.user.keyword.<keywrod>.coefficient' setting allows for urgency
  adjustments based on description keywords.
2015-04-05 10:25:42 -04:00
Paul Beckingham
5af4579741 Priority: Converted 'priority' attribute to a UDA
- 'priority.long' and 'priority.short' formats now map to 'priority', and
  generate a warning.
- Man page updated.
- Converted priority urgency coefficients to UDA equivalents.
- Converted priority color rules to UDA color rules.
- Removed 'default.priority' support.
- Removed special sort handling for 'priority' field in Variant, added special
  UDA sort handling.
- Removed ColPriority.{h,cpp} source files.
- Removed asorted newly-unused variables.
- The 'show' command now highlights unused priority settings.
- Removed unused localized priority-relateѕ strings.
- Added legacy mapping for columns and sort columns for 'priority.long' and
  'priority.short' columns in report definitions.
- Removed priority color rules implementation.
- Removed obsolete tests for #860, #990, custom.priority_long.t.
- Updated various tests that set priority default, colors.
2015-04-04 19:30:33 -04:00
Paul Beckingham
743cb92958 Context: Static initialize UDA sort order values 2015-04-04 14:50:38 -04:00
Wilhelm Schuermann
c1815b8277 TW-1279: default.* applies to recurring tasks
- Recurring tasks inherit attributes from their parent.  default.*
  is no longer applied to them.
2015-04-02 13:37:59 +02:00
Paul Beckingham
a75c293286 Merge branch '2.4.2' into lexer2 2015-03-07 17:33:23 -05:00
Paul Beckingham
7665d13d42 Duration
- Removed legacy duration value mapping, which causes much performance
  degradation.
2015-03-02 16:16:39 -05:00