Commit Graph

45 Commits

Author SHA1 Message Date
Paul Beckingham
456b982ced DOM
- Updated DOM to use Variant ovjects, which carry a type which improves
  expression evaluation.
2014-06-11 21:53:00 -04:00
Paul Beckingham
ddcadb35f7 Filter
- Set ambiguity to false, thus disabling recognition of certain date forms.
2014-06-08 14:17:50 -04:00
Paul Beckingham
e6df1b38e2 DOM
- Standardized DOM interface to return success/failure, with the possibility
  of blank values. This matches the Eval::source callback interface‥
- Added more unit tests.
2014-06-04 18:57:36 -04:00
Paul Beckingham
ba8c007ace Filter
- When a filter resolves an identifier through a DOM reference, it records
  the source. In other words, when 'priority' is resolved to 'H', the source
  reference ('priority') is stored in the variant. This is because different
  data attributes behave differently when compared.
2014-05-31 10:01:00 -04:00
Paul Beckingham
688dcb6cd3 Filter
- Fixed ::pendingOnly, which now has a clearly-defined set of rules.
2014-05-30 00:39:38 -04:00
Paul Beckingham
bba0b75a3b Eval
- Cleaned up debug FILTER diagnostics.
2014-05-26 12:16:44 -04:00
Paul Beckingham
79ac26cb02 Filter
- The domSource function is no longer static, and is prototyped in Filter.h
  for general use.
2014-05-25 16:57:46 -04:00
Paul Beckingham
949063102a Diagnostics
- Further removal of diagnostic output.
2014-05-25 14:59:09 -04:00
Paul Beckingham
c0c1eca0fc Filter
- Filter diagnostics include which data file was loaded.
2014-05-25 13:21:36 -04:00
Paul Beckingham
9bea83c2c3 Filter
- Generates debug message about filtering process.
2014-05-25 13:07:56 -04:00
Paul Beckingham
79abddd03d Parser
- Renamed A3t to Parser.
2014-05-25 09:44:22 -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
1964ffc053 Filter
- Implemented the safety mechanism that checks for confirmation is a
  write command processes a filter, but the filter expression is blank.
  For example, running "task delete" would delete all tasks unless this
  safety check is in place.
2014-05-24 23:48:20 -04:00
Paul Beckingham
6cb64e370e Filter
- Added more stubbed transition code.
2014-05-24 15:16:07 -04:00
Paul Beckingham
7e8e48ff08 Filter
- Stubbed code for eventual elimination of E9 in Filter.
2014-05-24 14:15:39 -04:00
Paul Beckingham
2a72d0f1d6 Filter
- Added a static contextTask task reference instead of an iterator that
  domSource cannot dereference.  Idiot.
2014-05-24 13:33:15 -04:00
Paul Beckingham
7ffd391faa Filter
- Filter mismatch reports now only show in debug mode.
2014-05-11 14:46:46 -04:00
Paul Beckingham
8f02fb1b13 Filter
- Clearly marked the obsolete code.
2014-05-11 13:54:28 -04:00
Paul Beckingham
a97ce45cdf Eval
- Debug mode can now be disabled.
2014-05-11 10:15:10 -04:00
Paul Beckingham
656dcde272 Filter
- Implemented ::pendingOnly (was named ::shortcut), for detecting filters
  that do not need to access completed.data.
2014-05-02 23:39:03 -04:00
Paul Beckingham
dea9d3f4ef Filter
- rc.debug=1 propagates to Eval::debug.
- Corrected comments.
2014-04-27 12:49:54 -07:00
Paul Beckingham
899e65714a Filter
- Added domSource, and a context Task so that Eval can access attributes.
  Doesn't work.
2014-04-27 11:06:02 -07:00
Paul Beckingham
fe2634b472 Filter
- New Filter object to control filtering, instead of commands/Command.cpp.
2014-04-27 10:05:05 -07:00
Paul Beckingham
f971fcd110 Code Cleanup
- Obsoleted Filter.{h,cpp}.
- Obsoleted Sequence.{h,cpp}.
- Eliminated Context::autoFilter.
- Stubbed Expression::eval.
2011-06-15 23:45:50 -04:00
Paul Beckingham
8fabffe18c Code Cleanup
- Eliminated '#include "x"' by changing all to '#include <x>'.
2011-05-28 00:19:59 -04:00
Dan White
4b71fa73f8 Feature #710
- Added feature #710, which adds an attribute modifier prefix to return the
  complement of a filtered set (thanks to Dan White).
