Commit graph

91 commits

Author SHA1 Message Date
Paul Beckingham
197524a5fc Expression
- Added configurable 'abbreviation.minimum' (default:2) setting to
  control how auto-completion works.
2011-07-20 10:51:13 -04:00
Paul Beckingham
523c4dfcca Code Cleanup
- Eliminated obsolete or unused methods.
2011-07-12 22:19:18 -04:00
Paul Beckingham
a7d6b91ad3 Cleanup
- Renamed RegX to RX.  Got sick of the RegX name - looked too much like GenX.
2011-06-21 18:15:58 -04:00
Paul Beckingham
b49523c06d Regex
- Implemented RegX class to maintain a separate compile, and match
  method, thereby allowing efficient re-use of the regex.  This is
  critical to Expression::eval, where an identical regex might be
  applied to every task.
- Obsoleted rx.{h,cpp}, which combined the compile and match steps
  into a single call, and is therefore not efficient when used in
  the context of filtering.
- Fixed some unit tests that weren't building.  Now they do.  They
  don't work of course (don't be silly) but that's a problem for
  another day.
- Modified all code that relies on rx.h to use RegX.h.
2011-06-21 01:43:57 -04:00
Paul Beckingham
a3912d9123 Refactoring
- Obsoleted Cmd object.
- Removed Context::dispatch, renamed dispatch2 --> dispatch.
- Commented out import and custom report functionality that depends
  on Cmd.  This should be about as broken as taskwarrior gets.  It's
  all uphill from here.
2011-06-02 00:17:16 -04:00
Paul Beckingham
0260aff441 Build
- Enabled compiler warnings, which were off.  Yikes.
- Fixed all compiler warnings on OSX.
2011-05-28 23:59:43 -04:00
Paul Beckingham
4f4a04738f Bug #745
- Fixed Bug #745, which allows projects names with spaces, provided the values
  are quoted (thanks to Duane Waddle).
- Added unit test.
2011-04-22 00:04:24 -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
2ac5c2f897 Bug #628
- Fixed bug #628, where dateformats containing spaces were not properly
  parsed (thanks to Steve Rader).
2011-02-12 14:16:06 -05:00
Paul Beckingham
036d77e08f Bug
- Disallowed @ and / from an attribute name or modifier.  This causes
  input like 'user@host:path' to now be parsed as description, and not
  as an unrecognized attribute.
