Commit graph

346 commits

Author SHA1 Message Date
Paul Beckingham
261b062369 Revert "Task: Converted from strto* to std::sto*"
This reverts commit d9cf0fb923.
2015-11-02 18:40:20 -05:00
Paul Beckingham
3ab2410df3 Task: Conditional JSON/Task encoding, based on attribute type 2015-11-02 07:54:13 -05:00
Paul Beckingham
d9cf0fb923 Task: Converted from strto* to std::sto* 2015-11-01 21:49:34 -05:00
Paul Beckingham
5c8b7148b4 Task: Moved include to top of list, per flint++ recommendation 2015-11-01 19:59:10 -05:00
Paul Beckingham
ee9d303b10 Task: Removed unnecessary chomp in ::parse 2015-11-01 19:14:41 -05:00
Paul Beckingham
2aa3163451 Task: Use one-step attribute erase 2015-11-01 19:03:04 -05:00
Paul Beckingham
136f849aa8 Task: Converted to use to_string where appropriate 2015-11-01 18:56:50 -05:00
Paul Beckingham
b5c4bf0a6d Performance: Removed unnecessary std::string::substr in high-traffic code 2015-11-01 16:10:49 -05:00
Paul Beckingham
6baff92b5a Column: Removed ::can_modify, which is moot 2015-10-31 11:14:23 -04:00
Paul Beckingham
1cb295ef67 Task: Removed legacy encodings
- &dquot; -> \"
- "  -> '
- &squot; -> '
- , -> ,
- : -> :
2015-10-30 00:12:52 -04:00
Tomas Babej
2d25cf6f59 TW-1704: Task: Use Task::identifier to reference the task
To achieve consistent output, use a helper method to generate a proper
handle - ID for tasks with non-zero ID, UUID otherwise.
2015-10-29 20:00:53 -04:00
Paul Beckingham
1236abc7d5 CmdColumns: Now shows whether a column is modifiable or read only 2015-10-29 14:14:07 -04:00
Paul Beckingham
bb58b796fd Task Data Parsing
- Improved the handling when parsing blank lines and empty task in the data, so
  that instead of the message:

    Taskwarrior no longer supports file format 1, originally used between 27
    November 2006 and 31 December 2007.

  We now see:

    Unrecognized Taskwarrior file format or blank line in data.

- Merged t2.t.cpp into t.t.cpp.
2015-10-23 10:13:38 -04:00
Paul Beckingham
84be60fdca Cleanup: Removed unneeded function 2015-10-16 15:57:12 -04:00
Paul Beckingham
13b8c1a3cc Task: Migrated from Date to ISO8601d 2015-10-04 17:18:31 -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
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