Commit graph

331 commits

Author SHA1 Message Date
Paul Beckingham
c16a735040 Decoupling
- Eliminated some calls to context.config from Task‥cpp, reducing the coupling.
  If context can be eliminated from Task.cpp, via statically initialized
  variables, then Taskwarrior and the task server can share Task.{ḩ,cpp} which
  would be an enormous saving in effort.

(cherry picked from commit 215b03b1a7f47299a0d3e64331c7e3c962b4caf0)
2013-06-02 13:55:45 -04:00
Paul Beckingham
85341d521e Build Error
- Missing include.  What do ya know.
2013-05-20 20:47:13 -04:00
Paul Beckingham
4672d16091 Shared Code
- Added '#ifdef PRODUCT_TASKWARRIOR' in enough places that taskd can now share an
  identical copy of Task.{h,cpp}.
2013-05-20 18:17:05 -04:00
Paul Beckingham
b408458439 Import
- The import command now uses the built-in Task::parseJSON method.
- Began t3.t.cpp for JSON parsing tests.
2013-05-20 16:31:57 -04:00
Paul Beckingham
6a97017c79 File Format
- File format 2 (used in version 0.9.3 - 1.5.0) is no longer supported.
- Task::parseJSON implemented.
- PRODUCT_TASKWARRIOR defined, to facilitate code sharing.
- Strings renamed for sharing purposes.
2013-05-20 16:14:34 -04:00
Paul Beckingham
157699cbde Feature #1256 Follow-up
- Extended unit tests to cover 'add' failures.
- Removed whitespace at EOL.
- Updated ChangeLog, AUTHORS, NEWS.
- Updated taskrc.5.in.
- Updated CmdShow to allow new config settings.
2013-05-07 16:26:58 -04:00
Thomas
56eab7da0d Added ability for UDAs to have a default value. 2013-05-07 16:07:20 -04:00
Paul Beckingham
ebaf09cbe0 Enhancement
- The 'due' urgency component is now calculated at a higher resolution.
2013-05-04 07:36:53 -04:00
Paul Beckingham
773b55d374 Code Cleanup
- Removed L10N define.  It served its purpose.
2013-04-07 23:50:51 -04:00
Paul Beckingham
1de2f9e6f1 Virtual Tag
- Added 'ANNOTATED' virtual tag.  This fell out of a change mandated by #1218.
2013-04-01 15:47:51 -04:00
Paul Beckingham
983e07ab01 Feature
- Added some more low-effort, low-risk virutal tags.  Why not.
- Updated man page.
2013-03-30 13:06:06 -04:00
Paul Beckingham
1dccd29643 Copyright 2013
- Updated copyright notices.
2013-03-04 17:47:12 -05:00
Paul Beckingham
bb167b2275 Feature
- New 'modified' attribute, which contains the most recent modification date,
  if a modification has occurred.
2012-09-27 00:56:41 -04:00
Paul Beckingham
8d8bd653fa Feature #685
- Added Feature #685, which provides a 'blocking' report, and new color rule
  (thanks to Michelle Crane).
2012-09-26 23:52:06 -04:00
Paul Beckingham
9d1ae99656 Virtual Tags
- Added virtual tag TODAY as a synonym for DUETODAY.
2012-09-16 14:57:59 -04:00
Scott Kostyshak
6a4fd6b133 Code Cleanup
- Remove an unused parameter.
2012-09-05 06:57:58 -04:00
Paul Beckingham
968d1c32e8 Portability
- Removed unnecessary dependence on Bash: sh is POSIX, bash is not.
2012-08-21 16:13:45 +01:00
Paul Beckingham
8d66d801c0 Enhancement
- Added virtual tag support for the first batch.  There will be follow-up
  work, tests and so on.
2012-08-12 13:46:23 -04:00
Paul Beckingham
a469a2c6d5 Feature #1033
- Feature #1033 allows UDAs to contribute to urgency (thanks to Max Muller).
2012-07-18 23:33:30 -04:00
Paul Beckingham
6a2c047beb Bug #1032
- Fixed bug #1032, which prevented negative urgency coefficients from working
  for projects and tags.
2012-07-18 06:53:58 -04:00
Paul Beckingham
9028ca4945 UDA Edit
- Added UDA and Orphan support to the 'edit' command.  It will show the
  data, but not yet recognize changes to that data.
