Commit graph

346 commits

Author SHA1 Message Date
Paul Beckingham
75af8d6ca4 Task
- The ::remove method only needs to set ::recalc_urgency if the attribute was
  actually removed.
2014-07-06 00:36:16 -04:00
Paul Beckingham
a04df10d11 TW-1267
- TW-1267 If default.project is defined it's not possible to add a task without
          a project (thanks to Renato Alves).
2014-07-03 17:41:39 -04:00
Paul Beckingham
58c46bc292 Task
- Now that ::composeF4 guarantees not to write out attributes with blank values,
  we can use blank values to indicate that blanks were specified on the command
  line, and avoid apllication of defaults.
2014-07-03 17:13:26 -04:00
Paul Beckingham
b7c2fd0d9c Legacy
- Now maps unsupported duration values to supported values.
2014-07-03 13:38:18 -04:00
Paul Beckingham
28ed6ae74d Task
- Now recognizeѕ '', "" and <blank> as examples of an attribute values that
  should be cleared.
2014-06-27 19:09:26 -04:00
Paul Beckingham
92f74fc664 Task
- Quotes arguments for readability.
2014-06-27 19:07:39 -04:00
Paul Beckingham
9dd7acac0b Task
- Simplified dependency modification hnadling.
2014-06-26 23:55:50 -04:00
Paul Beckingham
1ccbb3b43a Task
- Added ::get_float method for accessing numeric attributes.
2014-06-24 22:14:46 -04:00
Paul Beckingham
ef3deaad4a Task
- When a duration fails to parse during ::modify, it must raise an exception,
  and not silently skip the attribute.
2014-06-15 23:34:43 -04:00
Paul Beckingham
64c9cbe943 Task
- Å duration field is stored in raw form, but must still be parseable.
2014-06-15 23:21:54 -04:00
Paul Beckingham
d1f5020fab Task
- Improved implementation of is_duemonth and is_dueweek.
2014-06-15 22:37:56 -04:00
Paul Beckingham
d2685a8212 Task
- If the a numeric attribute is modified with a result that is not readily
  convertible to a numeric value, then this is an error.
2014-06-15 10:15:23 -04:00
Paul Beckingham
65890bc8d4 Task
- All attribute types (number, string, date, duration) are ѕpecifically
  handled, with no default cases.
2014-06-15 09:36:35 -04:00
Paul Beckingham
518f56b499 Task
- Durations are now stored as-is, with no evaluation.
2014-06-15 09:34:21 -04:00
Paul Beckingham
3727d2f09c Task
- The 'recur' attribute should be stored in raw form.
2014-06-10 20:05:50 -04:00
Paul Beckingham
3c0a17c195 Task
- Removed urgency diagnostics, now that the 'info' command displays them.
2014-06-09 23:11:47 -04:00
Paul Beckingham
63eb32d177 Task
- Disabled ambiguous date parsing. Ain't nobody got time for that.
2014-06-08 16:20:31 -04:00
Paul Beckingham
cd837a006c Task
- ::modify was not casting strings to dates for date types.
2014-06-03 00:42:21 -04:00
Paul Beckingham
ac07189941 Task
- ::modify was setting the wrong attribute value, namely the original, not the
  one that had passed through the expression evaluator's intestines.
2014-06-02 22:22:39 -04:00
Paul Beckingham
43718cbce5 Task
- Evaluates attribute values on modify.
2014-06-01 22:50:33 -04:00
Paul Beckingham
6706d1b955 Date/ISO8601
- Changed the order of parsing from ISO, Date to Date, ISO. This favors the
  old dateformat mechanism more than the new one. One day this will flip.
2014-06-01 00:10:16 -04:00
Paul Beckingham
87dcbd556e Recurrence
- Task::validate and getNextRecurrence needed to consider both Duration and
  ISO8601p.
2014-05-30 21:29:42 -04:00
Paul Beckingham
6d5d93d753 Task
- Added diagnostics for date assignments. Only duration assignment diagnostics
  were present.
2014-05-30 18:14:33 -04:00
Paul Beckingham
9c5222be8f Task
- Converted from OldDuration to Duration.
2014-05-28 21:03:59 -04:00
Paul Beckingham
c39285b61c Task
- Renamed 'mods_required' argument to the more accurate 'text_required' in the
  ::modify method.
2014-05-27 00:37:31 -04:00
Paul Beckingham
b4539a9df9 Task
- ::modify now assumes that it is not mandatory that there be a non-trivial set
  of changes.  This can be overridden.