- Added missing description to the 'help' command.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2011-03-19 00:56:45 -04:00
Paul Beckingham
462caf5bd4 Copyright
- Updated copyright to 2011.
2010-12-31 22:03:05 -05:00
Paul Beckingham
31cf470cc8 Copyright
- Made all the copyright notices consistent.  It was bothering me.
2010-11-27 09:13:09 -05:00
Paul Beckingham
44fe227595 Product Name Change
- Converted all (appropriate) uses of 'task' to 'taskwarrior'.
2010-08-21 12:31:00 -04:00
Cory Donnelly
3ec8d2fece Bug #433 - Missing punctuation in some command output
- Missed something in Filter.cpp
2010-07-21 11:55:56 -04:00
Cory Donnelly
d6a2c1872c Bug #433 - Missing punctuation in some command output
- Made punctuation consistent throughout the code and addressed a few
    broken tests.
2010-07-18 19:06:07 -04:00
Paul Beckingham
b1700f3cf6 Enhancement - caseless compare
- Fixed bug detecting multiple failed negative attribute matches.
2010-01-27 16:52:54 -05:00
Paul Beckingham
9ce55bcf67 Copyright
- Updated the copyright notices to 2010, for the 1.9.0 release.
2009-12-27 12:39:42 -05:00
Paul Beckingham
7acef0c9fd Enhancement - related to, but not fixing bug #293
- Added new attribute modifiers 'word' and 'noword' which find the existence
  of whole words, or prove the non-existence of whole words.  If a task has
  the description "Pay the bill", then "description.word:the" will match, but
  "description.word:th" will not.  For partial word matches, there is still
  "description.contains:th".
- Added unit tests for the text.cpp functions.
- Added unit tests including the new modifiers in filters.
- Added unit tests to parse the new modifiers.
- Modified man page.
- Modified the Context::autoFilter processing to use the new modifiers for
  +tag and -tag filtering.
- Added a support email to an error message, while looking at the filter code.
- Added new modifiers to the help report.
- Modified a utf8.t unit test to include an alphanumeric tag, rather than a
  smiley face.
2009-12-07 01:35:47 -05:00
Paul Beckingham
07da2396fc Bug Fix - #251
- Fixed bug #251 that caused the .hasnt attribute modifier to fail
  when annotations were present.  Thanks to John Florian.
2009-08-16 22:38:33 -04:00
Paul Beckingham
79f59f12ae Bug Fix - #252
- Fixed bug that prevented using end.after: and end.before: together
  to effect a range.
- Required differentiation between positive and negative attribute
  modifiers, and special handling.
2009-08-16 13:01:28 -04:00
Paul Beckingham
1355571876 Bug Fix - #252
- Fixed bug that prevented the chaining of two attributes with
  different modifiers to effect a date range, such as:
    task ls due.after:8/1/2009 due.before:8/31/2009
  Thanks to John Florian.
2009-08-05 10:15:33 -06:00
Paul Beckingham
fbeadfa313 Code Cleanup
- Removed unnecessary #include <iostream>
2009-07-05 13:48:09 -04:00
Paul Beckingham
343c43a010 Enhancement - filter on annotation
- Description filters now automatically apply to annotations.
2009-06-21 11:31:03 -04:00
Paul Beckingham
7e2da42f40 Bug Fix - due date, colorization
- Fixed bug that caused colorization to be way, way off.  Silly
  mistake.
- Fixed bug whereby due dates and durations were stored as-is, but
  should have been converted.
- On a related note, added Date::toEpochString,
  Duration::operator (std::string).
2009-06-17 22:52:04 -04:00
Paul Beckingham
9f6b112003 Enhancement - history report
- Implemented history report.
- Improved (not to the point of them working) filters.
- Improved automatic filter construction.
- Removed obsolete members from Task.
- Added tag support to the "add" command.
2009-06-14 12:09:57 -04:00
Paul Beckingham
d99dec5556 Enhancements - info report
- Implemented info report.
- Removed odd Subst and Sequence objects from Task - are they just
  vestigial limbs, or did I add them for a good reason?  They are
  gone now.
- Added Filter::applySequence to replace old filterSequence.
- Removed obsolete report.cpp filter function.
2009-06-13 00:50:48 -04:00
Paul Beckingham
0ec3b4b6af Enhancement - Attribute modifiers
- Implemented half the modifiers.  The easy half.
- Implemented unit tests that don't all pass yet, and are incomplete.
2009-06-05 01:49:53 -04:00
Paul Beckingham
a60d54be61 Enhancement - Filters
- Filter implemented.
- Unit tests started, need more as Att::match matures.
2009-06-05 00:15:00 -04:00
Paul Beckingham
2aa2a4e257 Enhancement - Filter object
- Almost implemented the Filter object.
2009-05-23 23:39:33 -04:00