2012-07-15 19:34:55 -04:00
Louis-Claude Canon
08b37c9943 Code Cleanup
- Unnecessary test replaced by an assertion.
2012-07-09 08:36:20 -04:00
Louis-Claude Canon
95df0baeae Bug #1022
- Fix initialization of Task variables when parsing from a string.
- Correction on default colors.
2012-07-09 08:29:25 -04:00
Paul Beckingham
79e2c591f1 Bug #1022
- Fixed bug #1022, where dependencies were note released when a blocking task
  was completed (thanks to Arkady Grudzinsky).
- The Task object now caches ::is_blocked and ::is_blocking Booleans that are
  determined on pending.data load.
- Simplified and sped up color rule processing using cached values, reducing
  the number of map lookups, and removed loop invariants when the rules are
  not defined.
- Simplified urgency calculations given the cached values for blocked/blocking.
- On load, pending.data is scanned for accurate blocked/blocking status
  determination.
- Obsoleted and removed complex single-task dependency calculations.
- Sped up 'nag' processing by using cached values..
- Modified the 'show' command to consider color.blocking to be valid.
- Added default config value for color.blocking, and included it in the
  precedence list ahead of blocked, as it is more important.
- Updated taskrc.5 man page to include the new color.blocking rule, and its
  place in the rule precedence.
2012-07-09 01:29:51 -04:00
Paul Beckingham
b0b8bfe1d2 Bug #1023
- Fixed bug #1023, which applied default.project and default.priority during
  modification (thanks to Christoph Lange).
- Added unit tests.
- Added Christoph to the AUTHORS file.
2012-07-04 16:45:09 -04:00
Paul Beckingham
665bc197dc Feature #457
- Tasks may now be given an 'until' date, after which they expire and are
  deleted.
2012-05-13 23:43:53 -04:00
Paul Beckingham
98f215b1b5 Feature: scheduled date
- Supports 'scheduled' date for tasks, which represent the earliest opportunity
  to work on a task.
- Added unit tests for urgency.
- Implemented color rule.
- Added scheduled to 'info' report.
- Updated assorted documentation.
- Removed comments in default rc because they are never seen.
- Added (broken) 'ready' report, which is like 'next' but only for ready tasks.
2012-05-13 17:19:22 -04:00
Louis-Claude Canon
1364202d30 Feature
- Allow UUIDs and IDs range when modifying task dependencies.
- Update man page.
- Add unit tests.
- Fatorize code when adding and removing dependencies in Task.cpp.
2012-05-07 22:59:25 -04:00
Louis-Claude Canon
5ffb65b5ac Enhancement
- More consistent test of when adding or deleting a dependency.
- Update one unit test.
2012-05-07 19:59:10 -04:00
Louis-Claude Canon
ebdcccbf41 Code Cleanup
- Clean duplicated and unused function.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2012-04-30 09:01:21 -04:00
Paul Beckingham
b5f4fa03d2 Performance
- Implemented Task::get_ref, which is a lower-cost attribute accessor.
- Called this in a few places.
2012-04-28 18:01:40 -04:00
Paul Beckingham
0c0f767688 Performance
- Added locally cached configuration for urgency coefficients, which effectively
  relocates expensive loop-invariants for the 'next' report.
2012-04-28 17:59:48 -04:00
Paul Beckingham
0918a7c79a Bug #973
- Fixed bug #973, including 'urgency' in the 'export' output (thanks to Andy
  Spiegl).
2012-04-15 19:45:42 -04:00
Paul Beckingham
77200d7eb4 Bug #837
- Fixed bug #837, which caused incorrect urgency calculations for tasks that
  have completed dependencies, and problems when editing those tasks (thanks
  to Matt Kraai).
- Added Task::addDependency (const std::string&) method for reconstructing
  dependencies on tasks with no ID.
- Modfified Task::urgency_blocked so that it considers the blocking task's
  status.  This is an expensive test, and so it is wrapped by a cheaper test
  to see if there are/were any dependencies at all.  This means that urgency
  calculations are not slowed for tasks without dependencies, and is slower
  but more accurate for tasks that do have dependencies.
- Modified edit command so that dependencies are shown as IDs or UUIDs
  depending on whether the task is pending or not.
- Modified edit command so that dependencies are parsed as IDs or UUIDs
  depending on whether the task is pending or not.
