Commit graph

340 commits

Author SHA1 Message Date
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
Paul Beckingham
98f740e9d1 Merge branch '2.3.0' into 2.4.0
Conflicts:
	AUTHORS
	CMakeLists.txt
	NEWS
	src/A3.cpp
	src/CMakeLists.txt
	src/Config.cpp
	src/Duration.cpp
	src/Duration.h
	src/Nibbler.cpp
	src/Nibbler.h
	src/RX.cpp
	src/RX.h
	src/columns/ColDate.cpp
	src/columns/ColScheduled.cpp
	src/commands/Command.cpp
	src/legacy.cpp
	src/utf8.cpp
	src/utf8.h
	test/CMakeLists.txt
	test/bug.mergedeps.t.postponed
	test/duration.t.cpp
	test/merge.duplicates.t
	test/merge.simple_duplication.t
	test/merge.t
	test/nibbler.t.cpp
	test/roundtrip.t
	test/rx.t.cpp
	test/utf8.t.cpp
2014-01-07 19:10:03 -05:00
Paul Beckingham
18f03c25b4 Duration
- Renamed Duration object to OldDuration so that the two implementations can
  coexist in a binary.
2014-01-02 01:06:48 -05:00
Paul Beckingham
d27451590a Duration Rename
- In preparation for a new (different) Duration object, the source files need
  to be renamed.
2014-01-02 00:12:28 -05:00
Paul Beckingham
8ed92ca498 Copyright
- Bumped copyright to 2014, ready for release.
2014-01-01 13:32:22 -05:00
Paul Beckingham
8ad29bded7 Bug #1381
- #1381 Invalid JSON exported by Task 2.3.0-beta1 (thanks to Kosta H).
2013-11-01 17:35:35 -04:00
Paul Beckingham
1872a87838 Bug #1268
- #1268 Edit doesn't accept changes, if task has completed dependency (thanks
  to Dmitriy Matrosov, Michele Santullo).
2013-10-06 17:59:55 -04:00