2011-02-04 12:14:52 -05:00
Paul Beckingham
06e15b6e25 Regex
- Removed regex support (controlled in main.h by #ifdef FEATURE_REGEX),
  because it has proven buggy.
2011-01-25 23:54:44 -05:00
Paul Beckingham
2d50d1cbf5 Bug
- The .not modifier was accidentally inverted when rc.regex=on.
2011-01-23 01:31:04 -05:00
Paul Beckingham
462caf5bd4 Copyright
- Updated copyright to 2011.
2010-12-31 22:03:05 -05:00
Paul Beckingham
1b66904550 Urgency/next
- Added 'urgency' as a reportable, sortable column.  This will allow
  us to test the urgency coefficients.  Note that this is experimental,
  and as such will not be documented.
2010-12-30 22:20:33 -05:00
Paul Beckingham
8d720cacc5 Bug
- When rc.regex:on is set, filters with "+tag" elements were causing
  a segfault because the "tag" word was converted to a non-capturing
  regex, no results were captured, and array[0] failed.  Now it is
  implemented that tag elements in a filter never use regexes, which
  maintains the idea the tags are not really words, but tokens that
  either match or don't.
2010-12-27 00:57:24 -05:00
Paul Beckingham
1d4c79b897 Code Cleanup
- Applied refactoring patch from Itay Perl.
2010-12-23 22:58:55 -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
fe65d28f99 Feature #158
- Added feature #158, regular expression support for filters and substitutions.
- Added unit tests to att.t and filter.t.
- Updated docs.
2010-11-26 17:26:03 -05:00
Paul Beckingham
69ac9a4296 Bug #461 - due:today doesn't work as a filter - due.is:today does
- Fixed bug #461, in which the filter 'due:today' failed, but 'due.is:today'
  worked.  This is because while iterating over tasks, not every task has a
  due date, in which case Date::Date ("") was called, which fails.
- Moved 'wait' up to second position in the Att::type method, for efficiency.
2010-08-30 23:30:48 -04:00
Paul Beckingham
44fe227595 Product Name Change
- Converted all (appropriate) uses of 'task' to 'taskwarrior'.
2010-08-21 12:31:00 -04:00
Paul Beckingham
e090f556da Feature #244, #272, #274, #275
- Implemented export.yaml, import (yaml).
- Updated man page.
- 'export' is now an alias to 'export.yaml'.
- Added missing 'tags' attribute as an internal Att.
- Improved recognition of YAML.
- Added unit tests for export.yaml, import (yaml).
- Added missing unlink from dependencies.t
2010-08-02 17:55:23 -04:00
Paul Beckingham
e886f7635b Enhancement
- When presenting lists of ambiguous command, attributes and modifiers
  to the user, it is now a sorted list.
2010-07-28 17:47:58 -04:00
Paul Beckingham
7468a2d81d Feature #43 - relative dates: +3d, -2w
- Now dates (due, wait, limit) are parsed first as Durations, and on
  error reparsed as Date.  When a Duration is found instead of a Date,
  the Duration is added to the current date/time.
2010-07-25 22:11:25 -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
7e5c0eb9a5 Dependencies
- Supports new "depends" attribute.
- Supports "task <id> depends:1,2".
- Supports "task <id> depends:-1,-2".
- Supports id <--> uuid mapping in TDB.
2010-07-12 01:05:25 -04:00
Paul Beckingham
d00b57ec65 Feature - #156
+ Task now supports both a 'side' and 'diff' style of undo.
+ Undo now observes the 'color.undo.before' and 'color.undo.after'
  configuration variables.
2010-07-03 15:50:46 -04:00
Paul Beckingham
213a7a519b Feature - merge command
- Merged patch that implements the first milestone of the merge
  feature.  Thanks to Johannes Schlatow.
2010-07-01 20:22:33 -04:00
Paul Beckingham
6ea6c79375 Bug
- Fixed bug that prevented 'task list priority.above:L' from working.
- Added unit tests.
2010-06-28 17:45:42 -04:00
Paul Beckingham
b2eb9c3265 Bug #405 - after upgrade, "due:" filter not working for tasks created in version 1.9.0
- Fixed bug #405, which incorrectly compared dates on tasks created by
  versions earlier than 1.9.1 to those created by 1.9.1 or later (thanks to
  Ivo Jimenez).
2010-06-27 16:55:29 -04:00
Paul Beckingham
cd59f7f510 Code Cleanup
- Corrected comments.
- Eliminated redundant code, at the expense of Task::parse call.
2010-06-26 17:33:58 -04:00
Paul Beckingham
916b8641b3 Feature #415
- Added feature #415, which supports displaying just a single page of tasks,
  by specifying either 'limit:page' to a command, or 'report.xxx.limit:page'
  in a report specification (thanks to T. Charles Yun).
- Modified the 'next' report to only display a page, by default.
2010-06-20 17:32:11 -04:00
Paul Beckingham
ba87499eca FF4
- Removed encodings for ',' -> '&comma;', ''' -> '&squot;', and
  ':' -> '&colon'.
- Retained decodings to provide backward compatibility.
2010-06-20 00:35:09 -04:00
Paul Beckingham
804b6a8cdb Bug Fix - #401
- Fixed bug that ignored the search.case.sensitive configuration
  setting when filtering on project names (thank to John Florian).
2010-05-12 23:13:15 -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
cb821c2a25 Config - defaults
- Implemented replacement Config::get* methods.
- Replaced all calls throughout the code, with the new methods which
  have no static values as defaults.
2010-01-15 20:55:06 -05:00
Paul Beckingham
0ab2169c65 Documentation Update
- Added a task-tutorial man page mention to the help and version command.
- Corrected comment about attribute entity encoding/decoding.
2010-01-02 22:35:56 -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
fbb217538e Code Cleanup
- Removed unnecessary use of the scope resolution operator.
2009-11-17 22:34:28 -05:00
Paul Beckingham
ff3b7cf337 Feature - 256-color support
- Integrated new Color object into task.
- Debugging needed - the cyan, green, and yellow colors are mixed up!
2009-09-22 17:01:59 -04:00
Paul Beckingham
de8a2c36a0 Feature - 256-color support
- Temporary reorganization of files to prepare for a case change in
  from color.* -> Color.* on a Mac.
2009-09-22 12:07:56 -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
d3fcd40279 Bug Fix - Bug #248
- Fixed bug where both single and double quotes are stored as
  ampersand-quote-semi-colon, leading to the gradual conversion of
  one to the other.  Fix is backward compatible.  Thanks to John
  Florian.
2009-08-05 07:24:00 -06:00
Paul Beckingham
e8fc210ab0 Bug Fix - #206
- Fixed bug that prevented "task list start.after:1/1/2009" from
  working.  Big, nasty bug.
2009-07-18 00:49:04 -04:00
Paul Beckingham
fbeadfa313 Code Cleanup
- Removed unnecessary #include <iostream>
2009-07-05 13:48:09 -04:00
Paul Beckingham
facb4dcb41 Bug Fix - Att::match
- Fixed bug in Att::match that causes blank dates to be interpreted
  as 12/31/1969, and therefore pass "xxx.before:" tests.
- Added the "cal" symlink trick to ChangeLog.
- Removed incorrect i18n tags from Config.cpp.
- Allowed .taskrc:confirmation=no to bypass Permission checking.
2009-06-27 16:00:41 -04:00
Paul Beckingham
0440189b1d Bug Fix
- Fixed bug that caused Att::match to assume a Date was not already
  converted to an epoch.
2009-06-26 00:05:33 -04:00
Paul Beckingham
5632c49945 Code Cleanup
- Removed references to ::strcmp.  Thanks Fredde.
2009-06-24 21:55:44 -04:00
Paul Beckingham
329a78039a Enhancement - wait status
- Supports the new Task::waiting status.
- Supports: task <id> wait:<date>
- Supports: task <id> wait:
- Supports: task waiting
2009-06-21 22:42:32 -04:00
Paul Beckingham
343c43a010 Enhancement - filter on annotation
- Description filters now automatically apply to annotations.
2009-06-21 11:31:03 -04:00