- Modified wording in the template of the edit command to reflect the above.
- Added unit tests bug.837.t.
2012-03-04 00:05:11 -05:00
Paul Beckingham
5feb736939 Bug
- Fixed problem where urgency was not properly calculated for waiting tasks.
- Tweaked urgency coefficients to make most of the values closer together, and
  therefore more sensitive.
- Inverted 'waiting' coefficient.
- Boosted 'next', 'due' and 'blocking' coefficients.
- Modified unit tests accordingly.
- Lessened the impact of 'blocked', 'project', 'tags' and 'age'.
2012-02-26 23:13:15 -05:00
Paul Beckingham
412396d35b Code Cleanup
- Removed restriction on waiting recurring tasks.
- Removed unused L10N string.
- Removed unnecessary include.
2012-02-05 10:08:10 -05:00
Paul Beckingham
ec96d929a0 Bug 879 - Description/Annotation ending with Slash Causes Problems
- Backslashes actually.  The escaping mechanism in the low-level parser
  was eating leading \ characters when it should not.  Very hard bug to
  find, trivial to fix.
- Added unit tests to several components while narrowing this down.
2012-01-29 15:36:05 -05:00
Paul Beckingham
6580095002 Copyright
- Year change.
2012-01-02 23:32:10 -05:00
Johannes Schlatow
69fecbb2c0 Urgency
- Age-dependet urgency calculation now normalizes.
2011-12-17 19:08:31 +01:00
Johannes Schlatow
3d33d90d57 Urgency
- Added a coefficient for ageing which is the increase (or decrease)
   of urgency per day. The calculated urgency offset due to ageing
   can be limited by setting urgency.age.max.
2011-12-16 20:54:03 +01:00
Paul Beckingham
c879eb6811 Code Cleanup
- Renamed recur.t to recur.sort.t, because more recur unit tests are on the
  way, and this one was a misnomer.
- Minor edits - whitespace.
2011-10-10 22:54:28 -04:00
Federico Hernandez
8116c6a103 License
- moving task from GPL to MIT license
  top level src directory
2011-10-08 00:04:01 +02:00
Paul Beckingham
a40d1bbf76 Bug #839
- Fixed hard-coded '1m'.  Must have been sleepy.
2011-09-21 07:34:48 -04:00
Paul Beckingham
d3c6ddb87f Bug #839
- Fixed bug #839, which caused problems when recurrence frequencies of '1m'
  were used.  This is an obsolete form, and should now be '1mo' (thanks to
  Gour D).
2011-09-21 00:32:13 -04:00
Paul Beckingham
776bfea402 Dependencies
- Fixed bug in Task::addDependency where a 'dup dep' error string was not
  properly composed, which cause the error message to be shown as 'k'.
- Relocated expression evaluation on modification to only be processed for
  date attributes.  This impacts DOM, but fixes more than it breaks.
- Corrected unit test that was expecting an old-style error message.
- Added protection against array overrun in next_mod_group.  Again.
2011-09-12 23:53:46 -04:00
Paul Beckingham
9ada2f554a Bug
- The modify command no longer claims that a task was modified if no
  changes were applied.
2011-09-11 13:49:07 -04:00
Paul Beckingham
bbe69fd129 Bug - substitutions
- Fixed bug in Task::substitute that contained incorrect assumptions about
  regex matches.
- Fixed bug in Task::substitute that matched against the annotation name,
  rather than the value for non-regex substitutions.
- Fixed bug that caused improper functioning of the 'global' substitution
  indicator.
- Removed unnecessary capturing parentheses that were added for regex searches.
2011-09-06 23:36:45 -04:00
Federico Hernandez
a8759c9196 Bug fix - Task.cpp
completing a task did set a entry date to completed date.
2011-09-07 00:10:40 +02:00
Paul Beckingham
cc24a3d2f0 Task Validation
- Made the validation more gentle - it no longer stomps on the status,
  which may help with bug #824.
2011-09-03 11:13:09 -04:00
Paul Beckingham
b09351c517 Task Validation
- Fixed validation bug whereby recurring child tasks inherited the
  parent status ("recurring") instead of the expected "pending".
- Modified 'add' command to code duplicated in Task::validate.
- Cleaned up associated bug.period.t unit test.
2011-08-31 01:34:59 -04:00