2014-05-27 00:34:48 -04:00
Paul Beckingham
398bc9c824 Task
- If a date attribute is eval'ed and the result is a duration, add the value
  of 'now' to it, and store the result.  So '2wks' as a due date is interpreted
  as 'now + 2ks'.
2014-05-26 23:18:20 -04:00
Paul Beckingham
261f86c134 Task
- Marked areas where eval expansion is likey required.
2014-05-26 20:55:37 -04:00
Paul Beckingham
a119b4c7c3 Task
- When no modifications are provided, but are expected, complain.
2014-05-26 15:18:30 -04:00
Paul Beckingham
4ada2e2c43 Task
- Tag add/remove details improved.
2014-05-26 13:50:56 -04:00
Paul Beckingham
0857b82618 Task
- Added detailed modification pipeline diagnostics.
2014-05-26 12:18:11 -04:00
Paul Beckingham
2030df8563 Task
- Task modifications that involved no 'words' were clobbering the description
  unnecessarily.
2014-05-26 11:02:24 -04:00
Paul Beckingham
0047bb7325 Task
- Date attributes were being saved as strings, which means a default format of
  YYYY-MM-DDThh:mm:ss, and it should have been epoch.
2014-05-26 10:31:43 -04:00
Paul Beckingham
f908e2ae02 E9
- Removed obsolete E9, and remaining references.
2014-05-25 19:08:52 -04:00
Paul Beckingham
3abff20a46 Code Cleanup
- Removed obsolete A3::postfix, Task::modify, Task::next_mod_group,
  Command::modify_task*.
2014-05-25 18:53:30 -04:00
Paul Beckingham
3a71fac1ee Task
- Added Eval sources.
2014-05-25 17:02:55 -04:00
Paul Beckingham
1bdfb5d431 Task
- Implemented an overloaded ::modify method that walks the parse tree instead
  of iterating over an A3 list.
- ::modify takes a Task::modType argument, which specifieѕ how words are
  handled (replace description, prepend to description, append to description,
  add annotation), and this eliminates the need for multiple modify methods.
- Marked existing methods as obsolete.
2014-05-25 16:47:27 -04:00
Paul Beckingham
f5a13e5e42 Filter
- Full transition to the new filtering mechanism, using the new expression
  evaluator. It is working well enough to start the dogfood.  Many tests
  now broken.
2014-05-25 08:51:56 -04:00
Paul Beckingham
e9178f6b34 TW-1264
- TW-1264 Project | Tags assigned ratio of tasks (thanks to Benjamin Weber).
2014-05-13 00:50:36 -04:00
Paul Beckingham
a899fb941d Code Cleanup 2014-05-11 10:44:17 -04:00
Paul Beckingham
9d33691cab TW-253
- Added details in debug mode, for unrecognized data (thanks to Kosta H).
  Note: does not close TW-253.
2014-04-22 22:21:40 -04:00
Paul Beckingham
e82cffe8ac Cleanup
- Updated comments, docs.
2014-04-21 16:04:18 -04:00
Paul Beckingham
3038b11780 TW-285
- TW-285 DUETODAY doesn't give any output (thanks to Jostein Berntsen).
- Added unit tests.
2014-04-13 09:18:58 -04:00
Paul Beckingham
c933ed2cf7 Code Cleanup
- Migrated the recur.cpp getDueState() function into Task::getDateState(),
  which can assess any date attribute.
- Improved implementation to distinguish between:
    - not due, or not due for rc.due days
    - due after today
    - due later today
    - due earlier today
    - due before today
  This greater precision should address some outstanding issues.
2014-04-12 16:03:19 -04:00
Paul Beckingham
c6b0c0d927 TW-1301
- TW-1301 Virtual tag +PENDING (thanks to Profpatsch).
- Also added +COMPLETED and +DELETED.
2014-04-12 11:31:47 -04:00
Paul Beckingham
61a9703ab4 Bug TW-1274
- TW-1274 Map 'modification' attribute to 'modified' (thanks to jck).
2014-02-22 11:57:21 -05:00
Paul Beckingham
5ca55e75cf Feature TW-197
- TW-197 New virtual tag READY.
2014-02-15 14:39:46 -05:00
Paul Beckingham
b9c853fece Feature TW-1260
- TW-1260 New virtual tags YESTERDAY, TOMORROW.
2014-02-15 14:36:49 -05:00
Paul Beckingham
523dce8f32 Code Cleanup
- Standardized headers.
2014-02-01 14:33:37 -05:00
Paul Beckingham
9c41610f56 Merge Errors
- Fixed errors from merge mistakes.
2014-01-07 19:23:54 -05:00