Compare commits

..

3241 Commits

Author SHA1 Message Date
Federico Hernandez
1e3176ed70 Version number and release date for 2.1.2 2012-09-18 21:07:43 +02:00
Pietro Cerutti
1c5068edb2 Bug
- Fixed bug where shadow files are not properly created when there is a missing
  .taskrc file.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2012-09-18 07:50:55 -04:00
Federico Hernandez
eb09f4da9a Unit tests
- removed special characters in the logging output that
  disturbed the correct counting of ok unit tests when
  using flod.
2012-09-15 00:20:00 +02:00
Federico Hernandez
112d0d8771 Unit tests
- portability to help flod
2012-09-12 00:00:54 +02:00
Federico Hernandez
31bbc0ea2f Unit testing
- verbose unit testing to help flod tinderbox in displaying the results.
2012-09-11 22:38:40 +02:00
Paul Beckingham
8cd43ce2b2 Chase warning due to the opaque type time_t in printf
Signed-off-by: Paul Beckingham <paul@beckingham.net>

Conflicts:
	src/Duration.cpp
2012-09-11 20:58:16 +02:00
Johannes Schlatow
bbd8a9556e Merge branch '2.1.2' of tasktools.org:task into 2.1.2 2012-09-10 23:42:30 +02:00
Johannes Schlatow
68c1ca3f69 Bug #1104
Fixed the bug where the sort order of transactions with equal timestamps
 was not stable, i.e. due to the lack of a total order, different merges
 produced different sortings and hence messed up transactions which
 have already been merged.
2012-09-10 22:53:44 +02:00
Paul Beckingham
d868294d90 Unit Tests
- Corrected FreeBSD rx unit tests.

Conflicts:
	test/rx.t.cpp
2012-09-10 22:41:34 +02:00
Paul Beckingham
36e3317907 Prebuild
- Removed obsolete WIN32 reference that causes lots of verbose warnings
  from cmake.
2012-09-10 22:40:51 +02:00
Federico Hernandez
da37c08dbd Documentation
- bumped information in related files to 2.1.2
2012-09-10 21:45:49 +02:00
Federico Hernandez
89a7f2a459 Unit tests
- run_all should also look for *.t.exe files on cygwin
2012-09-10 21:07:05 +02:00
Johannes Schlatow
98da8ddcb8 Bug #1104
Added unit test.

 Implemented a quick fix for the issue with a broken branch-off algorithm
 which disregarded the transaction boundaries in the undo.data file.
2012-09-10 20:33:32 +02:00
Federico Hernandez
cf634a22c9 Bumped version number to 2.1.2 2012-09-10 20:27:05 +02:00
taskwarrior
4400a6f6ca Added SHA1 of tagged release commit 2012-07-25 01:34:38 +02:00
Federico Hernandez
46c5f8b826 Bumped version number to 2.1.1 in cheat sheet 2012-07-24 23:58:21 +02:00
Federico Hernandez
254d5c6fd7 Version number and release date for 2.1.1 2012-07-24 23:41:11 +02:00
Louis-Claude Canon
c71146611c Bug #1036
- Remove the test that prevents 'until' attributes to be modified for
  non-recurring tasks (thanks to Stéphane Pezennec).
- Unit test.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2012-07-24 16:55:59 -04:00
Scott Kostyshak
99849e55b4 Documentation
- Man page corrections.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2012-07-24 16:28:07 -04:00
Paul Beckingham
c247cf11ad Documentation
- Added #734 to ChangeLog.
2012-07-24 08:31:55 -04:00
Paul Beckingham
28e66a28aa Bug
- Fixed bug that caused miplaced commas in JSON export (thanks to greenskeleton).
2012-07-23 23:31:45 -04:00
Federico Hernandez
98fbd28501 Added SHA1 of tagged release commit 2012-07-23 22:59:42 +02:00
Federico Hernandez
a413331c94 Version number and release date for 2.1.0 2012-07-23 21:26:14 +02:00
Federico Hernandez
4fe671f895 Documentation
- Fixed several typos in man pages.
  (Thanks to Scott Kostyshak for the comprehensive patch)
2012-07-23 13:13:30 +02:00
Federico Hernandez
09074dc708 Man page
- Fixed missing scheduled attribute in task.1
  (Thanks to Dirk Deimeke)
2012-07-23 11:59:40 +02:00
Paul Beckingham
14a8511056 AUTHORS
- Added Scott, as thanks for all the recent help.
2012-07-22 12:52:48 -04:00
Owen Clarke
16bef4a29e Bug
- Fixed platform detection of OpenBSD and NetBSD
2012-07-22 20:15:11 +10: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
Federico Hernandez
9a2ab14a34 Bumped version number to 2.1.0.beta3 2012-07-18 00:41:52 +02:00
Paul Beckingham
c20c025c8e Bug
- Fixed a bug that caused a commond dateformat (YDM-HN) to be misinterpreted
  as a UUID.  Solution is to increase minimum partial UUID length from 9 to
  14.
2012-07-17 18:30:58 -04:00
Paul Beckingham
561102b70b Build Broken
- Forgot to include the updated strings.
2012-07-16 23:02:37 -04:00
Paul Beckingham
051274b960 Bug
- Fixed bug that caused a segfault when an invalid sort column was specified
  (thanks to Uli Martens).
2012-07-16 17:04:25 -04:00
Federico Hernandez
1920b6249e Bumped version number to 2.1.0.beta2 2012-07-16 18:27:28 +02:00
Owen Clarke
0022cfe10b Bug
- Include limits.h in Directory.cpp to fix compilation on Solaris 11
2012-07-17 00:53:39 +10:00
Owen Clarke
92adb5e266 Bug
- Added include util.h in Nibbler.cpp, forgot to add it to make the fix
  for bug #1030 compile on Solaris.
2012-07-16 23:43:12 +10:00
Owen Clarke
a655be823b Bug #1030
- Added portable implementation of timegm for non GNU/BSD platforms that
  don't have their own implementation
- Removed the use of tm_gmtoff on non GNU/BSD platforms that don't have
  it as part of the tm struct in time.h
- Added CMake tests HAVE_TIMEGM and HAVE_TM_GMTOFF
2012-07-16 22:45:11 +10:00
Federico Hernandez
7e48eb9ec2 Bumped version number to 2.1.0.beta1 2012-07-16 12:55:48 +02:00
Federico Hernandez
72ca3f68ea Missing include statement for Linux gcc
- #include <algorithm>
2012-07-16 09:41:16 +02:00
Paul Beckingham
a3b56feb1f Bug
- On the 'udas' report, the orphans were not counted separately for
  the totals.
2012-07-16 01:21:58 -04:00
Paul Beckingham
2815fcb90d UDA
- Implemented UDA sorting.
2012-07-16 01:08:42 -04:00
Paul Beckingham
f42fa76e45 Unit Tests
- Added test for deferred bug #697.
2012-07-16 00:32:55 -04:00
Paul Beckingham
21b7bebf5d Unit Tests
- Added uda_report.t to test the behavior of reports that contain a UDA
  and an orphan UDA.
2012-07-16 00:32:36 -04:00
Paul Beckingham
57aa2de98c UDA
- Implemented UDAs in the 'edit' command for all four UDA data types.
2012-07-16 00:16:36 -04:00
Paul Beckingham
1d593c39e0 Bug
- Fixed bug that saw annotations as UDA orphans in the 'info' command.
2012-07-15 20:42:07 -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
Federico Hernandez
360ab3138a Reference pdf
- rearranged the attributes, in particular the dates.
2012-07-15 23:14:45 +02:00
Paul Beckingham
d4a46eaf04 Documentation
- Errors in reference PDF.
2012-07-15 16:21:14 -04:00
Federico Hernandez
e3691f3fb9 Merge branch '2.0.1' of tasktools.org:task into 2.0.1 2012-07-15 22:06:41 +02:00
Federico Hernandez
0973486d38 Updated OS versions in NEWS file. 2012-07-15 22:05:48 +02:00
Paul Beckingham
4c901e2fe4 Documentation
- Updated reference PDF with new stuff.
- Minor reorganization to make more room.
- Updated version and date.
2012-07-15 16:04:50 -04:00
Paul Beckingham
81563ec624 Bug
- Improved 'ready' report filter so that it actually works.
2012-07-15 15:25:54 -04:00
Paul Beckingham
10a22e293e Unit Tests
- As #982 was deferred to 2.2.0, so is bug.982.t by renaming it to
  bug.982.x.  It will be renamed back after 2.1.0 release.
2012-07-15 09:53:57 -04:00
Paul Beckingham
89a738e8be Documentation
- Referenced the list of external script features that are accumulating,
  as suitable projects for someone wishing to contribute.
2012-07-15 00:41:18 -04:00
Paul Beckingham
43c2b402cd Bug #967
- Fixed bug #967, which did not properly determine character widths for UTF8
  characters (thanks to Victor Roetman, Jörg Plate, Markus Kuhn).
2012-07-15 00:14:04 -04:00
Paul Beckingham
76c8d616d9 Bug #1028
- Fixed bug #1028, so that UDA durations are stored in seconds, not in raw form
  (thank to Uli Martens).
2012-07-14 09:39:05 -04:00
Paul Beckingham
da9bd8faa9 UDA
- Only 'recur' durations are stored in raw form.  All others resolve to seconds.
  Thanks to Uli Martens.
2012-07-12 00:14:23 -04:00
Paul Beckingham
550031f5d8 Documentation
- Added missing contributor.
2012-07-09 21:25:17 -04:00
Paul Beckingham
cc5ecafc30 Unit Tests
- Testing whether recurring tasks can be deleted, with and without
  the parent being deleted.  Cannot replicate #955.
2012-07-09 21:22:06 -04:00
Paul Beckingham
d0397f8481 Bug #1012
- Fixed bug #1012, which failed to install add-on scripts with execute
  permission.
2012-07-09 21:08:19 -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
573e0b2a65 Unit Test
- Fix the purpose of the test for bug #1006: checking that completion is active
  when necessary.
2012-07-09 08:34:34 -04:00
Paul Beckingham
19b01131ce Unit Tests
- Redirected output in unit test.
2012-07-09 08:33:22 -04:00
Louis-Claude Canon
3f158bc546 Bug #982
- Unit test.
2012-07-09 08:32:16 -04:00
Louis-Claude Canon
a7e2918953 Documentation fix 2012-07-09 08:31:54 -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
c8ce91e4be Documentation
- Missed adding #872 when closing #1006.
2012-07-09 08:27:59 -04:00
Paul Beckingham
7fb25a21df Bug#968
- Fixed bug #968, which calls for better documentation of dependencies
  which will be included in the next PDF cheat sheet release, and in
  the upcoming new tutorials, in addition to the man page and wiki
  (thanks to Marek Vitek).
2012-07-09 01:59:40 -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
02053f7300 Themes
- Added the new color.blocking to each theme.  In most cases it is the
  same as color.blocked, with something slightly 'bolder' about it, but
  in the more quirky ones it is the same.  These need tweaking.
2012-07-09 01:12:44 -04:00
Paul Beckingham
d59aaa6427 TDB2
- Pushed task lookup by ID and UUID down a level from TDB2 to TF2.  This allows
  reuse at the low level for things like proper dependency evaluation.
2012-07-08 16:04:34 -04:00
Paul Beckingham
88fcdab515 Feature #1026
- Feature #1026, command line overrides are now applied before and after the
  creation of the default rc file and data directory, which allows for
  programmatic initialization without keystroke synthesis (thanks to Nicholas
  Rabenau).
2012-07-08 15:16:23 -04:00
Paul Beckingham
b702251431 Performance
- When there is only one element in A3, no point firing up the Dijkstra
  shunt of the infix processing.
2012-07-08 14:38:13 -04:00
Paul Beckingham
99b0c5568a Bug #972, #1018
- Fixed bug that accepted a recurrence duration of '7' as '7secs' instead
  of the intended '7days'.  It is now an error to omit the units.  Thanks to
  Vlad Zhivotnev, Stanley G.
- Modified unit tests to avoid a different error.
2012-07-08 14:24:39 -04:00
Paul Beckingham
c4a61566af Documentation
- Modified developer files to get them up to date.
2012-07-08 11:03:01 -04:00
Paul Beckingham
4d4f286330 Bugs
- Added an A3::is_attr type override for 'recur', which needs to be
  treated as an un-expanded 'string' type, most, but not all of the
  time.
- Documented the above in ColRecur.cpp.
- Modified Command.cpp to recognize both type 'duration' and name 'recur'.
- Removed Command::next_mod_group argument coalescing for date types,
  which was not used anyway.
- Improved the error message for unrecognized durations, which previously
  included the word 'date'.
- Modified unit tests to accomodate the above error message change.
- Added bug.972.t unit tests, which fail, because it isn't fixed yet.
- Made A3::dump const so it can be used anywhere.
2012-07-08 10:47:01 -04:00
Paul Beckingham
5fcc33f1f8 UDAs
- UDA definitions that have the same name as a core attribute are not
  permitted.
2012-07-05 00:11:54 -04:00
Paul Beckingham
d8b0b0f594 Version
- Bumbed version from 2.0.1 to 2.1.0, reflecting the size of the new
  features.
2012-07-04 17:19:39 -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
d16f434899 Bug #1006, #1024
- Fixed bug #1006, #1024, which caused words like the German 'im' and 'des' in
  a description to be expanded into 'imask' and 'description' (thanks to
  Louis-Claude Canon and Martin U).
- Promoted Louis-Claude Canon in the AUTHORS file, added Martin U.
2012-07-04 16:05:42 -04:00
Paul Beckingham
416cb40e3d Import
- Orphaned UDAs now survive import.
2012-07-04 14:29:12 -04:00
Paul Beckingham
7eebfba1ef Unit Tests
- Error in unit tests.  UDAs are in better shape than was reported.
2012-07-04 14:14:45 -04:00
Paul Beckingham
1b329d34b3 UDAs
- The 'udas' command now accepts a filter, and reports UDA usage counts.
- The 'udas' command also detects and lists orphaned UDAs and usage counts.
2012-07-04 13:42:36 -04:00
Paul Beckingham
19cfd5453d Documentation
- Updated man pages for UDAs.
2012-07-04 11:18:12 -04:00
Paul Beckingham
2be691c2c5 Enhancement
- The 'udas' command now reports allowable values for UDAs.
2012-07-04 10:16:08 -04:00
Paul Beckingham
66eb09ab25 UDAs
- Orphaned UDA name/value pairs show up in the 'info' report, but with
  the name listed as '[name      value]'.  The brackets indicate that the
  data is not modifiable.
2012-07-03 15:58:00 -04:00
Paul Beckingham
da575c4043 Unit Tests
- Modified testing to accomodate new split between stdout/stderr.
2012-07-03 15:43:19 -04:00
Louis-Claude Canon
75822eed47 Code Cleanup
- Reduce the number of project change messages when annoting and denoting.
2012-07-03 09:06:01 -04:00
Louis-Claude Canon
1668aef66b Code Cleanup
- Consistent scheme for printing project change information: always
  shows the progress estimation and add a notification that the project
  has changed if the number of tasks is changed.
2012-07-03 09:05:19 -04:00
Paul Beckingham
7f1d8c3682 UDAs - User Defined Attributes
- Added support for named allowable values.
2012-07-02 22:22:19 -04:00
Paul Beckingham
0d3f6f990d Unit Tests
- Added unit tests to monitor the behavior of UDAs in various scenarios.
2012-07-02 21:47:30 -04:00
Paul Beckingham
9a9453a57f Directory::cwd
- Made use of Directory::cwd instead of get_current_working_dir.
2012-07-02 15:40:54 -04:00
Louis-Claude Canon
2b20009b7f Code Cleanup
- No blank line when printing information about project changes.
2012-07-02 15:00:30 -04:00
Louis-Claude Canon
b1e63e575a Bug #1001
- Actual resolution of Bug #1001. The Edit command was actually changing
  the working directory without going back to the original one
  afterwards.
2012-07-02 14:59:29 -04:00
Louis-Claude Canon
e1407437e0 Enhancement
- Allow a separate color for error messages via the 'color.error'
  configuration variable.
2012-06-28 00:25:09 -04:00
Louis-Claude Canon
eaae2d84da Unit Test
- Check that errors, headers, footnotes and debugs are sent only to
  stderr.
2012-06-28 00:24:03 -04:00
Louis-Claude Canon
8ef9ec9b9f Code Cleanup
- Redundant debug message.
- More consistent check for messages aggregation.
2012-06-28 00:23:56 -04:00
Louis-Claude Canon
c84e3cc893 Code Cleanup
- With the separation between standard output and standard error, the solution
  for bug #956 is obsolete. The mechanism (putting verbose to "nothing") is
  still kept for easing the management of the standard error.
2012-06-16 16:09:34 -04:00
Louis-Claude Canon
1e632fea66 Code Cleanup
- More specific test (checking message either in the standard output or the
  standard error).
2012-06-16 16:09:18 -04:00
Louis-Claude Canon
e5fe704f6a Code Cleanup 2012-06-16 16:08:51 -04:00
Louis-Claude Canon
3cea8889e3 CMake
- Automatically link taskwarrior executable before launching tests with
  "make test".
2012-06-16 16:08:14 -04:00
Louis-Claude Canon
b45a305df2 Enhancement
- Output error, header, footnote and debug messages on standard error.
2012-06-16 16:07:27 -04:00
Louis-Claude Canon
b093d23f1f Typos
- Fix various typos in comments and documentation.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2012-06-12 16:44:14 -04:00
Paul Beckingham
bfba1c725d Documentation Cleanup
- Modified order of entries.
2012-06-10 17:05:35 -04:00
Paul Beckingham
b2a1c327f4 Typos
- Fixed minor typos in comments.
2012-06-10 17:04:40 -04:00
Louis-Claude Canon
bc2addeb41 Enhancement
- Solve bug #962.
- Improve completion by proposing column names (used when filtering and
  modifying tasks).
2012-06-10 17:01:58 -04:00
Paul Beckingham
1201d0b485 Feature #435
- Feature #435 requests a means to indicate that a task required the
  action of another person.  This is achieved via User Defined Attributes.
2012-06-10 16:54:21 -04:00
Paul Beckingham
fe886b5865 Feature #339
- Feature #339, last review date supported by User Defined Attributes.
2012-06-10 16:50:24 -04:00
Paul Beckingham
fc4a71aa5c Bug #1001
- Fixed bug #1001, which caused a segv (thanks to Bryce Harrington).
2012-06-10 16:47:27 -04:00
Paul Beckingham
0b75fe1311 Feature #325
- Feature #325, User Defined Attributes.
2012-06-10 16:46:09 -04:00
Paul Beckingham
30d3a36f47 Bug #960
- Fixed bug #960, which caused tab-completion to fail after any non-ASCII alpha
  characters were used in a description (thanks to Hyde Stevenson).
2012-06-10 16:30:47 -04:00
Paul Beckingham
858c95e557 AUTHORS
- Added Bruno Bigras for a very helpful and revealing bug annotation.
2012-06-10 16:19:13 -04:00
Paul Beckingham
9a6319a210 Parsing
- Use of broken 'isalpha' caused 'entrée' to be parsed by Nibbler::getName
  as 'entr'.  This is part of bug #1006, but only a small part.
2012-06-10 16:17:09 -04:00
Paul Beckingham
e8309fcf49 Unit Tests
- Added unit test to nibbler.t that illustrates one of the problems
  associated with bug #1006: Nibbler::getName read "entrée" and finds
  "entr".
2012-06-10 15:54:39 -04:00
Paul Beckingham
180ff95649 Bug #1017
- Fixed bug #1017, which exported invalid JSON when there were no tasks (thanks
  to Nicholas Rabenau).
2012-06-10 15:21:55 -04:00
Paul Beckingham
128b139b17 Bug #1016
- Fixed bug #1016, which caused segfaults when importing JSON with annotations
  that lack description or entry date (thanks to Nicholas Rabenau).
2012-06-10 15:03:56 -04:00
Paul Beckingham
3e36438597 Merge branch '2.0.1' of tasktools.org:task into 2.0.1 2012-06-02 12:52:41 -04:00
Paul Beckingham
65e8cc63fc Enhancement
- Added ostream converter for Path object.
2012-06-02 12:52:13 -04:00
Paul Beckingham
f23d8921e4 Enhancement
- Modified the closeEnough function to accept a minimum match length.
  Useful, but initially not used.
2012-06-02 10:05:32 -04:00
Paul Beckingham
b63bd9e985 Feature #921
- Feature #921, which implements a 'udas' command that describes defined UDAs,
  and a '_udas' for completion purposes.
2012-05-28 16:06:33 -04:00
Paul Beckingham
ca1fce280b Feature #922
- Feature #457, #922, tasks may now be given an 'until' date, after which they
  expire and are deleted.
2012-05-28 15:01:38 -04:00
Paul Beckingham
c42706a3dc Bug #1008
- Fixed bug #1008, which failed to remove tasks with the special tag '+nocal'
  from the calendar report output with 'calendar.details=full' set (thanks to
  Bryan Kam).
2012-05-28 12:51:27 -04:00
Paul Beckingham
e99bbf6213 Documentation
- Added new '.' to precedence values in documentation.
2012-05-28 09:20:47 -04:00
Louis-Claude Canon
7a8e292fe8 Bug #990
- Precise in the documentation that the wildcards for color precedence must
  terminate with a dot. If not, 'tag' is completed as 'tagged', which violates
  the default precedence rule.
- Change default precedence rule to reflect this.
- Unit test.
- ChangeLog and AUTHORS file updated.
2012-05-28 09:16:12 -04:00
Louis-Claude Canon
90c420263c Code Cleanup
- Check systematically if the color is non-trivial before blending.
2012-05-28 09:16:05 -04:00
Jörg Plate
f2f6b788e8 Bug #919
- Modified to allow multiple holiday file sources, in other words
  duplicate dates.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2012-05-26 13:29:50 -04:00
Paul Beckingham
ddd7bc3f0a Enhancement
- Directory handling enhancements with Directory::cwd and Directory::up
  methods, with unit tests.
2012-05-25 18:03:06 -04:00
Paul Beckingham
a9058612a7 ChangeLog
- Added Paul Kishimoto, for bug reporting.
2012-05-24 00:57:43 -04:00
Jörg Plate
43076a6cd7 Bug #919
- Applied patch for bug #919, so the holidays listed on the 'calendar' report
  are sorted (thanks to Jörg Plate).

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2012-05-24 00:52:46 -04:00
Paul Beckingham
003f092bf4 Unit Tests
- Modified unit tests after the #956 fix.
2012-05-23 07:02:57 -04:00
Louis-Claude Canon
542f1e0f82 Code Cleanup
- Clearer commands for sumarizing the test results.
2012-05-23 06:53:12 -04:00
Louis-Claude Canon
ed5ecb3aa5 ChangeLog Update 2012-05-23 06:53:08 -04:00
Louis-Claude Canon
eae4cae13b Documentation
- Precise that the 'uuids' command applies the filter on all tasks contrarily
  to 'ids'.
2012-05-23 06:53:02 -04:00
Paul Beckingham
f70cad081f Code Cleanup
- Removed whitespace at EOL.
2012-05-23 06:52:36 -04:00
Louis-Claude Canon
988288f6d2 Code Cleanup
- Simpler code for 'ids' command.
- Sort the uuids with 'uuids' and '_uuids' commands (stabler output).
2012-05-23 06:49:31 -04:00
Louis-Claude Canon
0b1b677aa5 Bug #956
- Prevent any verbose information to be printed with the 'ids', 'uuids' and
  helper subcommands.
- Unit tests.
- Precise this behavior in the man pages.
2012-05-23 06:49:25 -04:00
Louis-Claude Canon
fe954a6acc Enhancement
- Similar subcommands for 'uuids' as there is for 'ids' ('_uuids' and '_zshuuids').
- Extends the scope and the precision of the unit tests for ids.
- Corresponding documentation in the man pages.
2012-05-23 06:48:54 -04:00
Louis-Claude Canon
82a4607ec6 Enhancement
- Separate date format when editing from the default one.
2012-05-21 08:20:27 -04:00
Louis-Claude Canon
ba992a631e Enhancement
- Clarify the dateformat related variables for 'task information'.
2012-05-21 08:20:12 -04:00
Louis-Claude Canon
84e1d0e7d2 Code Cleanup
- Centralize the date format determination when editing.
2012-05-21 08:20:01 -04:00
Louis-Claude Canon
72621febd4 Code Cleanup
- Factorize code when printing dates with edit.
2012-05-21 08:19:40 -04:00
Louis-Claude Canon
db2a01ba08 Bug
- Fix the solution for bug #959 (setting new dates was not working properly).
2012-05-21 08:19:36 -04:00
Louis-Claude Canon
9d37262d12 Documentation
- report.info.dateformat is now applied on the entry dates in the journal.
2012-05-21 08:15:52 -04:00
Paul Beckingham
9fe43611d1 Filter Mods
- Changed split type, to improve filter support.
2012-05-21 08:14:16 -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
d122173103 Bug
- Fencepost error in colorization.
2012-05-13 18:17:23 -04:00
Paul Beckingham
981121799c Color Rules
- Corrected bug in colorizeScheduled to properly consider the scheduled date.
2012-05-13 18:12:33 -04:00
Paul Beckingham
52dfa8da1e Documentation
- Updated more documentation regarding 'scheduled' dates.
- Added color.scheduled to the rule.precedence.color setting.
- Added 'ready' report to the main man page.
2012-05-13 18:04:48 -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
Paul Beckingham
d08f189769 Holiday Data
- Removed duplicate Patriot's Day from en-US.
2012-05-13 16:56:45 -04:00
Paul Beckingham
b0916904bf Documentation
- Updated DEVELOPER file with info about how to contribute.
2012-05-12 13:16:57 -04:00
Paul Beckingham
4f98c8d9b5 Code Cleanup
- Upgraded the magic number 10 to a constant with dynamic debug warning.
2012-05-12 12:43:54 -04:00
Louis-Claude Canon
66b39f6797 Documentation
- Updated ChangeLog regarding UUID use in dependencies.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2012-05-07 23:01:42 -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
20ae5fed81 Documention
- Precision on the format for filtering IDs, UUIDs and ranges in the man page.
2012-05-07 19:57:57 -04:00
Louis-Claude Canon
38078e9228 Feature
- Allow ID ranges when editing dependencies.
2012-05-07 19:04:51 -04:00
Louis-Claude Canon
4ee64a52de Feature
- Applied patch to allow ID ranges when editing dependencies.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2012-05-07 19:03:59 -04:00
Jörg Plate
26420d74c2 Feature #1005
- Applied patch for feature #1005, which prevents the update-holidays.pl script
  from creating duplicate holidays (thanks to Jörg Plate).

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2012-05-07 18:44:14 -04:00
Paul Beckingham
a15be33713 Performance
- Tweaked sorting defaults.
- Removed obsolete comments in (unwritten) default config file.
2012-05-05 16:09:27 -04:00
Paul Beckingham
dc404d76b9 Unit Tests
- Added tests for bug #1006 (thanks to Louis-Claude Canon).
2012-05-05 14:14:01 -04:00
Paul Beckingham
873376c287 Performance improvements:
- Added parse-free convenience functions
2012-05-05 13:28:02 -04:00
Bryce Harrington
53d829cfc1 A couple minor typo fixes to ChangeLog
Signed-off-by: Bryce Harrington <bryce@canonical.com>
Signed-off-by: Federico Hernandez <f@ederi.co>
2012-05-02 00:09:19 +02:00
Paul Beckingham
ef8486ea1a Unit Tests
- Renamed bug.987.t to bug.987.x until faketime is available to us.
2012-04-30 10:37:39 -04:00
Louis-Claude Canon
1a267aa708 Unit tests
- Added tests for bug #987

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2012-04-30 10:36:00 -04:00
Louis-Claude Canon
3d6536d1f5 Unit tests
- Added tests for bug #991

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2012-04-30 10:35:00 -04:00
Louis-Claude Canon
f656c2024d Bug
- Fix sanity check for the first digit of day in a date.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2012-04-30 09:03:35 -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
0f2901c60c Documentation
- Added missing bug fixes.
2012-04-30 09:00:45 -04:00
Louis-Claude Canon
3440eb0c10 Bug #986
- Complete the previous fix: dates in the journal entries are also formatted
  according to the correct configuration variable.
- Add unit tests.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2012-04-30 08:49:09 -04:00
Louis-Claude Canon
8b18ee6f50 Bug #959
- Instead of checking if a date in its epoch representation has changed, 'task
  edit' checks if a date has changed in its 'dateformat' representation.
- The check has not been extended to the annotations for a technical reason
  (bug #705).

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2012-04-30 08:13:03 -04:00
Louis-Claude Canon
ba48cc35d8 Bug #985
- The dates shown and accepted when editing are formated using dateformat even
  for annotations (dateformat.annotation is thus ignored).
- No test is provided because it involves an external editor.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2012-04-30 08:04:51 -04:00
Paul Beckingham
7b58d9c18c Bug #996
- Fixed bug #996, so that verbosity code and documentation are in agreement,
  and that the 'verbose=off' works as intended (thanks to Peter De Poorter,
  Louis-Claude Canon).
2012-04-30 07:53:09 -04:00
Paul Beckingham
0ae66f457a Bug #954
- Fixed bug #954, which caused bulk deletions when using a UUID filter term and
  the delete command (thanks to Bryce Harrington).
2012-04-29 00:33:51 -04:00
Paul Beckingham
f4bfa1b2fd Bug #995
- Fixed bug #995, which mis-parsed UUIDs in filters as other elements (thanks
  to Bryce Harrington).
- Nibbler no longer permits 8-character UUID abbreviations, because too often
  they resemble other forms, such as '1111111d' which looks like a duration.
- Modified unit tests accordingly.
2012-04-29 00:28:28 -04:00
Paul Beckingham
10aa70a53b Bug #997
- Fixed bug #997, so that output is correctly conrolled by the 'affected'
  verbosity token.
2012-04-29 00:09:34 -04:00
Louis-Claude Canon
9bfda55000 Bug #986
- Update man page relatively to the fix of bug #986

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2012-04-28 18:10:26 -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
2668b04901 Performance
- Added std::string::reserve in high-use locations.
- Used Task::get_date over Task::get where possible.
- Added missing code (bug) for waking up any completed tasks that are freshly
  waited.
- Greater use of STL methods for bulk copying.
2012-04-27 02:46:01 -04:00
Paul Beckingham
cd552231e9 Performance
- Eliminated the 'contents' layer, which was never used to the degree
  anticipated.  This reduces memory footprint significantly.
2012-04-27 01:49:26 -04:00
Paul Beckingham
f47648c71f Code Cleanup
- Removed unused defines.
2012-04-27 01:33:11 -04:00
Louis-Claude Canon
9a18d77005 Bug #991
- Fixed bug #991, which removes an obsolete consistency check.
- Removed 'annotations' example from man page, because it is obsolete.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2012-04-24 23:45:28 -04:00
Louis-Claude Canon
b4d09d1c30 Bug #987
- Fixed bug #987, so that total active time does not continue to accumulate
  after an active task is completed.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2012-04-24 23:36:04 -04:00
Paul Beckingham
8cbacdacf7 Performance
- Sped up task sorting by skipping re-interpretation of certain data types.
2012-04-24 23:28:42 -04:00
Paul Beckingham
e16b33745e Documentation
- Fixed bug #988, updating the documentation so that 'undo.data' usage is more
  clearly stated (thanks to Louis-Claude Canon).
2012-04-24 00:58:02 -04:00
Paul Beckingham
139011e1ae Performance
- Introduced a new filter optimization that recognizes filters with no 'OR', or
  'XOR' operators, includes IDs, but does not include UUIDs.  This combination
  means completed.data is not referenced.
2012-04-24 00:53:04 -04:00
Paul Beckingham
35122154ef Bug #986
- Fixed bug #986, so that the 'info' report uses the correct date format
  (thanks to Louis-Claude Canon).
2012-04-21 13:02:31 -04:00
Paul Beckingham
5468365b85 Bug
- Missed an 'else' in the code.
2012-04-16 15:31:11 -04:00
Paul Beckingham
fb7c227814 Documentation
- Updated developer docs.
2012-04-16 10:54:44 -04:00
Paul Beckingham
21e172a75a Merge branch '2.0.1' of tasktools.org:task into 2.0.1
Conflicts:
	AUTHORS
2012-04-16 10:54:10 -04:00
Paul Beckingham
d26749fd39 Feature #516
- Feature #516, which allows the duplication of completed tasks (thanks to
  Peter De Poorter, Ethan Schoonover).
2012-04-16 09:03:55 -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
d6d9fbd8e7 Code Propagation
- Took a patch to tw from the clog version of Nibbler.
2012-04-14 17:02:04 -04:00
Paul Beckingham
0288fd1ec9 Bug
- Fixed incorrect Lua API return value (thanks to Oleksii Tsai).
2012-04-14 16:18:40 -04:00
Paul Beckingham
062c4a0342 Documentation
+ Fixed man page typos.
2012-04-13 15:13:33 -04:00
Paul Beckingham
4d7369ad5e Documentation
- Added tutorial scripts, which are the 1.9.3 scripts, largely unmodified.
  This is a work in progress.
2012-04-13 00:45:18 -04:00
Paul Beckingham
c51b472694 Bug #968
- Fixed bug #968, a typo in the 'edit' command text (thanks to Victor Roetman).
2012-04-11 07:43:05 -04:00
Paul Beckingham
dd989be887 Documentation
- Removed obsolete section from task-tutorial.5.
- Corrected typos in task-tutorial.5.
2012-04-09 00:30:15 -04:00
Paul Beckingham
8951a2ce23 Documentation
- Removed all the 2.0.0 NEWS items.
- Cleaned up some minor inconsistencies.
2012-04-09 00:22:24 -04:00
Paul Beckingham
2c07837852 Bug
- Fixed bug where ISO dates were parsed and the TZ was modified, which should
  have no bearing on a Zulu time.
2012-04-09 00:16:09 -04:00
Paul Beckingham
dd73cc1ccf Bug #964
- Fixed bug #964, where the 'projects' command showed the wrong priority labels
  (thanks to Ali Mousavi).
2012-04-06 18:55:26 -04:00
Paul Beckingham
6090330d7a Merge branch '2.0.1' of tasktools.org:task into 2.0.1 2012-04-04 20:17:04 -04:00
Paul Beckingham
2203d3364d Bug
- Fixed bug where '6 months' was interpreted as 180 days, but when rendered
  was shown as '5 months' (thanks to Aikido Guy).
- Multiple unit test corrections.
2012-04-04 18:42:11 -04:00
Federico Hernandez
e1d0f6002b Package config
- removed obsolete package config files
- added placeholder READMEs for time being
2012-04-03 21:25:24 +02:00
Paul Beckingham
d4cc4c5745 Documentation
- Added notes in the DEVELOPER file about the need for an external script
  that can fix duplicate UUID problems.
2012-04-02 17:03:29 -04:00
Christoph Robbert
f5b841e8a6 Unit Tests
- Added test for bug #954.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2012-03-31 15:33:49 -04:00
Paul Beckingham
fee5aad2fa Documentation
- Added an FAQ question that has been asked enough.
2012-03-31 09:35:05 -04:00
Paul Beckingham
6100748511 Bug
- Corrected rounding errors on burndown chart bar size calculations (thanks to
  Uli Martens).
2012-03-26 18:16:09 -04:00
Paul Beckingham
a73c711188 Feature
- The 'summary' report now uses 'project.indented' format.
2012-03-25 18:00:22 -04:00
Paul Beckingham
adb6785931 Feature
- The 'projects' report now uses 'project.indented' format.
2012-03-25 17:59:37 -04:00
Paul Beckingham
17c605502c Feature
- Added new 'indented' format for the 'project' attribute.  Note that
  this is really only useful when a report is sorted by project.
2012-03-25 17:57:55 -04:00
Paul Beckingham
95e36d1145 Enhancement
- Broke the indentTree function into two pieces - one that processes
  a list, the other that processes a single item.  This makes it more
  efficient for use places that have only one element.
2012-03-25 16:54:13 -04:00
Paul Beckingham
29b0d24745 Documentation
- Corrected old information in DEVELOPER file.
2012-03-25 16:29:26 -04:00
Paul Beckingham
667a6e6ef9 Bug
- Fixed grammar in feedback string (thanks to Uli Martens).
2012-03-21 07:39:42 -04:00
Paul Beckingham
f45c9edf2b Code Cleanup
- Removed default configuration value for the obsolete 'annotations' setting.
2012-03-18 10:15:32 -04:00
Paul Beckingham
1274f2ba07 Code Cleanup
- Addressed valgrind complaints by freeing allocations for commands and columns.
  This leaves one complaint about getpwuid, which is either an optional free,
  or not valid, depending on OS.  (Thanks to Bryce Harrington).
2012-03-18 00:27:47 -04:00
Federico Hernandez
3f233e4644 Bumped version number to 2.0.1 2012-03-17 23:05:28 +01:00
Federico Hernandez
b19229b272 Added SHA1 of tagged release commit 2012-03-17 22:59:02 +01:00
Federico Hernandez
03799eba9f Release date for 2.0.0 2012-03-17 21:34:41 +01:00
Federico Hernandez
f0924d9adf Bumped date in man pages to release date 2012-03-17 21:32:00 +01:00
Paul Beckingham
ac4d90f1f6 Feature Pulled
- Removed the feature that allows commands to be piped in to stdin,
  and appended to any existing command line.  This feature is
  conditionally compiled, controlled by the FEATURE_STDIN define in
  main.h
- Many unit tests contained "echo '-- y'", and now use "echo 'y'"
  because the '--' is no longer supported on stdin.
- Thanks to the IRC team for testing, including Bryce Harrington,
  Sam Stuck, Owen Clarke, Greg Grossmeier.
2012-03-17 10:46:05 -04:00
Paul Beckingham
80d6655709 Bug
- Fixed problem where 'project' was not supported as a verbosity token (thanks
  to Adam Gibbins).
2012-03-17 10:11:55 -04:00
Paul Beckingham
deb12102f6 Delay Decrease
- Reduced the delay to 1ms.  Note: this is still a hack.
- Added error checking around the 'select' call.
2012-03-15 22:34:37 -04:00
Paul Beckingham
c5d3042bbf Delay Increase
- Increased delay to 0.05s.
- Added Sam Stuck to AUTHORS, by way of thanks.
2012-03-15 20:41:15 -04:00
Paul Beckingham
5f13019d05 Ubuntu 'select' Fix
- Added a delay before the 'select' call on STDIN, to allow time for
  the data to buffer.  Experimental patch.
2012-03-15 20:20:08 -04:00
Paul Beckingham
773b028865 Portability
- Fixed code that generated warning on Ubuntu.
2012-03-14 17:53:24 -04:00
Paul Beckingham
2c90bca134 Bug #950
- Fixed bug #950, which warned about dependency chain problems during
  annotation, which makes no sense (thanks to Uli Martens).
2012-03-14 00:32:45 -04:00
Paul Beckingham
948bbe8745 Bug #946
- Fixed bug #946, which caused 'edit' command problems when
  'dateformat.annotation' did not contain any date elements (thanks to Tuomas
  Toivola).
2012-03-14 00:17:56 -04:00
Paul Beckingham
99e058cbe7 Bug #952
+ Fixed bug #952, which caused cmake complaints under Cygwin.
2012-03-14 00:03:01 -04:00
Paul Beckingham
86e74c1020 Code Cleanup
- Removed unused function and corresponding unit tests.  YAGNI.
2012-03-11 15:33:45 -04:00
Paul Beckingham
166f3202e1 Documentation
- Updated reference card for accuracy.
- Updated task-color.5.in man page.
2012-03-06 18:18:15 -05:00
Owen Clarke
9951da5710 Bug
- Added bounds check before call to string::substr to avoid passing a
  negative start pos. Test rc.t was broken from commit 0ac9a4b because
  it contains 'report.:b' and legacyCheckForDeprecatedVariables was
  trying to substr starting from pos 'length() - 12' (-3).
2012-03-06 23:32:24 +11:00
Paul Beckingham
507ee20f3b Unit Tests
- Fixed UDA test that didn't allow for missing data.
2012-03-06 01:33:26 -05:00
Paul Beckingham
7a1b219c2c Documentation
- Updated taskrc.5.in to match the 2.0 supported set.
2012-03-06 01:23:01 -05:00
Paul Beckingham
0ac9a4b3df Deprecated
- Made proper note of deprecated configuration variables.
2012-03-06 01:22:16 -05:00
Paul Beckingham
202959898d Documentation
- Added the version info to the task.1.in man page.
2012-03-06 01:21:16 -05:00
Paul Beckingham
6db7285f70 Documentation
- Corrected man page against reality.
2012-03-06 00:37:21 -05:00
Paul Beckingham
8537ddbb5a Documentation
- Corrected command usages.
- Corrected help command output.
2012-03-06 00:36:37 -05:00
Paul Beckingham
2ab2497126 Configuration
- Removed obsolete configuration defaults.
2012-03-06 00:35:21 -05:00
Paul Beckingham
c8027a17c1 Feature
- Missing data now tolerated for UDAs.
- Info command includes all column data, even for unrecognized types.
2012-03-05 22:49:41 -05:00
Owen Clarke
8177b74a52 Unit Tests
- Fixed compile warning caused by an ambiguous decimal type.
2012-03-05 19:57:14 +11:00
Paul Beckingham
a95832ff3b Unit Tests
- Changed a test that adds a task that is due in one hour, then
  verifies that the task is 'due'.  This fails when run between
  the times 2300 and 2400.  Now the test makes the task due in
  5 minutes, which narrows the window when the test can fail.
  This no longer coincides with the time the tinderbox runs.
2012-03-04 20:30:54 -05:00
Paul Beckingham
27c30d1b65 Unit Tests
- Fixed warning caused by misinterpretation of arguments, by coercion.
2012-03-04 19:37:26 -05:00
Paul Beckingham
6d1e14ea3e Portability
- Modified cmake files to allow for clang/llvm as well as gcc.
2012-03-04 18:58:40 -05:00
Owen Clarke
4792517515 Bug #936
- Fixed nag.t failing with Perl 5.8.4
2012-03-05 09:16:11 +11:00
Paul Beckingham
77ac156060 AUTHORS
- Promoted Owen.
2012-03-04 16:39:08 -05:00
Owen Clarke
f36f483d1e Bug #944
- Fixed merge.t failing when run on an NFS share
2012-03-05 08:26:08 +11:00
Paul Beckingham
f898120829 Documentation
- Updated taskrc.5 to reflect deprecated configuration values.
2012-03-04 12:54:40 -05: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
1582fb1f88 Version bumped. 2012-03-03 17:05:22 -05:00
Paul Beckingham
94627df5de Portability
- Fixed compiler warnings on Ubuntu.
2012-03-03 16:25:55 -05:00
Paul Beckingham
761ef296ad Code Cleanup
- Eliminatd helpers.cpp, and the redundant getFullDescription function
  therein.
- The timesheet report now uses standard description formatting.
2012-03-03 16:08:21 -05:00
Paul Beckingham
a300dba2df Code Cleanup
- Removed use of getFullDescription in CmdInfo.
2012-03-03 15:41:07 -05:00
Paul Beckingham
ee92438ba8 Documentation
- Updated DEVELOPER information.
2012-03-03 15:34:13 -05:00
Paul Beckingham
facb795f88 Code Cleanup
- Eliminated redundant getDueDate helper function.
2012-03-03 14:40:35 -05:00
Paul Beckingham
0f4bcefcff Code Cleanup
- Relocated code from helper.cpp to feedback.cpp.
- Fixed typo.
2012-03-03 14:24:41 -05:00
Paul Beckingham
524f7f0919 Unit Tests
- Now that the 'diagnostics' command can detect duplicate UUID
  values, it makes sense to incorporate that into unit tests that
  employ multiple recurring tasks.
2012-03-03 10:05:27 -05:00
Paul Beckingham
173d24b3fb Oops
- Inadvertently committed a UDA formatting change that isn't ready.
2012-03-03 09:50:43 -05:00
Paul Beckingham
46b275c3ce Feedback
- When bulk tasks are modified, the "project changed" messages are
  now retained until processing is completed, so that only one message
  per project is generated.
2012-03-03 09:46:11 -05:00
Paul Beckingham
d4f85484df Internals
- Modified color processing so that it can be disabled completely at
  compile time.  This is to assist the Windows port.
2012-03-03 09:08:46 -05:00
Paul Beckingham
d230ea4001 Diagnostics
- The 'diagnostics' command now checks for duplicate UUID values in the data.
2012-02-28 01:22:57 -05:00
Paul Beckingham
50825bc61a Bug #851
- Fixed bug #851, which failed to recognize durations like '1day' when
  filtering date attributes (thanks to Philipp Woelfel).
- Added unit tests.
2012-02-28 00:27:48 -05:00
Paul Beckingham
9eee2e3e3e Bug #447
- Indicated that #447 was fixed alongside #942.
2012-02-27 20:18:11 -05:00
Paul Beckingham
8c0971425f Bug #942
- Fixed bug #942, which only allowed dates to be edited if they changed day
  (thanks to Owen Clarke).
2012-02-27 20:10:19 -05:00
Paul Beckingham
e42a5a831a Bug #865, #886
- Fixed bugs #865 and #886, which caused silent failure of unrecognized dates
  (thanks to Michelle Crane).
2012-02-27 00:36:53 -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
Owen Clarke
9fb015f72c Portability
- Added new 'format' overload to resolve compiler warnings on Solaris.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2012-02-26 18:49:13 -05:00
Paul Beckingham
0fe5887af8 Unit Tests
- Change #819 test to pass, because the bug is deferred.
- Change #884 test to pass, because the bug is deferred.
- Added Najmi Ahmad Zabidi to AUTHORS file, for suggesting a specific
  verbosity control.
- Added some stealth unit tests.
2012-02-26 17:56:15 -05:00
Paul Beckingham
8af872e289 Bug
- Fixed problem where update-holidays.pl did not use the YYYYMMDD date foramt.
2012-02-26 17:05:16 -05:00
Paul Beckingham
824cba7152 Bugs #552, #863
- Fixed bug #552, where 'rc.verbose=off' suppressed warnings (thanks to Peter
  De Poorter).
- Fixed bug #863, which suppressed report labels with rc.verbose=off (thanks to
  Michelle Crane).
2012-02-26 17:01:13 -05:00
Paul Beckingham
45dba8805c Documentation
- Added deprecated configuration file values.
2012-02-26 15:06:55 -05:00
Paul Beckingham
5b3cba2e70 Unit Tests
- Enabled more recurring task tests.
2012-02-26 14:57:21 -05:00
Paul Beckingham
bcf416e71f Unit Tests
- Added tests for #884.
2012-02-26 14:38:48 -05:00
Paul Beckingham
ceabcdd6c3 Unit Tests
- Reduced complexity in the test.
2012-02-26 14:37:01 -05:00
Paul Beckingham
5396c718ef Unit Tests
- Added test to illustrate the workaround.
2012-02-26 14:02:40 -05:00
Paul Beckingham
1f5146e7a0 Unit Tests
- Corrected test count and removed diag output.
2012-02-26 13:39:55 -05:00
Paul Beckingham
9d74b55d48 Feature #725
- Added feature #725, which provides feedback when tasks become unblocked.
- Added unit tests.
2012-02-26 13:08:40 -05:00
Paul Beckingham
56f0281ab1 Git
- Added doc/misc/tutorial to .gitignore to get it out of my face.
2012-02-26 12:35:43 -05:00
Paul Beckingham
3133616b67 Unit tests
- Enabled some disabled regex filter tests.
2012-02-26 10:57:59 -05:00
Owen Clarke
7c2d97d939 Unit Tests
- Fixed 'witching hour' bug in unit tests that causes problems when run
  in assorted time zones.  By using str2time to get the epoch value of
  a known local time, this should fix failures that occur.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2012-02-25 23:13:41 -05:00
Owen Clarke
049f34d339 Portability
- Improved run_all script to run on Solaris.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2012-02-25 23:10:11 -05:00
Paul Beckingham
a9de8a6596 Verbosity
- Tweak to 'affected' token.  Needs more.
2012-02-24 18:27:39 -05:00
Paul Beckingham
e0aabe08bf Unit Tests
- Fixed broken DOM tests.
2012-02-24 18:26:35 -05:00
Paul Beckingham
a495b05d6b Bug #938
- Made alternate fix to CmdUrgency.cpp, to avoid the ambiguity around
  the format() signatures (thanks to Owen Clarke).
2012-02-23 20:48:01 -05:00
Owen Clarke
87853bdd78 Bug #938
- Fixed compiler warnings on Solaris.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2012-02-23 20:43:54 -05:00
Owen Clarke
25a1b89156 Bug #938
- Fixed incorrect return type.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2012-02-23 20:33:05 -05:00
Paul Beckingham
9c641fd778 Credit
- Updated ChangeLog to reflect recent patches.
2012-02-23 20:27:38 -05:00
Owen Clarke
3ba0b62783 Bug #937
- Fixed problem with incomplete 'stat' path.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2012-02-23 20:23:05 -05:00
Owen Clarke
8e5afa0d8a Bug #936
- Fixed failing tests on Solaris.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2012-02-23 20:16:39 -05:00
Owen Clarke
ed6bdd7bdc Bug #936
- Fixed failing tests on Solaris.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2012-02-23 20:13:44 -05:00
Owen Clarke
3b9a737ac4 Bug #936
- Fixed failing tests on Solaris.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2012-02-23 19:58:42 -05:00
Paul Beckingham
15a0d7a801 Bug #880
- Fixed bug #880, which listed the wrong file paths for themes (thanks to Peter
  Lewis).
2012-02-23 17:26:52 -05:00
Federico Hernandez
8521e6d1e7 New try for RC1 2012-02-22 01:39:45 +01:00
Paul Beckingham
21e006319a Beta5
- Set version back to beta5 for a quick patch.
2012-02-21 19:30:33 -05:00
Paul Beckingham
33e2a1b52c Merge branch '2.0.0' of tasktools.org:task into 2.0.0 2012-02-21 19:29:11 -05:00
Paul Beckingham
1a7ed9e137 Debugging
- Inadvertently left in a debug statement.
2012-02-21 19:26:17 -05:00
Federico Hernandez
efa1914be5 Bumped version number to RC1 2012-02-22 01:09:49 +01:00
Paul Beckingham
1f8e823593 Holidays Updated
- Modified update-holidays.pl script to include the MIT license.
- Added the URLs used to download the data, in the data.
- Added a refresh script to freshen the files.
2012-02-21 17:23:57 -05:00
Paul Beckingham
b17be021db Credit
- Added Luke Macken to the AUTHORS file.  Forgot to include it in the
  previous patch.
2012-02-20 17:37:38 -05:00
Luke Macken
1358a8302f Portability
Manually include unistd.h in a couple of places get things building with gcc
4.7, which removed it from the global namespace. This fixes the following build
errors:

    src/A3.cpp:283:3: error: 'STDIN_FILENO' was not declared in this scope
    src/commands/CmdEdit.cpp:598:30: error: 'getpid' was not declared in this scope
    src/commands/CmdEdit.cpp:603:47: error: 'chdir' was not declared in this scope

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2012-02-20 17:31:30 -05:00
Paul Beckingham
39998d5cc5 Bug #932
- Fixed bug #932, which fixed change propagation for recurring tasks (thanks to
  Jennifer Cormier).
- Added unit tests, corrected some.
2012-02-20 17:25:31 -05:00
Paul Beckingham
259f39f2d2 Performance
- Corrected performance measurement.  The TDB2::gc requires data to
  be loaded first, but load time is measured separately.  This resulted
  in repeat counting.  Now the gc time subtracts any load time that is
  accumulated *during* the gc.  This is now a fair accounting of the time.
2012-02-20 09:26:52 -05:00
Paul Beckingham
d386081c4c Bug
- Modified format 'uuid.short' to show the leftmost 8 characters from
  a UUID, which is the same as partial UUID matching implemented in
  #891.
2012-02-20 01:23:34 -05:00
Paul Beckingham
9f8165e3c6 Bug #932 (part 1)
- Fixed bug that caused only parent recurring tasks to have their attributes
  properly removed.
- When duplicating a parent recurring task, a new recurring parent task is
  created.  When a child recurring task is duplicated, a plain task is created.
- Added unit tests.
- Thanks to Jennifer Cormier.
2012-02-20 01:10:42 -05:00
Paul Beckingham
0a0e8f0d6b Bug - UTF8
- Fixed bug in the handling of UTF8 JSON data from holidata.net, when
  update-holidays.pl when decoding and writing files.
2012-02-19 23:22:45 -05:00
Paul Beckingham
7a45db4d0f Feature #891
- Added feature #891, which allows for leftmost partial matches of UUID values.
  Makes direct comparisons for full-length values, and regular expressions for
  partial values.  Note that there is a minimum length of 8 hex digits.
- Added safety parsing mechanism that fails a partial UUID if immediately
  followed by a hex digit.  This allows for numbers longer than 8 digits to not
  be misinterpreted as a UUID.
- Implemented Nibbler::getPartialUUID.
- Implemented unit tests.
@@ -1145,12 +1145,23 @@ const A3 A3::sequence (const A3& input) const

   for (unsigned int i = 0; i < uuids.size (); ++i)
   {
-    if (ids.size ())
+    if (ids.size () + i > 0)
       sequenced.push_back (Arg ("or", Arg::cat_op));

-    sequenced.push_back (Arg ("uuid",        Arg::type_string, Arg::cat_dom));
-    sequenced.push_back (Arg ("=",                             Arg::cat_op));
-    sequenced.push_back (Arg (uuids[i],      Arg::type_string, Arg::cat_literal));
+    // A full-length UUID requires a string comparison.
+    if (uuids[i].length () == 36)
+    {
+      sequenced.push_back (Arg ("uuid",         Arg::type_string, Arg::cat_dom));
+      sequenced.push_back (Arg ("=",                              Arg::cat_op));
+      sequenced.push_back (Arg (uuids[i],       Arg::type_string, Arg::cat_literal));
+    }
+    // A UUID fragment is a leftmost comparison.
+    else
+    {
+      sequenced.push_back (Arg ("uuid",         Arg::type_string, Arg::cat_dom));
+      sequenced.push_back (Arg ("~",                              Arg::cat_op));
+      sequenced.push_back (Arg ("^" + uuids[i], Arg::type_string, Arg::cat_rx));
+    }
   }

   sequenced.push_back (Arg (")", Arg::cat_op));
@@ -1674,11 +1685,11 @@ bool A3::is_uuid (Nibbler& n, std::string& result)
   n.save ();
   result = "";
   std::string uuid;
-  if (n.getUUID (uuid))
+  if (n.getPartialUUID (uuid))
   {
     result += uuid;
     while (n.skip (',') &&
-           n.getUUID (uuid))
+           n.getPartialUUID (uuid))
     {
       result += ',' + uuid;
     }
@@ -1997,13 +2008,13 @@ bool A3::extract_uuid (
   Nibbler n (input);

   std::string uuid;
-  if (n.getUUID (uuid))
+  if (n.getPartialUUID (uuid))
   {
     sequence.push_back (uuid);

     while (n.skip (','))
     {
-      if (!n.getUUID (uuid))
+      if (!n.getPartialUUID (uuid))
         throw std::string (STRING_A3_UUID_AFTER_COMMA);

       sequence.push_back (uuid);
2012-02-19 22:27:40 -05:00
Paul Beckingham
c785836083 Feature #632
- Added feature #632, which allows environment variables TASKRC and TASKDATA
  to override .taskrc and .task directory locations (thanks to Steve Rader).
- Added unit tests.
+
2012-02-19 18:59:28 -05:00
Paul Beckingham
09431caf1c Bug
- Tag matching was being performed using the regex \b<tag>\b, which makes
  taskwarrior dependent on regex lib bugs for basic functionality.  This is
  now modified to use pseudo-operators _hastag_ and _notag_.
2012-02-19 17:20:11 -05:00
Michal Vyskocil
78e5891cd3 Portability
- lua_open has been declared as deprecated in lua 5.1 and removed from
  5.2. Usage of luaL_newstate is thus recommended in both series.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2012-02-15 19:26:26 -05:00
Paul Beckingham
26cc4e11f5 Unit Tests
- Improved verbosity unit tests.
2012-02-13 06:16:18 -05:00
Uli Martens
7fe5fc80e9 Bug #636
- Fixed bug #636, which causes the burndown reports to not honor the
  _forcecolor=off setting (thanks to Steve Rader, Uli Martens).

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2012-02-13 06:15:27 -05:00
Paul Beckingham
28a4947234 Bug #818
- Fixed bug #818, which caused partial tag matching (thanks to Joe Holloway).
- Note that the regex word boundary anchors are different for Solaris
  and Linux, and largely broken on OSX.
- Added unit tests.
2012-02-12 10:42:24 -05:00
Paul Beckingham
efb2476c15 Unit Tests
- Added bug.924.t unit tests.  I cannot replicate the bug, but a
  regerssion test should prevent any recurrence.
2012-02-12 08:41:08 -05:00
Uli Martens
0f60e8c758 Bug #929
- Fixed bug #929, which corrected argument handling for aliases.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2012-02-12 08:15:45 -05:00
Ralph Bean
53ac325705 Patch to fix broken build.
Signed-off-by: Paul Beckingham <paul@beckingham.net>
2012-02-05 22:47:36 -05:00
Paul Beckingham
96fe3f42ba Minor Refactoring
- Added support for more type-specific checks of attribute values.
- Added support for more type-specific attribute rendering.
- Improved generalized methods for checking columns in a report.
- Added unit tests.
- Minor code cleanup.
- Added secret hidden feature for internal testing.
2012-02-05 20:56:46 -05:00
Paul Beckingham
cffc42484e Code Cleanup
- Removed non-STL Nibbler method, which makes way for a future optimization
  in the form of a non-copying Nibbler.
2012-02-05 15:28:09 -05:00
Paul Beckingham
c0f8ab3249 Configuration Cleanup
- Fixed typos in default config file.
- Removed default values for edit.verbose and echo.command, both of
  which are deprecated.
2012-02-05 14:37:22 -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
86f113a24c Feature #609
- Added feature #609, which allows suppression of output labels and verbose
  text.
2012-02-03 00:05:46 -05:00
Paul Beckingham
8abc541777 Bug #906
- Fixed bug #906, which caused problems with inverted project matching (thanks
  to Uli Martens).
2012-02-02 23:51:31 -05:00
Paul Beckingham
565d14962d Bug #910
- Fixed bug #910, which caused unexpected behavior when duplicating a recurring
  task (thanks to Jennifer Cormier).
- Fixed typo in duplicate command that failed to remove the 'mask' attribute.
2012-02-02 23:31:22 -05:00
Paul Beckingham
2ce9322a28 Bug #917
- Fixed bug #917, which mis-encoded quotes (thanks to Uli Martens).
- Added unit tests.
- Minor unrelated edits.
2012-02-02 22:58:36 -05:00
Paul Beckingham
89b5c91a35 Unit Tests
- Corrected method name.
2012-01-30 20:27:50 -05:00
Paul Beckingham
1619441f87 Theme Sample generation
- Generating snapshots of themes now automated.
2012-01-30 20:27:17 -05:00
Paul Beckingham
bff868145d Bug #901
- Fixed bug #901, which was preventing multiple IDs and UUIDs from being used
  as a filter (thanks to Bryce Harrington).
2012-01-30 01:00:45 -05:00
Paul Beckingham
36e5e650d4 Feedback
- Converted std::cout to context.footnote, for custom reports and burndown.
  Not sure why they were wrong.
2012-01-30 00:42:15 -05:00
Paul Beckingham
5e4f7feff8 Performance
- Added a shortcut test that speeds up the decode process for most cases.
2012-01-30 00:18:53 -05:00
Paul Beckingham
5609711d47 Feature #571 - Special tag feedback
- The verbosity token 'special' now controls whether the feedback is provided
  when special tags are added to a task.
- Added new 'special' verbosity token documentation to man page.
- Added missing 'next' special tag to man page.
- Added new localized strings for describing special tags.
2012-01-29 18:28:07 -05:00
Paul Beckingham
bf9e14f581 Bug 899
- Fixed bug #899, which displayed incorrect project completion numbers (thanks
  to Paul-Gheorghe Barbu).
- Added unit tests.
2012-01-29 17:44:43 -05:00
Paul Beckingham
c092b027a6 Code Cleanup
- Removed 'synch_key' tests and file I/O.  Soon, soon...
2012-01-29 17:42:52 -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
7a2bf28005 ChangeLog
- Updated ChangeLog to reflect several bugs that have been fixed, but
  were not reported.
2012-01-28 17:18:34 -05:00
Paul Beckingham
e05b3633f2 Bug - Summary report broken linefeeds
- Applied same #907 patch for CmdHistory.cpp to CmdSummary.cpp.
2012-01-28 10:43:11 -05:00
Paul Beckingham
6cf9790fac Code Cleanup
- Removed code that creates the ~/.task/extensions directory, which will not be
  needed until 2.1.  Until then, it is clutter.
2012-01-28 10:37:14 -05:00
Uli Martens
529161b711 Bug #905
- The problem was that the routine dependencyIsCircular() changed its behaviour
  in git revision 726fc33fe4, and the new version
  only checked tasks by id - but all completed/deleted tasks have the id0, which
  led to the problem.  The fix is extremelly simple, just get the dependencies
  by uuid instead of by id.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2012-01-23 06:24:51 -05:00
Paul Beckingham
6145f2d4a8 Typo
- Fixed typo in L10N name month names.
2012-01-22 14:41:00 -05:00
Uli Martens
851347fccc Bug #907
- The bug first occured in commit 36ed70ad93 and
  seems to be caused by the rewritten break point detection. This adds linefeeds
  into the table output, where they're not wanted.  This can be fixed by marking
  the respective tables as nonbreakable, as done in the attached patch.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2012-01-18 07:29:08 -05:00
Ralph Bean
184ba60df4 Portability
- Fixed GCC 4.3 compilation error.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2012-01-17 18:12:27 -05:00
Paul Beckingham
fe467640ca Bug #902 - 'task version' requires a .taskrc
- Added special case support for '--version' which bypasses all
  configuration.  Not documented.  For extension prgorams like
  'taskhelm', that need to determine whether taskwarrior is
  sufficiently current.
2012-01-16 22:44:59 -05:00
Paul Beckingham
15d25d4fdf Lua
- Tweaks to the Lua and extension API.  Note that this is a documentation-only
  change, meaning the design is being honed.  No support exists yet.
2012-01-15 11:39:53 -05:00
Paul Beckingham
15030599fd Unit Tests
- Added more verbosity token tests, which show up some unimplemented
  loose ends.
2012-01-12 16:49:54 -05:00
Paul Beckingham
35fdb4058d Doucmentation
- Updated PUNCHLIST doc, which at this point isn't very useful.
2012-01-12 16:48:38 -05:00
Paul Beckingham
7cc3544f74 Bug #897
- Fixed bug #897, which omitted the UUID field from the 'completed'
  report, which is essential if you need to modify a completed task
  (thanks to Eli Lev).
2012-01-12 16:47:08 -05:00
Paul Beckingham
205d4fe29f Cleanup
- Removed git conflict marker (thanks to Uli Martens).
2012-01-12 01:06:26 -05:00
Paul Beckingham
71a15f9d44 Documentation
- Corrected some example command lines (thanks to Eric Fluger).
2012-01-10 23:21:21 -05:00
Paul Beckingham
9853bfee46 Unit Tests
- Restored a 'skip' unit test, because it works most of the time, and
  only fails during the one end of daylight savings day.  Along with
  several others.
2012-01-10 23:19:54 -05:00
Paul Beckingham
0c93d22720 Merge branch '2.0.0' of tasktools.org:task into 2.0.0
Conflicts:
	DEVELOPER
2012-01-10 18:00:08 -05:00
Ralph Bean
36ed70ad93 Exports
- Provided sample sqlite3 export script in Python, to serve as a
  starting point for anyone wanting to migrate taskwarrior data into
  a SQL database.  Illustrates JSON parsing and separation of the
  relational data.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2012-01-10 17:58:34 -05:00
Ralph Bean
76e87173e1 Exports
- Provided sample sqlite3 export script in Python, to serve as a
  starting point for anyone wanting to migrate taskwarrior data into
  a SQL database.  Illustrates JSON parsing and separation of the
  relational data.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2012-01-07 12:31:08 -05:00
Paul Beckingham
0215e708ad Unit Tests
- Fixed bug in TAP 'diag' output generation, which was missing a newline.
2012-01-05 23:29:33 -05:00
Paul Beckingham
938a33f236 Unit Tests
- Typo in #ifdef caused incorrect number of reported tests.
2012-01-05 20:17:03 -05:00
Owen Clarke
7c90d1e8cc Bug - Default TZ not always UTC.
From Owen:

I tried mktime on Darwin an Linux; looks like they both default to UTC if the TZ
environment variable is unset but on Solaris it defaults to the local timezone.
I compiled and ran the tests and checked the behaviour by running:

date
TZ="" date
TZ="UTC" date

On Solaris the first two are in local time and the third is in UTC.
On Darwin and Linux the first one is in local time and the other two are in UTC.

Found this as a reference, too, which mentions the suggested implementation in
'man 3 timegm':

http://stackoverflow.com/questions/6467844/is-c-mktime-different-on-windows-and-gnu-linux

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2012-01-05 18:08:24 -05:00
Owen Clarke
afcd362f67 + Fixed problem with duplicate 'project changed' messages.
Signed-off-by: Paul Beckingham <paul@beckingham.net>
2012-01-05 17:43:29 -05:00
Paul Beckingham
fb38dca1db Parsing
- Integrated modified Nibbler and test code from kronisk.  These
  changes make both test and Nibbler standalone objects, with configurable
  features.
2012-01-05 17:37:50 -05:00
Paul Beckingham
a262d41828 Backlog
- Removed backlog file processing, which slows down processing.  When
  2.1 has taskd support, the backlog will be cleared, but until then there
  is no point in accumulating transactions.
2012-01-03 00:55:20 -05:00
Paul Beckingham
bdc1d558f5 Cleanup
- Removed stats message that was taskd-specific.  It will be re-added
  for 2.1.
2012-01-03 00:45:26 -05:00
Paul Beckingham
6580095002 Copyright
- Year change.
2012-01-02 23:32:10 -05:00
Paul Beckingham
4eb5c8a0db Urgency
- Made the default urgency.age.coefficient non-zero.
- Updated documentation regarding new configuration settings.
2012-01-02 22:33:25 -05:00
Paul Beckingham
b35a2f54bb Documentation
- Removed "suspicion" comment about the autovivifying of map keys.
  Credited Dmitriy properly.
2011-12-31 11:39:50 -05:00
Paul Beckingham
2e2521a4cf Bug #892
- Possible fix for bug #892, which I cannot replicate anyway.  This fix
  involves testing my suspicion that std::map autovivifies via
  std::map::operator[], which is not nice.  Will ask Dmitriy to confirm.
2011-12-31 11:00:30 -05:00
Paul Beckingham
0c0999e9a8 Documentation
- Added note about the failing unit tests that always happens at
  EOY.
2011-12-31 10:12:50 -05:00
Paul Beckingham
0001457612 Enhancement
- Added indentTree function that will provide the basis for a new 'projects'
  command, and potentially more.  Includes unit tests.  Based on a patch from
  Ralph Bean.
2011-12-27 15:32:51 -05:00
Paul Beckingham
fb842cd5f5 Documentation
- Finished incomplete sentence.
2011-12-18 12:37:09 -05:00
Wilhelm Schuermann
726fc33fe4 Bug #887
- Fixed circular dependency detection by implementing a basic DFS

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2011-12-18 12:11:14 -05:00
Wilhelm Schuermann
30a97f5f52 Cleanup
- Removed unnecessary definitions of max() and min(), replaced existent calls
  with std::max().  Precursor to Bugfix #887.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2011-12-18 10:13:21 -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
52f70f6901 Regexes
- Added support for \< and \> for Solaris (thanks to Owen Clarke).
2011-12-16 07:44:19 -05:00
Owen Clarke
f173469f98 Unit Tests
- Fixed test so it work on Solaris and Perl 5.8.4.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2011-12-16 07:36:46 -05:00
Owen Clarke
c978baf36a Bug
- Fixed bug that was not properly evaluating cases where recurrence was
  being removed from a task.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2011-12-15 21:06:46 -05:00
Paul Beckingham
dac2838ecc Documentation
- Removed completed item from DEVELOPER file.
2011-12-10 10:39:07 -05:00
Martin Klepsch
782e3936b8 - Adds "monthly" as frequency to manpage
Signed-off-by: Paul Beckingham <paul@beckingham.net>
2011-12-10 10:20:01 -05:00
Johannes Schlatow
56d652d058 Unit Tests
- re-opened bug #819
2011-12-02 17:11:50 +01:00
Paul Beckingham
e99a03dbcb Unit Tests
- Automatically passes tests that are known problems on OSX.  These are
  limitations in the regex library that cannot be worked around.
2011-12-01 01:01:16 -05:00
Paul Beckingham
1d9a11f8ea I18N
- Localization of CmdEdit.cpp, which means L10N is complete.
2011-12-01 00:46:54 -05:00
Paul Beckingham
c25bb6404f Merge branch '2.0.0' of tasktools.org:task into 2.0.0 2011-12-01 00:04:04 -05:00
Paul Beckingham
375faf8cd8 I18N
- Localized feedback.cpp, helpers.cpp.  One more source file left!
2011-12-01 00:03:26 -05:00
Johannes Schlatow
38aef0d8b4 Bug
- Fixed that 'ssh://host/~/path' was wrongly translated into
   scp syntax; it must be 'host:~/path' instead of 'host:/~/path'
2011-11-30 00:15:08 +01:00
Johannes Schlatow
d8d2060b39 Bug #871
- Fixed escaping of spaces for scp and curl
2011-11-30 00:12:20 +01:00
Johannes Schlatow
edad4d2ee6 Feature #881
- Passwords in URIs will now be obscured
   (affects the commands show, merge, pull and push)
2011-11-29 22:38:33 +01:00
Johannes Schlatow
f20163ef7d Bug
- Fixed bug that marked config variables
   {push,pull,merge}.*.uri as "unrecognized".
2011-11-29 22:35:03 +01:00
Johannes Schlatow
ab575372d7 Feature #881
* fixed output for local URIs
2011-11-28 23:37:28 +01:00
Johannes Schlatow
ea44eaac1c Feature #881
* Output of URIs (during merge, pull, push) now omits passwords.
2011-11-28 22:45:31 +01:00
Dirk Deimeke
93337f499e Bug
- Applied patch from Dirk to fix a problem on Cygwin with a $PATH
  that contain spaces.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2011-11-22 07:08:51 -05:00
Paul Beckingham
e7428663d2 L10N
- Added mechanism that displays the target language and tranlator's name
  for non-standard localizations.
2011-11-20 19:52:54 -05:00
Matt Kraai
3a4871e975 Signed-off-by: Paul Beckingham <paul@beckingham.net>
Bug #836

 - Make A3 use same the number representation as the user.
2011-11-14 23:46:56 -05:00
Paul Beckingham
6473c9f39b Unit Test Bug
- Fixed an odd bug in the unit tests.  If today is the 14th of the month,
  then subtracting 14 * 86_400 from the current time results in a date that
  is in the prior month.  Except of course, for one month following the shift
  from summer time to standard time, when the test is run between 11:00pm and
  midnight.  The reverse happens in the spring.
2011-11-14 23:40:19 -05:00
Paul Beckingham
9e28b5311c I18N
- Improved an error message that really needed to state that the error
  is in the config file.
2011-11-14 23:03:14 -05:00
Johannes Schlatow
064eacd6bc Bug
- Fixed problem with execute; the rc argument and rc.* overrides
   were added to the command line.
2011-11-11 00:05:04 +01:00
Paul Beckingham
70124972c2 Documentation
- Updated reference sheet with new 'uuids' command.
2011-10-30 00:01:27 -04:00
Paul Beckingham
e13ad1bbaf Feature
- Added a 'uuids' command that parallels the 'ids' command.  This allows
  task UUIDs to be selected if the task is not pending.
- Updated documentation.
2011-10-29 23:53:36 -04:00
Paul Beckingham
01087c0ff4 Bug
- Fixed problem with DOM-checking the 'limit' pseudo-attribute (thanks to
  Barton Meeks).
2011-10-29 23:47:21 -04:00
Paul Beckingham
f7b593e958 Themes
- Updated solarized themes from Stefan Keel.
2011-10-29 10:58:46 -04:00
Paul Beckingham
7f577e8885 Code Cleanup
- Minor edits.
2011-10-29 10:49:41 -04:00
Paul Beckingham
ef68d1785f Documentation
- Shorted the command usage strings shown in the 'help' output, to
  match the names in the reference PDF.
2011-10-24 00:30:42 -04:00
Paul Beckingham
4e7d2e01fa Documentation
- Updated reference doc to properly align the edges.
2011-10-24 00:15:29 -04:00
Paul Beckingham
e5303a2180 Deletion
- An already-completed task may now also be deleted.
- Added unit tests.
2011-10-23 23:49:25 -04:00
Paul Beckingham
fce2469f41 Deletion
- Allows the deletion of an already-completed task, provided it is
  addressed by UUID.
- Displays UUID in cases where there is no ID.
2011-10-22 23:44:54 -04:00
Paul Beckingham
28133f8567 Legacy Checking
- Added previously deprecated configuration variables to the list that
  are mentioned by the 'show' command.
2011-10-22 23:33:30 -04:00
Paul Beckingham
0aa953dc4e Legacy Checking
- The 'show' command now mentions use of any deprecated configuration
  variables.
2011-10-22 23:28:31 -04:00
Paul Beckingham
dc3470a9a8 Bug
- Fixed problem where burndown chart titles were displayed in postfix,
  rather than original form.
2011-10-22 23:04:36 -04:00
Paul Beckingham
56f33cf96a Statistics
- Added last synch time to the stats command output.
2011-10-21 18:07:20 -04:00
Paul Beckingham
dd88965d3a Unit Tests
- The timesheet tests were doing data math wrong.
2011-10-21 00:42:26 -04:00
Paul Beckingham
ba0d471981 Unit Tests
- rx.t was mis-reporting the expected number of tests.
2011-10-21 00:27:02 -04:00
Paul Beckingham
222c44b6f1 Project Status
- The modify command was calling the wrong onProjectChange variant, which
  yielded the wrong status message.
2011-10-21 00:17:35 -04:00
Paul Beckingham
670fe1f3e5 Performance
- Added std::vector::reserve calls to reduce allocations and copying.
2011-10-21 00:12:45 -04:00
Paul Beckingham
bc12ac1ee6 DOM
- Fixed DOM bug that was performing the lookup '1.due' by locating task
  1, then attempting a get of the '1.due' attribute, instead of just 'due'.
2011-10-16 23:33:06 -04:00
Federico Hernandez
330cc0218b Merge branch '2.0.0' of tasktools.org:task into 2.0.0 2011-10-16 22:57:09 +02:00
Federico Hernandez
da573ef717 Bumped version number to 2.0.0.beta5 2011-10-16 22:56:46 +02:00
Federico Hernandez
821a0720c4 Bumped version number to 2.0.0.beta4 2011-10-16 22:54:46 +02:00
Federico Hernandez
1fa48f7a89 License
- re-licensed vim scripts under MIT.
2011-10-16 22:31:28 +02:00
Paul Beckingham
605d4db4c4 Documentation
- Made the DEVELOPER file current.
- Completed draft 1 of the EXPOSITION file.  Needs feedback.
2011-10-16 13:29:44 -04:00
Paul Beckingham
c33d67949b Feedback
- Corrected algorithm for detecting task differences.  It was mis-
  reporting removed attributes as both deleted and changed.
2011-10-16 11:20:28 -04:00
Paul Beckingham
fc9f9980b8 Unit Tests
- Added more word-boundary tests, even though they are broken on OSX.
  I don't think there is anythign we can do about this.
2011-10-16 11:19:33 -04:00
Paul Beckingham
4f26b13d82 Documentation
- Made the DEVELOPER file current.
2011-10-16 11:19:13 -04:00
Paul Beckingham
c1cf2b743d Unit Tests
- Fixed several test files that were reporting an incorrect test count.
2011-10-16 01:02:19 -04:00
Paul Beckingham
6e72430a58 Unit Tests
- Corrected cleanup code for bug.hang.t which was removing the wrong
  config file.
2011-10-16 00:46:38 -04:00
Paul Beckingham
45262be011 Bug #860
- Fixed bug #860, which prevented lower-case priority values from being
  accepted (thanks to Michelle Crane).
- Added unit tests.
- Also included ChangeLog updates from other fixes that were misseed.
2011-10-16 00:46:13 -04:00
Paul Beckingham
aaa8c5e950 Confirmation
- Modified the 'modify' command so that it only applies changes if
  the requested changes made a difference.  For example if the command

    task 1 mod pri:H

  was followed by:

    task 1 mod pri:H

  then the second command will report 'task not changed'.
2011-10-15 23:07:35 -04:00
Paul Beckingham
3786e6cff3 Confirmation
- The 'delete' command now requires confirmation by default, unless
  rc.confirmation=off.  Implemented properly this time.
2011-10-15 23:06:38 -04:00
Paul Beckingham
27d6407493 Bulk
- Modified the meaning of 'rc.bulk'.  The old meaning was: the largest number
  of tasks that could be modified without confirmation.  New meaning is: the
  number of tasks that trigger bulk confirmation.  Default was 2 (meaning that
  2 tasks affected were not in need of confirmation), is now 3 (meaning 3 tasks
  now trigger confirmation.
  Despite the dog's dinner I made of the preceding statement, the configuration
  variable is now easier to understand.
2011-10-15 23:02:01 -04:00
Paul Beckingham
44e7fdac4b Unit Tests
- Improved signal to noise ratio of all remaining unit tests.
2011-10-15 22:25:38 -04:00
Paul Beckingham
548272fb3a Confirmation
- Removed confirmation override imposed by the 'delete' command.  Consistency
  prevails.
2011-10-15 19:11:55 -04:00
Paul Beckingham
23991f72da Unit Tests
- Removed bulk tests that are obsoleted by those in bulk.t.
2011-10-15 19:09:32 -04:00
Paul Beckingham
88cab4825c Unit Tests
- Implemented new 'bulk.t' to test confirmation and bulk confirmation for
  sets of 1, 2 and 3 tasks (single, multiple, bulk).  This test file obsoletes
  several unit tests in other files.
2011-10-15 19:06:34 -04:00
Paul Beckingham
4d03cdce3b Unit Tests
- Marked the 'soq' test as skipped for now, because it is wrong.
2011-10-15 17:00:24 -04:00
Paul Beckingham
6677dd2104 Unit Tests
- Now that bulk modifications trigger confirmation properly, the tests
  need to raise bulk=3 to a higher value.
2011-10-15 16:59:34 -04:00
Paul Beckingham
a06bba7379 Unit Tests
- Reworded test to match the new confirmation.
2011-10-15 16:52:54 -04:00
Paul Beckingham
f04304d24b Unit Tests
- Added rc.confirmation=off to unit tests to bypass the new, stringent
  confirmation rules.
2011-10-14 03:04:16 -04:00
Paul Beckingham
75571a47de L10N Cleanup
- Removed obsolete strings.
2011-10-14 02:54:41 -04:00
Paul Beckingham
bebd38c6d8 Confirmation
- Implemented consistent confirmation.
2011-10-14 02:53:42 -04:00
Paul Beckingham
a36cd3cbd1 Confirmation
- Implemented consistent confirmation.
2011-10-14 02:46:52 -04:00
Paul Beckingham
af3bbc21d2 Confirmation
- Implemented consistent confirmation.
2011-10-14 02:41:26 -04:00
Paul Beckingham
e73c255612 Confirmation
- Implemented consistent confirmation.
2011-10-14 02:35:24 -04:00
Paul Beckingham
02e7c4f3ce Confirmation
- Implemented consistent confirmation.
2011-10-14 02:23:22 -04:00
Paul Beckingham
1b54516b45 Confirmation
- Implemented consistent confirmation.
2011-10-14 02:13:18 -04:00
Paul Beckingham
a5961f6847 Confirmation
- Implemented consistent confirmation.
2011-10-14 02:01:36 -04:00
Paul Beckingham
6aee2fc7b9 Permissions
- Merged old Permission functionality into Command::permission, and
  updated it to handle single vs bulk updates and verbosity tokens.
2011-10-14 01:52:33 -04:00
Paul Beckingham
cd6c681ba5 Feedback
- Implemented consistent 'affected' feedback across all write commands.
2011-10-14 01:51:43 -04:00
Paul Beckingham
95ff528e60 Code Cleanup
- Removed obsolete Permission object.
2011-10-14 01:50:46 -04:00
Paul Beckingham
6b40b0fb4a Confirmation
- Implemented consistent confirmation.
2011-10-14 01:50:16 -04:00
Paul Beckingham
821c554e41 Confirmation
- Implemented consistent confirmation.
2011-10-14 01:49:39 -04:00
Paul Beckingham
6e1ad5207d Unit Tests
- Corrected unit tests to match task output.
2011-10-12 01:26:59 -04:00
Paul Beckingham
8497e86800 Logic Bug
- Fixed logic bug in bulk and recurring task modifications.
2011-10-12 01:09:48 -04:00
Paul Beckingham
d11c1bfe51 Logic Bug
- Fixed logic bug in bulk and recurring task duplication.
2011-10-12 01:03:28 -04:00
Paul Beckingham
4feb1e2121 Logic Bug
- Fixed logic bug with bulk and recurring task denotations.
2011-10-12 00:30:17 -04:00
Paul Beckingham
afe7cbef91 White Space
- Removed blank lines.
2011-10-12 00:25:45 -04:00
Paul Beckingham
f4cd733311 Logic Bug
- Fixed logic bug with bulk and recurring task annotations.
2011-10-12 00:25:14 -04:00
Paul Beckingham
4d7d0f04f3 Logic Bug
- Fixed logic bug with bulk and recurring tasks prepends.
2011-10-12 00:21:49 -04:00
Paul Beckingham
988ab7ada0 Logic Bug
- Fixed logic bug dealing wiht bulk updates and recurring tasks.
2011-10-12 00:20:05 -04:00
Paul Beckingham
9a7d631873 Logic Bug
- Fixed bug in bulk operation handling for recurring tasks.
2011-10-12 00:12:00 -04:00
Paul Beckingham
887439b914 Logic Bug
- Fixed large logic bug in start command for bulk operations and
  changes to recurring tasks.
2011-10-11 23:56:25 -04:00
Paul Beckingham
3ec00d9443 Code Cleanup
- Removed blank lines.
2011-10-11 23:55:19 -04:00
Paul Beckingham
98c6a94625 Whitespace
- Context::footnote and Context::header were accepting and displaying
  blank lines, which is silly.
2011-10-11 23:54:42 -04:00
Paul Beckingham
b7ab366c71 Unit Tests
- Improved signal to noise ratio.
2011-10-11 00:29:55 -04:00
Paul Beckingham
f64f45ac26 Unit Tests
- Improved signal to noise ratio.
2011-10-10 23:42:22 -04: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
Paul Beckingham
cc168b137f Code Cleanup
- Removed incorrect comment.
2011-10-10 22:53:39 -04:00
Paul Beckingham
04614f536c Documentation
- Fixed typo (thanks to Aaron Jackson).
2011-10-10 07:46:04 -04:00
Paul Beckingham
c0d04a7bcd AUTHORS
- Added Greg Grossmeier, as thanks for the tremendous and perfectly-timed help.
2011-10-09 16:57:13 -04:00
Federico Hernandez
6346c5ed81 License
- last files with reference to GPL or GNU changed to MIT
2011-10-08 17:01:42 +02:00
Federico Hernandez
8d38725306 Merge branch '2.0.0' of tasktools.org:task into 2.0.0 2011-10-08 16:57:31 +02:00
Federico Hernandez
23e3bc56fb License
- perl unit tests
2011-10-08 16:57:13 +02:00
Paul Beckingham
997ed7079a Unit Tests
- Fixed unit test that relied on certain wording of the 'version'
  command output.
2011-10-08 10:48:50 -04:00
Federico Hernandez
af2a29ce3b License
- fish completion
2011-10-08 15:07:15 +02:00
Federico Hernandez
6aeed144ef License
- zsh completion
2011-10-08 15:03:50 +02:00
Federico Hernandez
e6a455f31d License
- scripts/utils
2011-10-08 14:51:08 +02:00
Federico Hernandez
f300daad39 License
- task bash completion
2011-10-08 14:46:24 +02:00
Federico Hernandez
487ad4e4bb License
- add-ons
2011-10-08 14:05:13 +02:00
Federico Hernandez
d97fc2fc6e License
- doc/rc files
2011-10-08 12:50:11 +02:00
Federico Hernandez
4d7a424c2e License
- files in scripts/extensions
2011-10-08 12:26:03 +02:00
Federico Hernandez
bbe218a6f1 License
- first round of unit tests
2011-10-08 12:17:42 +02:00
Federico Hernandez
571195b7b0 License
- task version output
2011-10-08 11:09:27 +02:00
Federico Hernandez
9df72bb5a2 License
- manpages
- reference page (wrong color format for link to licemse)
2011-10-08 10:56:45 +02:00
Federico Hernandez
3c1339cc4f License
- Change on reference page
2011-10-08 10:29:28 +02:00
Federico Hernandez
bdbbade620 License
- remaining files in src/Transport* src/Uri*
2011-10-08 10:25:02 +02:00
Federico Hernandez
961a1a9366 License
- moving from GPL to MIT license
  src/commands
2011-10-08 01:13:30 +02:00
Federico Hernandez
198cf16837 License
- moving from GPL to MIT license
  src/columns directory
2011-10-08 01:00:51 +02:00
Federico Hernandez
6fde8438d1 LICENSE
- replace GPL in COPYING file
- created new LICENSE file
- pointing to the LICENSE file from the README file
2011-10-08 00:09:34 +02: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
5c685153dc Bug #859
- Fixed bug #859, which used only one color for the 'ghistory.*' report
  legends (thanks to Uli Martens).
2011-10-06 23:05:23 -04:00
Paul Beckingham
d0d2bba614 Merge branch '2.0.0' of tasktools.org:task into 2.0.0
Conflicts:
	doc/ref/task-ref.pages
	doc/ref/task-ref.pdf
2011-10-06 22:58:10 -04:00
Paul Beckingham
4cab84fad9 Bug #861
- Fixed errors on the reference page (thanks to Michelle Crane).
2011-10-06 22:55:44 -04:00
Paul Beckingham
1009af83d0 Bug #862
- Fixed bug #862, which suppressed feedback from the 'denotate' command.
2011-10-06 08:44:16 -04:00
Federico Hernandez
084c2e5bc7 Install new reference page 2011-10-06 00:42:51 +02:00
Federico Hernandez
95af39148f Small corrections on the ref page 2011-10-05 16:17:54 +02:00
Paul Beckingham
d1a61b3d0e Documentation
- Added command reference for 2.0.  Based on the command reference
  by Stefan Keel.
2011-10-04 23:13:38 -04:00
Paul Beckingham
4a98cfa62b I18N
- Minor L10N edits and changes arising from the task-ref.pdf effort.
2011-10-04 01:10:47 -04:00
Federico Hernandez
348a75d216 Bumped version number to beta4 2011-10-03 21:44:54 +02:00
Paul Beckingham
83081c87bd I18N
- Localized 'calendar' command.
- Localized Date object, somewhat.
2011-10-02 23:08:23 -04:00
Paul Beckingham
6e21cc5b2a Legacy
- Relocated legacy checks from Config.cpp to legacy.cpp.
2011-10-02 18:05:20 -04:00
Paul Beckingham
d62ea4e223 Synch
- Added server configuration test to synch command.
2011-10-02 17:33:36 -04:00
Paul Beckingham
148eaa5e58 Task Server
- Added 'taskd.server' and 'taskd.credentials' as supported configuration
  variables.
- Added the 'taskd.server' values to the 'diagnostics' command output.
- Updated taskrc.5.in to mention the new variables.
2011-10-02 17:20:16 -04:00
Paul Beckingham
eed3cf5d0f Utilities
- Renamed 'verify' to 'verify_strings', because the old name is too
  generic.
2011-10-02 17:04:00 -04:00
Paul Beckingham
b656f3c7e0 Documentation
- Updated ChangeLog with bugs that mysteriously fixed themselves.
2011-10-02 17:01:18 -04:00
Paul Beckingham
4470a5f156 I18N
- Localized TDB2.
- Removed old debugging comments.
- Formatting fix in CmdBurndown.
2011-10-02 17:00:40 -04:00
Paul Beckingham
48796c5364 Documentation
- Added more deprecated stuff to the NEWS file.
2011-10-02 15:26:21 -04:00
Paul Beckingham
eaecc13cae Configuration
- Removed bizarre entries 'project' and 'column.spacing' from the list
  of allowed settings.
- Removed obsolete 'export.ical.class' setting.
2011-10-02 15:12:24 -04:00
Paul Beckingham
fdd660fb75 Configuration
- Corrected wording in a comment in the .taksrc defaults.
- Removed obsolete 'export.ical.class' setting.
2011-10-02 15:11:38 -04:00
Paul Beckingham
42f0252c4d Documentation
- For the help command, removed the trailing period from command
  descriptions.
- Removed unnecessary text.
2011-10-02 15:10:56 -04:00
Paul Beckingham
af10306b33 Documentation
- Major update of the task.1.in man page.
2011-10-02 15:09:05 -04:00
Paul Beckingham
d8b2b334d7 Documentation
- Updated taskrc.5.in to match the 2.0 supported settings.  This
  involved adding new and missing items, as well as removing items.
2011-10-02 15:02:13 -04:00
Paul Beckingham
d6e8a34984 Documentation
- Updated task-tutorial.5.in with new syntax.
- Removed examples using implicit 'info' command.
- Updated examples for new syntax.
- Updated copyright.
- Note that the tutorial is still firmly a 1.9.3 tutorial, with no
  new examples other than syntax changes.
2011-10-02 14:13:42 -04:00
Paul Beckingham
df0181940b Documentation
- Updated task-sync.5.in with updated copyright and simplified URLs.
2011-10-02 14:12:52 -04:00
Paul Beckingham
f91255d692 Documentation
- Updated task-color.5.in with various edits, corrections.
2011-10-02 14:12:17 -04:00
Paul Beckingham
d1986de1e3 Documentation
- Updated the task-faq.5.in man page, various edits.
- Now confrms to new syntax.
- Includes new questions on multiple simultaneous installations.
- Corrected answer to the xterm title question.
2011-10-02 14:08:56 -04:00
Paul Beckingham
562dfe7b81 Documentation
- Shrank the width of the 'help' command output somewhat.  It was a
  width hog.
2011-10-02 10:05:58 -04:00
Paul Beckingham
8ba2dc1fa1 Unit Tests
- Fixed tests that were broken by the new 'help' command output.
2011-10-02 09:49:55 -04:00
Paul Beckingham
4495e93f8d Legacy
- Moved more legacy checking code to legacy.cpp.
2011-10-02 01:04:16 -04:00
Paul Beckingham
66ca9add3a I18N
- Localized and updated the 'help' command.
2011-10-01 23:47:35 -04:00
Paul Beckingham
2826f1918e I18N
- Localized 'burndown.monthlu', 'burndown.weekly' and 'burndown.daily' commands.
2011-10-01 14:28:30 -04:00
Paul Beckingham
164a6b97ce I18N
- Localized 'merge' command.
2011-10-01 13:16:59 -04:00
Paul Beckingham
81ca87b7da I18N
- Localized E9.
2011-10-01 13:13:30 -04:00
Paul Beckingham
2c69d4871d I18N
- Localized 'diagnostics' command.
2011-10-01 12:24:14 -04:00
Paul Beckingham
a59a2f7234 I18N
- Localized 'timesheet' command.
2011-10-01 12:03:34 -04:00
Paul Beckingham
14343e8e4d Documentation
- Improved the working in the 'edit' command template.
2011-10-01 11:49:41 -04:00
Paul Beckingham
7b34344626 Debug Output
- Removed unnecessary A3::dump call.
- Corrected comment.
2011-10-01 11:47:54 -04:00
Paul Beckingham
160c9708a5 Verbosity
- Deprecated 'rc.edit.verbose'.
- Added support for verbosity token 'edit'.
- Updated documentation.
2011-10-01 11:34:05 -04:00
Paul Beckingham
8ccce069d9 Documentation
- Missed a verbosity token.
2011-10-01 11:26:50 -04:00
Paul Beckingham
78f91ffa91 Verbosity
- Added 'affected' verbosity token.
- Deprecated 'rc.echo.command'.
- Updated config defaults.
- Labelled all deprecated 'echo.command' references with '// Deprecated 2.0'
- Added unit tests to start the verbosity testing.  Not complete.
- Updated taskrc.5 man page.
2011-10-01 11:16:12 -04:00
Paul Beckingham
de481a7eba Help
- Made all the usage strings for the 'help' command consistent with the
  implementation and with visual alignment.
2011-10-01 00:42:27 -04:00
Federico Hernandez
87bca169c5 Cleanup ANALYSIS 2011-09-29 23:51:13 +02:00
Paul Beckingham
87d940c46d Bugs #822, #845
- Fixed bug #822, #845, which generated incorrect IDs (thanks to Matt Kraai and
  Michelle Crane).
2011-09-29 00:00:36 -04:00
Paul Beckingham
a99aa217d0 Bug #856
- Fixed bug #856, which prevented filters on missing project from working
  (thanks to Michelle Crane).
2011-09-28 23:26:07 -04:00
Federico Hernandez
373af5ba65 Updated ANALYSIS file 2011-09-27 23:30:16 +02:00
Paul Beckingham
9604cca68d Merge branch '2.0.0' of tasktools.org:task into 2.0.0 2011-09-26 23:46:14 -04:00
Paul Beckingham
781c77085d Unit tests
- Fixed project.t fail.
2011-09-26 23:40:08 -04:00
Paul Beckingham
6faed76833 Synch
- Added pseudo-code TODO reminders in synch command.
2011-09-26 23:38:49 -04:00
Paul Beckingham
2daca679b3 I18N
- Localized Context.
2011-09-26 23:24:17 -04:00
Paul Beckingham
e069503dff I18N
- Localized A3.
2011-09-26 23:17:33 -04:00
Paul Beckingham
f2283b575f I18N
- Localized Arg.cpp.
2011-09-26 23:01:01 -04:00
Paul Beckingham
e56e670300 I18N
- Localized custom reports.
2011-09-26 22:59:08 -04:00
Paul Beckingham
376c79ef6f I18N
- Localized the 'config' command.
2011-09-26 22:39:08 -04:00
Paul Beckingham
8e78d9ff48 I18N
- Localized 'color' command.
2011-09-26 22:07:48 -04:00
Paul Beckingham
30cf3a19fb I18N
- Localized the 'modify' command.
2011-09-26 21:49:57 -04:00
Paul Beckingham
b56035d4f5 I18N
- Localized 'shell' command.
2011-09-26 21:28:03 -04:00
Paul Beckingham
6c8aae11b7 I18N
- Localized 'install' command.
2011-09-26 21:20:31 -04:00
Paul Beckingham
a544431ed7 I18N
- Localized 'import' command.
2011-09-26 21:14:11 -04:00
Federico Hernandez
7d974b2130 Configure instructions for 32bit on OSX 2011-09-26 23:50:25 +02:00
Federico Hernandez
24c3b45b46 Missing include i18n.h 2011-09-26 22:45:55 +02:00
Paul Beckingham
d1594e5123 I18N
- Localized the _commands and _zshcommands commands.
2011-09-26 01:30:47 -04:00
Paul Beckingham
4858931592 Bug #846, Feature #827
- Added feature #827, which allows augmentation of default.command with extra
  arguments, when default.command itself contains mulitple arguments (thanks to
  Aikido Guy).
- Fixed bug #846, which prevented the default.command configuration from
  handling multiple arguments (thanks to Uli Martens).
2011-09-25 11:37:57 -04:00
Federico Hernandez
4a87ab74f4 Unit tests
- shell.t addapted to new commandline parsing
2011-09-24 21:39:57 +02:00
Federico Hernandez
993844d600 Unit tests
- date.iso.t failed due to a timestamp too close to midnight
2011-09-24 21:05:41 +02:00
Paul Beckingham
31aa0de426 I18N
- Localized more commands.
2011-09-24 10:56:14 -04:00
Paul Beckingham
63203cd91a Minor Edits 2011-09-24 10:59:13 -04:00
Federico Hernandez
fa67569093 Bumped version number to 2.0.0.beta3 2011-09-21 23:27:45 +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
e478f6626b Bug #835
- Fixed bug #835, which prevented hierarchical projects from being recognized.
2011-09-21 00:19:42 -04:00
Paul Beckingham
965e15fe91 Bug #831
- Fixed bug #831 that imposed an arbitrary and incorrect assumption that
  caused some date fields from being parsed properly.
2011-09-20 23:58:33 -04:00
Paul Beckingham
4901089408 Unit Tests
- Added unit tests for bug 839.
2011-09-19 20:55:32 -04:00
Paul Beckingham
5a760cb1b2 Command: tags
- CmdTags was missing one special tag.
2011-09-19 20:14:43 -04:00
Johannes Schlatow
b018042130 Scripts
- added conjunctions to zsh tab completion
2011-09-16 15:12:17 +02:00
Paul Beckingham
db279ee237 Documentation
- Fixed formatting problem, which has been there for a long time.
2011-09-16 00:31:44 -04:00
Paul Beckingham
c5a834dc98 Documentation
- Added rc.regex back to the taskrc.5 man page.
2011-09-16 00:08:35 -04:00
Paul Beckingham
a732733950 Unit Tests
- Began unit tests for DOM support.
2011-09-15 22:33:50 -04:00
Paul Beckingham
ea633e9e7c Unit Tests
- Added unit tests to prove the support of ISO and epoch format dates,
  regardless of rc.dateformat.
2011-09-15 22:31:37 -04:00
Johannes Schlatow
711e943c25 Scripts
- changed naming in zsh tab completion
2011-09-15 23:17:33 +02:00
Johannes Schlatow
3e73f43272 Scripts
- modified zsh tab completion to support 2.0 syntax
2011-09-15 23:04:33 +02:00
Federico Hernandez
25e3453321 Disabled gcov for the time being - cygwin. 2011-09-14 23:17:29 +02:00
Federico Hernandez
8920f5c10c Bug #832
- gcc feature prevents one from using _L
  task under cygwin compiles again
2011-09-14 22:24:14 +02:00
Federico Hernandez
38c4bd3760 Bumped version number to 2.0.0.beta2 2011-09-14 20:34:03 +02:00
Federico Hernandez
4ea74101db Merge branch '2.0.0' of tasktools.org:task into 2.0.0 2011-09-14 20:00:42 +02:00
Federico Hernandez
ee0ef16487 task export. Clarified the export to other formats 2011-09-14 20:00:29 +02:00
Johannes Schlatow
70919803a8 Unit Test - Bug #835 2011-09-14 13:03:23 +02:00
Paul Beckingham
c927cd34b2 Documentation
- Improved consistency among command descriptions.
2011-09-13 23:54:01 -04:00
Federico Hernandez
e37f0c0db0 Removed 2 #ifdef in CmdDiagnostics due to cmake only builds 2011-09-14 01:42:36 +02:00
Federico Hernandez
90184081cf Bumped version number to 2.0.0.beta1 2011-09-14 01:12:28 +02:00
Federico Hernandez
070ec91566 Fixed bugs #533 and #536
- correct paths are now written to default .taskrc
2011-09-14 01:10:52 +02:00
Paul Beckingham
6e52194ab0 Documentation
- While the man pages were not exactly updated for 2.0, the harmful and
  obsolete stuff was removed.
2011-09-13 18:33:14 -04:00
Paul Beckingham
761def8fb7 Merge
- Applied patch to correct autopush after merge, thanks to Johannes.
2011-09-13 18:07:56 -04:00
Johannes Schlatow
295e23aac4 Merge
- removed previous hack that created a zero-byte undo.data file.
  Now the undo.data is created as needed in TDB2::merge.
2011-09-13 10:28:30 +02:00
Paul Beckingham
561af0a0f5 ANALYSIS
- Updated info to be current.
2011-09-13 01:05:43 -04:00
Paul Beckingham
87df2f66ec Merge
- Fixed merge, with an egregious hack for now, by creating zero-byte undo.data
  file.  This goes against the whole TDB2 philosophy, so it is temporary.
- Updated PUNCHLIST.
- Removed old tdb comment from CmdMerge.
2011-09-13 00:51:58 -04:00
Paul Beckingham
dcd0bd1de7 TDB2
- Fixed a bug, or rather a side-effect of more efficient i/o.  Now that
  a TDB2::GC call does not write out files until the final TDB2::commit,
  the GC has the effect of not modifying task IDs based on shuffling tasks
  between pending.data and completed.data until the next command.  Fixed.
2011-09-13 00:22:11 -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
d1e52c05d6 Unit Tests
- While fixing bug.360.t, discovered a bigger problem, which is not yet
  fixed.  When a due date is removed from a recurring child task, the
  imask, parent and recur attributes should also be removed.  Similarly
  when a recur frequency is removed from a recurring child task, the
  imask and parent should also be removed.
- Net result: two new failing tests.
2011-09-12 22:57:32 -04:00
Paul Beckingham
02047a6e99 Legacy
- Created legacy checking function to determine whether deprecated or obsolete
  attributes are being used.
2011-09-12 22:45:58 -04:00
Paul Beckingham
fa22b98dc4 Legacy
- Created a home for all the legacy checks.
2011-09-12 22:39:00 -04:00
Federico Hernandez
664e4deb6a ANALYSIS
- project.t Failed test 'project with spaces'
2011-09-12 22:42:30 +02:00
Paul Beckingham
157dad0026 Unit Tests
- Fixed broken unit test.
- Updated PUNCHLIST.
- Clarified task counting in helpers.cpp.
2011-09-12 01:38:35 -04:00
Alexei Romanoff
082f7d703e [PATCH] GCOV support added for measuring code test coverage.
Signed-off-by: Paul Beckingham <paul@beckingham.net>
2011-09-12 00:51:20 -04:00
Paul Beckingham
03e53ceaf2 Miscellaneous
- Minor edits of little consequence.
2011-09-11 23:06:51 -04:00
Federico Hernandez
147dd61758 ANALYSIS file 2011-09-12 00:41:58 +02:00
Federico Hernandez
cf9b5ca5c6 CmdCalendar
- fix for failing unit tests as calendar args are treated special
2011-09-12 00:40:01 +02: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
19f598419e Bug
- Dependencies were disabled during TDB2 development and not re-enabled.  Oops.
- Removed stray debug statement.
2011-09-11 13:23:47 -04:00
Paul Beckingham
dcc0ab19c2 Bug
- Fixed crash bug on Linux where Command::next_mod_group just walked off
  the end of a vector.
2011-09-11 11:46:19 -04:00
Paul Beckingham
6e649f3f45 Recurring Tasks
- Rewrote updateRecurrenceMask, which was hopelessly muddled after the
  TDB -> TDB2 change.
- Modified associated code.
- Improved signal to noise ratio in unit tests.
2011-09-11 01:56:56 -04:00
Paul Beckingham
6e8d2ca79c Build
- Fixed broken build due to missing include.  Just like the old days.
2011-09-11 01:19:26 -04:00
Paul Beckingham
b0abe5a5ba Unit Tests
- Improved signal to noise ratio, which in this case helps with testing.
2011-09-11 01:03:51 -04:00
Paul Beckingham
038687b801 Helpers
- Forced the format(double) helper function to not use scientific notation,
  which was causing problems.
2011-09-11 01:02:43 -04:00
Paul Beckingham
e31e80961a Expressions
- Implemented Command::next_mod_group, which walks the A3 list looking for
  consecutive grouped args for modification purposes.
2011-09-11 00:49:56 -04:00
Paul Beckingham
c7464a59b3 Parsing
- Tags may no longer begin with a digit.
2011-09-11 00:49:08 -04:00
Paul Beckingham
966501f5da Parsing
- Implemented Nibbler::getUnsignedNumber.
2011-09-11 00:47:54 -04:00
Paul Beckingham
22e9d84074 Expressions
- Implemented E9:operator_negate, the unary -.
2011-09-11 00:47:11 -04:00
Paul Beckingham
d9fa6fbac8 Unit Tests
- Improved signal to noise ratio for op_*.t tests.
- Updated ANALYSIS file.
2011-09-10 13:27:14 -04:00
Paul Beckingham
1994240899 Parsing
- Created A3::is_operator to allow for more complex processing.  Renamed
  old A3::is_operator to A3::which_operator.
2011-09-10 13:25:46 -04:00
Paul Beckingham
562fd8ce3c Helpers
- Implemented isTokenEnd, as a special case of isWordEnd, but considers
  consecutive punctuation to be a set of individual tokens.
2011-09-10 13:24:54 -04:00
Federico Hernandez
94bb98edac uuid.t TZ problem solved 2011-09-09 06:51:35 +02:00
Federico Hernandez
1dc0230aba Merge branch '2.0.0' of tasktools.org:task into 2.0.0 2011-09-09 06:38:57 +02:00
Federico Hernandez
2836ae66c7 The usual TZ problem... 2011-09-09 06:38:38 +02:00
Paul Beckingham
c42179aff4 ANALYSIS
- Removed some fixed items, added more info about other tests.
2011-09-09 00:34:44 -04:00
Paul Beckingham
66a8ebe014 EXPOSITION
- Began an overview document of how the processing works.
2011-09-09 00:24:50 -04:00
Paul Beckingham
2de82aa3c1 Enhancement
- Added the onProjectChange call to CmdModify.
2011-09-09 00:22:01 -04:00
Paul Beckingham
d37e46cc48 Enhancement
- Re-enabled the onProjectChange function, and upgraded it to TDB2.
  Now it does a lot less, which is another way of saying it is faster.
2011-09-09 00:13:08 -04:00
Paul Beckingham
c54bb8a42a Beta Punchlist
- Added beta punch list.  This will go away eventually.
2011-09-09 00:12:28 -04:00
Paul Beckingham
22e39538c7 Unit Tests
- The bug.uuid.t test was relying on 'stats' to perform a GC, which is
  no longer true.
2011-09-08 23:13:59 -04:00
Paul Beckingham
a297756ff0 Unit Tests
- Improved the signal to noise ratio for unit tests.
2011-09-08 22:51:17 -04:00
Paul Beckingham
38c325d469 Bug - Tag Recognition
- Lowered the precedence of tag detection so that dates and durations are
  recognized first.
- Modified the allowable tokens for a tag to be almost anything.
2011-09-08 22:49:58 -04:00
Paul Beckingham
8cd1efd609 Bug - Confirmation
- Confirmation for multiple task changes was not being sought.
2011-09-08 22:47:56 -04:00
Federico Hernandez
9fee765d35 ANALYSIS
- delete.t  task info with a filter on ID matches completed tasks
2011-09-09 01:23:23 +02:00
Federico Hernandez
2d338b218e ANALYSIS
- merge.duplicate.t several tests fail because of missing undo.data
                    and ignoring URI
2011-09-09 00:44:37 +02:00
Federico Hernandez
d4e90e8857 ANALYSIS
- confirmation.t CmdModify doesn't ask for confirmation.
2011-09-08 23:53:28 +02:00
Paul Beckingham
b9ad044eef Expressions - hasnt (!~)
- The operator_nomatch was not properly defaulting a "true" result.
- Improved signal to noise ratio in bug.hasnt.t.
- Removed obsolete entries in ANALYSIS file.
2011-09-07 00:54:46 -04:00
Paul Beckingham
5a07dce93a Unit Tests
- Improved the signal to noise ratio.
2011-09-07 00:42:38 -04:00
Paul Beckingham
40aca079eb Unit Tests
- Unit test relied on capturing parentheses, which are no longer necessary.
2011-09-07 00:41:07 -04:00
Paul Beckingham
255af9e110 Nibbler
- Removed unnecessary addition of capturing parentheses to a regex.
2011-09-07 00:39:02 -04:00
Paul Beckingham
70eba976ae Unit Tests
- Many tests referred to 'synch_key.data', which is not the correct
  name.  It should be 'synch.key'.  This has no effect on the number
  of passing tests though.
2011-09-07 00:33:02 -04:00
Paul Beckingham
9ed0c5c86d Shadow Files
- Re-enabled shadow files, but in a new, simpler manner, that allows the
  rc.shadow.command to override settings like color if necessary.
- Modifed A3 to capture program name and store it in the Context.
2011-09-07 00:24:00 -04:00
Paul Beckingham
c62f36ef87 Bug - tags
- Modified A3::is_tag to allow @, # and $ in tag names.
2011-09-06 23:54:31 -04:00
Paul Beckingham
69aa041218 Bug - tags
- Modified A3::is_tag to allow @, # and $ in tag names.
- Reduced the precedence of tag parsing to ensure that durations are
  detected first.
2011-09-06 23:52:38 -04:00
Paul Beckingham
36db62728b Unit Tests
- Improved signal to noise ratio for caseless.t.
- Added test count markers to nibbler.t.cpp.
2011-09-06 23:39:57 -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
Paul Beckingham
646117c213 Unit Tests
- Improved the signal-to-noise ratio for the args tests.
2011-09-06 23:22:16 -04:00
Paul Beckingham
0da3e12e36 Unit Tests
- Fixed bug in test that caused an inconsistent sample task to be parsed.
2011-09-06 23:20:56 -04:00
Paul Beckingham
2ab11655db Bug - regular expressions
- Fixed bug where regexec was not being properly called.
- Fixed bug where multiple subexpressions were not being properly handled.
- Fixed bug that allowed regex matching to run off the end of a string.
- Fixed bug that causes regex captures to not be properly offset into the input
  string.
- Removed () from unit tests.
2011-09-06 23:18:26 -04:00
Federico Hernandez
bfca3766b6 Unit test
Added more unit tests to uuid.
2011-09-07 00:33:03 +02: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
Federico Hernandez
92f7d805d0 Unit tests
- new uuid.t to test access of tasks via uuid
2011-09-06 00:26:46 +02:00
Federico Hernandez
b3d991449f Unit tests
- analysis of bug.480.t
2011-09-05 23:15:05 +02:00
Federico Hernandez
15c939c3d7 Nibbler
- using wrongly ispunct instead of isPunctuation
2011-09-05 22:36:57 +02:00
Paul Beckingham
4346001c94 ANALYSIS
- Filled in a few blanks.
2011-09-05 15:10:25 -04:00
Paul Beckingham
59d184e2db Bug - Expressions
- Fixed a bug that confused left and right operands.
- Fixed a bug where E9::coerce was dropping data.
2011-09-05 14:11:10 -04:00
Paul Beckingham
60c45b5035 Bug
- Fixed bug in statistics command that gave zero counts for pending,
  waiting and recurring tasks.
- Made some counting code more efficient.
2011-09-05 11:26:58 -04:00
Paul Beckingham
56b9b23988 L10N Review
- Reviewed (and made notes) of all commands for the L10N punch list.
2011-09-05 11:13:19 -04:00
Paul Beckingham
297ec6dd1f Bug - timesheet
- Converted the timesheet report to use raw word arguments instead of
  filters.
- Uses new TDB2:all_tasks method.
- Cleaned up unit tests.
2011-09-05 10:47:38 -04:00
Paul Beckingham
195c7d5142 TDB2
- Added TDB2::all_tasks as a helper function to load and combine tasks
  from pending and completed.
2011-09-05 10:45:58 -04:00
Paul Beckingham
a3cb1172a1 Code Cleanup
- The .gitignore file listed old junk.
2011-09-05 09:34:01 -04:00
Paul Beckingham
47b948c866 Command - synchronize
- Added a placeholder synchronize command, which will be implemented
  in mumble for the mumble mumble.
2011-09-05 08:49:10 -04:00
Paul Beckingham
402ac5b418 Code Cleanup
- Removed .gitignore entries for obsolete tests.
2011-09-05 02:10:18 -04:00
Paul Beckingham
d1bc46c355 Unit Tests
- Minor bug fixes.
2011-09-05 01:48:25 -04:00
Paul Beckingham
e2d0126415 Unit Tests
- Fixed minor unit test problems.
2011-09-05 01:27:57 -04:00
Paul Beckingham
751e8e7f90 Import YAML
- Implemented the import-yaml.pl external script.
- Added unit tests.
- Fixed problem where the pending tasks were not loaded prior to uuid
  verification.
2011-09-05 01:11:37 -04:00
Paul Beckingham
fa973f734b Safety Valve
- Added safety valve processing.  Whenever a write-command omits a
  filter, the command will affect every task.  This is dangerous.
  If rc.confirmation is disabled, the command is terminated.
2011-09-04 08:44:22 -04:00
Paul Beckingham
f74c33dc02 Bug
- Fixed a silly bug whereby TDB2::gc, once it loaded the data, wiped the TF2
  objects, such that TDB2::commit didn't know there was data to write.
  Hmm.  Time for a vacation.
2011-09-03 16:32:30 -04:00
Paul Beckingham
8bf1386b78 Bug
- Fixed an even worse bug whereby TDB2::gc never even bothered to load
  the data before running the GC.  Sigh.
2011-09-03 16:31:03 -04:00
Paul Beckingham
1e510f66ef Bug
- Fixed nasty bug whereby TF2::clear wiped the file names (pending.data etc) and
  so any subsequent TDB2::commit never even opened the file.  Yikes.
2011-09-03 16:30:15 -04:00
Paul Beckingham
2b7c2f6a21 Unit Tests
- Improved the signal to noise ration for more unit tests.
2011-09-03 16:25:48 -04:00
Paul Beckingham
1691ce2764 Code Cleanup
- I think the 'show' command may have prematurely obsoleted something useful,
  so added a note to review.
2011-09-03 16:23:50 -04:00
Paul Beckingham
b84f212112 Code Cleanup
- Removed obsolete 'foreach' macro.
2011-09-03 13:54:11 -04:00
Paul Beckingham
f245fa808c Code Cleanup
- Removed obsolete TDB, Att and Location code.
- Removed associated unit tests, unfortunately all ones that pass.
2011-09-03 13:17:03 -04:00
Paul Beckingham
6b3dfd0891 TDB2
- Eliminated TDB from the unit test builds.
2011-09-03 13:03:17 -04:00
Paul Beckingham
1b3ac82d7e TDB2
- Eliminated the now obsolete TDB code from Context.
- Added auto-commit code for commands that auto-gc.
2011-09-03 13:02:17 -04:00
Paul Beckingham
5d6f6e2073 TDB2
- (Partially) Converted helper code to TDB2.
2011-09-03 13:01:30 -04:00
Paul Beckingham
6c9bebec24 TDB2
- (Partially) Converted dependency handling code to TDB2.
2011-09-03 12:59:57 -04:00
Paul Beckingham
b05d4535f8 TDB2
- Converted 'project' and '_projects' commands to TDB2.
2011-09-03 12:59:30 -04:00
Paul Beckingham
72627268dc TDB2
- Converted 'tags' and '_tags' commands to TDB2.
2011-09-03 12:58:57 -04:00
Paul Beckingham
a04ce55544 TDB2
- Added a necessary TDB2::commit call.
2011-09-03 12:58:18 -04:00
Paul Beckingham
84ccf4399c TDB2
- Converted 'delete' command to TDB2.
2011-09-03 12:57:26 -04:00
Paul Beckingham
eb992d3523 TDB2
- Implemented TDB2::gc.  Probably with a few really nasty bugs, to
  provide nice entertainment for the rest of the weekend.
2011-09-03 12:56:26 -04:00
Paul Beckingham
1c837822fc Merge branch '2.0.0' of tasktools.org:task into 2.0.0 2011-09-03 11:30:20 -04:00
Paul Beckingham
54866864ad Code Cleanup
- Removed unnecessary Task::setEnd call.
2011-09-03 11:29:23 -04:00
Paul Beckingham
aef24c0c54 TDB2
- Converted the sort routine to TDB2.
2011-09-03 11:29:08 -04:00
Paul Beckingham
e379af9751 Task Validation
- Removed the newly obsoleted Command::apply_defaults, which is now
  merged into Task::validate, and therefore applied to all modifications
  and new tasks.
2011-09-03 11:19:45 -04:00
Paul Beckingham
3d1a5acafb TDB2
- Implemented high-level TDB2::id and TDB2:uuid that delegates to TF2.
- Fixed a bug in TDB2::modify that failed to properly overwrite a task.
2011-09-03 11:17:12 -04:00
Paul Beckingham
49965f8115 Commands - modify
- Converted the 'modify' command to TDB2.  This has a negative impact
  on unit tests, but that represents bugs and ommissions in TDB2,
  not flaws in the 'modify' command.  I hope.
2011-09-03 11:16:03 -04:00
Paul Beckingham
2886151e64 Commands - done
- Converted the 'done' command to TDB2.  This has a negative impact
  on unit tests, but that represents bugs and ommissions in TDB2,
  not flaws in the 'done' command.
2011-09-03 11:14:59 -04:00
Paul Beckingham
e7a255ca16 TDB2 integration
- Enabled the TDB2::clear call, paving the way for TDB elimination.
2011-09-03 11:14:24 -04: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
af404a5b5e Unit Tests
- Increased the signal to noise ratio.
2011-09-03 10:53:27 -04:00
Federico Hernandez
4083883ec4 Feature #813
- applied patch for eoq and soq (thanks to Paulo Almeida)
2011-09-03 16:38:26 +02:00
Johannes Schlatow
45a07f4d85 Merge
added missing gc, unit tests ok (almost)
2011-09-03 12:33:48 +02:00
Federico Hernandez
92d9b980b5 Unit tests
- project.t analysis
2011-09-02 15:35:04 +02:00
Federico Hernandez
04fab0c37a Unit tests
- added file test/ANALYSIS
  containing information about the different unit tests failing
  while finalizing 2.0.0. To be removed when releasing 2.0.0.
2011-09-02 09:25:29 +02:00
Paul Beckingham
5118b61f60 Commands - shell
- Enabled the shell command.
- Cleaned up unit tests.
2011-09-02 00:28:31 -04:00
Paul Beckingham
7b0bf9f3c2 Unit Tests
- Modified the merge.t tests to accomodate the use of 'export' instead
  of the now obsolete 'export.csv' command.
2011-09-02 00:01:18 -04:00
Paul Beckingham
63eb22fc7e TDB2 Merge
- Migrated TDB::merge to TDB2::merge.
- Removed obsoleted code from TDB.
- Modified unit tests for merge to use export instead of export.csv.
2011-09-01 23:48:35 -04:00
Paul Beckingham
45666ebfc5 Documentation
- Added the required Perl module to the developer doc, for running the
  test suite.
2011-09-01 23:24:07 -04:00
Paul Beckingham
e9c5b96344 Build
- Missed an include file.
2011-09-01 01:20:33 -04:00
Paul Beckingham
f19a09b390 Bug
- When handleRecurrence was cloning the parent task, it failed to set
  a new ID, so all the child tasks were given the ID of the parent.
- Cleaned up bug.annual.t.
2011-09-01 01:05:59 -04:00
Paul Beckingham
63dfb17bbc Undo
- Undo functionality restored, although not ideal.
2011-09-01 00:46:35 -04:00
Paul Beckingham
e0ee80b1a9 Import todo.sh
- Added more unit tests to todo.sh import.
2011-09-01 00:04:18 -04:00
Paul Beckingham
c1a21ce5a4 Export YAML
- Implemented export-yaml.pl as a filter.
- Reimplemented export.yaml.t to use the filter.
2011-08-31 23:52:07 -04:00
Paul Beckingham
5f4571b0d0 Expressions
- Implemented expression escalation: when matching against description,
  escalate to include annotations on failure.  Needs adjustment to
  DOM eval before it will work.
2011-08-31 23:36:16 -04:00
Federico Hernandez
dfe72d7de7 Unit tests
- count.t
  log now puts tasks directly into completed
2011-09-01 00:14:16 +02:00
Paul Beckingham
7789692678 Import
- Fixed priority and tag bugs in the todo.sh transform.
- Began (but have not finished) writing unit tests for this.
2011-08-31 02:29:02 -04:00
Paul Beckingham
641d4356c4 Task Validation
- Cleaned up the 'import' command due to the new validation code.
2011-08-31 02:14:05 -04:00
Paul Beckingham
12e1a30d2f Task Validation
- Cleaned up 'duplicate' command due to the new validation code.
2011-08-31 02:11:34 -04:00
Paul Beckingham
12cfdf1b5a Task Validation
- Cleaned up the 'delete' command due to the new validation code.
2011-08-31 01:50:13 -04:00
Paul Beckingham
4cc368da82 Task Validation
- Cleaned up the 'annotate' and 'denotate' code due to the new
  validation code.
2011-08-31 01:48:00 -04:00
Paul Beckingham
885bde51f1 Task Validation
- Cleaned up the 'append' and 'prepend' commands due to the new
  validation.
2011-08-31 01:45:31 -04:00
Paul Beckingham
66f8591fcd Task Validation
- Cleaned up the 'start' and 'stop' commands due to the new validation.
2011-08-31 01:43:08 -04:00
Paul Beckingham
2ecafd5d5e Task Validation
- Cleaned up 'log' command due to the new validation.
2011-08-31 01:39:53 -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
Paul Beckingham
8e34a02811 Task Validation
- Implemented more relaxed validation rules.
- Added quiet corrections for missing data.
2011-08-31 01:15:12 -04:00
Paul Beckingham
b4a583b951 Import - todo.sh
- Wrote a todo.sh parser based on Gina's specs.
- Started unit tests (not finished).
2011-08-30 18:29:57 -04:00
Paul Beckingham
4f73d7232f Code Cleanup
- Removed support for the CSV import synonyms.
2011-08-30 17:33:27 -04:00
Paul Beckingham
c6837d927f Unit Tests
- Cleaned up 'append' unit tests.
2011-08-30 17:32:58 -04:00
Paul Beckingham
aefe4fa81c Unit Tests
- Cleaned up prepend unit tests.
2011-08-30 17:32:28 -04:00
Paul Beckingham
6746f4d5ba Code Cleanup
- Removed obsolete code from 'import'.
2011-08-30 17:31:52 -04:00
Paul Beckingham
965dabadf9 TDB2
- Converted 'denotate' command to TDB2.
2011-08-30 17:31:24 -04:00
Paul Beckingham
ba5daece99 TDB2
- Converted 'prepend' to TDB2.
2011-08-30 17:31:00 -04:00
Paul Beckingham
40724e120e TDB2
- Converted 'append' to TDB2.
2011-08-30 17:30:40 -04:00
Paul Beckingham
402f1f1b41 TDB2
- Converted 'annotate' to TDB2.
2011-08-30 17:30:12 -04:00
Paul Beckingham
2708aabddf Unit Tests
- Changed error wording to match the unit tests, which were correct.
2011-08-30 01:09:19 -04:00
Paul Beckingham
eeedfc48de Unit Tests
- Removed obsolete import/export unit tests.
2011-08-30 00:57:00 -04:00
Paul Beckingham
d501e9009b TDB2
- Converted the 'history', 'history.annual', 'ghistory' and
  'ghistory.annual' commands to TDB2.
2011-08-30 00:48:20 -04:00
Paul Beckingham
c1f33a23d3 Undo
- Stubbed the undo implementation in TB2::revert (undo as a name is
  already taken), and in the process lose the capability.
- Add detection of <modifications> when running the 'undo' command
  and generate an error.
2011-08-30 00:42:04 -04:00
Paul Beckingham
94ce784f33 Bug
- The 'duplicate' command used TDB2::commit, but TDB::nextId.
2011-08-30 00:35:45 -04:00
Paul Beckingham
72bd579cf4 Bug
- The 'add' command was calling TDB2::add, but TDB::nextId.
2011-08-30 00:29:24 -04:00
Paul Beckingham
f07ea0a26a TDB2
- Converted 'duplicate' to TDB2.
2011-08-30 00:27:27 -04:00
Paul Beckingham
90404c287e TDB2
- Converted 'timesheet' command to TDB2.
2011-08-30 00:23:27 -04:00
Paul Beckingham
9fefd4f283 TDB2
- Converted 'edit' command to TDB2.
2011-08-30 00:21:56 -04:00
Paul Beckingham
7f1e517754 Bug
- Added missing TDB2::commit call to commands that handleRecurrence.
  The missing commit would have meant no updates to the data when
  recurring tasks are generated.
2011-08-30 00:15:40 -04:00
Paul Beckingham
32164680ab TDB2
- Converted 'summary' command to TDB2.
2011-08-30 00:14:07 -04:00
Paul Beckingham
c340520bcc TDB2
- Converted 'ids', '_ids' and '_zshids' to TDB2.
2011-08-30 00:06:48 -04:00
Paul Beckingham
dde399f765 TDB2
- Converted 'burndown.{m,d,y}' to TDB2.
2011-08-30 00:00:23 -04:00
Paul Beckingham
77b647dfb0 TDB2
- Converted 'stop' command to TDB2.
2011-08-29 23:57:13 -04:00
Paul Beckingham
c72a556492 TDB2
- Converted 'start' command to TDB2.
2011-08-29 23:51:22 -04:00
Paul Beckingham
f14b414b9c Code Cleanup
- Eliminated obsolete composeYAML and composeCSV methods.  With export
  capabilities moving outside the core, these are no longer needed.
2011-08-29 21:33:34 -04:00
Paul Beckingham
5276bfd473 TDB2
- Converted 'export' to TDB2.
2011-08-29 21:12:23 -04:00
Paul Beckingham
380aadd76a Unit Tests
- The export.yaml.t test now verifies env access to task.
2011-08-28 18:16:43 -04:00
Paul Beckingham
1a4916ff03 Unit Tests
- Corrected PATH in env command.
2011-08-28 17:45:28 -04:00
Paul Beckingham
de5bee4353 Bug
- Import was not properly handling tags as a JSON array.  It assumed it
  was a string.
- Modified roundtrip.t tests so they work.
2011-08-28 17:21:49 -04:00
Paul Beckingham
6ab7cec36c Unit Tests - export-yaml.pl
- Rewrote the unit tests for the old export.yaml command to use the
  new export-yaml.pl add-on.
2011-08-28 16:53:49 -04:00
Paul Beckingham
4d328a1e46 Bug - Exec
- The execute command was not putting spaces between combined arguments
  when constructing a command line.
2011-08-28 16:44:31 -04:00
Paul Beckingham
aace091329 Add-ons: Exports
- Modified the export scripts to use the right command, which is now
  'export', not '_query', although '_query' is now an alias for backward
  compatibility.
2011-08-28 16:43:12 -04:00
Paul Beckingham
28183711c4 Bug
- The export command included the value of date fields instead of the
  name of date fields.
2011-08-28 16:39:05 -04:00
Paul Beckingham
0f627bd44e TDB2
- Added TDB2::clear and TF2::clear methods.
2011-08-28 08:13:41 -04:00
Paul Beckingham
8ec130d3c0 Command: info
- Converted to use TDB2.
2011-08-28 00:18:56 -04:00
Paul Beckingham
0dd4e6d360 Command: count
- Now generates recurring tasks.
- Cleaned up unit tests.
2011-08-28 00:17:51 -04:00
Paul Beckingham
eeb6479440 Command: Statistics
- Modified implementation to make better use of TDB2 features, and
  remove a set of static strings.
2011-08-28 00:16:24 -04:00
Paul Beckingham
50fa2c0ddf TDB2
- Every task in pending.data an ID.
2011-08-28 00:02:15 -04:00
Paul Beckingham
1e70f00c29 TDB2
- Properly handles cases where tasks are added, then existing data files
  are loaded.  The 'add' list and the 'loaded' list needed to be merged.
2011-08-27 23:30:51 -04:00
Paul Beckingham
1b25c415b0 TDB2
- Converted _urgency command from tdb to tdb2.
2011-08-27 21:24:36 -04:00
Paul Beckingham
c23f663408 TDB2
- Fixed problem with backlog - TDB2::modify should call backlog.add_task
  but was calling backlog.modify_task.
2011-08-27 20:56:41 -04:00
Paul Beckingham
d22871b265 Import
- Added unit tests for the 'import' command, which uses JSON as the
  native format.  This is the new default import/export format.  All
  other import/export formats are (to be) implemented as transforms
  to JSON.
2011-08-27 18:42:08 -04:00
Paul Beckingham
0eec42ce4a TDB2
- Corrected maintenance of the _lines vector during TDB2::add_line.
- Implemented TDB2::modify_task undo maintenance.
- Added unit tests for TDB2.  Which fail.
2011-08-27 16:33:19 -04:00
Paul Beckingham
ab931b6af2 Legacy
- Added legacy warnings about use of fg: or bg:.
2011-08-27 14:29:08 -04:00
Paul Beckingham
1c98544380 Columns - 'fg' and 'bg'
- Added columns 'fg' and 'bg', despite their being deprecated.  Can't
  remove capabilities without appropriate forewarning.
2011-08-27 11:56:03 -04:00
Paul Beckingham
17dfbabb39 TDB2 & Task
- Fixed next_id handling in load_tasks.
- Removed unnecessary load in next_id.
- Added missing encode call.
index 8c0d2e9..3d1b7ce 100644
--- a/src/Task.cpp
+++ b/src/Task.cpp
@@ -528,7 +528,7 @@ std::string Task::composeF4 () const
     {
       ff4 += (first ? "" : " ")
            + it->first
-           + ":\"" + json::encode (it->second) + "\"";
+           + ":\"" + encode (json::encode (it->second)) + "\"";
       first = false;
     }
   }
2011-08-27 11:18:43 -04:00
Paul Beckingham
1392c8e619 Typo
- Wrong variable name.  Should have run the tests first.
2011-08-27 10:46:49 -04:00
Paul Beckingham
df2a319201 Enhancement
- The 'stats' command now includes the new data files in the 'data size'
  calculation.
2011-08-27 10:39:21 -04:00
Paul Beckingham
bceccba6eb Code Cleanup
- The str_replace is no longer needed.
2011-08-27 10:38:48 -04:00
Paul Beckingham
74c12e1dec Encode/Decode
- The tasks are now using JSON encodings, but in addition to JSON
  decodings, also need legacy decoding, providing backward compatibility.
2011-08-27 10:31:27 -04:00
Paul Beckingham
1c2a4981ac Helper functions
- Rescued the str_replace function from Att.
2011-08-27 10:22:40 -04:00
Paul Beckingham
e5acabc452 Helper functions
- Rescued the ::encode and ::decode funtions and put them in util.cpp.
  This is because 2.0 will still need to perform the same encode/decode
  operations without Att.cpp around.
2011-08-27 10:21:49 -04:00
Paul Beckingham
f92b13fbf7 Visuals
- Cleaned up 'info' command output when the task is not pending and
  has no ID.  It displays '-' instead of the misleading "0".
2011-08-26 02:41:51 -04:00
Paul Beckingham
64be6e1cf4 Unit Tests
- Added unit tests for bug 819, on behalf of Matt Kraai.
- Created a new, single test for cleanup that replaces 6.  It's makes
  for shorter unit tests, and adds less test count inflation.  Over
  time, all tests should be modified in a similar way.  This will
  probably cut the total number of unit tests in half, but that's not
  the important metric.
2011-08-26 02:13:32 -04:00
Matt Kraai
ea3f0e8567 Bug #819
- Patch applied to fix problem with parsing, where this:
    aa'a
  is parsed as
    aa 'a

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2011-08-26 02:00:41 -04:00
Paul Beckingham
e127f33e3a TDB2::siblings
- TDB2 helper function to locate sibling tasks.
2011-08-26 01:58:07 -04:00
Paul Beckingham
4f0276c062 DOM
- Implemented lookup for <id>.<attr> and <uuid>.<attr>.
2011-08-25 22:19:25 -04:00
Paul Beckingham
60ca284e3a TDB2::get
- Implemented high-level accessors for tasks, by ID and UUID.  This
  permits full DOM implementation.
2011-08-25 22:13:47 -04:00
Paul Beckingham
dab06f8672 Code Cleanup
- All objects now use the same convention for naming members.  The
  consistency is a good thing.
2011-08-25 21:54:28 -04:00
Paul Beckingham
fb6dc5058f TDB2
- Full implementation of TDB2::add, which includes pending/completed, undo
  and backlog.
- Removed obsolete TF2::commitUndo, which is no longer necessary.
- Added File::truncate method, to allow a TDB2 shortcut.
2011-08-25 00:29:54 -04:00
Paul Beckingham
02df3853f7 Unit Tests
- Fixed more unit tests that were out of synch with the latest
  functionality, text messages or rendering.
2011-08-24 00:47:44 -04:00
Paul Beckingham
6f38e10cab Feature #682
- Added feature #682, which allows the configuration variable 'defaultheight'
  to override the assumed height of 24 lines when 'detection' is not enabled
  (thanks to Steve Rader).
2011-08-23 23:29:36 -04:00
Paul Beckingham
397d1c2d09 Feature #806
- Added feature #806, which provides the ability to compare dates using the
  relational operator '>=' (thanks to Miguel de Val Borro).
2011-08-23 23:01:56 -04:00
Paul Beckingham
257f5ab3da Bug #458
- Fixed bug #458, removing the ambiguous 'm' as a duration, leaving 'mi[nutes]'
  and 'mo[nths]' requiring at least two characters for a match.
2011-08-23 22:46:32 -04:00
Paul Beckingham
d15cccdb7d Bug #694
- Fixed bug #694, which allows attributes to be modified while annotating a
  task (thanks to Aikido Guy).
2011-08-23 22:30:01 -04:00
Paul Beckingham
2f60bdf9d0 Bug #720
- Fixed bug #720, so that when the 'info' report renders total active time,
  it uses a lossless format (thanks to Bernhard B).
2011-08-23 22:15:00 -04:00
Paul Beckingham
89d3b4e805 Bug #737
- Fixed bug #737, which allows wait dates after due dates, but provides a
  warning (thanks to Arkady Grudzinsky).
2011-08-23 21:36:09 -04:00
Paul Beckingham
2e09ddd900 Unit Tests
- Fixed some tests that used old message text.
- Fixed tests that relied on 'log'ed tasks still being written into
  pending.data.
- Removed obsolete auto-info tests.
2011-08-23 20:12:19 -04:00
Paul Beckingham
9641dde54f Debug Mode
- No longer generates parsing diagrams if debug mode is off.
2011-08-23 07:14:26 -04:00
Paul Beckingham
1dc2257156 TDB2 Conversion
- Migrated several commands over to use TDB2.  Have to start somewhere.
2011-08-23 00:47:46 -04:00
Paul Beckingham
e573801517 TDB2 - Diagnostics
- Added a diagnostic dump of the TDB2 state in debug mode.
- Added a call to TDB2::dump at the start of TDB2::commit.
- Removed unnecessary calls to TDB2::dump.
2011-08-22 23:04:38 -04:00
Paul Beckingham
013061803f Helper Functions
- Implemented rightJustifyZero for zero-padded integer strings.
2011-08-22 22:24:43 -04:00
Paul Beckingham
589627852f Duration Bug
- Removed the unnecessary ::getInt parse before ::getNumber, which was
  causing "-1.2d" to not parse.
- Removed verbose debug statement.
2011-08-21 23:32:37 -04:00
Paul Beckingham
6ed2bcd605 Durations
- Removed support for ' 1 wk', namely spaces before and after the ordinal.
  This removes (some) ambiguity in more complex command lines.
- Fixed unit tests accordingly.
2011-08-21 23:19:10 -04:00
Paul Beckingham
501953a6da TDB2
- Verifies that a UUID is not already found in the data.  This prevents
  erroneous double-import.  Or triple...
2011-08-21 22:37:02 -04:00
Paul Beckingham
d7ba2b2b62 Portability
- Fixed compiler warning.
2011-08-21 22:36:11 -04:00
Paul Beckingham
7a778ba317 E9 operator_equal
- Fixed broken logic in operator_equal.
- Fixed typos in op_and.t unit test.
- Fixed descriptions in op_or.t.
2011-08-21 18:38:04 -04:00
Paul Beckingham
e0ecb7a2d8 E9 - Relational Operators
- Added missing-data handling for the relational operators <, <=, >
  and >=.
2011-08-21 16:54:50 -04:00
Paul Beckingham
f11c8ee5c6 Unit Tests
- Added unit tests for the '<=' and '>=' operators.  All tests pass,
  which makes a nice treat.
- Added more tests to '<' and '>' operators, so that all three data
  types are covered.
2011-08-21 16:45:38 -04:00
Paul Beckingham
a4fca31e7d Unit Tests
- Added unit tests for the '<' and '>' operators.  Many fail.  Sigh.
2011-08-21 16:28:01 -04:00
Paul Beckingham
ee42f9898f Unit Tests
- Added unit tests for the 'and', 'or' and 'xor' operators.  Many of
  them fail.  As expected.
2011-08-21 15:59:47 -04:00
Paul Beckingham
788eea8d80 E9 operator_not
- Corrected the implementation of the ! operator, which was previously
  doing ... nothing.
2011-08-21 15:38:07 -04:00
Paul Beckingham
6e976e7d7c E9 - operator_equal
- Added proper handling for missing dates to the '=' operator.  This
  is a trial run of enhancements to lots of other operators to come.
2011-08-21 14:33:10 -04:00
Paul Beckingham
2b961c128a DEVELOPER File
- Added some clarification, minor changes.
2011-08-21 14:31:49 -04:00
Paul Beckingham
de9dbbbb3d A3, Arg
- Some attribute values (ie wait:tomorrow) when parsed, need to take
  the data type of the attribute (date) and use that as an implied type
  of the value (date literal).
- Arg renders type-less and category-less values as "", instead of "none".
  Cleaner output.
2011-08-21 14:24:26 -04:00
Paul Beckingham
a3ba91c2a3 Recurrence
- Recurrence values are now stored in a parsed state, and rendered by
  Duration::formatCompact.
2011-08-21 13:43:54 -04:00
Paul Beckingham
1714601ce4 Duration
- Allowed durations to be specified numerically as seconds, in string form.
  This flexibility allows the removal of special-case handling that stores
  recurrence periods in raw form ('monthly'), reducing code size.  As a
  consequence this means that recurrence may now be rendered according to
  Duration::formatCompact, which is desirable.
- Added supporting unit tests.
2011-08-21 13:32:55 -04:00
Paul Beckingham
9a126ce717 Error Handling
- Improved some task validation errors by including data.
- Improved the phrasing of some error to be less pompous.
- Marked validation errors that need to be downgraded to warnings.
2011-08-21 12:35:47 -04:00
Paul Beckingham
1b55a48757 Unit Tests
- Eliminated obsolete benchmark.t.
- Removed the 'quick' mode logic to skip benchmarks in run_all.
- Restored bug.480.t tests that hung earlier.
2011-08-21 01:09:32 -04:00
Paul Beckingham
7aa4efef8d Expression Refactor
- Refactoring complete.  Arg objects now uses enumerations for _type
  and _category, which should help with performance.
2011-08-21 01:06:50 -04:00
Paul Beckingham
9086f51d29 Merge branch '2.0.0' of tasktools.org:task into 2.0.0 2011-08-20 17:09:04 -04:00
Paul Beckingham
215364958e Expressions Refactor - Clarified expansion rules
- Arg now has a _value member that reflects the value in play, rather
  than the input _raw value.  Only _value is used in eval.
- DOM expansion capabilities are now controlled by rc.dom.
2011-08-20 17:06:50 -04:00
Federico Hernandez
556ee1165d Portability
Added a reference to the Darwin 32bit version task to the task-faq
man page as well.
2011-08-20 23:01:47 +02:00
Paul Beckingham
c6229a6ca6 Unit Tests
- Removed benchmark2.t - it is no longer useful, and duplicates benchmark.t,
  which is itself not long for this world.
2011-08-20 14:56:09 -04:00
Paul Beckingham
438e65036b Expression Refactor
- Arguments are now categorized as either "literal" or a specific
  category, with accompanying type.  Type is inferred for literals,
  and referenced for attributes.
2011-08-20 14:02:48 -04:00
Paul Beckingham
a2a9bfc933 Portability - Building on 32-bit Darwin
- Added notes on building for 32-bit hardware running Darwin (thanks
  to John Hammond).
2011-08-20 11:16:30 -04:00
Paul Beckingham
516e368df0 Expression Refactor
- E9 now uses Arg object in place of Term.  This means A3 and E9 are
  now using a common object.
2011-08-20 10:11:24 -04:00
Paul Beckingham
816b07e868 Expressions - Refactor
- The A3::Arg object is very similar to the E9::Term object, so the two are
  being merged.  First step is to separate A3::Arg into it's own space, then
  add a _type member.
- Added more valid stop characters as terminators for various arg types.
- Removed redundant E9 special handling for dates, which is already built in
  to the Date object.
2011-08-19 22:42:19 -04:00
Paul Beckingham
7dd3e081c7 Bug #804 - URL link and break line
- Addressed bug #804 by allowing rc.hyphenate to control whether hyphens are
  inserted when long lines are broken.  This may help prevent xterm from
  mis-parsing URLs in task annotations, when wrapped (thanks to Yann Davin).
- Added unit tests.
2011-08-17 22:39:28 -04:00
Paul Beckingham
08fcb5362e Bug - Durations
- Duration were parsed as <int><unit> in A3, whereas <number><unit> is
  correct.
- Added Nibbler::str method for internal access.
- Nibbler::save, ::restore now return positions.  Useful for extracting
  substrings.
- Modified countdown.t to use the (now) correct units for durations.
2011-08-17 00:45:09 -04:00
Paul Beckingham
ee2960b9b0 Date/Duration Distinction
- When a date attribute is updated, the expression may have evaluated to
  a duration, which at this point is simply a number.  If it is below a
  certain threshold (5y) then it is considered a duration and added to
  'now', otherwise it is considered a date.
2011-08-16 23:50:26 -04:00
Paul Beckingham
ac9d1f3bfa Performance Timing
- Change the was performance measurements are taken.  This in preparation
  to automated daily perf charts, leading to efforts to speed up certain
  operations.
2011-08-15 21:53:01 -04:00
Paul Beckingham
ad38d5b92e Bug - File open issue
- If a file (pending.data) is open and locked, trying to open it again
  caused an error, whereas is now does nothing and reports success.
- Corrected timing info in Command::filter.
2011-08-14 21:23:01 -04:00
Paul Beckingham
e403574c34 Unit Test - bug.605.t
- Enabled the (failing) unit test, which now stands a chance of being
  fixed.
2011-08-14 21:03:40 -04:00
Paul Beckingham
8af6d70685 TDB2 - Timing
- Added timing information to TDB2 for performance measuring.
2011-08-14 21:02:30 -04:00
Paul Beckingham
49cabc1bfd Unit Tests
- All unit tests now clean up the new backlog.data and synch.key files.
2011-08-14 14:09:12 -04:00
Paul Beckingham
b0c8cff6a2 A3 - attribute modifier syntax
- Restored the <name>.<modifier>[:=]<value> syntax that was reduced
  to just <name>.<modifier>:<value> to make parsing easier.  Now that
  A3 is more sophisticated, we can have our sugar back.
2011-08-14 13:29:06 -04:00
Paul Beckingham
d59cddcc6c Default Command - next
- The new 'next' report is now the default command.  It was 'list', but
  'next' is much better.
2011-08-14 13:14:12 -04:00
Paul Beckingham
ef35a0cc18 TDB2 - Task IDs
- TF2::load_tasks now properly assigns task IDs.
- TDB2::next_id properly determines the next ID.
2011-08-14 13:08:37 -04:00
Paul Beckingham
f1d429cc96 E9 - Date Handling
- Made dateformat a class member, to reduce multiple lookups to one.
- Added operator-specific data handling.
2011-08-14 12:32:37 -04:00
Paul Beckingham
06d54b2e72 Commands - Calendar
- Converted the 'cal' command to TDB2.
- Reinstated command line handling for 'cal' command, but realized there
  is a conflict with filters.  Filtering disabled for 'cal' until a good
  solution is found.
- Converted recur.cpp to use TDB2, which eliminates the file locking
  problems that occur when both TDB and TDB2 are in use at the same time.
  This will cause other issues until all commands are converted to TDB2.
2011-08-14 12:04:34 -04:00
Paul Beckingham
b1ad00313f TDB2 & CmdCustom
- Converted CmdCustom to use TDB2, which means that for the first time,
  2.0 is now optimizing data load based on filter characteristics.  This
  means that "task list" and "task next" etc are now *fast*.
- Improved diagnostics for TDB2, for debugging.
2011-08-14 12:00:10 -04:00
Paul Beckingham
9a862bc75a File - locking
- Made locking an integral part of the File object, so that a client
  may now call File::lock multiple times with no effect beyond the first
  call.  This simplifies situations like the 'cal' command that must scan
  for recurrence changes, modify tasks, then optionally run a second
  report, all without locking issues.
2011-08-14 11:54:53 -04:00
Paul Beckingham
1f58856299 TDB2 - Recurrence
- Re-enabled the recurrence handling code and converted from TDB to
  TDB2.  Time for some difficult TDB2 work.  But first, coffee.
2011-08-14 10:19:59 -04:00
Paul Beckingham
f3f6cd260a E9 - Typo
- In one of the dumbest typos yet, I entered "fasle" instead of "false"
  and the copy/pasted it around.
2011-08-14 10:04:04 -04:00
Paul Beckingham
5a95b96631 A3 Parsing
- Durations now parse at higher precedence than operators, so that durations
  like '-3d' are not parsed as '-' '3d'.
2011-08-14 00:55:53 -04:00
Paul Beckingham
3e58453693 Unit Tests - filter-prefix.t
- I had forgotten to remove the unit tests for the ~ inversion modifier.
  This feature, though well implemented, is removed because enhancements
  to filtering are going to be added to the new expressions.  Attribute
  modifiers will continue to be supported, but not enhanced beyond 1.9.4
  functionality..
2011-08-14 00:42:39 -04:00
Paul Beckingham
dba950fcf7 A3 Parsing
- Added an 'until whitespace' clause to the attmod parser.  Results are
  better.
- Noted the need for more specific forms to be recognized.
2011-08-14 00:14:48 -04:00
Paul Beckingham
b5053f3711 Unit Tests - view.t
- Added logic to detect whether the unit tests were being run with output
  attached to a TTY or not, and adjust the expected lines of output
  accordingly.  The !TTY case is the important one.
2011-08-14 00:08:54 -04:00
Paul Beckingham
0ead416574 Unit Test - bug.495.t
- Modified the test to reflect the new handling of -- on the command
  line with respect to quoted text.
2011-08-13 23:58:28 -04:00
Paul Beckingham
beac5ed7e9 Unit Tests - bug.489.t
- The command line construct "tags.none:" is translated into the expression
  "tags = ''", but instead of '=' I had entered '=='.  Force of C/C++/Perl
  habit.
2011-08-13 23:40:22 -04:00
Paul Beckingham
38959d6446 Unit Tests
- Another broken unit test because a localized string lost the full
  stop.
2011-08-13 23:36:15 -04:00
Paul Beckingham
eec0abd1e7 Unit Tests - t2.t
- Removed two unit tests for data file syntax that is no longer
  supported, namely unquoted values.
    Supported:      status:"pending"
    Not supported:  status:pending
2011-08-13 23:34:14 -04:00
Paul Beckingham
fb9e82ed0e TDB2 parsing
- TDB2::load_lines was splitting the text on \n, but because the last
  line contains \n, there was an additional blank line.  This is what
  split_minimal is for.
- split_minimal contained a copy/paste bug that added the extra line
  if the input was non-trivial, instead of if the remainder was non-
  trivial.
- Fixed incorrect unit test accordingly.
2011-08-13 23:19:11 -04:00
Paul Beckingham
587f2a002f A3 Duration
- When parsing duration literals, look-ahead now prevents an ordinal
  such as '31st' (August 31st) from being interpreted as two tokens
  '31s' (duration) and 't' (word).  This is the same fix that was
  applied to A3::is_number.  I'll be there are more that I missed.
2011-08-13 22:29:39 -04:00
Paul Beckingham
a4fc8aee6a Unit Tests - bug.628.t
- Quoting problem.  To prevent the shell from stripping quotes, the
  command line must include \" ... \", but in a Perl string, that
  needs to be \\" ... \\".  Silly mistake.
2011-08-13 22:27:59 -04:00
Paul Beckingham
77dc2c47d4 Unit Tests - typo
- Unit test bug.434.t was thwarted by the L10N effort, which left off
  a full stop from a display string.
2011-08-13 22:26:17 -04:00
Paul Beckingham
be0522d567 Annotation Collisions
- Annotation timestamps are now incremented until unique.  This prevents
  rapid, successive annotations colliding.  The kind that occur during
  unit tests and when using UI wrapper programs.
- Removed 'sleep' commands in unit tests that were added to circumvent
  this.  This speeds up the test suite somewhat.
2011-08-13 21:53:10 -04:00
Paul Beckingham
cb366e0270 Unit Tests - rx.t
- Added a \b word-boundary unit test that isn't working.  Documentation
  says it does.  Computer says no.
2011-08-13 21:09:57 -04:00
Paul Beckingham
bfad448f82 TDB2 - id <--> uuid mapping
- Migrated TDB mapping over to TDB2 mapping, which occurs at the TF2 level.
  This should (soon) restore task dependencies.
2011-08-13 17:43:07 -04:00
Paul Beckingham
30034f057b Bug - A3::extract_modifications
- Broadened the list of argument categories that are downgraded to
  'word' for the purpose of task modification.
2011-08-13 16:24:07 -04:00
Paul Beckingham
7ba5e67050 Code Cleanup
- Removed unnecessary debug statements.
2011-08-13 14:31:29 -04:00
Paul Beckingham
7aa7fe083f Parsing
- Added special look-ahead rules to remove cases where '3M' was considered
  a number.
2011-08-13 14:10:24 -04:00
Paul Beckingham
e238b94d1b Urgency
- Urgency recalc was not properly set with the task was modified.
- Corrected urgency formatting.
- Cleaned up some code in A3 and E9.
2011-08-12 23:08:54 -04:00
Paul Beckingham
5a2fba607e Unit Tests
- New 'problems' script to help identify problem areas in the test
  suite.
2011-08-11 18:25:10 -04:00
Paul Beckingham
92ad842ab8 Unit Tests
- Fixed sorting errors, which were in the tests, not the code.
2011-08-11 18:13:46 -04:00
Paul Beckingham
678e08ca0f Portability
- When HAVE_SRANDOM is undefined in 1.9.4, the timeval struct can be omitted
  causing a compile error.  Patch received, but not applied to 2.0.0 branch
  because that code has been rewritten already (thanks to Paolo Almeida).
2011-08-10 01:28:04 -04:00
Paul Beckingham
47ae2ee9f6 Unit Tests
- Added unit tests for Nibbler::getNumber when the input is simply "2.0".
2011-08-10 00:25:03 -04:00
Pietro Cerutti
2274be16d8 Documentation
- Italian translation of the tips file.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2011-08-09 22:46:41 -04:00
Johannes Schlatow
413f2f6db6 Bug
- merge was playing ping-pong with different undo.data results
  in a setup with three machines
2011-08-09 00:13:21 +02:00
Paul Beckingham
e2a8f85a2f Task Refactoring
- Task is no longer a map of string to Att.  Att is itself a name/
  value pair, so the name was redundant.  Task is now a map of string
  to string.  This brings the obsoletion of Att much closer.
2011-08-07 22:41:25 -04:00
Paul Beckingham
85e77c1958 Code Cleanup
- Merging Record and Task objects, step 5.  Done.
2011-08-07 17:06:06 -04:00
Paul Beckingham
6f980490bd Code Cleanup
- Merging Record and Task objects, step 4.
2011-08-07 17:03:39 -04:00
Paul Beckingham
740cacc49f Code Cleanup
- Merging Record and Task objects, step 3.
2011-08-07 16:40:02 -04:00
Paul Beckingham
33cfdec5a6 Code Cleanup
- Merging Record and Task objects, step 2.
2011-08-07 16:28:40 -04:00
Paul Beckingham
6d00337db3 Code Cleanup
- Merging Record and Task objects, step 1.
2011-08-07 16:23:23 -04:00
Paul Beckingham
6140f4af9d Columns - mask, imask, parent
- Implemented column objects for the mask, imask and parent attributes.
  Why not.
2011-08-07 02:58:43 -04:00
Paul Beckingham
cdda791c84 Command - import
- Implemented the import command, which only suports JSON.  It is
  the basis for all other import formats, which will be implemented
  as external scripts.
2011-08-07 02:10:50 -04:00
Paul Beckingham
e8a49b3e8e Commands - timesheet
- Added stubs for the start of a command rewrite, possibly.
2011-08-06 16:28:45 -04:00
Paul Beckingham
fb23bf73a3 Import
- Trying different methods of making this code cleaner.  Not working
  so far.
2011-08-06 16:27:38 -04:00
Paul Beckingham
3e5bb713eb Merge branch '2.0.0' of tasktools.org:task into 2.0.0 2011-08-06 01:02:49 -04:00
Paul Beckingham
ffa5bc43fe E9
- Working towards arg date/duration eval.
2011-08-06 00:59:14 -04:00
Federico Hernandez
6e1ba161b1 Relative dates
- eoq and soq to refer to the end and start of the quarter
  (thanks to David French)
2011-08-04 01:40:31 +02:00
Paul Beckingham
e5ae145df2 Command - denotate
- Implemented denotate in the new style.
2011-08-02 00:56:29 -04:00
Paul Beckingham
8154222ef1 Documentation
- Updated DEVELOPER file.
2011-08-01 02:12:24 -04:00
Paul Beckingham
cc51c50f84 Configuration
- Added support for rc.dom, which enables/disables DOM support.
2011-08-01 01:39:21 -04:00
Paul Beckingham
a7f694386a Code Cleanup
- Eliminated obsolete Variant code.
2011-08-01 01:26:59 -04:00
Paul Beckingham
76760fe434 Command - show
- Fixed the show command to accept 'all' or a substring to search for
  in the configuration file.
2011-08-01 01:18:12 -04:00
Paul Beckingham
9275f3460f Unit Tests
- Fixed unit test.
2011-08-01 01:17:18 -04:00
Paul Beckingham
9403bc8e49 Operators
- Implemented Priority and string based <, <=, >, >= operators.
2011-08-01 01:05:03 -04:00
Paul Beckingham
ac7bcc81ee Unit Tests
- Corrected all unit tests that used the old syntax "task done 1" to
  use the new syntax "task 1 done".  Similarly, "task 1 ..." is now
  "task 1 modify ...".
2011-07-31 19:03:19 -04:00
Paul Beckingham
9ce7f63d85 Bug
- Fixed bug where argument processing was not properly shut off by
  the terminator -- in A3::tokenize.
2011-07-31 16:18:25 -04:00
Paul Beckingham
a91b6d4564 Attribute Parsing
- Attributes do not contain spaces unless specifically quoted and
  escaped.
2011-07-31 15:19:06 -04:00
Paul Beckingham
a171f6e4ac Bug
- Fixed bug whereby arguments were categorized, then defaults were injected
  but no subsequent categorization occurred.
- Added debug diagnostics for default.command, 'modify' and 'information'
  default processing.
2011-07-31 14:01:41 -04:00
Paul Beckingham
ccd32cb7d6 Unit Tests
- add.t contained a broken test that did not take into account a
  (working) substitution.
2011-07-31 13:34:10 -04:00
Paul Beckingham
e61e08c2ca Annotation Bug
- Fixed DOM lookup of special-case attributes: id and urgency are
  not stored in the usual manner, and must be handled differently.
- Removed the responsibility of DOM to evaluate literals, because
  they are handled more effectively in A3::tokenize.
- Fixed old code that assumed ".id" instead of "id".
- Removed unnecessary diag call from annotate.t.
2011-07-31 12:11:36 -04:00
Paul Beckingham
1884223a2e Arguments
- rc:___ and rc.___ arguments are no longer propagated to commands
  that modify tasks.
2011-07-31 11:18:16 -04:00
Paul Beckingham
c244132476 Unit Tests
- Fixed bug in Nibbler::getN.
- Added unit test for Nibbler::getN.
2011-07-31 11:14:56 -04:00
Paul Beckingham
01d3da90ae Unit Tests
- Filters must precede write-commands on the command line.
2011-07-31 09:49:23 -04:00
Paul Beckingham
4a99723129 CmdShow
- Added 'json.array' to the list of allowed configuration variables.
2011-07-30 14:52:53 -04:00
Paul Beckingham
100af304b7 A3
- Added copy ctor, operator=.
- Included proper handling of the _limit member.
2011-07-30 14:22:15 -04:00
Paul Beckingham
d6dd1fe8ac Holidays
- Added Japanese holidays for 2012, 2013 (thanks to Takanobu Watanabe).
2011-07-30 07:58:36 -04:00
Ben Boeckel
acc00e67ea [PATCH 1/2] Add monthly recurrence
Signed-off-by: Paul Beckingham <paul@beckingham.net>
2011-07-29 22:45:13 -04:00
Paul Beckingham
c002e8e24f Holidays
- Added Japanese holiday file for 2011 (thanks to Takanobu Watanabe).
2011-07-29 22:42:26 -04:00
Ben Boeckel
a29097d9e0 [PATCH 2/2] Fix default task directory path
Signed-off-by: Paul Beckingham <paul@beckingham.net>
2011-07-29 22:39:13 -04:00
Ben Boeckel
4f06e454a9 [PATCH] Add a missing trailing space
Signed-off-by: Paul Beckingham <paul@beckingham.net>
2011-07-29 22:37:05 -04:00
Paul Beckingham
a691dfd6ed Developer File
- Added more required code "specs", removed the burndown y-axis function
  that was provided by Ben Boeckel.
2011-07-29 22:34:25 -04:00
Paul Beckingham
ecfce5091e Burndown
- Modified burndown command to use the Y-Axis calculation from Ben Boeckel.
2011-07-29 22:31:58 -04:00
Ben Boeckel
210b5f54d5 [PATCH] Compute the height of a burndown chart
Signed-off-by: Paul Beckingham <paul@beckingham.net>
2011-07-29 22:30:27 -04:00
Paul Beckingham
402bac02a6 Legacy columns, formats
- Marked legacy columns and formats as deprecated.
2011-07-29 00:54:03 -04:00
Paul Beckingham
a26b4ca12f Expression Operators
- Implemented operator_equal, operator_inequal.
- Removed diagnostics for completed operators.
2011-07-28 23:38:37 -04:00
Paul Beckingham
eb1154235a Expression reboot
- Implemented =, !=, ~, !~ operators.
- Generates lots of diagnostics for now.
2011-07-28 00:40:09 -04:00
Paul Beckingham
40a71e2aae Feature #811
- Added feature #811, which makes the 'execute' command optional, and
  controlled by '#define HAVE_EXECUTE 1' in cmake.h.  This allows a build
  that does not have the potential security hole, in the event that taskwarrior
  is run at elevated privilege, or run in the context of a web server.
2011-07-28 00:14:33 -04:00
Paul Beckingham
2460502be8 AUTHORS
- Added Daniel Kullmann as thanks for the code patches, although they
  are not being applied.  We still appreciate the effort.
2011-07-27 22:43:05 -04:00
Paul Beckingham
8651bbec8e DEVELOPER
- Updated the file with holiday data info.
2011-07-27 22:39:51 -04:00
Paul Beckingham
7e3a207d63 Bug #808
- Fixed bug #808, which generated compiler warnings on Solarix (thanks to
  Owen Clarke).
2011-07-26 21:40:31 -04:00
Paul Beckingham
0ee1f9c1c6 Bug #807
- Fixed bug #807, which caused a lack of Lua to prevent tests from building
  (thanks to Owen Clarke).
2011-07-26 21:26:21 -04:00
Paul Beckingham
fde7ec107a Code Cleanup
- Removed obsolete Nibbler::getDOM.
2011-07-26 00:40:29 -04:00
Paul Beckingham
9bf1ec2f7c Code Cleanup
- Eliminated Lexer.
2011-07-26 00:37:49 -04:00
Paul Beckingham
0c08b29e48 Code Cleanup
- Eliminated obsolete Arguments.h, Arguments.cpp.
2011-07-26 00:25:57 -04:00
Paul Beckingham
ab8a6d9e88 Code Cleanup
- Eliminated Expression.{h,cpp}.  E9 now replaces it.
2011-07-25 23:53:41 -04:00
Paul Beckingham
879356fad2 AUTHORS
- Added Miguel de Val Borro, for various contributions.
2011-07-25 23:23:13 -04:00
Matt Kraai
0e2da7f1d4 Code Cleanup
- When compiling the 2.0.0 branch of Taskwarrior with GCC 4.6.1, the compiler
  generates a number of warnings.  This patch eliminates these warnings.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2011-07-25 23:17:37 -04:00
Paul Beckingham
b9ea9ca2db Code Cleanup
- Removed obsolete deltaXXXX helper functions.
2011-07-25 23:08:56 -04:00
Paul Beckingham
83c0ea6ab2 E9
- Implemented the shell of E9::eval.
- Stubbed out operator_xxx helper methods.
2011-07-25 22:59:47 -04:00
Paul Beckingham
b1048ddfa3 Documentation
- Added DEVELOPER file to give hints, clues as to what needs work, and
  what should be avoided.
2011-07-25 22:51:00 -04:00
Paul Beckingham
3d13ac9f12 Expression reboot
- A3::postfix implemented.
2011-07-25 01:33:23 -04:00
Paul Beckingham
af2f44ca5a Expression reboot
- Implemented selective ID/UUID detection, allowing only a single
  block of consecutive ID/UUID values to be considered a sequence.
- Implemented A3::sequence to expand task IDs and UUIDs into an
  algebraic filter.
2011-07-25 01:10:15 -04:00
Matt Kraai
f86b497fa8 Portability
- Patch provided to define uint32_t types, etc in util.cpp.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2011-07-24 23:50:12 -04:00
Paul Beckingham
d167842e36 Date
- Implemented Date::get_relatives to retrieve a list of all the supported
  relative date constructs.
2011-07-24 23:34:15 -04:00
Paul Beckingham
8e691d5c5f Expression reboot
- Implemented A3::expand to include all expandable types.
2011-07-24 23:20:06 -04:00
Paul Beckingham
5daabd2548 Expression reboot
- Implemented A3::extract_pattern.
- Implemented A3::infix, which inserts 'and' operators where necessary
  in expressions.
- Began implementation of A3::expand which converts old-style filters
  (pri:H) to the new algebraic style (priority = H).
2011-07-24 21:53:03 -04:00
Matt Kraai
0962b66928 Bug #803
- Here's a patch to make Taskwarrior not display the prompt and not delete the
  parent task if a recurring task is deleted when rc.confirmation is false.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2011-07-24 21:48:09 -04:00
Paul Beckingham
56af60ceaf Arguments
- Converted from Arguments to A3.
2011-07-24 17:03:32 -04:00
Paul Beckingham
2f5bb14d33 Arguments
- Converted from Arguments to A3.
2011-07-24 17:01:28 -04:00
Paul Beckingham
5b0197300f Arguments
- Converted from Arguments to A3.
2011-07-24 16:55:32 -04:00
Paul Beckingham
852484beb2 Arguments
- Converted from Arguments to A3.
2011-07-24 16:50:58 -04:00
Paul Beckingham
67fb1e9be4 Expression reboot
- Downgraded A3::extract_words to return a simple vector of strings.
  Any more is unnecessary.
2011-07-24 16:44:05 -04:00
Paul Beckingham
b30b187b4c Expression reboot
- Implemented A3::is_tag.
- Removed obsolte A3::extract_* code.
2011-07-24 14:46:22 -04:00
Paul Beckingham
b3a73f2da1 Expression reboot
- Implemented A3::is_id and A3::is_uuid.
- Obsolted old is_operator.
- Obsolted old is_modifier.
- Obsolted old is_expression.
2011-07-24 14:27:10 -04:00
Paul Beckingham
0ecf93553c Nibbler
- Implemented Nibbler::getN, which allows for faster extraction of
  compound tokens if the length is known.
2011-07-24 14:25:53 -04:00
Paul Beckingham
10c1203c87 Expression reboot
- Implemented A3::is_subst.
2011-07-24 13:41:04 -04:00
Paul Beckingham
c39f8bd6af Expressions reboot
- Implemented A3::is_dom obsoleting Nibbler::getDOM.
- Implemented A3::is_duration.
- Implemented A3::is_pattern to replace Nibbler::getQuoted call.
- Improved A3::is_attr, A3::is_attmod.
- Obsoleted A3::is_multipart.
2011-07-24 13:33:20 -04:00
Paul Beckingham
f502ee0c52 Duration
- Implemented Duration::get_units to return the list of supported
  duration units (wk, week, weekly ...).
2011-07-24 13:15:27 -04:00
Paul Beckingham
f174caccbc DOM
- Implemented DOM::get_references to return a list of all the
  fixed-string DOM references supported.
2011-07-24 13:11:49 -04:00
Paul Beckingham
bfe5edd35d Nibbler
- Improved ::getDOM while it waits to be obsoleted.
2011-07-24 12:58:00 -04:00
Paul Beckingham
a4eb390a04 Duration
- The "annual" and "yearly" options were listed twice.
2011-07-24 12:57:10 -04:00
Paul Beckingham
b55f47ec9a Expression reboot
- Implemented A3::is_modifier which canonicalized modifiers.
- Implemtned A3::is_attmod.
2011-07-24 10:57:30 -04:00
Paul Beckingham
94dfc68cca Expression reboot
- A3::tokenize recognizes strings, patterns, attr, ops, dates.
- A3::tokenize canonicalizes attributes.
2011-07-24 01:06:26 -04:00
Paul Beckingham
3fd83ca400 Nibbler
- Implemented Nibbler::getName to parse an alpha-numeric name.
- Added appropriate unit tests.
2011-07-24 01:00:24 -04:00
Paul Beckingham
91225d808f Expression reboot
- A3 now tracks whether a command is read-only, and builds filters accordingly.
- Implemented extract_filter, extract_modfications and extract_words stubs.
- Removed all E9 implementation details - this is going to be written from
  scratch.
2011-07-23 23:39:11 -04:00
Paul Beckingham
c344c07579 Diagnostics
- Removing render timing info to ViewText::render.  It's not useful.
2011-07-23 23:13:19 -04:00
Paul Beckingham
abcda0bcfa Expression reboot
- More integration of A3 into Context.
- Now ready for filter/modification/word extraction.
2011-07-23 17:03:44 -04:00
Paul Beckingham
4fc4e0f637 Expressions reboot
- Now handles argument captures from argv, stdin.
- Now handles rc overrides, aliases, default command.
2011-07-23 15:24:39 -04:00
Paul Beckingham
5b5978952a Expressions reboot
- Created A3.{h,cpp} which will be a simpler, lightweight version of
  Arguments.{h,cpp} that does less, but does it better.
- Created E9.{h,cpp} which will be a better implementation of
  Expression.{h,cpp} that does less, but does it better.
- Integrated A3 into Context::initialize, and Arguments and A3 will
  coexist until A3 surpasses Arguments.
2011-07-23 13:38:33 -04:00
Paul Beckingham
1164ea5cf1 Expression support
- Added Context::getColumns to return a vector of column names.
  This is to help a shift toward using the Column objects to assist
  in the parsing/validation of data entry/modifications.
- Added Column::modifiable to delegate an attributes readable/writeable
  state.  This means the columns will be in charge of their own
  mutability, which will simplify and generalize Command::modify_task.
2011-07-23 12:08:13 -04:00
Paul Beckingham
ee9199b4e0 Bug
- Fixed bug where the command line was incorrectly scanned, looking
  for 'cal', '/cal', 'calendar' or '/calendar'.
2011-07-22 00:31:54 -04:00
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
a6fadaee67 Expressions
- DOM lookups now canonicalize attribute names, and no longer return
  the unmodified name if the lookup yields nothing.
2011-07-19 22:34:29 -04:00
Paul Beckingham
19cb6110bd Expressions
- Removed unnecessary enquoted blank strings.
2011-07-19 00:51:42 -04:00
Paul Beckingham
09d94a0712 Expressions
- Eliminated the . prefix for DOM references to the current task - it is
  unnatural to state ".due < today".
- Prioritized parsing dates ahead of integers, which were masking all
  dates.
2011-07-19 00:25:26 -04:00
Paul Beckingham
e564827be7 Expressions
- Added recognition of individial words to the tokenize method.
2011-07-18 23:35:35 -04:00
Paul Beckingham
ab6e230f10 Expressions
- Implemented Nibbler::getWord.
- Re-implemented Nibbler::getDOM.
- Modified DOM addressed for context-based attributes from "due" to ".due",
  the help disambiguate DOM references in expressions.  There is now a
  consistency:

      <id>.due         Task-specific
          .due         Contextual
    <uuid>.due         General

- Implemented associated unit tests.
2011-07-18 23:08:05 -04:00
Paul Beckingham
dd75c1af1e Expressions
- Attribute values are now run through the expression evaluator.  This
  is good.  The evaluator fails.  This is bad, but progress has been
  made.
2011-07-17 15:33:09 -04:00
Paul Beckingham
ddbf9d374e Expressions
- Reclassified attr (name:value) and attmod (name.mod:value) values
  as "exp", to be tokenized.
2011-07-17 14:25:49 -04:00
Paul Beckingham
137b00a14a Expressions
- Commented out troublesome "distance_from_command" code.
- Commented out DOM diagnostics, for now.
- Commented out TDB2 diagnostics, for now.
- Category "seq" arguments are now assigned type "exp".
- All type "exp" arguments are now tokenized.
2011-07-17 13:52:55 -04:00
Paul Beckingham
f0a9796683 Expressions
- Any "exp" arguments are given the "exp" type (_second) as well as
  "exp" category (_third).
2011-07-17 13:02:23 -04:00
Paul Beckingham
30b5c6c048 Expression
- Implemented automatic downgrade of arguments to 'word' in the
  context of modifications.
2011-07-17 12:45:59 -04:00
Paul Beckingham
e08d840ba1 Expressions
- Broke out expression handling into two distinct flavors: filter
  and expression.  Filters need lots of preparation and mapping,
  which includes implicit 'AND' operators, expansion of syntactic
  sugar like /pattern/ etc and evaluate to a Boolean.  Expressions
  are simpler wiht less preparation, and evaluate to a Variant.
2011-07-17 12:04:38 -04:00
Paul Beckingham
d66729adf3 Code Cleanup
- Assorted minor edits.
- Snapshot before E9 work.
2011-07-16 23:58:03 -04:00
Paul Beckingham
1bec1c0934 Typo
- Fixed typo in message (thanks to Bryce Harrington).
2011-07-16 18:05:41 -04:00
Paul Beckingham
7fbe124fe0 Unit Tests
- Added proper handling for when no command or filter is specified, and
  no rc.default.command exists.
- Improved wording on above error message.
- Fixed typo in previous commit (managed to check in code before the
  build completed, and ultimately failed).
- Now reports errors that occur during initialization at the same level
  of verbosity as during command execution.
2011-07-16 15:33:09 -04:00
Paul Beckingham
8aeef40b80 Unit Tests
- variant.t.cpp was reporting 6 tests but performing none.  That
  certainly doesn't help our pass rate.
2011-07-16 14:22:42 -04:00
Paul Beckingham
2135cb141d Task Validation
- Shifted test for priority values from Att.cpp to Task.cpp.
2011-07-16 14:22:12 -04:00
Paul Beckingham
1b5648c922 Calendar Shortcut
- Added 'cal' and 'calendar' symlinks to illustrate the supported
  argv[0] values.
2011-07-16 13:20:26 -04:00
Paul Beckingham
05a53778ea Helper Command
- Implemented _columns to simply list all supported columns, in a
  machine-readable format.
2011-07-16 13:18:06 -04:00
Paul Beckingham
27a04b29f5 Feature #800
- Added feature #800, adding a new command 'columns' that lists all the columns
  available for custom reports, and includes their formatting options (thanks
  to T. Charles Yun).
2011-07-16 13:08:23 -04:00
Paul Beckingham
3a5370ddf1 Filters
- Implemented Command::filter_shortcut to detect when a filter begins
  with "status:pending" and skip the loading/parsing of completed.data.
- Removed obsolete att.t.cpp tests.
- Removed diagnostics from TDB2::TDB2 that were causing a segfault.
  I suppose there is no std::cout available during global ctors?
2011-07-14 00:46:01 -04:00
Paul Beckingham
424dc50a36 Command - install
- Temporarily removed CmdInstall from the build.  This is deferred
  until 2.1 or so, when extensions are supported.
2011-07-14 00:04:07 -04:00
Paul Beckingham
8827f9c978 TDB2
- Implemented CmdAdd.cpp and CmdLog.cpp using TDB2.
- Implemented simple append writes in TDB2.
- Modified CmdImport to accept and parse JSON.
- Added more const-ness in DOM, Expression and Task, to allow TDB2::get_tasks
  to return a const vector ref, which is a Very Good Thing.
- Corrected usage for the export command.
- Implemented Task::urgency as a call to Task::urgency_c, which is a const
  overload to allow urgency calculations (without caching) for const Task
  objects.
- Removed obolete code from TDB.
- Added lots of diagnostic output for TDB2 - it's annoying, but will be
  gone soon.
- Added mention in CmdHelp of the new <filter> and <modifications>
  syntax elements.  Needs more.
- Added Command::filter overload which uses TDB2.  Not in use yet.
2011-07-13 23:53:57 -04:00
Paul Beckingham
523c4dfcca Code Cleanup
- Eliminated obsolete or unused methods.
2011-07-12 22:19:18 -04:00
Paul Beckingham
4d410972d4 Command Usage
- Enhanced CmdHelp by adding aliases.
- Corrected usage for CmdModify.
- Renamed CmdQuery --> CmdExport.
- Added an alias _query --> export.
2011-07-12 00:51:05 -04:00
Paul Beckingham
3ef8f3f31a AUTHORS
- Added Brendan O'Flaherty for his export-html.py contribution.
2011-07-12 00:32:40 -04:00
Paul Beckingham
5b4c46fe42 TDB2
- Began serious TDB2 development by adding TDB2::dump, which shows
  all the file-related data in debug mode.
2011-07-11 23:19:21 -04:00
Paul Beckingham
f059c27bf0 Feature #607
- Added feature #607, which allows modification of a task during annotation
  (thanks to Peter De Poorter).
2011-07-11 02:10:50 -04:00
Paul Beckingham
877d8efa8e Bug #744
- Fixed bug #744, which omitted new ID feedback for all but the first
  duplicated task (thanks to Uli Martens).
2011-07-11 02:03:17 -04:00
Paul Beckingham
2bf4276bda Unit Tests
- Renamed bug.485.x to bug.485.t to reflect that it is not only
  fixed, but relevant.
2011-07-11 01:55:56 -04:00
Paul Beckingham
4522877b43 Bug #683
- Fixed bug #683, in which the 'config' command sometimes edited comments
  instead of the proper line in .taskrc (thanks to Erlan Sergaziev).
2011-07-11 01:51:14 -04:00
Paul Beckingham
523173e27e Bug #403
- Fixed bug #403, which disambiguates certain commands involving numbers.
2011-07-11 01:11:48 -04:00
Paul Beckingham
6009507209 Enhancement
- When a command is encountered on the command line, followed by an
  ID or UUID, the distance (in arguments) between the command and
  the sequence is measured in terms of arguments that are not rc: or
  rc. overrides.  It cannot exceed 1.  This helps disambiguate
  commands like 'task list Fedora 13', because the '13' is more than
  one argument away from 'list', and is therefore not an ID.
2011-07-11 00:59:11 -04:00
Paul Beckingham
21ad7a3d3f Unit Tests - add.t
- Corrected typo in unit test results.
2011-07-11 00:26:28 -04:00
Paul Beckingham
ef61981041 Commands - modify
- Re-enabled the modify command.
- Re-implemented Arguments::inject_defaults to accomodate the idea
  of the default command, the modify command without the modify
  keyword, and the automatic info command.
2011-07-10 23:41:30 -04:00
Paul Beckingham
7f84fa0c80 Bug
- The arguments // and /// were being mis-identified as patterns.
2011-07-10 18:20:46 -04:00
Paul Beckingham
8e0296468e Unit Tests
- Improved args.5.t, which was attempting to stop tasks that were
  not started.
2011-07-10 18:04:49 -04:00
Paul Beckingham
d5849b0160 Aliases
- Allowed aliases to nest up to 10 levels.
2011-07-10 17:58:07 -04:00
Paul Beckingham
2d30275889 Push/Pull/Merge
- Re-enabled the commands.
2011-07-10 14:59:30 -04:00
Paul Beckingham
254bce5dc2 I18N
- Forgot to modify a string.
2011-07-10 13:21:15 -04:00
Paul Beckingham
d33de00eac I18N
- Localized more commands.
2011-07-10 13:19:41 -04:00
Paul Beckingham
44d835947b I18N
- Localized more commands.
2011-07-10 12:54:15 -04:00
Paul Beckingham
e5139780ea I18N
- Localized more commands.
2011-07-10 11:08:40 -04:00
Paul Beckingham
ba723db9d7 Helpers
- Implemented Task::setEnd.
- Updated all code to use Task::setEntry and Task::setEnd.
2011-07-10 11:07:00 -04:00
Paul Beckingham
ad55fa2d79 Verbosity
- Implemented new verbosity token 'new-id' which controls whether
  newly generated task IDs are reported.
2011-07-10 10:08:23 -04:00
Paul Beckingham
3456a24749 Documentation Update
- Brought the ChangeLog up to date with recent multiple bug closings.
2011-07-10 02:06:59 -04:00
Paul Beckingham
9b3f9ee4ff Feature #514
- Added feature #514, which allows duplication of tasks based on a generalized
  filter, rather than just IDs (thanks to Peter De Poorter).
2011-07-10 01:48:21 -04:00
Paul Beckingham
f0d2af2651 Filter Bugs
- A substitution arg is categorized as "subst", but was tested for
  "substitution".
- The Arguments::is_multipart method was triggering on '/', which is
  wrong, but I can't remember why I put it in there.  Hmmm.
- When extracting a write-filter, substitutions after the command
  were generating an error, whereas they should be ignored.
- Task::substitute was modifying data even when the patterns were not
  matching.  Yikes.
- Added unit tests for en-passant modification of all types during
  done, delete, start, stop.
2011-07-10 01:03:52 -04:00
Paul Beckingham
69e70889be Unit Tests
- Prevented the info command from running a GC first, which breaks
  certain unit tests.
- Modified delete.t to test annoation on delete.
2011-07-10 00:01:48 -04:00
Paul Beckingham
d087bdfd38 Enhancement
- Various commands now allow modification and annotation.
2011-07-09 23:45:31 -04:00
Paul Beckingham
b5f04a3ebc Code Cleanup
- Obsoleted Context::disallowModifications, because they are no longer
  disallowed.
2011-07-09 23:27:20 -04:00
Paul Beckingham
a16b8366cd TDB
- Integration TDB2 into the initialization process.  It begins...
2011-07-09 21:25:46 -04:00
Paul Beckingham
10b97fc967 Feature #340
- Added feature #340, which implements new color rules 'color.completed' and
  'color.deleted'.
2011-07-09 19:00:58 -04:00
Paul Beckingham
7986227ea2 Bug #691
- Fixed bug #691, which was a mis-reporting of file lock state even when file
  locking was turned off (thanks to Tom Duffy).
2011-07-09 18:30:27 -04:00
Paul Beckingham
63308441ec Documentation
- Added internal documentation on the use of categorized arguments
  in filters.
2011-07-09 18:08:54 -04:00
Paul Beckingham
3abb4d7dd6 I18N
- Completed localizing CmdLog.cpp.
2011-07-09 17:50:43 -04:00
Paul Beckingham
f483d1ed9d Unit Tests - arguments.t
- Removed two obsolete expression operators, % and ^.
2011-07-09 17:49:41 -04:00
Paul Beckingham
322824567f Unit Tests - args.1.t
- Added tests to verify that '<id> <command>' and '<command> <id>'
  both work as expected.
2011-07-09 17:48:14 -04:00
Paul Beckingham
9b2e61f9b3 Arguments
- Corrected mishandling of sequence in both read-only and write
  command filters.
2011-07-09 17:05:25 -04:00
Paul Beckingham
1cb4d19c3c Argument Parsing
- On task modification, all attributes are canonicalized.
2011-07-09 09:51:19 -04:00
Paul Beckingham
2b135ed3c2 Expressions
- Variants can now construct dates and duration from std::string.
2011-07-09 09:03:15 -04:00
Paul Beckingham
aea1c8fea6 Command - config
- Reenabled the config command with new argument processing.
2011-07-08 01:32:26 -04:00
Paul Beckingham
8731bf9ac6 Calendar
- If the program is renamed 'cal' or 'calendar', or symlinked to
  either 'cal' or 'calendar', then the calendar report is run.
2011-07-08 01:16:05 -04:00
Paul Beckingham
e92a7fdf7d Commands - color
- Reenabled the color command using new argument processing.
2011-07-07 01:35:37 -04:00
Paul Beckingham
2ce0b5a1ab closeEnough
- Implemented closeEnough, which does a truncated, caseless compare
  between two strings.  For example, "FoO" is cloneEnough to "food."
  to be a match.  Used to allow mixed case and abbreviated arguments.
2011-07-07 01:33:43 -04:00
Paul Beckingham
63e3f5711e Merge branch '2.0.0' of tasktools.org:task into 2.0.0 2011-07-06 22:53:32 -04:00
Paul Beckingham
01253f1cdf Error Handling
- Errors that occur during initialization no longer prevent the
  display of debug info.
2011-07-06 22:52:59 -04:00
Paul Beckingham
7a544489ae Command Line
- Added a method for extracting unstructured text from the command line.
2011-07-06 22:47:47 -04:00
Bryce Harrington
5e693b2530 Bug #799
- Applied documentation patch for #799, fixing a broken link in the man page.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2011-07-06 18:39:44 -04:00
Paul Beckingham
8ff3a1675d Duration
- Implemented operator+=, operator-=.
- Added unit tests.
2011-07-04 14:22:33 -04:00
Paul Beckingham
b70f4e8528 Variant
- Cleaned up some operator implementations.
- Added Date, Duration formatting.
2011-07-04 13:51:36 -04:00
Paul Beckingham
fc793e7b1d Duration
- Implemented missing operator<=, operator>=.
- Added corresponding unit tests.
2011-07-04 13:34:20 -04:00
Paul Beckingham
33bb6b6d85 Expressions
- Improved categorization by using the Triple to represent the three
  (raw/inferred/category) values to aid in extraction.
2011-07-04 11:58:55 -04:00
Paul Beckingham
2d4ee13a46 Urgency
- Broke out urgency into separate functions.
2011-07-04 00:28:44 -04:00
Paul Beckingham
42becb9e41 Expressions/Arguments
- Converted the arguments parsed from a pair (token/modified-category)
  to a triple (token/type/category)
2011-07-02 11:47:39 -04:00
Paul Beckingham
e1aea08f81 Unit Tests
- Fixed test that assumed old-style command usage.
- Corrected duration unit tests.
2011-07-02 10:09:37 -04:00
Paul Beckingham
32392b8650 Edit - reenabled
- Reenabled the edit command with the new filtering mechanism.
2011-07-02 09:59:50 -04:00
Paul Beckingham
f1b5999983 Bug - ColDescriptionf indent
- Fixed bug in description.default rendering that inserted the indentation
  twice.
2011-07-02 09:57:42 -04:00
Paul Beckingham
72fa53ad3d I18N
- Localized more files.
2011-07-01 22:55:46 -04:00
Paul Beckingham
59ccad5b62 I18N
- Localized more files.
2011-07-01 22:33:49 -04:00
Paul Beckingham
99d25bd0db Enhancement
- Implemented Record::get_duration as a helper.
2011-07-01 22:21:25 -04:00
Paul Beckingham
63f91c2f88 Enhancement
- Implemented Record::get_date to eliminated the need to obtain a date
  as a string, then convert to time_t, then instantiate a Date.
2011-07-01 22:13:34 -04:00
Paul Beckingham
7d5f4fdfc7 I18N
- Localized Task.cpp
2011-07-01 21:50:23 -04:00
Paul Beckingham
a9a4c1c692 I18N
- Localized more files.
2011-07-01 21:16:28 -04:00
Owen Clarke
3b2e93f1a0 Bug #772
- Implemented custom uuid function that doesn't suffer from the precision
  and cyclic lack of randomness of the previous implementation.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2011-07-01 15:34:41 -04:00
Ben Boeckel
9f2c5a6190 Bug #798
- Applied patches for bug #798 which allows out-of-source builds (thanks to
  Ben Boeckel).
- Added Ben to the AUTHORS file.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2011-07-01 09:21:23 -04:00
Owen Clarke
3af5194442 Bug #797
- Fixed bug #797 which corrects a build problem with 'srandom' (thanks to Owen
  Clarke).

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2011-07-01 09:04:52 -04:00
Paul Beckingham
fd484ee264 Feature
- The duration 'm' is now interpreted as 'months', not 'minutes'.
2011-06-30 18:35:54 -04:00
Paul Beckingham
829a26d70b I18N
- Localized projects and _projects commands.
2011-06-29 23:05:53 -04:00
Owen Clarke
f5e155e54d Bug 795
- Improved detection of uuid library, and the uuid_unparse_lower
  function.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2011-06-29 22:38:41 -04:00
Paul Beckingham
9ceae7c5c2 Expressions
- Eliminated % modulus operator - who cares?
- Found a potential problem with argv[0].
2011-06-28 00:47:28 -04:00
Paul Beckingham
3096364352 Expressions
- Implemented type-specific <, <=, >, <= for "priority".  Untested.
2011-06-28 00:35:15 -04:00
Paul Beckingham
2c621eaadc Unit Tests
- The dom.t tests were segfaulting because they used a blank Context
  with no arguments, and when the DOM referecne 'context.program' was
  queried, it failed because there was no Context::args[0].
2011-06-27 23:26:51 -04:00
Paul Beckingham
45a757832a Feature #559
- Added feature #559, which implements a new configuration variable,
  rc.exit.on.missing.db, which causes taskwarrior to exit if the
  rc.data.location is missing (thanks to Sander Marechal).
2011-06-27 23:23:28 -04:00
Owen Clarke
526fa07326 Bug #795
- Addressed lack of uuid_unparse_lower on Solaris.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2011-06-27 22:57:58 -04:00
Owen Clarke
2bc8dfbfe7 Bug #793
- Replaced timegm with equivalent code.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2011-06-27 22:49:37 -04:00
Owen Clarke
8fbce0288e Bug #794
- Corrected typo and missing ; for Solaris builds.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2011-06-27 22:40:45 -04:00
Owen Clarke
e4c173771f Bug #792
- Applied patch to allow Solaris to be recognized by cmake.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2011-06-27 21:59:38 -04:00
Paul Beckingham
8c6e5277ec Expressions
- Project and Recur attributes now match leftmost by default.
2011-06-27 00:40:56 -04:00
Paul Beckingham
43e72b8ac8 Footnotes
- Relocated 'N tasks' style message to footnotes.
2011-06-27 00:22:18 -04:00
Paul Beckingham
1813f67230 Clean Build
- Removed a warning for a clean build on CentOS.
2011-06-27 00:10:33 -04:00
Paul Beckingham
f5ea55031c Commands - add, log
- Made code more consistent between the two commands.
2011-06-26 23:58:17 -04:00
Paul Beckingham
32cbe7a049 Bug
- rc.default.due needs to be converted to an epoch before storage.
2011-06-26 23:45:17 -04:00
Paul Beckingham
2ac33089b1 Commands - delete
- The delete command is now working.
2011-06-26 23:36:48 -04:00
Paul Beckingham
877ecbc864 Commands - done
- The 'done' command now functional.
- Localized CmdDone.cpp.
2011-06-26 23:28:21 -04:00
Paul Beckingham
1b90adc1aa Bug
- Fixed 'limit:N' bug, whereby when a report specifies a limit, and
  the user overrides it, there are potentially two limit arguments,
  in which case the last one, not the first one is needed.
2011-06-26 15:19:14 -04:00
Paul Beckingham
37edd06027 I18N
- Localized more files.
2011-06-26 14:41:59 -04:00
Paul Beckingham
e83b468ade Bug - Seg fault
- Fixed seg fault caused when a custom report had no override labels.
2011-06-26 12:47:51 -04:00
Paul Beckingham
58a04b9813 Bug - DOM lookup for 'id' was not supported
- Removed DOM caching, which appears to be a problem.
- Added 'id' and 'uuid' to DOM::get, which were missing, and therefore
  caused all filters with sequences to fail.
- Modified CmdInfo to load all tasks, until TDB2 is here.
2011-06-26 12:45:48 -04:00
Paul Beckingham
41a6ff29c8 Build
- Fixed broken build on CentOS.
2011-06-26 11:34:45 -04:00
Paul Beckingham
a0f87499e8 Documentation Update
- Added missing contributor to AUTHORS.
- Added missing bug/feature fixes to ChangeLog.
2011-06-26 01:53:18 -04:00
Paul Beckingham
7faad5fb44 Command Line Defaults
- Implemented support for rc.default.command.
- Implemented support for assumed info command.
- Implemented Arguments::inject_defaults to insert default arguments
  at just the right location.
- Corrected CmdCustom handling of limit:page.
2011-06-26 01:21:11 -04:00
Paul Beckingham
91e5a5e02e Commands - info
- When no command is specified, assume 'info' command.
2011-06-26 00:43:18 -04:00
Paul Beckingham
c9cc43dc5f I18N
- Localized more files.
2011-06-25 23:32:40 -04:00
Paul Beckingham
42ead6b34d Report Filters
- Report filters are now properly loaded and injected into the argument
  list.
2011-06-25 21:56:57 -04:00
Paul Beckingham
b58438bdd4 Regexes
- Added regex support to substirutions.
- Fixed bug that prevented 1.9.4 from shipping with regexes.  If the
  description is "aXXaaXXa", and the substitution is /XX/.../ then the
  first substitutions changes the length of the string to "a...aaXXa"
  and therefore invalidates the index for the second match, and makes
  this change: "a...a...Xa".  The fix is to keep a running 'skew' count
  of the difference in 'from' and 'to' length, to adjust the match
  indexes.
- Moved the helper deltaSubstitutions function into the Task object,
  which makes more sense.
- Cleaned up output composition for CmdAdd.
- Eliminated #ifdef FEATURE_REGEX.  They are here to stay.
2011-06-25 16:41:17 -04:00
Paul Beckingham
622e9c5e1e Burndown
- Corrected label placement.
2011-06-25 14:50:39 -04:00
Paul Beckingham
20bb5bf648 I18N
- Localized more commands.
2011-06-25 13:14:47 -04:00
Paul Beckingham
6d4bf3dc75 I18N
- Localized 'ids', '_ids' and '_zshids' commands.
2011-06-25 12:01:12 -04:00
Paul Beckingham
5972272de2 I18N
- Missed a string in CmdAdd.
2011-06-25 11:54:47 -04:00
Paul Beckingham
b70fa61f34 Limits
- Implemented built-in support for limits.
2011-06-25 11:53:35 -04:00
Paul Beckingham
9603864924 Commands - add, log
- Implemented add and log commands using new infrastructure.
- Relaxed restriction about creating completed tasks with no dependencies.
- Localized CmdAdd.cpp CmdLog.cpp.
- Implemented Command::modify_task to apply command line arguments to a
  specified task.
- Implemented Command::apply_defaults to apply various initial values to
  a specified task, such as entry date.
2011-06-24 00:58:26 -04:00
Paul Beckingham
3c1c900b5b Columns
- Refactored column objects to contain a ::validate method, for the
  validation of incoming data.
- Context.columns is now a vector of one of each column object,
  indexed by attribute name, for validation purposes.
2011-06-24 00:39:28 -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
03dbf7f468 Regex
- Added regex support to expressions.
- Implmented configurable case sensitivity.
2011-06-21 18:07:12 -04:00
Paul Beckingham
8040ed5430 I18N
- More localization.
2011-06-21 18:06:27 -04:00
Paul Beckingham
b63835757f I18N
- Localized more files.
2011-06-21 18:05:17 -04:00
Paul Beckingham
393ebae8aa Cleanup
- Removed obsolete grammar.bnf file.
- doc/misc scripts relocated to screencast.git.
2011-06-21 18:02:08 -04:00
Paul Beckingham
5808e2073f DOM Caching
- Implemented DOM caching on name.  May need a 'clear' method later.
2011-06-21 02:02:53 -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
aa8d872466 Expressions
- Implemented !~ operator.
- Hid debug output for now.
2011-06-19 23:50:05 -04:00
Paul Beckingham
1bf6c8a9fa Expressions
- DOM::get now returns the input name by default, rather than "", which
  was the cause of many filter elements not working.
- Modified Variant to have no private data, which means fewer copies of
  Variants and less code.
- Eliminated Variant::operator^ - not needed.
2011-06-19 18:15:09 -04:00
Paul Beckingham
7762ee2f9e Commands
- Promoted filtering code to the Command base class.
- Added filtering short-circuit.
2011-06-19 10:25:53 -04:00
Paul Beckingham
db17536266 Expressions
- Filter processing short-circuits if there is no filter.
- Variant code was not only incomplete, but very broken.  It should not have
  been used.  It still doesn't handle dates and durations.
- Converted all logical and relational Variant operators to return Boolean
  values.
- Stack size is now checked for every operator.
- All operators implemented (without any advanced special case handling) except
  %, ~ and !~.
- Added lazy DOM expansion at the last possible moment.
- Implemented Expression::create_variant to create appropriate Variant instances
  based on categorized and inferred type.
- Removed Variant math functions.  No point.
- Debug code left in place for now.
2011-06-19 09:49:43 -04:00
Paul Beckingham
c57f880be7 Expressions
- Simplified ::eval.
- Added standard operand handling.
- Added type information to the value_stack.
2011-06-17 23:53:26 -04:00
Paul Beckingham
c77c6f172f Expressions
- Many operators implemented
- DOM::get partially implemented
2011-06-17 01:00:03 -04:00
Paul Beckingham
4fca40fc69 Expressions
- Added Expression::eval short-circuit.
- Added int/number exlclusions for Nibbler::getDOM.
- Added Variant::boolean for exatracting filter results.
2011-06-16 20:30:48 -04:00
Paul Beckingham
6a48d86f2c L10N
- Localized all column objects, some commands.
2011-06-16 20:28:46 -04:00
Paul Beckingham
c7bfba103e I18N
- Localized some more.
2011-06-16 00:42:03 -04: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
6b85669812 Build
- Fixed a broken build.
2011-06-15 07:22:08 -04:00
Paul Beckingham
c23c374b17 Duration
- Implemented operator- for us by the Variant.
2011-06-14 21:29:17 -04:00
Paul Beckingham
6242c4a8ae Bug #788
- Fixed bug #788, which reported regex and readline versions, even though they
  are not used.
2011-06-14 21:27:28 -04:00
Paul Beckingham
8f6bf9ff45 I18N
- Localized a few more files.
2011-06-14 21:02:38 -04:00
Paul Beckingham
e0abee7f9f Expressions
- Command line arguments are now handled a little differently.  Each
  argument is subjected to further splitting, to break up expressions
  early in the process, prior to categorization.
- Patterns are now treated as quoted string, where the quote character
  is /.
2011-06-13 23:06:54 -04:00
Paul Beckingham
087cf7e5ed Feature #479
- Added filtering to the calendar command.
2011-06-13 23:03:50 -04:00
Paul Beckingham
ded55c360b Export - query
- Output from the query command is now optionally surrounded by [ ... ]
  to make this a syntactically correct JSON document.  This is off by
  default.
- Updated documents.
2011-06-13 18:11:44 -04:00
Paul Beckingham
69fc2c3be8 View
- Modified layout algorithm to not attempt to distribute negative
  overage.
- Modified wrapText to enforce a minimum wrap width of 1.
2011-06-13 00:57:04 -04:00
Paul Beckingham
5d2528bff6 Command: tip
- Removed (stubbed) 'tip' command from core.  Will be external, if
  and when it is developed.
2011-06-13 00:49:37 -04:00
Paul Beckingham
d6670ba198 Expressions
- Reordered operator table so that longer operators match first, thus
  disambiguating between ! and !=.
- Eliminated Expression::expand_expression.
- Modified Nibbler to know what a DOM reference looks like.
- Removed alpha equivalent operators (lt, le, gt, ge, not, eq, ne) because
  these are common in descriptions (French: le, ne).
- Modified Arguments and Nibbler unit tests.
2011-06-13 00:45:06 -04:00
Paul Beckingham
a749f83da3 Parsing
- Nibbler learned how to parse formtted dates.  Date now uses Nibbler.
- Added Nibbler unit tests.
2011-06-12 13:59:25 -04:00
Paul Beckingham
236738c708 Date Processing
- Dates now support 'j' and 'J' julian day format.
2011-06-12 13:23:13 -04:00
Paul Beckingham
c8d9a2a268 Expressions
- Support and documentation for rc.patterns, which enables/disables
  support for /pattern/ command line arguments.
- Support and documentation for rc.expressions, which enables/disables
  support for command line expressions.
- Now canonicalizes attribute names.
- Now canonicalizes modifier names.
- New colorization (temporary) that colors all Arguments::dump output
  green when processed.
- New distinction between 'old' and 'new' style command lines.  Old style
  is "pro:A +foo pri.not:M" with implicit "and" operators.  New style
  includes operators but does not include "+foo" and "/foo/".
- Many tokens are converted directly to primitive types (int, number,
  string) when no further processing is required.
- Restored CmdShow to functionality, and linearized the list of supported
  configuration variables, for easier insertion.
- Modified arguments.t.cpp unit tests.
2011-06-12 09:17:50 -04:00
Paul Beckingham
94fa671522 Expressions
- Arguments::categorize is now functioning as designed.
2011-06-11 17:12:11 -04:00
Paul Beckingham
a9b942e913 Expressions
- Corrected interpretation of integers outside the location of a
  sequence as a word.
- Corrected interpretation of uuids outside the location of a
  sequence as a word.
2011-06-11 16:08:38 -04:00
Paul Beckingham
62d2dd316b Build
- Fixed broken build on CentOS.
2011-06-11 15:32:33 -04:00
Paul Beckingham
56bc5cf755 Code Cleanup
- Removed the last uses of 'foreach'.  What remains is only code that
  is being obsoleted, and therefore there is no need to clean that up.
- The definition of 'foreach' in util.h must remain until last.
2011-06-11 15:15:47 -04:00
Paul Beckingham
76b30d8d10 L10N
- More file conversions.
2011-06-11 14:57:11 -04:00
Paul Beckingham
63e6c08fdd Expressions
- Re-enabled read-only commands that were broken because expressions
  were not implemented.  Currently they don't work, but the mechanism
  is in place.
2011-06-11 14:30:19 -04:00
Paul Beckingham
ad75ba49a4 Expressions
- Broke up the parsing process into smaller steps to allow second pass
  parsing when "exp" tokens are expanded.
2011-06-11 13:44:11 -04:00
Paul Beckingham
8f20efc739 Parsing
- Nibbler now understands parsing from a list of tokens, with getOneOf.
2011-06-11 11:13:56 -04:00
Paul Beckingham
a5feb6ef83 Parsing
- Implemented Nibbler::getDigit to retrieve a single numeric digit.
- Implemented Nibbler::getISODate.
2011-06-11 08:12:05 -04:00
Paul Beckingham
ffcc2a49d8 Duration
- Converted Duration::valid to a static method, to match Date.
2011-06-10 18:36:10 -04:00
Paul Beckingham
74d9eac588 L10N
- Localized API.cpp.
2011-06-10 18:35:23 -04:00
Paul Beckingham
f8d9338102 Expressions
- Added list of non-word characters to assist is_attr.
2011-06-10 00:17:52 -04:00
Paul Beckingham
2ab24fa08b Expressions
- Fixed some compiler warnings.
- Added DOM detection of primitives: int, double, string.
- Began implementation of DOM task access.
- Implemented support for .startswith, .endswith, .word and .noword.
- Removed obsolete subst.t.cpp.
2011-06-09 22:19:10 -04:00
Paul Beckingham
199bb85d88 Expressions
- Improved strictness of attr and attmod detection, although it needs
  more.
- Added unit tests arguments.t.cpp, to test the detection methods.
2011-06-08 00:16:19 -04:00
Paul Beckingham
390ffb65f9 Bug #785
- Fixed bug #785, which fixes a broken build on Solaris (thanks to Owen Clarke).
2011-06-07 22:51:16 -04:00
Paul Beckingham
90f6f537fe Bug #783
+ Fixed bug #783, which fixes completed and deleted tasks still showing as
  active (thanks to Adam Wolk).
2011-06-07 01:21:46 -04:00
Paul Beckingham
7c910e46be Code Cleanup
- Just found out about std::vector::back, after all these years.
2011-06-07 00:48:00 -04:00
Paul Beckingham
d83b2d5e36 Expressions
- Implemented an operator lookup table with type, associativity and
  precedence.
- Implemented Expression::to_postfix that generates a postfix
  expression list using a Dijkstra Shunt.
2011-06-07 00:25:21 -04:00
Paul Beckingham
ed8454c202 Expressions
- Implemented sequence --> infix converter.
- Added new Lexer code.
- Added Lexer unit tests.
2011-06-06 01:46:11 -04:00
Paul Beckingham
86dcec8aea Expressions
- Began Expression::toInfix to upgrade old-style filters to infix
  algebraic filters.
- Added operator support to Arguments::categorize.
- Modified CmdCustom.cpp as a read-only command guinea-pig for the
  new argument processing.
2011-06-05 13:47:52 -04:00
Paul Beckingham
68a749ee16 Argument Parsing
- Implemented Arguments::extract_read_only_filter to isolate the
  arguments that pertain to read-only command filters
- Implemented Arguments::extract_write_filter to isolate the arguments
  that pertain to write command filters.
- Implemented Arguments::extract_modifications to isolate the arguments
  that pertain to write command modifications.
- Created stubbed Expression object.
- Began integration of Expression and Arguments into commands/CmdCustom.
2011-06-05 02:09:25 -04:00
Paul Beckingham
61e549c80c Code Cleanup
- Removed many more uses of the 'foreach' macro.
2011-06-04 23:02:18 -04:00
Paul Beckingham
f9c1820740 Argument Parsing
- Added proper handling for sequences, in that they must be contiguous.
- Added placeholder code for default command, and automatic info report.
- Eliminated Context::parse.
- Eliminated Context::run Timer, because when it goes out of scope, it
  adds timing messages to the deubg output, which at the end of Context::run
  has already been displayed.  In addition, the Context::dispatch timer
  is about 0.2 milliseconds shorter, so the two are redundant.
2011-06-04 18:42:33 -04:00
Paul Beckingham
19aa78a922 Argument Parsing
- Fixed bug in Nibbler::getUUID.
- Implemented Arguments::is_id.
- Implemented Arguments::is_uuid.
- Implemented Arguments::is_tag.
- Implemented Arguments::extract_id.
- Implemented Arguments::extract_uuid.
- Implemented Arguments::extract_tag.
- Implemented Arguments::valid_modifier.
- Implemented nibbler.t.cpp unit tests.
2011-06-04 17:02:19 -04:00
Paul Beckingham
354d66a5ac Parsing
- Implemented Nibbler::getUUID to assist parsing efforts.
2011-06-04 16:15:44 -04:00
Paul Beckingham
58a677ffb5 Argument Parsing
- Eliminated stored arg_overrides and file_override in Context.
- Removed Filter, Subst, Task, Sequence from Context.
- Remove shadow file support.  Hallelujah.
- Disabled/commented out most commands, ready for the big transition
  to the new parsing style.
- Obsoleted Subst.{h,cpp}.
2011-06-04 15:11:34 -04:00
Paul Beckingham
b4c1e47ab4 Argument Parsing
- Added argument categorization, and a colorful diagnostic output
  in debug mode.
- Localized all argument parsing in Arguments object, while still
  allowing specific commands to choose which elements are parsed
  from the command line.
2011-06-04 14:30:45 -04:00
Paul Beckingham
644d027a87 Argument Parsing
- Obsoleted Command::exectute  'commandLine' argument.  It is worse
  than unnecessary, it is an uncategorized raw argument string, which
  is only really useful for the 'execute' command, which itself now
  calls Arguments::combine to reconstruct the command line string.
2011-06-04 12:33:58 -04:00
Paul Beckingham
c2e1757fb6 AUTHORS
- Added Dirk, and his role.
2011-06-03 08:13:27 -04:00
Paul Beckingham
5732833da2 Build
- Converted more atoi to strtol calls.
2011-06-02 23:20:15 -04:00
Paul Beckingham
223c7b3c56 Build
- Fixed case-sensitive include file name.
2011-06-02 23:16:52 -04:00
Paul Beckingham
617e0ebe54 Build
- Migrated atoi to strtol, and added missing include.
2011-06-02 23:14:34 -04:00
Paul Beckingham
460a2c5617 Build
- Missing include.
2011-06-02 23:03:08 -04:00
Paul Beckingham
e200b2a502 L10N
- Localized Hooks.cpp
2011-06-02 22:26:19 -04:00
Paul Beckingham
fa36931064 Bug
- Fixed bug that showed the 'due' date, under the heading 'until' date, in the
  info report (thanks to Michael McCann).
2011-06-02 21:39:50 -04:00
Paul Beckingham
e19f087931 Refactor
- Prepared CmdCustom for new command line processing code.
2011-06-02 00:47:05 -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
bcbff8d99b Bug
- Fixed bug so that columns of type "string*" calculate ideal size
  by taking into account \n characters in the data, rather than simply
  the string length.
2011-05-31 00:46:56 -04:00
Paul Beckingham
5d9fb1fff9 Help
- Modified command usage help output.
2011-05-31 00:43:26 -04:00
Paul Beckingham
067f5920bb Documentation
- Updated ChangeLog, etc with recent issue completion.
2011-05-31 00:41:29 -04:00
Paul Beckingham
56ccd16730 Helpers
- Implemented longestLine, which finds the longest line in a string.
2011-05-30 21:22:26 -04:00
Paul Beckingham
6f17e80461 Refactoring
- Combined the remains of command.cpp and report.cpp into helpers.cpp.
2011-05-30 16:01:36 -04:00
Paul Beckingham
a2da93b681 Commands - modify
- Migrated handleModify to CmdModify.
2011-05-30 15:48:20 -04:00
Paul Beckingham
510ce650a6 Commands - merge
- Migrated handleMerge to CmdMerge.
2011-05-30 14:45:39 -04:00
Paul Beckingham
af90a14cb5 Commands - push
- Migrated handlePush to CmdPush.
2011-05-30 14:37:39 -04:00
Paul Beckingham
99fae1f9a8 Command - pull
- Migrated handlePull to CmdPull.
2011-05-30 14:30:14 -04:00
Paul Beckingham
abd51e81a3 Commands - delete
- Migrated handleDelete to CmdDelete.
2011-05-30 14:00:34 -04:00
Paul Beckingham
908fbd8ca4 Commands - done
- Migrated handleDone to CmdDone.
2011-05-30 13:53:57 -04:00
Paul Beckingham
75a24f5113 Commands - timesheet
- Migrated handleReportTimesheet to CmdTimesheet.
2011-05-30 13:46:08 -04:00
Paul Beckingham
2fb743992f Command - undo
- Migrated handleUndo to CmdUndo.
2011-05-30 13:38:45 -04:00
Paul Beckingham
4c47748dd7 Commands - calendar
- Migrated handleReportCalendar to CmdCalendar.
2011-05-30 13:30:18 -04:00
Paul Beckingham
a7d5641d00 Commands - import
- Migrated handleImport to CmdImport.
2011-05-30 13:18:10 -04:00
Paul Beckingham
4603bdb509 Commands - _query
- Migrated handleQuery to CmdQuery.
2011-05-30 13:00:51 -04:00
Paul Beckingham
75e651626d Commands - summary
- Migrated handleReportSummary to CmdSummary.
2011-05-30 12:49:45 -04:00
Paul Beckingham
61c2e2b439 Commands - duplicate
- Migrated handleDuplicate to CmdDuplicate.
2011-05-30 12:35:56 -04:00
Paul Beckingham
73e9f52793 Feature #655
- New command that lists reports and their descriptions.
2011-05-30 12:25:50 -04:00
Paul Beckingham
37b48c56d5 Commands - export
- The default export format is now JSON, with an alias that maps 'export'
  to '_query'.
2011-05-30 11:42:35 -04:00
Paul Beckingham
6cf7644e02 Commands - config
- Migrated config and _config to CmdConfig.
2011-05-30 11:18:59 -04:00
Paul Beckingham
0f5a4434ff Bug #511
- Fixed bug #511, which caused display problem on Cygwin when colored output
  used the full width of the terminal.  The 'avoidlastcolumn' configuration
  variable forces taskwarrior to never use the last column.
2011-05-30 10:21:50 -04:00
Paul Beckingham
a1dee148b4 Build
- Added missing includes.
2011-05-30 01:24:25 -04:00
Paul Beckingham
9e3c6f5bc1 Commands - stop
- Migrated handleStop to CmdStop.
2011-05-30 01:19:11 -04:00
Paul Beckingham
86ab605bd4 Commands - start
- Migrated handleStart to CmdStart.
2011-05-30 01:11:34 -04:00
Paul Beckingham
0429949de5 Commands - color
- Migrated handleColor to CmdColor.
2011-05-30 00:59:15 -04:00
Paul Beckingham
d021bb8188 Commands - denotate
- Migrated handleDenotate to CmdDenotate.
2011-05-30 00:48:43 -04:00
Paul Beckingham
f775341fd5 Commands - annotate
- Migrated handleAnnotate to CmdAnnotate.
2011-05-30 00:24:48 -04:00
Paul Beckingham
c8eb5df1b2 Commands - log
- Migrated handleLog to CmdLog.
2011-05-29 21:43:37 -04:00
Paul Beckingham
cb613c0691 Commands - add
- Migrated handleAdd to CmdAdd.
2011-05-29 19:17:16 -04:00
Paul Beckingham
b0cbc7f757 Commands - burndown.monthly, burndown.weekly, burndown.daily
- Migrated burndown charts to CmdBurndown.
2011-05-29 01:20:58 -04:00
Paul Beckingham
398380d390 Build
- Need to link to libtask.a twice.  Nice.
2011-05-29 00:10:06 -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
36e24fa1fb Build
- More missing includes.
2011-05-28 18:18:48 -04:00
Paul Beckingham
94318a6925 Build
- More missing include files.
2011-05-28 18:15:56 -04:00
Paul Beckingham
08c4d4bdfe Build
- Fixed more case-sensitivity problems, and missing include files.
2011-05-28 17:53:58 -04:00
Paul Beckingham
17f3717871 Bug
- Fixed typo in CMakeLists.txt file that worked on the OSX case-insensitive
  file system.
- Man page correction.
2011-05-28 17:46:45 -04:00
Paul Beckingham
82eebc93bf Commands - history.monthly, history.annual, ghistory.monthly, ghistory.annual
- Migrated all history reports into CmdHistory objects.
2011-05-28 17:34:30 -04:00
Paul Beckingham
b9246e04b2 Command - append
- Migrated handleAppend to CmdAppend.
2011-05-28 16:41:21 -04:00
Paul Beckingham
ef65617258 Command - prepend
- Migrated handlePrepend to CmdPrepend.
2011-05-28 16:40:39 -04:00
Paul Beckingham
920e1c6c86 Commands - projects, _projects
- Migraged handleProjects and handleCompletionProjects to CmdProjects.
2011-05-28 16:18:53 -04:00
Paul Beckingham
a7bc09d487 Command - count
- Migrated handleCount to CmdCount.
2011-05-28 16:05:07 -04:00
Paul Beckingham
27d6e7cc81 Commands - ids, _ids, _zshids
- Migrated handleIds, handleCompletionIds, handleZshCompletionIds
  to CmdIDs.
2011-05-28 15:40:18 -04:00
Paul Beckingham
56e4c8172b Commands - stats
- Migrated handleReportStats to CmdStatistics.
2011-05-28 15:11:32 -04:00
Paul Beckingham
33d13ddb1d Commands - _commands, _zshcommands
- Migrated handleCompletionCommand and handleZshCompletionCommands
  to CmdCommands.
2011-05-28 14:57:48 -04:00
Paul Beckingham
330b148ca9 Commands - _tags
- Migrated handleCompletionTags to CmdTags.
2011-05-28 14:34:06 -04:00
Paul Beckingham
b075f1252c Commands - shell
- Migrated handleShell to CmdShell.
- Note there is a segfault bug that will probably go away by itself when
  Context::parse is obsoleted.
2011-05-28 14:22:38 -04:00
Paul Beckingham
4857269d12 Commands - help
- Help command now displays helper functions after the regular commands.
2011-05-28 14:11:04 -04:00
Paul Beckingham
bd93126f4e Commands - _urgency
- Migrated _urgency to CmdUrgency.
2011-05-28 14:07:21 -04:00
Paul Beckingham
9af1c71daf Commands - edit
- Migrated edit.cpp to CmdEdit.
2011-05-28 13:38:44 -04:00
Paul Beckingham
ed97fcc108 Commands - diag
- Migrated diag.cpp to CmdDiagnostics.
2011-05-28 13:15:19 -04:00
Paul Beckingham
0ce198ab8c Commands - info
- Migrated 'info' command to CmdInfo.
- Renamed 'info' command to 'information'.
2011-05-28 12:55:45 -04:00
Paul Beckingham
306f10b420 Command Line Parsing
- Implemented Arguments::extract_command to locate the command
  keyword in an argument list.
- Implemented Arguments::extract_sequence to locate and remove an ID
  sequence from an argument list.
- Added unit test for extract_sequence.
- Stubbed all Argument::extract_<object> methods.
- Simplified code in (soon to be obsolete) Sequence.cpp.
2011-05-28 12:09:25 -04:00
Paul Beckingham
8f85b0e194 Utils - combine
- Implemented combine, which takes two integer vectors and combines
  them resulting in a single vector contianing the unique values of
  both.
2011-05-28 09:49:22 -04:00
Paul Beckingham
8fabffe18c Code Cleanup
- Eliminated '#include "x"' by changing all to '#include <x>'.
2011-05-28 00:19:59 -04:00
Paul Beckingham
f67706c28e L10N
- Added '#define L10N' marker to all source files that are localized.
2011-05-28 00:02:04 -04:00
Paul Beckingham
d51bd3f445 Refactoring
- Moved argument handling out of Context, into Arguments.
2011-05-27 23:20:17 -04:00
Paul Beckingham
3de1275afe l10n
- Localized CmdShow.cpp.
2011-05-26 22:20:35 -04:00
Paul Beckingham
0caea22f08 Extensions
- The extensions directory is now created, if needed.
2011-05-26 22:01:36 -04:00
Paul Beckingham
32e7af4610 i18n
- Added several overloaded positional string formatters.  May need
  more.
2011-05-26 21:56:23 -04:00
Paul Beckingham
5e71003558 Utils
- 'verify' is a utility intended to make sure that all the i18n strings
  defined in src/en-US.h (and any other languages) are all used.  In other
  words it detects unused strings, which can presumably be removed.
2011-05-25 18:05:44 -04:00
Paul Beckingham
02065c3cdc i18n
- Localized a few strings, for fun.
2011-05-25 01:13:19 -04:00
Paul Beckingham
62203a45f8 Commands
- Migrated handleShow to CmdShow.
2011-05-25 00:38:21 -04:00
Paul Beckingham
54d98a6b2d Commands
- Migrated the _version command from handleCompletionVersion to
  CmdVersion.
2011-05-24 20:57:24 -04:00
Paul Beckingham
fc77e04b54 Commands
- Migrated handleVersion to CmdVersion.
2011-05-24 20:43:50 -04:00
Paul Beckingham
d892a0cbd2 Code Cleanup
- Fixed comments, compilation warnings.
- Decomposed Context::initialize into several, single-purpose methods.
- Replaced Context::initialize with Context::initialize2.
2011-05-24 19:37:03 -04:00
Paul Beckingham
a20a4da412 Code Cleanup
- Eliminated custom.cpp by implementing CmdCustom.cpp.
2011-05-24 19:31:47 -04:00
Paul Beckingham
bedc28f517 Commands
- Eliminated the Command::implements method.
- Implemented CmdCustom to handle all custom reports.
- Implemented CmdTags.
2011-05-24 19:29:47 -04:00
Paul Beckingham
31e865e823 Documentation
- Corrected typo (thanks to T. Charles Yun).
2011-05-24 19:21:25 -04:00
Paul Beckingham
7e55c0c786 Aliases
- Implemented the first part of enhanced aliases.
2011-05-23 23:46:00 -04:00
Paul Beckingham
f1635c3eff Code Cleanup
- Removed obsolete Rectangle code.
2011-05-23 23:24:43 -04:00
Paul Beckingham
8fa18d0da2 Bug #761
- Fixed bug #761, in which the 'prepend' and 'append' commands failed to
  generate an error when no text was provided (thanks to Aikido Guy).
2011-05-23 23:16:01 -04:00
Paul Beckingham
3f58e5a2ee Code Cleanup
- Removed unused Tree code.
2011-05-23 22:29:24 -04:00
Paul Beckingham
8e4a757200 Commands
- Rewrote Command::factory to construct all commands, indexed by
  primary command keyword.
2011-05-23 22:12:40 -04:00
Paul Beckingham
f53d509930 Code Reorganization
- Added the ability for a command to specify it's own pirmary keyword.
2011-05-23 20:23:53 -04:00
Paul Beckingham
f8b44b68d7 View
- Fixed problem with incorrect Color vector addressing.
- Modified ViewText to not underline empty column headers.
- Implemented ViewText::set method to set only color.
2011-05-23 20:16:37 -04:00
Paul Beckingham
f0f3e55cc6 Text Handling
- Implemented nontrivial (), which detemines whether a string contains
  any non-space characters.  Used to detect strings with no content.
2011-05-23 20:08:33 -04:00
Paul Beckingham
f669b5f56f Unit Tests
- Added JSON samples to test the parser.
2011-05-22 14:41:40 -04:00
Paul Beckingham
df1920d75c JSON
- Completed JSON parser with the addition of syntax error messages.
2011-05-21 15:06:42 -04:00
Paul Beckingham
409fa216b8 Color
- Corrected some cases where rc.color was not obeyed.
2011-05-21 11:29:34 -04:00
Paul Beckingham
df652d2ec7 Unit Tests
- Added unit tests to verify that appending or prepending nothing
  generates an error.
2011-05-21 10:35:46 -04:00
Paul Beckingham
bb24701f36 Unit Tests
- Added the first few JSON unit tests.
2011-05-20 01:17:46 -04:00
Paul Beckingham
690fa6e206 JSON
- Replaced old Tree-based parser with a faster, leaner parser.
  Currently lacking good error handling and a large test suite.
- Integrated new parser into Task object, for encode/decode.
- Replicated same basic unit tests.  Needs more.
- Fixed bug in handleShell that failed to call the new Context::initialize2.
- Removed debugging code from CmdInstall.
- Implemented format() that does not require width and precision args.
2011-05-20 00:18:36 -04:00
Paul Beckingham
05b3fa0bb6 Text Processing
- Implemented splitq, which can handle quoted and oddly-quoted string
  splits.
2011-05-16 00:22:14 -04:00
Paul Beckingham
0308ee953a Build
- Added missing include.
2011-05-15 23:07:12 -04:00
Paul Beckingham
bc756637da Commands
- Implemented CmdHelp object that replaces the report.cpp longUsage
  function, and builds the output dynamically from other Command
  objects.  This is also why the help text right now is very short,
  as only a few commands are migrated.
- Obsoleted longUsage function.
- Updated task.1 man page with 'execute' command details.
- Modified command.lua sample to include command usage.
- Removed "help" from old Context::dispatch, which means "help" is
  the first migrated command.
- Added usage and description to all Cmd* objects.
- Implemented Command::usage and Command::description as base class
  methods that simply return data that is specified by the derived
  classes.
2011-05-15 01:14:13 -04:00
Paul Beckingham
afc97d566c Commands
- New 'exec' command that runs external programs, implemented by
  CmdExec.
- Restructured code so that only Commands implements ::read_only
  and ::displays_id methods, while derived objects simply set flags.
- Corrected column alignment in summary report.
2011-05-15 00:18:24 -04:00
Paul Beckingham
52599dca63 Unit Tests
- Fixed tests that assumed no color.
2011-05-14 16:02:35 -04:00
Paul Beckingham
902ed48243 Commands
- Implemented the ability to iterate over installed Command objects,
  to augment the '_commands' command.
- Renamed verbosity tokens, to de-pluralize them.
2011-05-14 15:45:52 -04:00
Paul Beckingham
14bea5e1b4 Verbose
- The 'verbose' configuration variable now accepts a specific list of items to
  be verbose about.  See taskrc(5).
2011-05-14 15:38:03 -04:00
Paul Beckingham
557440db0c Commands
- Implemented stubbed Context::initialize2.
- Implemented combined command line.
- Migrated some code from Context::initialize to ::initialize2.
- Integrated ::initialize2 into the startup sequence.
- Implemented Context::dispatch2.
- Integrated ::dispatch2 into the run sequence.
- Implemented Context::updateXtermTitle.
- Added debug messages to new Command objects.
- Implemented CmdLogo, which implements the _logo command, for fun.
- Removed unnecessary base class overrides from Cmd* objects.
2011-05-14 12:18:39 -04:00
Fumihito YOSHIDA
02c2023dc4 i18n
- Added tips.ja-JA thanks to Fumihito Yoshida.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2011-05-14 09:59:05 -04:00
Paul Beckingham
bb04a58bdc Unit Tests
- Corrected use of rc.fontunderline with the new Views.
- Added new sample todo.sh import data, thanks to Daniel Wilcox.
- Added rc.defaultwidth to various tests.
- Modified tests to accomodate new next report.
- Corrected regex in rc.override.t.
2011-05-13 23:55:01 -04:00
Paul Beckingham
73f72c54c1 Bug
- Fixed bug that required the '%YAML' prologue in a YAML import.
2011-05-13 20:23:32 -04:00
Paul Beckingham
1d10370341 Bug
- Fixed bug that caused dependencies to be sorted by UUID, although
  they are shown as IDs.
- Updated unit test to accomodate new comma-less formatting of
  dependencies.
2011-05-13 18:05:26 -04:00
Paul Beckingham
4f8c503a04 View
- Implemented new string formats: left_fixed and right_fixed, which
  do not word-wrap.  This is used for the history report.
2011-05-13 18:04:49 -04:00
Paul Beckingham
291818c33d i18n
- Added function utf8_text_length which calculates the length of
  text in characters, not bytes, and excludes color control codes.
2011-05-13 18:02:20 -04:00
Paul Beckingham
46b799a5b7 Bug
- The ColumnDepends object was failing to map uuid --> id and so
  rendered no data for the blocked report.
- Code used the term 'blocked' when it should have used the term
  'blocking'.
2011-05-13 17:59:01 -04:00
Paul Beckingham
3d69f70d66 Bug
- Lack of Task default constructor, copy constructor and operator=
  implementation details caused tasks stored in an STL container to
  lose their cached urgency value.
- Info report now specifically formats urgency values, whereas the
  default formatting adds justification spacing.
2011-05-13 17:54:08 -04:00
Paul Beckingham
6fb3bc5b03 View
- Integrated ViewTask and ViewText completely.
- Obsoleted Table.{h,cpp}, Grid.{h,cpp}, grid.t.cpp
- Fixed ViewTask rendering bug that caused the full width to be used every time.
2011-05-13 01:10:30 -04:00
Paul Beckingham
c8c7e02bc8 View
- Converted projects to use TextView.
2011-05-12 00:43:15 -04:00
Paul Beckingham
e5555b579d View
- Converted undo to use TextView.
2011-05-12 00:34:34 -04:00
Paul Beckingham
9e3e40c3a9 View
- Converted info report to ViewText.
- Fixed bug in history report.
- Removed rc.blanklines from Config.cpp defaults.
2011-05-12 00:19:56 -04:00
Paul Beckingham
c1b4f34a70 Sorting
- Added missing custom sorting for due dates.
2011-05-11 22:21:43 -04:00
Paul Beckingham
5fa77a36de Verbose
- Implemented rc.verbose=on|off|list...
- Migrated rc.blanklines to a verbosity token.
- Updated documentation.
2011-05-11 21:49:31 -04:00
Paul Beckingham
adc8605b06 Credit
- Added Jonathan Hankins, as thanks for the help diagnosing a Cygwin
  problem.
2011-05-11 21:34:35 -04:00
Paul Beckingham
ec7d9ed765 View
- Converted history reports to use ViewText.
- Fixed unit test.
2011-05-11 00:20:35 -04:00
Paul Beckingham
fcb711d673 View
- Converted 'help' and 'stats' reports to use ViewText.
- Modified Column.cpp to omit column headers if blank.
2011-05-10 23:46:47 -04:00
Paul Beckingham
1a833af2a4 View
- Broke out View into ViewTask and ViewText, where the former uses an
  external std::vector <Task> as storage, thus eliminating the additional
  copy, and the latter that duplicates data and color into 2D vectors
  for rendering non-task data.
2011-05-10 22:49:20 -04:00
Paul Beckingham
ac60ee8d33 Code Cleanup
- Removed unnecessary include files.
2011-05-09 20:27:33 -04:00
Paul Beckingham
6464a2bca5 Color
- Implemented Color::strip which can remove the color codes from a
  string.
2011-05-09 20:24:16 -04:00
Paul Beckingham
93cfbf8dd2 Error Messages
- Improved error messages with specific field names rather than types.
2011-05-09 01:05:21 -04:00
Paul Beckingham
e22a07156f Reports
- Made the minimal report more minimal by using the description.truncated
  format.
2011-05-09 01:04:47 -04:00
Paul Beckingham
b4fba5b08d Next Report
- Removed all traces of the old next report.
- Removed rc.next support.
2011-05-08 19:33:05 -04:00
Paul Beckingham
5da435e70d Unit Tests
- Corrected several tests with respect to the new custom report columns
  and sort fields.
2011-05-08 18:10:03 -04:00
Paul Beckingham
868a7a2249 Reports
- Migrated all reports to use the new columns and sort fields.
2011-05-08 17:48:48 -04:00
Paul Beckingham
04033911c3 Unit Tests
- Modified several unit tests to accomodate new column names.
2011-05-08 17:14:28 -04:00
Paul Beckingham
0d9d01324e View
- Stubbed new render method for generic string grids.
2011-05-08 17:13:55 -04:00
Paul Beckingham
590273d4e8 Code Reorganization
- Changed the ::measure and ::render methods from pure virtual to
  virtual.
- Fixed bug where recur.indicator used the length of the indicator
  instead of the indicator.
- Implemented ColString.{h,cpp} to support generic Views based on
  strings, not tasks.
- Implemented newly virtual Column:: methods.
2011-05-08 17:12:05 -04:00
Paul Beckingham
00125c19d1 Unit Test
- Reworded new error message to more closely match an old error message,
  modified unit test accordingly.
2011-05-08 16:28:36 -04:00
Paul Beckingham
949e702c98 Bug
- ColDescription::measure did not correctly account for annotation size.
- The macro 'max' was used with expensive arguments, which get evaluated
  twice.
2011-05-08 15:15:48 -04:00
Paul Beckingham
001769997d Bug
- The entry.age column did not modify the column label of 'Added' to
  be 'Age'.
2011-05-08 15:14:42 -04:00
Paul Beckingham
f05fedfc7a Urgency
- Set initial urgency value to zero.
2011-05-08 11:04:57 -04:00
Paul Beckingham
041bcfdf21 Custom Reports
- Integrated new View in place of Table for all custom reports.
- Implemented legacy field mapping for columns and sort fields.
- Implemented rc.indent.report.
- Implemented rc.row.padding.
- Implemented rc.column.padding.
- Implemented rc.color.label.
- Modified default rc.indent.annotation from 1 to 2.
- Implemented urgency value caching.
- Implemented View truncation by line and row.
- Columns now know which report thy belong to, so they can use the
  rc.report.<report>.dateformat override.
- Assorted bugs remain.
2011-05-08 09:29:55 -04:00
Paul Beckingham
67a43d6099 Color
- Added 'inverse' swatch to the color command output.
2011-05-07 14:55:30 -04:00
Paul Beckingham
0231a6c412 Documentation
- Documented the 'inverse' color attribute.
2011-05-07 10:24:29 -04:00
Paul Beckingham
9c53810d3e Color - Inverse
- Added support for the 'inverse' color attribute.  Documentation
  still needs to be updated.  Thanks to David Patrick.
2011-05-07 10:19:55 -04:00
Christopher J. Pilkington
06cab5a1ca Bug #771
- Applied patch for Bug #771, which looks for libuuid if uuid_unparse_lower is
  not located (thanks to Christopher J. Pilkington).

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2011-05-06 22:56:34 -04:00
Christopher J. Pilkington
62334201d1 Bug #770
- Applied patch for Bug #770, which fixed a broken build (thanks to Christopher
  J. Pilkington).

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2011-05-06 22:51:36 -04:00
Paul Beckingham
250c98f03c Build
- Missing include file (thanks to Uli Martens).
2011-05-06 07:48:09 -04:00
Paul Beckingham
ebeb935975 Documentation update
- Caught up ChangeLog with missing entries for fixed bugs.
2011-05-06 00:11:57 -04:00
Paul Beckingham
7c38641263 Bug Fix #763
- Fixed bug #763, so that modifications to tasks are considered 'write'
  commands, and therefore update shadow files (thanks to Aikido Guy).
2011-05-05 23:51:36 -04:00
Paul Beckingham
58f2b9789e Bug #762
- Fixed bug #762, so that modifications to task are considered 'write' commands,
  and there update shadow files (thanks to Aikido Guy).
2011-05-05 23:49:51 -04:00
Paul Beckingham
4584da8895 Sorting
- Sorting implemented using a non-relocatable task list, a stable
  sort, and type-specific comparisons.
2011-05-05 22:37:54 -04:00
Paul Beckingham
9268e552d8 View
- Integrated new longestWord helper function.
2011-05-05 19:55:00 -04:00
Paul Beckingham
1d0ad3838b Text Handling
- Implemented longestWord, a UTF8-aware helper for word-wrapping.
2011-05-05 19:45:09 -04:00
Paul Beckingham
28b0960015 View
- Implemented 'description.default', 'description.count', and
  'description.oneline'.
- New 'indent.annotation' for the 'description.default' field format.
2011-05-04 23:15:17 -04:00
Paul Beckingham
f37a250894 View
- Implemented description.desc
2011-05-03 00:58:06 -04:00
Paul Beckingham
d0cbf43478 View
- Implemented due.countdown.
- Fixed formatting bug in description.truncated.
- Fixed bug in start.indicator.
2011-05-02 23:43:41 -04:00
Paul Beckingham
f9ab8f2a1c View
- Implemented start.active.
2011-05-02 22:53:47 -04:00
Paul Beckingham
27752bd510 Date
- Implemented Date::dayOfYear which yields a number, 1 to 366.
2011-05-02 22:13:15 -04:00
Paul Beckingham
b4be5991b8 View
- Implemented urgency.default.
2011-05-02 21:44:42 -04:00
Johannes Schlatow
7e1f8591f6 exec
- moved function that executes external commands from Transport.cpp
  to util.cpp since it is not dedicated to push/pull/merge anymore
2011-05-02 16:25:40 +02:00
Johannes Schlatow
398371d324 Bug #732
- changed the parsing of ssh:// URIs, paths are now absolute by default
2011-05-02 16:18:40 +02:00
Paul Beckingham
df8496edae View
- Implemented ColDate, ColDue, ColEntry, ColEnd, ColStart, ColUntil,
  ColWait.
- Implemented formats: default, iso, julian, epoch.
2011-05-02 01:50:48 -04:00
Paul Beckingham
8f00665268 Unit Tests
- Added extra format test for the Julian date format.
2011-05-02 01:50:15 -04:00
Paul Beckingham
5e851c4c98 View
- Implemented status.default, status.short.
2011-05-01 12:17:19 -04:00
Paul Beckingham
1506ee67f4 Code Cleanup
- Implemented Context::color to hide the color override details,
  then integrated it.
2011-05-01 11:53:13 -04:00
Paul Beckingham
b0ff1ff55b I18N
- Renamed text.cpp/characters to utf8.cpp/utf8_length, which is more
  appropriate.
2011-05-01 11:10:32 -04:00
Paul Beckingham
0b3281d01d View
- Implemented recur.default and recur.indicator.
2011-05-01 00:42:57 -04:00
Paul Beckingham
a033300a7d View
- Implemented depends.default, depends.indicator, depends.count
  field formats.
2011-04-30 18:31:15 -04:00
Paul Beckingham
ac69c02876 View
- Implemented (a fraction of) description columns.
2011-04-30 18:03:18 -04:00
Paul Beckingham
6974e48290 Configuration
- Added the new dependency.indicator, which works the same way the
  other indicator configuration variables do.
- Added documentation to taskrc.5.in.
2011-04-30 17:54:59 -04:00
Paul Beckingham
8a87db6163 View
- Implemented tags.default, tags.indicator, tags.count.
2011-04-30 00:06:07 -04:00
Paul Beckingham
ed7fc44685 View
- Implemented uuid.default and uuid.short.
2011-04-29 23:23:13 -04:00
Paul Beckingham
9849b4082d View
- Removed debugging code.
- Implemented intra, extra and alternate colorization.
- Column::factory now parses <type>.<style> and properly initializes
  the column objects.
2011-04-29 20:06:21 -04:00
Paul Beckingham
a722064d80 I18N
- Reviewed UTF8-safety.
2011-04-29 19:41:18 -04:00
Paul Beckingham
9fd819e3a0 Columns
- Implemented ColPriority, with 'default' and 'long' formats.
- Implemented ColProject 'parent' format.
2011-04-29 19:33:54 -04:00
Paul Beckingham
dd1be996a6 Commands
- Added logo command, for fun.
- Renamed commands to CmdXxxxx for clarity and commonality with columns.
2011-04-29 19:31:29 -04:00
Paul Beckingham
8bc7d5932b Code Cleanup
- Thread object removed - not needed.
2011-04-29 19:28:48 -04:00
Paul Beckingham
683a269991 View
- Implemented View::lines.
2011-04-29 01:57:53 -04:00
Paul Beckingham
4dca2a5a2d View
- Documented the new layout algorithm.
- Used Nibbler for decomposing fields into word chunks.
- Implemented variable intra padding.
- Implemented variable left margin.
- Implemented variable extra padding.
- Implemented colored headers.
- Implemented wrappable headers.
- Eliminated need to specify fixed column size.
2011-04-29 01:45:10 -04:00
Paul Beckingham
66afc7c057 Enhancement
- Modified leftJustify and rightJustify to handle UTF8.
2011-04-29 01:10:58 -04:00
Paul Beckingham
937f2d9c8f Enhancement
- Added integer versions of leftJustify, rightJustify.
2011-04-29 01:01:08 -04:00
Paul Beckingham
d0a91acf28 Enhancement
- Implemented leftJustify, rightJustify for composing justified strings.
2011-04-29 00:49:05 -04:00
Paul Beckingham
9b85cb47ce Documentation
- Corrected color precedence order that differed between taskrc.5.in
  and task.1.in (thanks to Stefan Keel).
2011-04-27 19:20:31 -04:00
Paul Beckingham
d6f2c5d04f Themes
- Two additional solarized theme files, solarized-dark-256.theme and
  solarized-light-256.theme (thanks to Stefan Keel).
2011-04-27 02:02:34 -04:00
Paul Beckingham
9f672d0b06 View
- Implemented column sizing algorithm.
2011-04-27 01:50:32 -04:00
Paul Beckingham
29649bdf07 View
- Code reorganization.  Much can be moved to default behavior in the
  base class.
2011-04-27 00:22:56 -04:00
Paul Beckingham
63c84129f2 Hooks
- Removed last vestiges of old hook triggers.
2011-04-26 23:09:40 -04:00
Paul Beckingham
c5f71051ad View
- Added unit tests - blank for now.
- Added stubbed ColProject, just so that ColID is not the only column.
- Renamed files for clarity and namespace reasons.
2011-04-26 22:46:04 -04:00
Paul Beckingham
74d799acea View
- First pass at the interface, structure and algorithm used by the
  new View object that will ultimately obsolete Table, Grid and Cell.
2011-04-26 18:19:57 -04:00
Paul Beckingham
120562a7e9 Enhancement
- Began detailed implementation of commands and columns objects.
2011-04-24 19:11:56 -04:00
Paul Beckingham
1c23b28514 Interaction
- Modified 'You have higher priority tasks' to 'You have more urgent tasks',
  which is more accurate (thanks to Eric Fluger).
2011-04-24 18:27:38 -04:00
Paul Beckingham
01df9e189e Extensions
- Removed the redundant README file, which is now better presented in
  rfc5-hooks.txt.
- Modified all the sample Lua to be rfc5 compliant.
2011-04-24 16:25:11 -04:00
Paul Beckingham
638fcd8ca0 Commands
- Modified command object design.
2011-04-24 12:41:38 -04:00
Paul Beckingham
a7c3858729 Extensions
- Clarification in the extensions document.
2011-04-24 12:40:50 -04:00
Paul Beckingham
86ef048cb0 Bug #605
+ Fixed bug #605, which gave misleading project completion percentages under
  certain circumstances (thanks to Steve Rader).
2011-04-24 11:36:43 -04:00
Paul Beckingham
5f8b3cf989 Code Cleanup
- Further attemps at removing 'foreach'.
2011-04-23 23:06:00 -04:00
Paul Beckingham
10e3f306dd Export
- Added export-html.pl.
- Added error handling to export scripts.
2011-04-23 21:38:01 -04:00
Paul Beckingham
8a7f1e03c7 Unit Tests
- Added variant tests.
2011-04-23 21:15:40 -04:00
Paul Beckingham
f183201f6f Export
- Added the ability to include the ID in _query command results.
2011-04-23 21:13:57 -04:00
Paul Beckingham
0471c17f12 Build System
- Added new src/commands and src/columns intermediate libs.
- Began implementation of the first Command object.
- Began implementation of the first Column object.
- TDB2, Variant updates.
2011-04-23 16:41:37 -04:00
Paul Beckingham
f1fa315342 Themes
- Added new gray theme to the same .taskrc.
2011-04-22 17:58:57 -04:00
Paul Beckingham
75fd846399 Unit Tests
- Fixed hook tests that broke when 'hooks' was renamed to 'extensions'.
2011-04-22 00:48:29 -04:00
Paul Beckingham
d7cbd46653 Bug #741
- Fixed Bug #741, which miscounted columns widths when a table header used
  unicode characters (thanks to Tomas Cech).
2011-04-22 00:39:30 -04:00
Paul Beckingham
83320a3e07 Feature #679
+ Added feature #679, which makes color rules match project names in a left-
  most fashion, like filters (thanks to ch077179).
2011-04-22 00:29:30 -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
Paul Beckingham
76f11cb73c Extensions
- Missed a 'hooks' -> 'extensions' rename.
2011-04-21 23:52:06 -04:00
Paul Beckingham
d08e1dab76 Extensions
- Documented the 'extensions' master control switch.
2011-04-21 23:28:34 -04:00
Paul Beckingham
07faa663b4 Documentation
- Typo
2011-04-20 23:34:54 -04:00
Duane Waddle
a675c35876 Doucmentation
- Man page patch from Duane Waddle applied.  This documents the
  reportable 'entry' field.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2011-04-19 19:01:29 -04:00
Paul Beckingham
f049ab3432 Feature #523, #657, #658, #659
- Added 'status' as a reportable column (thanks to Peter De Poorter
  and Bryce Harrington).
- Closed features pertaining to the 'task ids ... | task ...' (thanks
  to Bryce Harrington and Eric Fluger).
2011-04-18 01:41:08 -04:00
Paul Beckingham
60a5d271f4 Extensions
- Created scripts/extensions/README to describe samples.
- Created sample extension scripts of each type.
2011-04-18 00:51:34 -04:00
Paul Beckingham
bac4610580 Hooks
- Removed obsolete field hook.
2011-04-17 21:54:06 -04:00
Paul Beckingham
48eb4757f8 Hooks
- Removed all obsolete hooks, except from commands.cpp, which is being
  worked on in parallel.
- Implemented new on-launch and on-exit unit tests.
2011-04-17 21:09:58 -04:00
Paul Beckingham
2f4efb28d6 Lua
- Created new scripts/extensions directory.
- Added README for extensions.
- Started priority.lua extension.
- Implemented api_task_get and api_task_set DOM accessors.
- Removed more obsolete API.
2011-04-17 00:48:05 -04:00
Paul Beckingham
9d0037bc78 DOM
- Added more variables.
- Removed unnecessary API.
2011-04-17 00:14:35 -04:00
Paul Beckingham
0240ffa1d2 Hooks
- Removed obsolete hook unit tests.
2011-04-16 15:19:07 -04:00
Paul Beckingham
87c285e6b2 File/Directory Enhancement
- Migrated enhanced code out of taskd.
2011-04-16 00:44:07 -04:00
Paul Beckingham
e9273cd6c3 TDB2
- Implemented most of the layered I/O for the pending.data file.
- Needs File::xxxxx support that doesn't exist yet.
2011-04-15 01:29:22 -04:00
Paul Beckingham
b72173bb0e DOM
- Stubbed shell of DOM, with limited support for 'system....'.
- Added unit tests.
2011-04-15 01:28:06 -04:00
Paul Beckingham
17d1e59e29 Hooks
- Eliminated the concept of list hooks.
- Eliminated unnecessary API functions.
2011-04-13 23:20:55 -04:00
Paul Beckingham
dbb556bce9 Unit Tests
- Eliminated obsolete unit tests pertaining to Hooks that are no
  longer needed.
2011-04-13 23:19:30 -04:00
Paul Beckingham
6e1e709564 Code Cleanup
- Removed obsolete Keymap object.
2011-04-13 23:18:01 -04:00
Paul Beckingham
49fcb7a104 Merge branch '2.0.0' of tasktools.org:task into 2.0.0 2011-04-13 00:22:03 -04:00
Paul Beckingham
b8a19b52e0 Typo 2011-04-13 00:21:57 -04:00
Paul Beckingham
9b3f565e90 Enhancements
- Added stubbed DOM code.
- Added stubbed TDB2 code.
2011-04-12 23:47:38 -04:00
Paul Beckingham
2ce54f10f8 Lua
- Eliminated unimplemented API calls, which are all going to be replaced
  by DOM get/set.
- Documented new 2.x hooks.
2011-04-12 23:01:49 -04:00
Paul Beckingham
139e55fca3 Code Cleanup
- Eliminated "itask" interactive mode code.
2011-04-12 20:47:41 -04:00
Johannes Schlatow
4c7c8cf195 Bug #732
* fixed misleading documentation and messages on
  merge/pull/push URIs (thanks to Thomas Cech).
2011-04-11 14:31:31 +02:00
Paul Beckingham
4245d83812 Code Cleanup
- Eliminated obsolete Lisp code.
2011-04-10 20:41:38 -04:00
Paul Beckingham
f1525df48a Urgency
- Corrected unit tests for urgency.
- Modified default 'blocked' coefficient to be negative, to compensate
  for the bug fix for #707 that inverted the test.
2011-04-10 20:40:29 -04:00
Paul Beckingham
19582dd139 Holidays
- Renamed all holiday files to include a locale, rather than just
  a country code.
- Enhanced update-holidays.pl add-on script to support regions,
  provide better error handling, error on missing Perl module,
  warnings on unavailable data, and help text.
- Updated documentation accordingly.
2011-04-10 15:37:30 -04:00
Paul Beckingham
40b2258589 Bug 707
- urgency.blocked.coefficient logic was inverted.
2011-04-08 00:42:00 -04:00
Paul Beckingham
14b184089d Code Cleanup
- Fixed broken build on tt.
2011-04-07 18:27:03 -04:00
Paul Beckingham
039bf15df1 Holiday Update Script
- Script to download current data from holidata.net.
2011-04-07 18:26:30 -04:00
Paul Beckingham
e163ef71e8 Holiday Data
- Added Czech Republic holiday files (thanks to Tomas Cech).
2011-04-06 07:34:16 -04:00
Paul Beckingham
d9b2ac0f33 Variant
- Salvaged Variant code from older project, for use in expression
  evaluation.
2011-04-05 23:47:09 -04:00
Paul Beckingham
7961ca136f Code Cleanup
- Removed FEATURE_TDB_OPT conditional compilation.
2011-04-03 19:44:58 -04:00
Paul Beckingham
2ad3d0d449 Code Cleanup
- Removed FEATURE_URL conditional compilation.
2011-04-03 19:43:22 -04:00
Paul Beckingham
77ba7946f5 Code Cleanup
- Removed conditional compilation of the shell, controlled by FEATURE_SHELL.
2011-04-03 19:41:19 -04:00
Paul Beckingham
e4b0c6e7c0 Configuration
- Forgot the NEWS file.
2011-04-03 18:29:37 -04:00
Paul Beckingham
585151f184 Configuration
- The old 'curses' configuration variable is now replaced by 'detection', and
  has the same meaning - whether or not to auto-detect terminal size.
2011-04-03 18:24:50 -04:00
Paul Beckingham
df41ea9988 Code Cleanup
- The FEATURE_NCURSES_COLS define was not used anywhere.  Removed.
2011-04-03 17:37:43 -04:00
Paul Beckingham
fb2fd79a52 Diagnostics
- Removed unnecessary "Alias foo -> bar" debug message.
2011-04-02 21:56:42 -04:00
Paul Beckingham
44e6b27560 Bug
- Wrong include.
2011-04-01 23:32:54 -04:00
Paul Beckingham
b63e92b540 Code Cleanup
- Converted atoi to strtol.
- Added include, which is causing tinderbox fail.
2011-04-01 23:30:12 -04:00
Paul Beckingham
38576ba08a Unit Tests
- Because taskDifferences now uses ucFirst on attribute names, three
  tests fail.
2011-03-30 00:35:06 -04:00
Paul Beckingham
628fbd6b64 Enhancement
- Broke out the "taskDiff" family of functions into feedback.cpp,
  which is where all subsequent user feedback text composition will
  occur.
2011-03-29 23:40:19 -04:00
Paul Beckingham
036aee2a8d Enhancement
- Began the new Context::initialize2, which will offer a different
  rabbit-hole to go down.  This method will instantiate Command
  objects and the new Parser, rather than the monolithic alternative
  dispatch method and command.cpp/report.cpp/custom.cpp files.
2011-03-29 23:38:16 -04:00
Paul Beckingham
a994baae75 Tips
- Added great tip from Michelle Crane.
2011-03-29 23:19:54 -04:00
Paul Beckingham
976e480903 i18n
- Added en-US.h, which will be a header file full of string defines.
- Added logic to i18n.h to include en-US.h based on cmake command
  line argument (cmake ... -DPACKAGE_LANGUAGE=1).
- Added one sample string.
2011-03-29 23:18:02 -04:00
Paul Beckingham
ed3b4d587c Enhancements
- Added src/columns/*.{h,cpp}
- Added src/commands/*.{h,cpp}
2011-03-29 23:16:05 -04:00
Paul Beckingham
84fb46f233 Code Cleanup
- Eliminated 'Sensor' code and tests, which would only have been used
  for the interactive version.
- Eliminated obsolete ui code.
2011-03-27 12:36:25 -04:00
Paul Beckingham
c502f0216a i18n
- Eliminated StringTable.{h,cpp}.
- Eliminated strings.<locale> files.  This is not the way to do it.
2011-03-27 02:06:09 -04:00
Paul Beckingham
3cccdf722e Bug #723
- Fixed Bug #723, which displayed a misleading message when the output was
  truncated to a page.
2011-03-26 10:59:02 -04:00
Paul Beckingham
a1d47e9509 Bug #703 - /foo/bar/g doesn't operate globally on annotations
- Fixed bug #703 that was failing to reset a moving pattern cursor between
  annotations.
- Added unit tests to  verify this functionality.
2011-03-26 09:50:26 -04:00
Cory Donnelly
437bb95f01 Standardized journal messages
- Made journal messages more consistent with one another
2011-03-23 17:28:55 -04:00
Alexei Romanoff
4dfa6d3648 Documentation
- Corrected typos concerning BY holidays.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2011-03-21 18:53:35 -04:00
Paul Beckingham
7c9ebec557 Feature
- Enhanced diagnostics command.
2011-03-20 17:12:47 -04:00
Paul Beckingham
81e6af427f Bug
- Corrected terminal size calculation for "limit:page", which was
  assuming 2 blank lines, instead of 1.
2011-03-20 11:20:16 -04:00
Alexei Romanoff
9a80216e89 Feature #714
- Added feature #714, including Belarus holidays (thanks to Alexei Romanoff).

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2011-03-19 16:44:24 -04:00
Alexei Romanoff
7f9938d4f1 Bug #713
- Fixed Bug #713, which fixes typos in the holidays-UK.rc file (thanks to
  Alexei Romanoff).

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2011-03-19 16:35:17 -04:00
Paul Beckingham
bd0dbe3af6 Unit Tests, Documentation
- Added 'ids' command to task.1.in.
- Added unit test for 'ids' command.
- Reformatted 'help' output for the ~ modifier.
2011-03-19 01:18:56 -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
Federico Hernandez
17f97651a3 AUTHORS
- added Timm Reitinger to the AUTHORS file for providing the N900
  package
2011-03-17 00:22:29 +01:00
Cory Donnelly
994404d6e1 Merge branch '2.0.0' of tasktools.org:task into 2.0.0 2011-03-16 08:40:02 -04:00
Cory Donnelly
45e0ef20da Bug #708
- Project completion report didn't account for multiple changes made
  at once. For example, task 1-3 done, task 4-6 del, task 7-9 pro:new
2011-03-16 08:37:29 -04:00
Paul Beckingham
9470e9af17 New 'ids' command, and stdin reading
- New 'ids' command that returns a filtered set of task ID numbers, instead
  of the actual tasks.  For advanced pipeline use.
- Now supplements the command line with data read from standard input, which
  allows commands like:  echo 'add Pay the bills' | task
2011-03-16 00:53:29 -04:00
Cory Donnelly
dd8bceecf7 Bug #706
- Journal was recording deletions twice, once as a deletion and
  again as a modification to ""
2011-03-14 22:55:29 -04:00
Cory Donnelly
d3447165c8 Bug #704
- Polished journal messages
2011-03-14 21:35:51 -04:00
Cory Donnelly
18f82c1207 Logic error in util.cpp
- taskDiff() was returning true whenever beforeOnly.size() or
  afterOnly.size() were nonzero, which made no sense and was
  clearly a typo
2011-03-14 19:44:43 -04:00
Johannes Schlatow
6d6a5492bb Feature #700
- added tab-completion of built-in tags
2011-03-13 01:32:44 +01:00
Johannes Schlatow
236b017d57 Merge/Uri support
- fixed autopush bug where e.g. 'ssh://' was omitted
  (Uri::parse() was wrongly modifying the data member)
2011-03-11 00:56:37 +01:00
Paul Beckingham
96d406960d Enhancement
- Corrected sorting to use std::stable_sort instead of std::sort, which is not
  guaranteed stable (thanks to Stefan Hacker).
2011-03-09 12:45:45 -05:00
Paul Beckingham
954db75b37 Packaging
- Updated the packaging scripts for OS X to accomodate the new files.
2011-03-05 08:38:38 -05:00
Paul Beckingham
589b84982f Documentation Update
- Removed 1.9.x references.
- Cleared out NEWS file.
2011-03-03 22:34:26 -05:00
Federico Hernandez
4de854a3c3 CMake
- zapped autoh*ll from build system. No more pain.
2011-03-04 03:58:55 +01:00
Federico Hernandez
dbdba4c59e Bumped version number to 2.0.0 2011-03-04 03:24:06 +01:00
Federico Hernandez
5eff2f4176 Added SHA1 of tagged release commit 2011-03-04 03:07:54 +01:00
Federico Hernandez
2d99b80672 Release date for 1.9.4 2011-03-04 00:07:56 +01:00
Federico Hernandez
949d71a81b CMake
- a few words on the cmake config variables special to task
2011-03-03 23:35:30 +01:00
Federico Hernandez
df1fc5a6da Release
- bumped version number to 1.9.4
2011-03-03 23:09:48 +01:00
Federico Hernandez
7745733001 Man page
- fixed bug in taskrc.5 that caused 3 variables not to be displayed
  (thanks to Michelle L Crane)
2011-03-01 19:07:43 +01:00
Federico Hernandez
10ef12b008 CMake
- cmake variables for the different installation paths
  (thanks to Pietro Cerutti)
2011-03-01 18:59:40 +01:00
Paul Beckingham
19ef6a672d Unit Tests
- Fixed assumption that "task add ...; sleep 1; task list" will never yield
  results with "2 secs" as a task age.
2011-02-27 12:05:10 -05:00
Federico Hernandez
6c110a641d Bumped version number to 1.9.4.beta1 2011-02-18 00:11:30 +01:00
Paul Beckingham
2ec296088a Documentation
- Minor doc edits.
2011-02-17 12:36:37 -05:00
Federico Hernandez
14cc9c6873 Typo 2011-02-17 00:51:44 +01:00
Federico Hernandez
05c157e449 More deprecated autotools stuff 2011-02-17 00:48:55 +01:00
Federico Hernandez
73fd2cefca Build system
- missing source code files for deprecated autotools
- exclude test cmakefile in packaged source
2011-02-16 23:39:45 +01:00
Federico Hernandez
f2f590e193 Unit test
- disabled unit test that requires faketime
  which is not available on Mac OS X
2011-02-16 23:38:08 +01:00
Federico Hernandez
a840b6505b Unit tests
- bug 605 is postponed
2011-02-14 20:13:15 +01:00
Paul Beckingham
467f0a477e Themes
- Added new dark-gray-256 color theme.
2011-02-14 11:49:17 -05:00
Paul Beckingham
e046b37287 Grammar
- Almost complete grammar, with some 2.x enhancements.
2011-02-14 11:13:24 -05:00
Cory Donnelly
9efe1d45cc Bug #677
- _query incorrectly displayed 'No tasks specified.' message when 'No matches'
message is more appropriate
2011-02-13 21:12:30 -05:00
Cory Donnelly
2ed73c0700 Bug #605
- Added unit test
2011-02-13 18:31:23 -05:00
Cory Donnelly
d845dca3af Feature #608
- Unit test added (will need to be updated when journal text is finalized)
2011-02-13 18:14:15 -05:00
Cory Donnelly
930e695ea4 Bug #628
- Unit test had noncritical spelling mistake (yes, I realize I have problems)
2011-02-13 18:09:05 -05:00
Johannes Schlatow
079bcff893 Unit test
* was using the default data.location
2011-02-13 01:51:51 +01:00
Johannes Schlatow
ea57b560d9 Bug
* fixed bug in merge command where the first match of a uuid in
  pending.data was on the depends attribute
2011-02-13 01:51:34 +01:00
Federico Hernandez
436c152fde Regex
- Removed reference to regex in NEWS file
2011-02-13 00:06:46 +01:00
Paul Beckingham
f93273ef23 Related to bug #649
- You can no longer directly complete or delete parent recurring tasks.
2011-02-12 15:30:05 -05:00
Paul Beckingham
6608cbf287 Code Cleanup
- Removed tabs.
2011-02-12 15:14:00 -05:00
Paul Beckingham
a65fe591b8 Bug #634
- Fixed bug #634, so that 'undo' obeys the 'confirmation' setting (thanks to
  Steve Rader).
2011-02-12 15:08:57 -05:00
Paul Beckingham
afb89f0add Themes
- Added the three new burndown chart colors to all themes, with
  variations.
2011-02-12 14:41:44 -05: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
2e9bc3194b Bug #653
- Fixed bug #653, which caused undo information to be recorded when no changes
  were made by the 'edit' command.
2011-02-12 02:29:22 -05:00
Paul Beckingham
691931adf9 Bug #485
- Fixed bug #485, which caused filters of 'recur' to fail for partial matches
  (thanks to T. Charles Yun).
2011-02-12 01:39:25 -05:00
Paul Beckingham
b2828b9702 Bug #656
- Fixed bug that caused multiple recurring child tasks to be generated
  under certain circumstances.
- Removed text.t.cpp tests that are not in task.
- Added Bryce Harrington to AUTHORS file.
- Corrected tests that were broken by the fix.
2011-02-12 01:00:33 -05:00
Paul Beckingham
776a56fa67 Merge branch '1.9.4' of tasktools.org:task into 1.9.4 2011-02-11 11:13:07 -05:00
Paul Beckingham
bc5cdfecb4 Regex
- Removed references to rc.regex in the man pages.
2011-02-11 11:12:43 -05:00
Cory Donnelly
d80e9aa7c5 Bug #674
- Unit test created based on Peter Lewis's bug report
2011-02-11 09:12:46 -05:00
Paul Beckingham
1e2b551795 AUTHORS
- Added Pete Lewis for finding a big nasty bug.
2011-02-10 08:25:47 -05:00
Paul Beckingham
ea374c05df Bug
- Edit wasn't properly parsing annotation entry dates since a recent
  commit changed the length of the pattern used to find annotations.
2011-02-09 00:17:27 -05:00
Paul Beckingham
3a7e620ce6 Unit Tests
- Inherited improved text.cpp unit tests from taskd.
2011-02-08 23:55:57 -05:00
Paul Beckingham
589c918f79 Documentation
- Clarified the need for quoting substitutions containing spaces (thanks
  to Eric Fluger).
2011-02-08 23:55:07 -05:00
Federico Hernandez
1ea513ad75 AUTHORS file
- Patrick R McDonald submitted a detailed bug report and backtrace
  through Fedora's bugzilla. Worth a mention in the AUTHORS file,
  although the bug is already fixed.
2011-02-05 17:48:10 +01: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
783a326b11 Bug #641
- Fixed bug #641, where certain reports broke when 'dateformat' differed from
  'dateformat.report'.
2011-02-04 11:16:14 -05:00
Paul Beckingham
a650847201 Bug #671
- Fixed bug #671, removing the claim in the 'edit' command claims that
  description text can wrap over multiple lines, because it cannot.
2011-02-04 10:44:40 -05:00
Paul Beckingham
7e1e187d6c Export
- Added the alias 'export.json' that maps to the _query command.
2011-02-04 10:25:43 -05:00
Cory Donnelly
3a623af363 Bug #668
- Inconsequential typo in bug.668.t
2011-01-31 18:37:52 -05:00
Cory Donnelly
6b5253e6a0 Bug #669
- A test for due date < wait date in command.cpp only sometimes added
  an extra context.footnote complaining about the condition and was removed.
2011-01-31 18:31:57 -05:00
Johannes Schlatow
feb19cafdd Unit tests
* Bug #668
2011-01-31 22:09:42 +01:00
Paul Beckingham
c963fd30ba Code Review
- Incorporated (most of the) feedback from John's review of the code.
  Got stuck on replacing 'import commands' with 'import subprocess',
  and all that entails.
2011-01-30 16:16:35 -05:00
Paul Beckingham
eee4d05b77 Feature #41
- Feature #41 (export.xml) is now satisfied by the new export-xml.{pl,py,rb}
  add-ons.
2011-01-29 17:37:56 -05:00
Paul Beckingham
5f8858856b Merge branch '1.9.4' of tasktools.org:task into 1.9.4 2011-01-29 17:20:34 -05:00
Paul Beckingham
8b28b013c4 Export commands deprecated
- Provided examplars of export commands re-implemented using the new
  _query command.
- Implemented export-xml.pl, export-xml.py, export-xml.rb.
- Implemented export-csv.pl.
- Implemented export-yaml.pl.
- Implemented export-ical.pl.
2011-01-29 17:11:06 -05:00
Paul Beckingham
074ae41ee6 Documentation
- Clarified that the 'all' report does not have a filter, and can
  therefore show all tasks, including recurring parent tasks.
2011-01-29 12:01:32 -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
14f06e98b7 Merge branch '1.9.4' of tasktools.org:task into 1.9.4 2011-01-25 23:18:03 -05:00
Paul Beckingham
18aa5c5b69 JSON
- Tags are now a JSON array:  "tags":["one","two"]
2011-01-25 23:17:28 -05:00
Federico Hernandez
6e872c69dd feature #46
- proper sortable age column
2011-01-25 23:55:03 +01:00
Federico Hernandez
3ba877b078 Added a few example of using H:N:S in dateformats to taskrc.5 2011-01-24 23:47:18 +01:00
Cory Donnelly
4d95dcf1da Bug c001
- Added unit test bug.c001.t to test for an unreported issue in 1.9.4
  commit 2d50d1c that involves the creation of a recurring task not
  incrementing the displayed Task ID.
2011-01-23 17:47:52 -05:00
Cory Donnelly
03d8cf1114 Bug #656
- Unit test bug.656.t added (thanks Bryce Harrington)
2011-01-23 17:34:05 -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
ad2614c452 Bug #651
- Fixed bug #651, which broke the edit command when a task description
  contained certain tokens (like 'Due:').
2011-01-23 00:54:54 -05:00
Paul Beckingham
eaf184c833 Bug
- The _query command now generates JSON with the string entities
  properly encoded.
2011-01-23 00:08:47 -05:00
Paul Beckingham
57c1983e07 Code Migration
- Migrated taskd JSON parser into task, to provide encode/decode
  capability to Task::composeJSON.
- Migrated taskd utf8 code, replacing old unused code.
- Added unit tests or JSON.
- Migrated Tree updates from taskd.
2011-01-22 23:33:47 -05:00
Paul Beckingham
2f4e0d9e17 Bug #654
- By misplacing a } I broke the info command for tasks without undo
  history, which subsequently broke 28 unit tests.
2011-01-22 23:20:26 -05:00
Cory Donnelly
43e68f73d3 Documentation
- Made changes to INSTALL reflecting cmake build process
- Added cygwin and Darwin troubleshooting tips
2011-01-22 21:12:24 -05:00
Cory Donnelly
6fd2fb08bb Bug #652
- Removed extra line in edit.cpp introduced by the patch discussed in Bug #618
2011-01-22 19:44:44 -05:00
Cory Donnelly
c5b61a3125 Bugs #628, #634, #635
- Unit tests added for a few issues.
2011-01-22 14:29:58 -05:00
Cory Donnelly
5317703dcc Merge branch '1.9.4' of tasktools.org:task into 1.9.4 2011-01-21 15:16:46 -05:00
Cory Donnelly
f820e7a8be Bug #649
- Unit test bug.649.t added to demonstrate issue with 1.9.4 commit ae4e286
2011-01-21 15:15:32 -05:00
Paul Beckingham
cc0b0b00af Merge branch '1.9.4' of tasktools.org:task into 1.9.4 2011-01-21 12:00:46 -05:00
Paul Beckingham
8ed1cc6006 Bug
- The _query command emitted this:
    [ {}, {}, {} ]
  which is not valid JSON.  It should instead be:
    {}, {}, {}
2011-01-21 11:59:51 -05:00
Paul Beckingham
103bcef6ab Bug
- The edit command included two entries for the tags, parsing then only
  found the first.
2011-01-21 11:59:15 -05:00
Federico Hernandez
0dd969cc24 CMake
- missing cmake message
2011-01-20 22:19:34 +01:00
Paul Beckingham
e301cda990 Bug, Reorg
- Fixed bug in journal annotations that omitted \n characters for
  certain events, creating an unreadable journal entry.
- Relocated the 'Total active time' into the journal table, made
  the text bold, and changed from "Xh XXm" format to Duration::format.
2011-01-20 10:42:37 -05:00
Federico Hernandez
200fbe3334 Fixed broken unit tests that use _version
- _verstion now outputs the short git sha1 id and not longer the
  task version when building from the git repository.
2011-01-18 02:37:06 +01:00
Federico Hernandez
0cac03ad4a Feature #638
- added worded dates "later" and "someday" to enable the hiding of
  a task until doomsday.
2011-01-18 02:21:00 +01:00
Federico Hernandez
be0357da4a CMake
- added information to task diag to indicate if task is built with
  cmake (to support the upcoming move away from autotools).
2011-01-18 00:00:28 +01:00
Federico Hernandez
32235ca60a CMake
- improve compilation by removing the git sha1 dependency into its
  own include file that is just used 2 times instead of auto.h that
  is included in more places.
2011-01-17 23:27:38 +01:00
Johannes Schlatow
792eab8621 Info report
* added a line to the journal which shows the total time a task was active
2011-01-17 15:21:55 +01:00
Paul Beckingham
8e5ad1288c Holidays
- Added three missing holiday files to Makefile.am.
2011-01-16 20:03:06 -05:00
Paul Beckingham
332dbc4a08 Holidays
- Added new holiday configuration file for Austria (thanks to Andreas Poisel).
2011-01-16 17:01:47 -05:00
Paul Beckingham
0fda4b060c Bug
- _query command used {} instead of [] for task collection.
2011-01-16 01:03:28 -05:00
Federico Hernandez
55de71feca SHA1
- removed previously introduced _sha1 helper command
- modified helper command _version to either display the version
  or the sha1 depending if build from source tar ball or from git.
2011-01-15 22:18:44 +01:00
Federico Hernandez
c0c58f9aff Added _sha1 helper command to quickly identify a
task dev version.
2011-01-15 21:41:28 +01:00
Paul Beckingham
ae4e28689d Holiday Files
- Updated all holiday files to have a complete set of 2011 definitions,
  and remove 2010 definitions.
2011-01-14 23:04:29 -05:00
Paul Beckingham
7ca51e78f0 Feature - enhanced date parse error
- When a date fails to parse, the expected format is displayed, as a reminder
  (thanks to Eric Fluger).
2011-01-14 22:56:52 -05:00
Paul Beckingham
d4772fe060 Bug
- Fixed bug that caused entry, end, start and wait dates to not use report-
  specific date format overrides (thanks to Eric Fluger).
2011-01-14 22:12:17 -05:00
Paul Beckingham
47f2758c8f Holidays
- Added new holiday configuration file for Italy (thanks to Nicola Busanello).
2011-01-11 00:51:12 -05:00
Paul Beckingham
dac31390cb Merge branch '1.9.4' of tasktools.org:task into 1.9.4 2011-01-11 00:08:23 -05:00
Paul Beckingham
68fe437889 Taskd
- Modified Task::composeJSON to use ISO 8601 date format, and the new
  hierarchical annotation format.
2011-01-11 00:07:11 -05:00
Federico Hernandez
d358af4a53 Merge branch '1.9.4' of tasktools.org:task into 1.9.4 2011-01-11 00:37:23 +01:00
Federico Hernandez
e3269984ce Feature #629 - Holidays
- new configuration file for New Zealand (thanks to Stephen Haywood)
2011-01-11 00:36:41 +01:00
Federico Hernandez
e9b9adad06 Holidays
- new configuration file for New Zealand (thanks to Stephen Haywood)
2011-01-11 00:33:44 +01:00
Paul Beckingham
c08c280dd9 Feature #608
- Added feature #608, and now completing a task, with journal.time turned on
  will stop the task first (thanks to Andy Kriger).
2011-01-09 23:39:05 -05:00
Paul Beckingham
109f22051d Bug #603
- When an ID was not specified, delete gave no feedback (thanks to
  Steve Rader).
- Closer inspection showed this to be true for the urgency, query, delete,
  start, stop, done, modify, append, prepend, duplicate, annotate and denotate
  commands.
2011-01-09 23:15:30 -05:00
Paul Beckingham
9764fe310a Documentation
- Mentioned import from a URL in the NEWS file.
2011-01-09 23:07:22 -05:00
Paul Beckingham
10a69c4d3d Import
- Modified man page to acknowledge import from file or URL.
- Changed FEATURE_URL from #if to #ifdef, for consistency.
- Modified import.url.t to accomodate a new URL for the test.
2011-01-09 23:05:01 -05:00
Paul Beckingham
77f26994a6 Merge branch '1.9.4' of tasktools.org:task into 1.9.4 2011-01-09 21:25:59 -05:00
Paul Beckingham
1d8a60a9ba Bug
- Fixed bug that caused the 'done' command to always exit with a non-zero
  status (thanks to Steve Rader).
2011-01-09 21:25:09 -05:00
Johannes Schlatow
59e2e102e6 Merge branch '1.9.4' of tasktools.org:task into 1.9.4 2011-01-10 01:03:49 +01:00
Johannes Schlatow
f52e98d8df Zsh completion
* improved naming conventions of tags for use with zstyle
* added file completion for push/pull
2011-01-10 01:03:38 +01:00
Paul Beckingham
08c089258f Documentation
- Added missing documentation - bugs/features that were closed, but
  not listed in the ChangeLog.
2011-01-09 16:48:10 -05:00
Johannes Schlatow
976cd284ff Zsh completion
* fixed ID completion after edit/info/annotate/start/...
* now IDs will be updated any time the completion function is called
2011-01-09 18:01:53 +01:00
Federico Hernandez
914626e2b2 Merge branch '1.9.4' of tasktools.org:task into 1.9.4 2011-01-08 21:25:32 +01:00
Federico Hernandez
a5f8762570 Msg for sha1 searching in cmake 2011-01-08 21:25:18 +01:00
Paul Beckingham
8d4deda2bb Feature #309
- Added feature #309, which sets the xterm title when reports are run,
  according to the configuration variable 'xterm.title', which defaults to off.
2011-01-08 11:30:58 -05:00
Paul Beckingham
0c05069baf Bug #624
- Enhanced unit tests in response to bug #624 (thanks to Steve Rader).
2011-01-08 11:12:39 -05:00
Paul Beckingham
b5c46062c6 Feature - dependency column justification
- The dependency columns are now right-justified (thanks to Eric Fluger).
2011-01-08 11:10:39 -05:00
Federico Hernandez
022b219c0f CMake
- added sha1 of git commit to task diag
2011-01-08 01:10:26 +01:00
Federico Hernandez
e28d03df82 CMake
- build only target for the unit tests - to be used by the tinderbox
2011-01-07 23:04:04 +01:00
Federico Hernandez
733101a560 CMake
- made lua optional
- included a package_source stub for cpack
2011-01-07 22:23:42 +01:00
Federico Hernandez
32144fb6b0 Removed README.build from Makefile.am 2011-01-06 23:56:51 +01:00
Federico Hernandez
4cdec31803 CMake
- fixed scripts dir that just installed the directories but not the
  files
2011-01-05 23:08:48 +01:00
Federico Hernandez
70a83dad4d CMake
- the version number in the man pages is now set automatically via
  the ${PACKAGE_STRING} cmake variable
2011-01-05 22:46:25 +01:00
Steve Rader
86eef4c184 Bug #618
- Applied patch to fix bug #618, so that the configuration setting
  'edit.verbose' can be set to 'no' and eliminate the help text when using
  the 'task edit' command (thanks to Steve Rader).

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2011-01-05 08:56:28 -05:00
Paul Beckingham
8fefc8c12a Merge branch '1.9.4' of tasktools.org:task into 1.9.4 2011-01-05 08:30:21 -05:00
Federico Hernandez
75a3266929 Merged README.build to INSTALL 2011-01-05 09:58:07 +01:00
Federico Hernandez
7f0c3bf94b Prepared gitignore for upcoming CPack 2011-01-05 01:26:32 +01:00
Federico Hernandez
506799cac4 CMake
- finalized install target
2011-01-05 01:10:26 +01:00
Paul Beckingham
fca8c43d47 Merge branch '1.9.4' of tasktools.org:task into 1.9.4 2011-01-04 17:37:02 -05:00
Federico Hernandez
198e69f8d1 CMake
- install target: included man pages and rc files
2011-01-04 23:26:35 +01:00
Paul Beckingham
28ceaaaaab Merge branch '1.9.4' of tasktools.org:task into 1.9.4 2011-01-04 16:30:03 -05:00
Paul Beckingham
2bee2f4aa5 Unit Tests
- Added new "is" method for double-precision floating point comparison,
  with tolerance value.
2011-01-04 16:29:31 -05:00
Johannes Schlatow
86f778f504 Merge branch '1.9.4' of tasktools.org:task into 1.9.4 2011-01-04 21:57:23 +01:00
Johannes Schlatow
2181c48eb7 Zsh completion
- added features #585 and #586
2011-01-04 21:57:15 +01:00
Federico Hernandez
9429c96172 CMake
- install command for task binary had wrong target
2011-01-04 08:44:59 +01:00
Steve Rader
e2d11d8575 Bug #590
- Applied patch to fix bug #590, which makes the yes/no/all/quit
  confirmation prompts consistent (thanks to Steve Rader).
- Patch modified to work with autocomplete.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2011-01-03 23:11:38 -05:00
Paul Beckingham
b553954d37 Bug #597
- Fixed bug #597, which caused a missing project to be counted as a project
  in the projects command (thanks to Steve Rader).
2011-01-03 22:21:51 -05:00
Steve Rader
07755e2c56 Bug #613
- Missing projects are now consistently reported as "(none)" in the
  summary chart and the projects command.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2011-01-03 22:04:10 -05:00
Paul Beckingham
6b18a2842f Build
- Made pthreads usage conditional upon HAVE_LIBPTHREAD.
2011-01-03 19:34:00 -05:00
Paul Beckingham
6a7e741b02 Bug
- Fixed visual problem where two consecutive months are rendered on the
  x-axis as "OctNov".  Now it renders as "Oc Nov", truncating the earlier
  label.
2011-01-03 14:51:43 -05:00
Paul Beckingham
96851c1d34 Cmake
- Removed NOPE define.
2011-01-02 20:45:24 -05:00
Federico Hernandez
2663f437fc CMake
- foreach loop in test to compile the unit tests
2011-01-03 01:41:48 +01:00
Federico Hernandez
94224d0ac5 CMake
- finalized unit tests transition to CMake
- introduced 2 variables to collect inlcude dirs and libraries
2011-01-03 01:05:39 +01:00
Federico Hernandez
3a599b66f5 CMake
- added stub for the cmake file in test
- proof of concept to generate the test binaries by linking to libtask
2011-01-02 23:53:50 +01:00
Federico Hernandez
51fd0afade CMake
- moved configuration stuff from src to top level cmake file
- building static library task and using it for building task binary
- the static library will then be used as well in the unit tests
2011-01-02 23:45:25 +01:00
Federico Hernandez
101bc8045b with_lua description not longer needed with cmake 2011-01-02 20:21:43 +01:00
Federico Hernandez
3e68bc9ec5 CMake
- added library checks to cmake
- added configuration of include files to cmake
- move package information into configurable include file
- cmake.h.in generates auto.h to be compatible with current
  implementation of autoconf
2011-01-02 16:26:33 +01:00
Paul Beckingham
462caf5bd4 Copyright
- Updated copyright to 2011.
2010-12-31 22:03:05 -05:00
Paul Beckingham
98f3e6e61d Code Cleanup
- Used File object inside Sensor.
2010-12-31 17:25:13 -05:00
Paul Beckingham
8543bd457b Documentation Update
- Added discussion of "less -FrX" and the reported problems with Linux
  'more' (thanks to Steve Rader).
2010-12-31 12:41:44 -05:00
Paul Beckingham
08f32cb9e9 Bug
- Sorting bug in which 'urgency' column was not identified as numeric.
2010-12-31 00:34:23 -05:00
Paul Beckingham
57d577a140 Bug #595
- Fixed bug #595, where taskwarrior ignored changes to the wait date during
  the edit command, consequently not changing task status (thanks to Eric
  Fluger).
2010-12-31 00:33:43 -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
77f3269f09 Bug #589
- Fixed bug #589, where the man page did not adequately describe searching
  or usage of attribute modifiers (thanks to Steve Rader).
2010-12-30 09:37:40 -05:00
Paul Beckingham
317b7f5d40 Bug #587
- Fixed bug #587, where the man page needed clarification on quoting some
  arguments to prevent them from being broken up by the shell (thanks to
  Steve Rader).
2010-12-29 22:54:32 -05:00
Paul Beckingham
552c594d3f Documentation
- Updated the INSTALL file to discuss cmake, not autoconf.
- Removed the transient test/Makefile from git.
2010-12-29 16:48:54 -05:00
Paul Beckingham
429709a426 Documentation
- Added brief discussion of the reasons Lua is the chosen plugin
  langauge (thanks to Eric Fluger).
2010-12-29 10:19:52 -05:00
Paul Beckingham
f5f1b38fe8 CMake
- Added cmake transient files to the .gitignore file.
2010-12-29 10:19:15 -05:00
Federico Hernandez
b2a7b91a7c Cmake:
- added parts of the configure.ac checks to src/CMakeList.txt as
  comments/TODOs
2010-12-29 01:14:04 +01:00
Federico Hernandez
fb24835ac5 First commit of cmake stubs - more to come 2010-12-29 00:31:20 +01:00
Federico Hernandez
dd10bf52e7 Unit tests:
- TZ related bug in date.t.cpp (test 78). 1234567890 is 2/14 in CET.
  Changed epoch to 1234526400 which is 2/13/2009 12:00:00 UTC.
2010-12-28 22:33:18 +01:00
Federico Hernandez
5d775fdc3e Cmake:
- adapted makefile and unit tests to new place of test dir
2010-12-28 21:38:03 +01:00
Federico Hernandez
17ef077e27 Moved src/tests to test (cmake preperations) 2010-12-28 21:17:23 +01:00
Federico Hernandez
02dcdf83b5 Fixed auto.h includes to point to top level dir for cmake 2010-12-28 21:12:30 +01:00
Paul Beckingham
d572383e76 Merge branch '1.9.4' of tasktools.org:task into 1.9.4 2010-12-27 16:34:09 -05:00
Paul Beckingham
a6cf99a83c Code Cleanup
- Migrated format helper functions over from taskd.
- Converted much of the sprintf usage to format calls.
2010-12-27 16:31:11 -05:00
Federico Hernandez
74607341ff New platform: NetBSD 2010-12-27 22:11:47 +01:00
Paul Beckingham
5f007ed1d9 Bug
- The burndown chart was reserving space for the y-axis labels based
  on the maximum value in the data.  This is wrong.  Instead it should
  have used the maximum *label*.  Consider a graph with a maximum value
  of 99, having a width of 2 characters.  The graph labels should go up
  to 100, not 99, and therefore will take up 3 characters.
2010-12-27 01:11:03 -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
4a58fbdd53 Merge branch '1.9.4' of tasktools.org:task into 1.9.4 2010-12-27 00:24:30 -05:00
Paul Beckingham
3d7bb9d253 Bug #564
- Fixed bug #564, which allowed the deletion of parent recurring tasks (thanks
  to Peter De Poorter).
2010-12-27 00:22:57 -05:00
Paul Beckingham
7f32435ce9 Helper Command
- Added _query helper command for script writers, which accepts a filter like
  any other report, but returns raw JSON.
2010-12-26 10:00:41 -05:00
Johannes Schlatow
126a3d88b5 Zsh completion
- added completion of attributes
- added completion of projects and tags
- added completion of special dates and frequencies
2010-12-25 23:57:00 +01:00
Paul Beckingham
367c32c050 Error
- Forgot to uncomment the lua line.  Oops.
2010-12-24 00:29:09 -05:00
Paul Beckingham
d9bd9c3532 Merge branch '1.9.4' of tasktools.org:task into 1.9.4 2010-12-24 00:28:35 -05:00
Paul Beckingham
879f0fed78 Feature #574
- Added feature #574, default due dates (thanks to Erlan Sergaziev).
2010-12-24 00:28:06 -05:00
Paul Beckingham
07050a35f3 Portability
- Added preliminary enhancement to configure.ac (thanks to Sander Marechal),
  but this still needs work.
2010-12-23 23:53:28 -05:00
Paul Beckingham
05d664cae1 Bug #541
- Fixed bug #541, which prevented sorting by 'age' column in some situations.
2010-12-23 23:26:01 -05:00
Paul Beckingham
18c770141d Merge branch '1.9.4' of tasktools.org:task into 1.9.4
Conflicts:
	ChangeLog
2010-12-23 23:16:05 -05:00
Paul Beckingham
595dd9f3f4 Bug #581
- Applied patch to fix bug #581, in which backslashes in annotations and
  descriptions caused problems (thanks to Itay Perl).
- Corrected unit tests that were shown to be incorrect, after the patch
  corrected other behavior.
2010-12-23 23:14:20 -05:00
Paul Beckingham
1d4c79b897 Code Cleanup
- Applied refactoring patch from Itay Perl.
2010-12-23 22:58:55 -05:00
Johannes Schlatow
ee77debfce Bug #540
- fixed issue with user names containing @ characters
- updated ChangeLog
- updated task-sync.5
2010-12-24 01:00:03 +01:00
Johannes Schlatow
d44e592635 Bug #580
- reuse merge uri for autopush
2010-12-23 22:15:11 +01:00
Paul Beckingham
4840708090 Bug #579
- Fixed bug #579, which displayed incorrect counts when using the 'limit:N'
  filter (thanks to Thomas Sattler).
- Changed wording from 'lines' to 'tasks', because the former was inaccurate.
- Adjusted limit.t tests accordingly.
2010-12-22 09:31:00 -05:00
Johannes Schlatow
bad31d83b1 Bug #570
- fixed execvp parameter
2010-12-16 22:36:24 +01:00
Paul Beckingham
1c29c2c87d Diagnostics
- Added mention of $TERM and the size of the terminal.
2010-12-16 09:29:46 -05:00
Paul Beckingham
ca4b15bc0b Holidays
- Added feature #575, including Danish holidays (thanks to Irfan Siddiqui).
2010-12-15 16:13:27 -05:00
Paul Beckingham
c73f131f32 Eliminated ncurses
- Removed autoconf ncurses detection.
- Modified man pages.
- Inserted vitapi replacement code.
- Cached terminal size values for reuse.
- Modified packaging info for OSX.
- Removed -lncurses from unit test makefile.
- Removed obsolete taskrc example.
- Modified (simplified) source build instructions.
2010-12-14 14:40:03 -05:00
Johannes Schlatow
551c4b99c4 Bug #570
- fixed merge/push/pull bug (missing brace expansion in dash)
2010-12-14 10:27:28 +01:00
Federico Hernandez
4ca35fb956 Feature #567
- added a calendar offset that effectively changes the first
  month to be displayed in the calendar report (thanks to
  Michelle Crane)
- calendar.offset turns the featue off or on
- calendar.offset.value controls the number of month to be
  applied for the offset
2010-12-01 23:25:13 +01:00
Paul Beckingham
14ab7ba7bd GC
- Forgot to add 'gc' as a valid configuration variable.
2010-11-29 23:43:36 -05:00
Paul Beckingham
068d85b1f3 Unit Tests
- Added a context value for gc=1, which otherwise defaults to 0 when
  the Config object is empty.
2010-11-29 08:37:20 -05:00
Paul Beckingham
d2fdc10f39 iUnit Tests
- Corrected test that changed columns in the ls report, but not the
  corresponding sort order.
2010-11-29 08:19:12 -05:00
Paul Beckingham
2b7452f9a7 Feature #561
- Added taskrc.5 documentation for rc.gc=off.
2010-11-28 16:32:51 -05:00
Paul Beckingham
0ac2b43ad3 Feature #561
- Added ability to temporarily suspend GC (rc.gc:0) for a given command, which
  helps scriptwriters implement shadow files externally (thanks to Sander
  Marechal).
2010-11-28 16:26:21 -05:00
Paul Beckingham
5bf8feefca Shadow Files
- Added a missing check for file overwrites.
2010-11-28 12:04:44 -05:00
Paul Beckingham
bdc167fd6a Miscellaneous Edits
- Added Max Muller to AUTHORS for suggestions.
- Fixed a unit test Perl warning.
2010-11-28 08:44:25 -05:00
Paul Beckingham
aa98ca42c8 Shell
- Added support for 'bye' and 'exit' as well as 'quit' from the task
  shell.  Thanks to foucist.
2010-11-27 21:33:20 -05:00
Paul Beckingham
5adc86bbbf Sorting
- Added 'description+' to all reports with duplicate sort keys, to stabilize
  the sequence.
2010-11-27 19:52:15 -05:00
Paul Beckingham
bfc2367bdb Code Cleanup
- Removed used of foreach macro.
2010-11-27 19:42:34 -05:00
Paul Beckingham
4c3354fa50 Journal Feature
- Added change log display to the 'info' command, controlled by the
  'journal.info' configuration setting.
2010-11-27 16:38:36 -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
fe85e28605 Show Command Defaults
- Added highlighting for the show command that indicates which values differ
  from the defaults.
2010-11-26 19:32:37 -05:00
Paul Beckingham
7a95c38290 Diagnostics
- Added configuration settings for 'regex' and 'locking', which might
  be useful.
2010-11-26 17:38:52 -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
09ce815fc5 Feature #247
- Added feature #247, providing infinite width reports when redirecting output
  to a file, by setting defaultwidth to 0.
2010-11-26 14:54:55 -05:00
Paul Beckingham
38ffa390ea Bug #542
- Fixed bug #542, which sorted the countdown columns incorrectly (thanks to
  Michelle Crane).
- Duration could not parse all varieties of it's own output, which is why the
  sorting was broken, in particular negative durations and real numbers in
  durations (such as (1.2y').
- Sorting in Table::sort_compare for Table::periodAscending and
  Table::periodDescending was broken.
- Missing unit tests for countdown_compact.
- Imported Nibbler::getNumber from the Attitash project.
- Additional Duration unit tests.
- Additional Nibbler unit tests.
- Additional countdown.t unit tests.
2010-11-26 14:00:49 -05:00
Paul Beckingham
c2a84c7cf6 Unit Tests
- Added unit tests for bug #495, which cannot be replicated.
2010-11-26 11:40:27 -05:00
Paul Beckingham
da5e2925ad Bug #530
- Fixed bug #530, where unrecognized periods on recurring tasks were not
  being properly handled (thanks to T. Charles Yun).
2010-11-26 11:23:09 -05:00
Paul Beckingham
6ef5650129 Bug #515
- Fixed bug #515, which displayed an incorrect message after duplicating a
  non-existent task (thanks to Peter De Poorter).
2010-11-26 11:08:51 -05:00
Paul Beckingham
d7de67d242 Feature #546
- Added feature #546, which is a 'count' command that counts tasks, and is
  intended to help scripts that manipulate task output.
- Added unit tests.
- Added man page description.
2010-11-26 10:39:00 -05:00
Paul Beckingham
4c40784328 Merge branch '1.9.4' of tasktools.org:task into 1.9.4 2010-11-24 18:18:21 -05:00
Paul Beckingham
b581e5d3c4 Burndown
- Added discussion of the new burndown.bias configuration variable
  to the NEWS file.
- Changed 'major' and 'minor' string names to avoid some clash with
  gnu_version_major etc.
- Added missing include for Linux.
- Added new burndown configuration variables to the allowed list.
2010-11-24 18:16:57 -05:00
Paul Beckingham
fd27fe3392 Portability
- Added missing include.
- Apparently, you cannot have a string name 'major' or 'minor', which
  clashes with gnu_version_major etc.
2010-11-24 23:14:48 +00:00
Paul Beckingham
955634c35b Burndown Chart
- Added debug output showing calculations.
- Made the bias configurable, defaulting to 0.666.
- Added 'burndown.bias' to the taskrc.5 man page.
2010-11-24 15:11:02 -05:00
Paul Beckingham
42c0b33f07 Burndown Chart
- Implemented rate calculations
- Implemented completion estimate
- Added debug diagnostics for the inevitable questions that will arise
2010-11-24 13:01:34 -05:00
Paul Beckingham
c5158a6457 Burndown Chart
- Now renders (and wraps if necessary) a chart title, with additional
  filter description.
- Removed more redundant code.
- Fixed divide-by-zero bug when the filter resulted in zero matches.
- Made the burndown commands read-only, so that filters apply.
2010-11-22 23:54:16 -05:00
Paul Beckingham
9fd9e8e3a8 Recurrence
- Child tasks now have their own entry date, instead of inheriting it
  from the parent.  This improves the ability to report new tasks in
  the burndown charts, history report.
2010-11-22 23:11:45 -05:00
Paul Beckingham
ead7cfe2b8 Burndown Chart
- Completed chart rendering for all three variations.
- Updated assorted documentation.
- Removed most of the obsolete code.
- Not completed:
  - find rate calculation/algorithm
  - fix rate calculation/algorithm
  - completion date algorithm
2010-11-22 22:42:03 -05:00
Paul Beckingham
3a4fff1683 Merge branch '1.9.4' of tasktools.org:task into 1.9.4 2010-11-22 01:48:59 -05:00
Paul Beckingham
c4a5a75fd6 Burndown Chart
- Infrastructure rewritten with the following benefits:
  - greater performance
  - reduced memory footprint
  - generalized periods (daily, weekly, monthly)
- Currently graphs do not render, daily chart is still the old implementation
2010-11-22 01:47:10 -05:00
Johannes Schlatow
4cb5caa342 Bug #548
- Fixed issue with push command where curl transfers
  only pending.data
- Differentiate between "command not found" and other errors
2010-11-22 01:16:07 +01:00
Paul Beckingham
652b7d9c8d Burndown Chart
- Implemented burndown.daily, which is functional, but has outstanding
  problems that need to be addressed:
    - Slow
    - Does not optimize output (i.e. contains /\S\s+$/)
    - Needs generalized helper functions to reduce the size of the handler
2010-11-21 00:28:34 -05:00
Paul Beckingham
94480c23d2 Bug 555
- Fixed #555 that caused a segfault when 'log' was used with a project,
  because the onProjectChange code assumes the files are still open, and
  they were not.  Checked all other commands for similar problem.
- Added Itay Perl to the AUTHORS file.
- Added unit test.
2010-11-20 09:48:19 -05:00
Paul Beckingham
d3303f6a98 Code Cleanup
- Obsoleted the monthlyEpoch and yearlyEpoch functions, which are better
  served by the Date::startOf{Month,Year} methos.
2010-11-15 12:04:27 -05:00
Paul Beckingham
125058093f Dates
- Added Date::startof{Day,Week,Month,Year} methods to facilitate the
  history, ghistory and burndown charts.
2010-11-15 11:43:21 -05:00
Paul Beckingham
891136788f Documentation
- New task-sync man page not mentioned in default .taskrc file.
2010-11-12 08:51:48 -05:00
Paul Beckingham
d1b7e66694 Bug #538
- Fixed bug #538, where some color legend items were not readable.
2010-11-11 14:47:13 -05:00
Paul Beckingham
914007c7e5 Merge branch '1.9.4' of tasktools.org:task into 1.9.4 2010-11-11 13:16:34 -05:00
Paul Beckingham
e9d60e693e Packaging
- Added Andraž 'ruskie' Levstik to the AUTHORS file for his contribution
  which is to add task to the sourcemage distribution.
2010-11-11 13:08:15 -05:00
Johannes Schlatow
e6ea471cbe ChangeLog
- added note for previously fixed bug #537
2010-11-11 18:42:23 +01:00
Johannes Schlatow
a3ba025d22 Bug
- fixed #537, URIs in task-sync.5
2010-11-11 18:34:22 +01:00
Paul Beckingham
b9f10addf8 Bug #539
- Fixed but #539, where the man page task-color(5) contained a line that
  began with a ' and was not displayed.
2010-11-11 10:36:37 -05:00
Paul Beckingham
c8e35fab88 Bug #535 - Missing holidays-NO.rc file in package
- Fixed bug #535 which omitted the file from the top-level Makefile.am
  (thanks to Jostein Berntsen).
2010-11-10 17:47:55 -05:00
Paul Beckingham
cc8299f0cc Bug #529
- Fixed bug #529, where the 'depends' attribute was not mentioned in the
  task man page (thanks to Dirk Deimeke).
2010-11-09 07:56:48 -05:00
Paul Beckingham
55ad0cb8b7 Version number
- Removed all the changes from the NEWS file, ready for whatever
  comes next.
- Bumped version number in task-tutorial.5, othewise it looks dated.
2010-11-08 22:30:13 -05:00
Federico Hernandez
3c9bf20798 Bumped version number to 1.9.4 2010-11-09 02:26:35 +01:00
Federico Hernandez
6b77459286 Added SHA1 of tagged release commit 2010-11-09 02:18:37 +01:00
Federico Hernandez
bf36b47593 Release date for 1.9.3 2010-11-08 23:01:19 +01:00
Federico Hernandez
58b077df0e Pushed version to 1.9.3 prior to release 2010-11-08 22:27:24 +01:00
Paul Beckingham
9c93fe7c88 Bug #467, #493
- Fixed bug #467, where recurring tasks were not honoring wait values.
- Fixed bug #493, which made waiting, recurring tasks invisible (thanks to
  Alexander Schremmer).
2010-11-07 15:35:30 -05:00
Paul Beckingham
73110ae033 Portability
- Modfied diag.cpp to get a clean build on Ubuntu, and the latest gcc.
2010-11-06 17:27:58 -04:00
Johannes Schlatow
08bbd38615 Bug
- fixed is_local() in Uri
2010-11-03 13:02:19 +01:00
Johannes Schlatow
6cb5c7a104 Bug
- fixed #527
- extended directory check in Uri for local uri/paths
2010-11-03 10:59:36 +01:00
Johannes Schlatow
b56b5bc29d Bug
- fixed #526, false warning about wait date, when both are modified simultaneously
2010-11-02 22:41:38 +01:00
Paul Beckingham
558bf2ca50 Feedback
- Improved feedback when announcing 'depends' attirubte changes.  Now
  uses task IDs instead of UUIDs, resulting in a shorter, clearer
  message (thanks to Peter De Poorter).
2010-10-31 11:22:36 -04:00
Paul Beckingham
5ba23a4ecd Merge branch '1.9.3' of tasktools.org:task into 1.9.3 2010-10-31 10:59:22 -04:00
Paul Beckingham
46c031c45c Documentation
- The help command now includes the task-sync man page.
- The help command now includes export.csv and export.yaml.
2010-10-28 21:46:26 -04:00
Paul Beckingham
f553915b2f Merge branch '1.9.3' of tasktools.org:task into 1.9.3 2010-10-28 21:45:34 -04:00
Paul Beckingham
01bb76b3b6 Feedback
- Modified feedback when the number of pending tasks in a project changes
  (thanks to Peter De Poorter).
2010-10-27 22:26:11 -04:00
Paul Beckingham
f8d8d2f6b5 Merge branch '1.9.3' of tasktools.org:task into 1.9.3 2010-10-27 17:44:48 -04:00
Paul Beckingham
fe9eb9cacb Holidays
- Added Norwegian holidays (thanks to Jostein Berntsen).
2010-10-27 17:44:10 -04:00
Federico Hernandez
50f23d4b75 New distribution: SuSE 11.3 2010-10-27 21:09:17 +02:00
Federico Hernandez
62d2c6bb5f Merge branch '1.9.3' of tasktools.org:task into 1.9.3 2010-10-26 21:16:34 +02:00
Federico Hernandez
4a1edfb9be Lua
- fixed task_exit hook throwing exception under certain
  circumstances under Ubuntu.
- task_exit now exits with exit (0) instead.
2010-10-26 21:14:31 +02:00
Johannes Schlatow
c20bfffbce Merge
- fixed output
2010-10-26 15:17:21 +02:00
Paul Beckingham
cfdd7efea9 Merge branch '1.9.3' of tasktools.org:task into 1.9.3 2010-10-25 20:13:26 -04:00
Federico Hernandez
5bc1bfe331 Bumped version to 1.9.3.beta3 2010-10-25 20:47:07 +02:00
Johannes Schlatow
9eed851fbb Merge
- fixed if statement
2010-10-25 18:53:44 +02:00
Paul Beckingham
6dca4dd056 Code Cleanup
- Simplified one call.
2010-10-25 01:15:17 -04:00
Paul Beckingham
a5123dd2b7 Bug
- Now CYGWIN has special handling for srand/srandom.
2010-10-25 00:49:42 -04:00
Paul Beckingham
488b23f42f Bug
- Flipped the test and error message for wait dates that must be before due
  dates.
2010-10-25 00:37:56 -04:00
Paul Beckingham
ffa1bac193 Unit Tests
- Corrected test to match newly modified error message.
2010-10-24 23:49:15 -04:00
Paul Beckingham
2aac37dcb7 Merge branch '1.9.3' of tasktools.org:task into 1.9.3 2010-10-24 19:54:41 -04:00
Paul Beckingham
e6d47f233b Bug - Duplicate UUIDs under Cygwin
- Fixed bug caused by using a high-resolution timer (gettimeofday) on
  Windows, which only has a 10ms resolution timer.  Consequently the
  random number seed used was from a significantly reduced pool, which
  leads to duplicate UUIDs.
2010-10-24 18:35:32 -04:00
Paul Beckingham
191d8ef355 Merge branch '1.9.3' of tasktools.org:task into 1.9.3 2010-10-23 15:03:16 -04:00
Paul Beckingham
ca6bfeb2f2 Documentation
- Corrected use of "reportdateformat" in taskrc.5 to "dateformat.report".
- Corrected duplicate comment in Config.cpp defaults.
2010-10-23 15:02:28 -04:00
Paul Beckingham
0a5e380bbf Correction
- Committed too many chunks in the last modification.
2010-10-23 11:29:20 -04:00
Paul Beckingham
79a4f666aa Correction
- Certain fixed issues were omitted.
2010-10-23 11:27:02 -04:00
Paul Beckingham
f74bed4355 Diagnostics
- Redirected STDERR into STDOUT to eliminate stray output.
2010-10-22 08:23:37 -04:00
Federico Hernandez
18e9f6e8ec Bumped version to 1.9.3.beta2 2010-10-21 00:52:54 +02:00
Johannes Schlatow
6e11267724 Makefile
- fixed undefined reference to handeDiagnostics()
2010-10-20 22:48:06 +02:00
Johannes Schlatow
af490fb634 Sync
- added description substrings to output of merge command
2010-10-20 22:41:45 +02:00
Paul Beckingham
1e38cbd6a0 Diagnostics
- Added checks for external utilities, for sync operations.
2010-10-20 01:07:46 -04:00
Paul Beckingham
1e37d7a784 Diagnostics
- Added new 'diagnostics' command to assist with bug reporting,
  testing.  It answers questions such as "did you compile it yourself?",
  and more.
- Specifically, it runs a UUID generation test to prove that the UUIDs
  are really unique.
2010-10-20 00:22:20 -04:00
Paul Beckingham
314f64f775 Import
- Added a \n where missing in an import error message.
2010-10-18 23:10:39 -04:00
Federico Hernandez
f285ae535f Added correct credits to task-tutorial.5 2010-10-17 23:39:36 +02:00
Johannes Schlatow
34f80d03e3 Bug
- fixed unrecognized config variable 'push.default.uri'
2010-10-17 22:50:05 +02:00
Paul Beckingham
6de940acf1 Documentation
- Fixed typos.
2010-10-17 11:25:07 -04:00
Paul Beckingham
837b89dd2d Sync
- More work on the output text from merge.  Improved, but not yet finished.
2010-10-17 01:12:00 -04:00
Paul Beckingham
d177acfcbd Cleanup
- Removed redundant message from duplication command.
2010-10-16 21:24:12 -04:00
Paul Beckingham
354debcf96 Documentation
- Completed task-tutorial.5.
2010-10-16 17:44:40 -04:00
Paul Beckingham
12a90fb477 Bug
- Fixed underlining in color legend command when color is off - the dashes
  were not being used.
2010-10-16 11:06:28 -04:00
Paul Beckingham
47b5586d45 Bug
- Fixed underlining in undo command when color is off - the dashes
  were not being used.
2010-10-16 10:37:20 -04:00
Paul Beckingham
12146a6f01 Bug
- Fixed underlining in projects report when color is off - the dashes
  were not being used.
- Cleaned up formatting in main.h.
2010-10-16 10:36:28 -04:00
Paul Beckingham
e9301257f8 Documentation
- task-tutorial.5 formatting complete.  Now for the response output.
2010-10-15 23:05:10 -04:00
Paul Beckingham
bfb29998bf Documentation
- More formatting for task-tutorial.5.  Still not finished.
2010-10-15 08:55:45 -04:00
Paul Beckingham
c5427c91fc Sync
- Added Path::operator== for expanded path comparisons.  Why was
  that not already implemented?
- Added checks that the push/pull destination is not equal to
  rc.data.location.  That would be bad.
- Added comments, tweaked the wording on some messages.  Stubbed out
  confirmation of pull overwrite, while I think about it.
2010-10-15 08:46:04 -04:00
Paul Beckingham
9e5f1787d0 Bug
- Fixed erroneous unit test that considered '/a/b/x' a valid substitution,
  which is false because of the 'x'.
2010-10-15 00:50:12 -04:00
Paul Beckingham
783867c512 Sync
- Colorized the merge process.
- Added whitespace to the merge output for alignment and a less cramped
  look.
- De-tabbed.
- Changed "(*foo).method ()" to "foo->method ()" or clarity.
- Removed two tests that relied upon the (removed) "Redo" message.
2010-10-15 00:41:52 -04:00
Paul Beckingham
bb6f456e04 Merge branch '1.9.3' of tasktools.org:task into 1.9.3 2010-10-14 22:03:27 -04:00
Paul Beckingham
6d653f720d Sync
- Now verifies that any potential subst is not also a valid absolute
  path.
2010-10-14 21:55:24 -04:00
Paul Beckingham
4e62d8fddc Sync
- Removed unnecessary diagnostic message.
2010-10-14 21:54:55 -04:00
Johannes Schlatow
c6bde0aaba Bug
- fixed "Database is up to date" exception in merge command,
  which led to autopush being suppressed when changes were
  made on the local branch only
2010-10-15 00:21:10 +02:00
Johannes Schlatow
d39d5af03b Uri support
- TransportCurl now supports non-anonymous ftp
2010-10-15 00:12:42 +02:00
Johannes Schlatow
36800e0a35 Documentation
- additions to task-sync.5
2010-10-15 00:10:40 +02:00
Paul Beckingham
a921ea4ed6 Samples
- Added a sample script to generate a dependencies screen shot.
2010-10-13 21:21:49 -04:00
Paul Beckingham
0159cfde2f Merge branch '1.9.3' of tasktools.org:task into 1.9.3 2010-10-13 21:06:06 -04:00
Paul Beckingham
2708b37ce5 Bug
- Fixed GC bug that attempted to clean up dangling dependencies but
  actually failed to update the tasks.
2010-10-13 20:57:50 -04:00
Paul Beckingham
98861d87d6 Documentation
- More formatting of task-tutorial.5.  Not fininshed yet.
2010-10-13 08:57:27 -04:00
Paul Beckingham
8823ba5bfa Documentation
- New task-tutorial man page not fully formatted yet. but the
  content is good.
- Modified run.193 shell script to match movie.
2010-10-12 23:25:39 -04:00
Paul Beckingham
96d2acef42 Feature #499
- Relocated change to inside the Permission object, thus making the change
  smaller.
2010-10-12 23:24:48 -04:00
Federico Hernandez
0e1d12f5b1 Feature #499
- added extra line of output when doing bulk done changes.
2010-10-12 16:06:16 +02:00
Paul Beckingham
1f8ae07b8e Merge branch '1.9.3' of tasktools.org:task into 1.9.3 2010-10-09 22:53:24 -04:00
Paul Beckingham
0bc7dd11a8 Movie
- Completed the program that runs through all the commands.
- Compelted the command and spoken copy.
2010-10-09 22:52:33 -04:00
Federico Hernandez
a288a19c16 Man pages
- synced date in man pages
2010-10-09 22:40:18 +02:00
Paul Beckingham
fec2af34bc Movie
- Finalized (hopefully) the movie script for 1.9.3.
2010-10-09 12:29:07 -04:00
Paul Beckingham
b609cdb8a0 Urgency
- Removed the urgency rating from the info report.  Otherwise, we
  will need to explain it, and without the corresponding new next
  report, what can we say?  It will be reenabled later.
2010-10-09 12:27:57 -04:00
Paul Beckingham
bde1e0dd9a Dependencies
- Added a new 'unblocked' report to complement the 'blocked' report.
- Updated docs.
2010-10-09 12:27:10 -04:00
Paul Beckingham
a75c018106 Report
- New report, unblocked, which is the opposite of the blocked report.
2010-10-09 12:00:24 -04:00
Paul Beckingham
70306de6bd Unit Tests - roundtrip.t
- Corrected tests to accommodate the new rule that stipulates uuids
  must always be unique.
2010-10-09 10:36:22 -04:00
Paul Beckingham
30f757ba13 Documentation
- Added first draft of task-sync.5.
- Updated other man pages to reference the new task-sync.5 page.
- Added new man page to the distribution.
2010-10-09 00:51:08 -04:00
Paul Beckingham
6af7540fe7 Bug
- Fixed a divide-by-zero bug in the project completion calculations, that
  was uncovered by sync testing.
2010-10-07 23:40:03 -04:00
Paul Beckingham
533bbedd81 Sync
- Softened the wording in an error message.
- Added WARNING commends to the Config sample.
2010-10-07 23:38:34 -04:00
Paul Beckingham
42521fea8b Sync
- Managed to cut/paste a superfluous semicolon.  Oops.
2010-10-06 23:54:15 -04:00
Paul Beckingham
74dcdd897a Sync
- Changed the wording on most error messages and diagnostics so that
  the user is not alarmed, and is somewhat guided toward a solution.
2010-10-06 23:29:45 -04:00
Paul Beckingham
4028a2fce4 Documentation
- Added (incomplete) scripts to generate more sample runs, showcasing
  features.
2010-10-06 23:28:31 -04:00
Federico Hernandez
1b5178c456 Added missing uri.t to .gitignore 2010-10-06 21:45:39 +02:00
Johannes Schlatow
1a16b3ae6b Feature #462: url support
- curl enhancements (push/pull multiple files)
- now supports push/pull to/from filesystem
2010-10-06 18:53:02 +02:00
Johannes Schlatow
042d7b40de Feature #462: url support
- added uri class for proper uri and path handling
2010-10-06 18:52:12 +02:00
Johannes Schlatow
b041e54be6 Merge command
- improved merge.autopush=ask
- fixed newline issues
- fixed: entries for new tasks got lost in undo.data
2010-10-06 12:57:14 +02:00
Federico Hernandez
5c36013ddd Merge branch '1.9.3' of tasktools.org:task into 1.9.3 2010-10-06 00:40:22 +02:00
Federico Hernandez
b630138e8b Bumping version to 1.9.3.beta1 2010-10-06 00:29:13 +02:00
Federico Hernandez
9e9807a52a Merge branch '1.9.3' of tasktools.org:task into 1.9.3 2010-10-06 00:25:12 +02:00
Paul Beckingham
0aa87d04da Themes
- Changed the default color.blocked color for high-color systems.
2010-10-05 18:24:48 -04:00
Paul Beckingham
cb14ed128e Bug
- Fixed bug whereby after a merge, the undo.data file had all lines
  concatenated without \n characters.
2010-10-05 18:24:01 -04:00
Paul Beckingham
6fd876b8dd Themes
- Updated themes to include new color.blocked.
2010-10-05 18:23:07 -04:00
Paul Beckingham
616e230920 Holidays
- Added missing files to makefile.
2010-10-05 18:22:21 -04:00
Federico Hernandez
a043b42373 import.yaml.t was broken for European TZs 2010-10-06 00:16:36 +02:00
Federico Hernandez
952845b1b0 Naming new holiday file in NEWS and ChangeLog 2010-10-05 22:29:45 +02:00
Federico Hernandez
0e355b45e1 Holiday file for Spain 2010-10-05 22:26:07 +02:00
Federico Hernandez
fc26eebea6 Minor corrections for German holidays 2011 2010-10-05 22:02:41 +02:00
Federico Hernandez
0c0cb7b0f5 Minor corrections for Swedish holidays 2011 2010-10-05 21:40:44 +02:00
Paul Beckingham
84b609f518 Dependencies
- Implemented dependencies in "task edit".
2010-10-05 01:34:59 -04:00
Paul Beckingham
dece0a8dca Bug #494
- Imported text was not assigned a uuid.
- Although bug #494 was fixed a month ago, it was never acknowledged in
  the issue list.  This commit corrects that, and thanks Elizabeth for
  reporting this serious issue (thanks to Elizabeth Maxson).
2010-10-05 01:12:49 -04:00
Paul Beckingham
5d4cafb7a6 Bug #493
- Not a fix for the bug, but improved task consistency checking.  The
  real fix can only be made when the Task::waiting status is abolished.
2010-10-05 00:39:22 -04:00
Paul Beckingham
9e4786e4fe Documentation
- Added explanation of the new settings.
2010-10-04 22:14:44 -04:00
Paul Beckingham
fa46fcf8ca i18n
- Added localized holiday file for NL (thanks to T. Charles Yun).
2010-10-04 18:13:25 -04:00
Paul Beckingham
59fa056c4b Merge branch '1.9.3' of tasktools.org:task into 1.9.3 2010-10-04 17:46:46 -04:00
Paul Beckingham
9f567aa3c6 Holidays
- New Netherlands holiday file from T. Charles Yun.
- Modified French file.
2010-10-04 17:45:19 -04:00
Johannes Schlatow
70360cadec Bash completion
- Added filename/path completion for import
2010-10-04 02:26:53 +02:00
Johannes Schlatow
89f82847fb Merge branch '1.9.3' of tasktools.org:task into 1.9.3 2010-10-04 02:20:52 +02:00
Johannes Schlatow
bf316974d9 Url support #462
- Added TransportCurl for http, https and ftp
- Added url support for import command
2010-10-04 02:20:41 +02:00
Paul Beckingham
7fdfcbacc6 Dependencies - #410
- Completed support for 'task 1 depends:2,-3' to manipulate the
  dependencies.
- Now supports rc.dependency.reminder to indicate when to nag about
  dependency chain violations, defaulting to on.
- Now supports rc.dependency.confirm to require confirmation before
  fixing dependency chains, defaulting to on.
- New source file dependency.cpp which implements a low-level API for
  determining dependency status, and assorted handlers for task state
  changes.
- Adds blocking tasks to the 'next' report.
- Added more dependency unit tests, changed the wording in a couple of
  them and numbered them for easy reference.
2010-10-03 18:52:59 -04:00
Paul Beckingham
dea7b72b70 Merge branch '1.9.3' of tasktools.org:task into 1.9.3 2010-10-03 18:49:52 -04:00
Paul Beckingham
d73601c0b2 Dependencies
- Modified rules.cpp for color.blocked so that it correctly determines
  the need for coloration.
2010-10-03 18:48:42 -04:00
Johannes Schlatow
adc7992608 Bash completion
- Added hostname completion for merge, push and pull
2010-10-03 02:23:41 +02:00
Johannes Schlatow
68d5e3f296 Pull command
- Added pull command for cloning databases
2010-10-03 02:22:36 +02:00
Johannes Schlatow
0d364746c7 Merge/push command
- Added TransportRSYNC
2010-10-03 02:15:07 +02:00
Paul Beckingham
eb2cb99532 Performance
- Removed "std::endl" in cases where the autoflush is only going to
  slow things down.
2010-10-02 12:02:06 -04:00
Paul Beckingham
1d3aa891d6 Performance
- Removed "std::endl" in cases where the autoflush is only going to
  slow things down.
2010-09-30 23:44:38 -04:00
Paul Beckingham
dd86c2c875 Dependencies
- Code now in final form, but still incomplete.
2010-09-29 01:06:39 -04:00
Paul Beckingham
0388bcf259 Documentation
- Corrected the sample script that failed to wait for at least a second
  between annotations.
2010-09-28 01:02:02 -04:00
Paul Beckingham
f351bf6dec Minor Edits
- Corrected typo in tips file.
- Added explanatory comment regarding dependency chains.
2010-09-22 22:23:24 -04:00
Paul Beckingham
1e7bebb3b2 Bug - timesheet report
- The headers for the second table ('Started') were not underlined like
  those of the first table ('Completed').
2010-09-18 23:13:00 -04:00
Cory Donnelly
77815c080f Holidays
- Fixed inconsistent punctuation and used official names for a few US Federal holidays
2010-09-17 22:30:24 -04:00
Paul Beckingham
8a2e979726 Holidays
- Added UK file.
- Updated NEWS and ChangeLog.
2010-09-17 20:23:24 -04:00
Cory Donnelly
895a86903e i18n
- Missed Victoria Day
2010-09-17 12:42:10 -04:00
Cory Donnelly
3be6ef4bfd Documentation
- Added CA to list of included holiday files
2010-09-17 11:36:43 -04:00
Cory Donnelly
1639d5952a i18n
- Added Canadian holiday file
- Added Canadian holiday file to Makefile
- Fixed errors in 2011 US calendar
2010-09-17 11:31:47 -04:00
Paul Beckingham
f9f3ae720d Documentation
- Added mention of the new holiday files.
2010-09-17 00:31:07 -04:00
Paul Beckingham
34c21f5d43 Documentation
- Cleaned up ugly message.
2010-09-17 00:28:38 -04:00
Paul Beckingham
7752b37139 i18n
- Added French holiday file.
- Added new holiday files to the makefile.
2010-09-17 00:26:37 -04:00
Paul Beckingham
22bd31059d Holidays
- Added 2010/2011 US holidays.
- Added 2010/2011 German holidays, to welcome our German users.
- Added 2010/2011 Swedish holidays, but butchered it.  Fredde?
2010-09-16 22:43:34 -04:00
Paul Beckingham
ec3c1c4def Dependencies
- Added support for rc.dependency.reminder.
- Modified man page.
2010-09-16 22:09:03 -04:00
Paul Beckingham
975c2bbcb9 Dependencies
- Added dependencyGetBlocking and dependencyGetBlocked API calls, in
  the ongoing effort to find a workable API for dependencies.  The
  goal is to make the calling code as small as possible when dealing
  with dependencies.
- Corrected the algorithm for determining whether a task is blocked or
  blocking to also check that the other task is pending or waiting.
  For example:
    task add one
    task add two depends:1
    task do 1
  As the first task is completed, task 2 still depends on 1, but is
  no longer blocked due to the completed status.
- Modified the "info" report to use the modified API.
2010-09-16 21:54:18 -04:00
Paul Beckingham
8904daf9e5 Debug message
- Added debug message when a task is woken from the waiting state.
2010-09-16 21:18:42 -04:00
Paul Beckingham
afbbc87ec4 Samples
- Added more banner samples for taskwarrior.org.
2010-09-13 23:06:56 -04:00
Paul Beckingham
347dda7fa7 Documentation Update
- Corrected typo in man page.
2010-09-13 22:48:02 -04:00
Paul Beckingham
084d104c2f Samples
- Added more sample banners for taskwarrior.org.
2010-09-12 15:12:05 -04:00
Paul Beckingham
9aedaba7f2 Unit Tests
- Cleaned up message that is generated when a recurring task is past
  its until: date and all child tasks have been dismissed, as the
  parent task is deleted.
- Added unit tests recur.until.t to prove that the above is working.
2010-09-12 11:43:46 -04:00
Paul Beckingham
b1933c5d25 Themes
- Added Kathryn's new themes into the default .taskrc file template.
2010-09-10 00:51:11 -04:00
Paul Beckingham
87158f505a Bug - #489 - tags.none: is not filtering tagless tasks
- Context::autoFilter was suppressing 'tags' filter terms due to the
  +tag/-tag syntax, which we now know only augments attribute modifiers,
  and doesn't replace them.
2010-09-09 21:56:16 -04:00
Paul Beckingham
0dd71612e4 Merge branch '1.9.3' of tasktools.org:task into 1.9.3 2010-09-09 20:51:11 -04:00
Paul Beckingham
73ff6ea973 Task 2.0.0 Code Salvage 2010-09-09 20:49:17 -04:00
Cory Donnelly
3b7b7b5b23 i18n
- Added a tip.
2010-09-09 15:06:42 -04:00
Paul Beckingham
7f54b89f24 Unit Tests
- Removed inadvertent binary checkin.
2010-09-07 21:00:44 -04:00
Johannes Schlatow
0930f3c5f7 Unit tests
- Added tests for Transport class
2010-09-07 15:44:50 +02:00
Paul Beckingham
04c6c11175 Tarball
- Added new themes.
2010-09-07 01:26:27 -04:00
Paul Beckingham
8076a70225 Merge branch '1.9.3' of tasktools.org:task into 1.9.3 2010-09-07 01:23:46 -04:00
Paul Beckingham
e562fc8fd4 Themes
- Two new color themes (thanks to Kathryn Andersen).
2010-09-07 01:22:58 -04:00
Paul Beckingham
9d41d9046d Build System
- Added missing '-lpthread' argument to unit test makefile.
2010-09-05 11:43:15 -04:00
Paul Beckingham
9b46520ae1 Autoconf
- Added a check for pthread_create, which should trigger inclusion of
  '-lpthread' on the link command line.
2010-09-05 10:55:14 -04:00
Paul Beckingham
3d5656fb57 Unit Tests
- The lisp.t.cpp tests were written for an older and different Tree
  object.  This change brings it more up to date.
2010-09-05 09:14:36 -04:00
Paul Beckingham
f0a5c917c9 Unit Tests
- Fixed three sets of unit tests that recently broke when TDB::add
  started checking whether the uuid was really unique.  This was
  intended to prevent accidental double import, but also caused these
  tests to break because they all shared the same uuid, which is wrong.
2010-09-05 08:54:20 -04:00
Paul Beckingham
6e1a386ec8 i18n
- Added more tips.
2010-09-05 08:53:48 -04:00
Paul Beckingham
d012fc9717 Code Salvage
- Integrated some code from the (soon to be obsolete) 2.0.0 branch,
  which is general in nature and will be needed.
- And the corresponding unit tests.
2010-09-05 08:48:27 -04:00
Paul Beckingham
366c59e25d i18n
- Salvaged the tips files from the (now obsolete) 2.0.0 branch.
2010-09-04 12:29:05 -04:00
Paul Beckingham
1cc67e9895 Enhancement
- Importing the same YAML twice now generates an error.
2010-09-02 21:32:33 -04:00
Paul Beckingham
b32d731010 Demo
- Checking in demo scripts for creating the teaser banners that go
  up on the main tw page.
2010-09-02 21:22:25 -04:00
Cory Donnelly
21c3d1ab80 Unit Test - Bug #476
- Added test to wait.t for Bug #476 - User can specify due: dates that are before wait: dates
2010-09-02 09:08:28 -04:00
Paul Beckingham
ceb7a188bf Corrected ChangeLog. 2010-09-01 23:09:19 -04:00
Paul Beckingham
db9333ec64 Bug #476
- Fixed bug #476, so that task now issues a warning when a wait date falls
  after a due date (thanks to T. Charles Yun).
2010-09-01 23:08:21 -04:00
Paul Beckingham
04ddf74a07 Documentation Update
- Fixed typo in copyright.
- Added new feature to NEWS file.
- Added 'merge.autopush' as a valid configuration variable.
2010-09-01 22:39:37 -04:00
Paul Beckingham
4d46be0767 Copyright
- Fixed typo in copyright.
- Added 'merge.autopush' as a valid config variable.
2010-09-01 22:26:09 -04:00
Johannes Schlatow
2eaba55481 Merge branch '1.9.3' of tasktools.org:task into 1.9.3
Conflicts:
	src/Config.cpp
2010-09-02 01:53:25 +02:00
Johannes Schlatow
869655e818 Merge
- Added support for URIs
 - Added push command (pushes *.data to remote location)
 - Added config option: merge.autopush
2010-09-02 01:27:31 +02:00
Johannes Schlatow
d362088305 Merge
- Fixed segmentation fault if undo.data is empty
2010-09-02 01:24:58 +02:00
Johannes Schlatow
87ce13c8e0 Merge
- Added Transport classes to handle URIs like ssh://user@host:port/
2010-09-02 01:24:05 +02:00
Paul Beckingham
4139f32acf Unit Tests
- Added more unit tests to verify that @ in a tag does not interfere
  with multiple inclusions (+) and exclusions (-).
2010-08-31 23:03:12 -04:00
Paul Beckingham
d3ca5c04e3 Code Cleanup
- Improved the consistency of info output regarding recurring task
  parent and child tasks.
2010-08-31 23:02:16 -04:00
Paul Beckingham
d8913c2f15 Unit Tests
- Bug 485 refers to the fact that recurrence values are not autocompleted,
  and are stored literally.
2010-08-31 23:00:47 -04:00
Paul Beckingham
808934483f Recurrence
- Removed vestigial mask:"..." attribute from newly generated recurring
  task instances.
2010-08-31 01:30:20 -04:00
Paul Beckingham
d738f778ee Dependencies
- Restricted dependency nag message to only tasks that have dependencies.
2010-08-31 01:29:48 -04:00
Paul Beckingham
3a566460a2 Unit Tests
- Renamed bug.425.t to bug.425.x to reflect that fact that we're
  going to address this bug in 1.9.4, not 1.9.3.
2010-08-30 23:35:04 -04: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
f2a5dde3a6 Themes
- Updated themes to include blank entries for the new color.tag.none
  and color.project.none rules.
2010-08-30 20:37:44 -04:00
Paul Beckingham
d85feef7ea Documentation - taskrc.5
- Corrected man page on the subject of color rule defaults and themes.
2010-08-29 14:15:49 -04:00
Paul Beckingham
4cd528661a Feature #481 - color should follow rc order
- Added feature #481, allowing for user control of the color rule order
  of precedence via the 'rule.precedence.color' configuration variable.
- Color rules now obey the rc.search.case.sensitive configuration option.
- The color.keyword.XXX color rule now applies to annotations too.
2010-08-29 13:40:53 -04:00
Paul Beckingham
c27097e286 Bug
- Fixed a precision problem with average age on the summary report.
  The problem was that average age is calculated as the sum of all
  ages, divided by the count.  The sum was already being stored as
  a double, to allow for very high values, but was being truncated
  to an int before being divided by the count.  Classic precision
  mishandling.
2010-08-28 09:37:32 -04:00
Paul Beckingham
e619f8c91d Dependencies
- Added dependency nagging to the 'start', 'done' and 'delete' commands.
2010-08-27 17:45:22 -04:00
Paul Beckingham
199114abcd Dependencies
- Improved error message when entering "task 1 dep:2; task 1 dep:2".
- Documented circularity checking.
- Stubbed dependencyChainBroken ().
- Stubbed dependencyNag ().
- Improved existing unit tests, added more.
2010-08-27 17:19:15 -04:00
Paul Beckingham
0e2c090dc5 Dependencies
- Added check for circular dependencies.
2010-08-26 22:52:57 -04:00
Paul Beckingham
58d678f927 Bug #480 - @ Symbol in context not returning
- Fixed bug #480, which didn't properly support @ characters in tags.
  The problem was that the ctype.h ispunct() function considers @,
  # and $ to be punctuation, which I don't.  An override now allows
  these characters in tags, and specificallt '+@context' style tags.
- Added unit tests.
2010-08-24 19:08:08 -04:00
Paul Beckingham
3cfcc9fb6b Bug
- The 'verbose' configuration variable was not considered valid.
2010-08-23 23:09:53 -04:00
Paul Beckingham
a1488d0504 Merge branch '1.9.3' of tasktools.org:task into 1.9.3 2010-08-23 23:08:37 -04:00
Paul Beckingham
547d3bfdbb Documentation
- Updated script with feedback.
2010-08-23 23:07:38 -04:00
Cory Donnelly
7d048a8ef8 Unit Tests - wait.t
- added unit test to demonstrate wait:tomorrow report issue
2010-08-23 12:42:06 -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
a9b18da214 Feature #478
- Added feature #478, which uses the colorization rules in the 'info'
  report.
2010-08-21 00:30:24 -04:00
Paul Beckingham
5c235ce1ef Feature #471
- Added feature #471, which makes greater use of projects by reporting
  changes to the completion percentage when it changes.
- Added unit tests.
2010-08-20 23:53:57 -04:00
Paul Beckingham
d460e604ff Bug #470 - 'task rc.color.alternate:none list' shows incorrect colors
- Fixed bug #470, which caused task to not support the color 'none'.
  Simultaneous vitapi bug fix.
2010-08-17 23:17:44 -04:00
Paul Beckingham
612c613764 Dependencies
- Improved a few of the unit tests.
- Minor progress on the support functions.
2010-08-17 21:36:58 -04:00
Paul Beckingham
d9ec233d23 Packaging
- Updated the 'update' script that helps populate the package directory
  structure for OSX packages, to include the scripts/fish directory and
  contents.
2010-08-14 22:23:20 -04:00
Mick Koch
2c055157e6 Taskwarrior tab completion for the fish shell
Signed-off-by: Paul Beckingham <paul@beckingham.net>
2010-08-14 11:24:50 -04:00
Paul Beckingham
91d5448a5a Enhancement - Nibbler
- Added Nibbler::getQuoted with support for unescaping escaped quotes
  and for including the original quotes.
2010-08-13 00:48:05 -04:00
Paul Beckingham
80f9af08e3 Code Cleanup
- Removed unnecessary includes.
2010-08-13 00:47:23 -04:00
Paul Beckingham
63384abd14 Bug 466
- Fixed #466, which gave the wrong error message when a custom report
  was missing a direction indicator for the sort order.
- Added unit tests.
2010-08-13 00:42:36 -04:00
Paul Beckingham
c7cd2d2619 Bug #460
- Added rc.verbose that for now, just controls whether header and footer
  messages are displayed, but will ultimately control much more.
2010-08-10 22:10:01 -04:00
Paul Beckingham
d2fe093107 Unit Tests
- Fixed problem with determination of 'due today', which should have
  used Date::sameDay, but was based on old midnight dates.
2010-08-11 01:30:16 +00:00
Paul Beckingham
7c8793b146 Code Cleanup
- Fixed compiler warning on CentOS.
2010-08-11 01:29:01 +00:00
Paul Beckingham
ae56165c80 Bug
- Modified argument parsing to prevent assertions and seg faults.
- Added support for month names, with autocomplete.
- Added autocomplete for "due".
- Added unit tests to exercise all combinations, and errors.
2010-08-09 01:20:05 -04:00
Johannes Schlatow
d1abda2561 Code formatting 2010-08-09 00:44:22 +02:00
Paul Beckingham
d02eac07a9 Bug
- Fixed problem with extra blank line in the ghistory reports.
2010-08-08 18:16:36 -04:00
Paul Beckingham
2334911b34 Bug #440 - Parser fails to simultaneously subst and append
- The code wasn't even trying to apply the substitutions for the
  append and prepend commands.
2010-08-08 18:06:40 -04:00
Paul Beckingham
36c3cad5a5 Documentation
- Updated demo of aliases.
- Updated advanced filters section.
- Added import/export section.
2010-08-08 16:29:10 -04:00
Paul Beckingham
07e36e695d Bug - import
- Fixed bug that only allowed import of *text* if there was more
  than one line of it.
- Fixed some whacko formatting.
2010-08-08 16:26:40 -04:00
Paul Beckingham
1093119f40 Documentation - task-faq.5
- Added "how can I help?".
- Updated the question on regenerating a .taskrc file, because it is now
  a minimal set of settings.
- Updated the question on Cygwin color to mention mintty.
- Updated the question on building under Cygwin, referring to the README.build
  file.
2010-08-08 14:21:12 -04:00
Paul Beckingham
8789afb7da Documentation
- Added discussion of special tags.
- Referred more to the man pages for in-depth information.
2010-08-08 14:02:12 -04:00
Paul Beckingham
94bca5443a Documentation
- Added #421 'Data sync' to the ChangeLog.
2010-08-08 13:29:23 -04:00
Paul Beckingham
98042548dd Unit Tests
- All tests (I hope) now properly remove completed.data on exit, which
  should prevent certain non-deterministic tinderbox results caused by
  residual data.
2010-08-08 13:00:05 -04:00
Paul Beckingham
5b8dbd8ff1 Bug - import.yaml
- Fixed bug in import for YAML and TODO that failed to recognize that
  a task was completed or deleted, and consequently set a Task::pending
  status.
- Enhanced unit tests to verify this.
2010-08-08 11:06:58 -04:00
Paul Beckingham
41f2520094 Documentation
- Added merge command to the NEWS file.
2010-08-08 00:05:01 -04:00
Paul Beckingham
982ae87ec0 New Unused Code
- Added the outlines of the new Column code.  This is not compiled
  in 1.9.3, but will be in 1.9.4.
2010-08-07 23:55:14 -04:00
Paul Beckingham
0fe75eeedf Unit Tests
- Implemented YAML import/export roundtrip tests.
- Corrected export.yaml.t regarding headers.
- Modified export.yaml, export.csv and export.ical to clear any
  context.headers messages so they don't interfere with the output.
2010-08-07 22:38:03 -04:00
Paul Beckingham
3ae5b6ddc5 Bug #442 - "task edit" fails on Cygwin when using a Windows editor
- Made a partial fix that at least allows any editor to be launched,
  and that can then locate the file.
- Not addressed is the fact that some launchable Windows editors need
  Windows line encodings, and other are flexible.
2010-08-07 22:13:12 -04:00
Paul Beckingham
a306892509 Code Cleanup
- Removed unreachable code from Table::sort_compare.
2010-08-07 20:34:54 -04:00
Paul Beckingham
a8c8bf4671 Documentation
- Added the 'merge' command to the help output.
2010-08-07 20:14:01 -04:00
Paul Beckingham
6d5a03ac45 Documentation
- Changed 'remote' to 'second' in the merge discussion, which matches
  the term used in the paragraph.  This avoids using the loaded term
  'remote'.
2010-08-07 20:07:57 -04:00
Paul Beckingham
3bb7abf9c3 Bug - limit
- When the 'limit:N' filter was used, a confusing message was displayed,
  especially when there were fewer filtered tasks that the limit.
2010-08-07 20:05:34 -04:00
Paul Beckingham
f83cc3f39a Sorting
- Completed sort_compare routine to mimic 1.9.2, but using std::sort.
- Added blank task to the unit tests to prove the sorting is working
  (it wasn't), then fixed all.
2010-08-07 19:58:56 -04:00
Paul Beckingham
c95a55128a Documentation
- Added more to the movie script.
2010-08-07 13:34:49 -04:00
Paul Beckingham
3302a30145 Merge branch '1.9.3' of tasktools.org:task into 1.9.3 2010-08-07 11:53:51 -04:00
Paul Beckingham
599a90ad58 Documentation
- Promoted Johannes to significant contributor.
2010-08-07 11:53:31 -04:00
Johannes Schlatow
5f8f8b51c4 Bash completion
- Added filename completion for the merge command
2010-08-07 17:52:46 +02:00
Johannes Schlatow
7294869d07 Merge command
* Renamed command _merge into merge
2010-08-07 17:50:02 +02:00
Johannes Schlatow
b8a3c1b565 Man pages
- Added documentation of merge commmand to task.1 and task-faq.5
2010-08-07 17:49:17 +02:00
Paul Beckingham
03c9b96955 Output Cleanup
- No point display "blocked by" and "is blocking" in the info report
  if there are no other tasks to list.
2010-08-07 00:40:45 -04:00
Paul Beckingham
80d1c03457 Unit Tests
- All tests that sleep will now announce the duration of the sleep
  beforehand.
2010-08-07 00:22:05 -04:00
Paul Beckingham
6dd4067167 Unit Tests - urgency
- Implemented unit tests for calculating urgency.
2010-08-07 00:15:46 -04:00
Paul Beckingham
2c858c6988 Feature - urgency
- Added the urgency value to the 'info' report.
2010-08-06 19:04:56 -04:00
Paul Beckingham
d8544181ce Feature - Urgency
- Implemented the urgency algorithm according to rfc31.
- Added a new '_urgency' command to test the algorithm.
2010-08-06 19:04:01 -04:00
Paul Beckingham
3ac627978c Merge branch '1.9.3' of tasktools.org:task into 1.9.3 2010-08-06 19:00:40 -04:00
Paul Beckingham
fce4633de6 Bug #459 - Error when using limit:n where n < lines on screen and < results
- Fixed bug that displays 'limit' result lines when it has no need to.
2010-08-06 18:58:34 -04:00
Johannes Schlatow
f6cfa1dfa5 Merge command
- Added call of gc() before executing the merge algorithm
- Removed workaround in unit test merge.t
2010-08-06 14:58:38 +02:00
Johannes Schlatow
aa891401e4 Hooks
- Applied patch from Johannes to add missing hooks.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2010-08-04 14:39:17 -04:00
Johannes Schlatow
c640e05049 Unit tests
- Added tests for class Taskmod
- Added tests for _merge command
2010-08-04 19:04:16 +02:00
Paul Beckingham
3945ccf019 Unit tests
- color.duetoday.t now tolerates 16- and 256-color variants of 'red'.
2010-08-04 08:18:15 -04:00
Paul Beckingham
1687e85335 Dependencies
- Implemented/stubbed some of the dependency helper functions.
2010-08-04 00:55:08 -04:00
Paul Beckingham
b050d67ba9 Dependencies
- Added TDB::gc code to remove dangling dependencies.
2010-08-04 00:43:38 -04:00
Paul Beckingham
cade134f40 Unit tests
- Fixed bug in color.duetoday.t:  now that the definition of overdue
  means 'due < now', adding a task with 'due:now' instantly creates
  an overdue task, not a due task.  To create a due task, use 'due:1hr'
  or some duration which gets added to now.
2010-08-03 23:12:40 -04:00
Paul Beckingham
92ede80e4b Unit tests
- Fixed export.yaml.t because 'tail +2 file' does not work on tasktools.org.
2010-08-03 23:07:18 -04:00
Paul Beckingham
448f865cf1 Code Cleanup
- Fixed compiler warning in text.cpp.
2010-08-03 22:55:08 -04:00
Paul Beckingham
e26f29537a Documentation
- Added sections on the task shell and advanced filters.
2010-08-03 13:39:57 -04:00
Cory Donnelly
d85579d69f Documentation
- Fixed a few typos in the script for the new movie and revised tutorial.
2010-08-03 12:57:22 -04:00
Paul Beckingham
462c3e1c55 Documentation
- Updates to the script for the new movie and revised tutorial.
2010-08-03 00:05:49 -04:00
Paul Beckingham
70bf3099ee Bug
- Fixed bug in extractLine that performed std::string::length when it
  should have use the new characters function.  The problem was incorrect
  hyphenation with utf8 text in narrow fields.
2010-08-02 17:58:55 -04:00
Paul Beckingham
db27328558 Unit tests
- The dependencies.t unit test script failed to unlink completed.data,
  which polluted the subsequent test script.
- Simplified some Perl in start.t.
- Allowed for line wrapping in start.t.
2010-08-02 17:56:34 -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
f60205c704 Documentation
- Modified old task movie script.
- Added new 1.9.3 task movie script, which will form the basis of the
  new tutorial.
2010-08-02 01:16:29 -04:00
Paul Beckingham
233a6ae951 Bug
- Fixed problem with the 'undo' command not observing the rc.color or the
  rc._forcecolor settings.
2010-08-02 01:00:20 -04:00
Paul Beckingham
d890e05298 Merge branch '1.9.3' of tasktools.org:task into 1.9.3 2010-08-01 13:08:00 -04:00
Paul Beckingham
2f1c582d7d Code Cleanup
- Relocated the Table::getCharLength() from Johannes to text.cpp/characters()
  because it is a general-purpose function, and will be the start of the UTF8
  conversion of all text.cpp code.
- Added unit tests for characters().
2010-08-01 13:05:53 -04:00
Cory Donnelly
cddc2d5f10 Revert "Documentation"
This reverts commit 44e7a24170. I just saw that
Fredde intentionally removed X-2 versions from the OS list in NEWS.
2010-08-01 10:11:11 -04:00
Cory Donnelly
44e7a24170 Documentation
- Added Mac OS X Tiger to NEWS
2010-08-01 10:05:16 -04:00
Cory Donnelly
471571e493 Unit Tests - UTF-8 characters in reports
- Added bug.455.t for Bug #455 - Text alignment in reports is broken when text
  contains utf8 characters
2010-08-01 09:56:41 -04:00
Johannes Schlatow
6e1aa42d1a Bug #455 - Text alignment in reports is broken when text contains utf8 characters
- Applied patch from Johannes.
- Also included extra calls to getCharLength in other parts of the code.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2010-08-01 09:30:42 -04:00
Johannes Schlatow
3939503377 Bug #453 - Priorities are sorted inconsistently (asc vs. desc)
- Patch to correct the sorting of priorities, which had a condition
  flipped making the Table::descendingPriority consider a missing
  priority to be 'higher' than 'H'.
2010-07-31 09:03:01 -04:00
Paul Beckingham
fecdb930d4 Enhancement (related to #452)
- A task is now considered overdue if it is past the due date, not
  due before today.
2010-07-30 22:54:55 -04:00
Paul Beckingham
d0db821298 Bug 452 - Need relative date value 'now' to fully support times
- Added 'now' as a relative date.
- Modified 'overdue' report to use 'now' instead of 'today' as the
  distinction between due and overdue.
2010-07-30 22:50:20 -04:00
Paul Beckingham
1cf1e79e43 Merge branch '1.9.3' of tasktools.org:task into 1.9.3 2010-07-30 22:33:08 -04:00
Cory Donnelly
69c3ba6f59 Documentation
- Comment for getDueState() updated to reflect actual return values
2010-07-30 09:47:55 -04:00
Paul Beckingham
9cab648d8a Merge branch 'sort' into 1.9.3 2010-07-29 14:50:54 -04:00
Paul Beckingham
2ef30b1183 Bug 449 - Inconsistent wait: attribute results
- Fixed bug #449, so the wait: attribute can be applied to a task at any
  time, not just on add.
- While searching for problems with the waiting status, noticed that
  importCSV doesn't appear to set any tasks to pending status.
2010-07-28 23:22:59 -04:00
Paul Beckingham
4d266412ee Unit Tests - Date
- Added unit tests for Date::operator-.
2010-07-28 19:58:32 -04:00
Paul Beckingham
e44c4ffb82 Unit Tests - Duration
- Added tests for Duration::negative.
2010-07-28 19:46:51 -04:00
Paul Beckingham
bef7b9b655 Merge branch '1.9.3' of tasktools.org:task into 1.9.3 2010-07-28 17:56:43 -04:00
Paul Beckingham
209a7b8cee Unit Tests - wait
- Added unit tests to prove that the wait: attribute is working,
  which it is not.
2010-07-28 17:54:11 -04:00
Paul Beckingham
3952765de0 Bug 445 - The command 'task h' should be ambiguous, yet works
- Fixed bug #445, which caused task to not notice that the command 'h' is
  ambiguous.  This was caused by mistakenly first autoCompleting against
  a set of alias names, during canonicalization, instead of autoCompleting
  against the whole set of possible commands and aliases, then doing the
  canonicalization.  The order was reversed.
- Also populated list of all commands with alias names, so the above
  could be corrected.
2010-07-28 17:50:47 -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
Federico Hernandez
76fa56d3fb Merge branch '1.9.3' of tasktools.org:task into 1.9.3 2010-07-28 18:08:44 +02:00
Federico Hernandez
903b5b34d4 Feature #446 - start of {week, month, year}
- Bug fix for som and soy.
- Added synonyms soww and eoww for sow and eow.
- Added start/end of calendar week: socw and eocw.
2010-07-28 18:07:09 +02:00
Cory Donnelly
189fdaf9ac Bug #444 - Interactive undo locks pending.data and doesn't give it up
- TDB::undo () now exits gracefully when a user declines to proceed with
  the undo, ensuring context.tdb.unlock () is called
2010-07-28 10:18:34 -04:00
Federico Hernandez
96bd3ff8db Feature #446 - start of {week, month, year}
- Added sow (depending on rc.weekstart), som and soy as possible
  dates (similar to eow, eom and eoy).
2010-07-28 00:15:26 +02:00
Federico Hernandez
a6fbb40a12 Added GPL and copyright information to color themes and holiday files 2010-07-27 23:17:26 +02:00
Cory Donnelly
78edb61c4c Bug #444 - Interactive undo locks pending.data and doesn't give it up
- flock() now uses LOCK_EX | LOCK_NB so it won't wait for the file lock
2010-07-26 14:02:37 -04:00
Paul Beckingham
3846954c42 Feature #43 - Relative dates: +3d, -2w
- Added feature #43, now task supports relative dates like '3wks',
  '1 month', '4d' for 'due', 'wait' and 'until' dates.  Essentially
  durations are now allowed where dates are expected, and are treated
  as relative to the current date/time.
2010-07-25 23:14:52 -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
Paul Beckingham
123a46eef9 Enhancement/Fixes - Duration
- Reorganized Duration::valid and Duration::parse to use the same list
  of supported constructs.
- Added missing copy constructor.
- Added missing ctor initializer list.
- Corrected handling of negative time_t values.
- Added support for more duration formats.
- Corrected autoComplete use.
- Added Duration::negative.
- Corrected unit test descriptions.
2010-07-25 22:05:02 -04:00
Paul Beckingham
cb4fe4fffb Enhancement - Date::operator-
- Implemented Date::operator-, to allow subtractions of Durations.
2010-07-25 22:02:41 -04:00
Paul Beckingham
031c4c484d Instrumentation
- Added timing measurement for table sorting.
- Added timing measurement for table composition.
2010-07-25 15:02:35 -04:00
Paul Beckingham
43266a825f Feature #391 - legendary enhancement
- Added feature #391, now the 'task color legend' command will show
  samples of all the defined colors and color rules from your .taskrc
  and theme.
2010-07-25 14:50:20 -04:00
Paul Beckingham
7dc55d831d Code Reorganization
- Beginning to stub out the dependency helper functions in the new
  file dependency.cpp.
2010-07-24 06:38:08 -07:00
Paul Beckingham
6f67c0093d Code Cleanup
- Made the Color::blend code structure match that in vitapi, for
  easier comparison.
2010-07-23 22:47:51 -07:00
Paul Beckingham
eeeff7d389 Bug
- Fixed problem with command line configuration overrides that had no
  values.
2010-07-23 22:33:02 -07:00
Paul Beckingham
5cecc3d772 Enhancement - color.alternate
- The 'stats' and 'info' reports now obey color.alternate.
2010-07-23 22:31:38 -07:00
Paul Beckingham
a3f1aba6f0 Code Cleanup
- Reorganized sort_compare code to make certain shortcuts occur
  earlier in processing.
2010-07-23 20:57:36 -07:00
Paul Beckingham
30cb5fa4f4 Bug #441 - A colon messes up text replacement with ///
- Fixed bug #441, which misparsed '/a/a:/' as an attribute, rather than a
  substitution (thanks to Michelle Crane).
2010-07-23 17:30:14 -07:00
Paul Beckingham
e8c0c8861b Unit tests - bug.441.t
- Added unit test for bug 441, where /one/one:/ fails to substitute,
  and instead clobbers the whole description.
2010-07-23 17:16:54 -07:00
Cory Donnelly
9906174547 Unit Tests - dependencies.t
- More progress made on dependencies.t, getting to the point where
additional unit tests will need to wait until features exist.
2010-07-23 13:43:30 -04:00
Cory Donnelly
fb2d08581e Unit Tests - dependencies.t
- Added more unit tests to dependencies.t, still more still to go
2010-07-22 21:28:28 -04:00
Paul Beckingham
feeafb9b23 Enhancement - special tags
- Implemented the 'nocal' special tag.
2010-07-22 16:17:28 -07:00
Paul Beckingham
a345541ff7 Documentation - special tags
- Special tags are now documented in task.1.
- The 'tags' command now highlights special tags.
2010-07-22 16:02:12 -07:00
Federico Hernandez
9a973770d8 Missing include under Linux 2010-07-22 13:10:40 +02:00
Paul Beckingham
e0c60346dc Unit Tests - countdown
- Made tests a bit more generic and less sensitive to time of day.
2010-07-21 23:37:27 -07:00
Paul Beckingham
faa96dbf6b Enhancement - sort
- Tweaks to the comparison function.
2010-07-21 23:36:54 -07:00
Paul Beckingham
f9e78142be Merge branch 'sort' into 1.9.3 2010-07-21 15:33:24 -07:00
Paul Beckingham
da9985058b Enhancement - Sorting
- Replaced the hand-written combsort with std::sort.
- Added exhaustive set of unit tests to cover the single and double
  column sort orders.
2010-07-21 15:30:37 -07:00
Cory Donnelly
bdbe4ba78a Unit Tests
- Added many unit tests to dependencies.t, with many more still to go
2010-07-21 12:17:49 -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
1528fdc7e1 Unit Tests
- Created unit test bug.425.x for unaddressed Bug #425 - Parser preventing
  editing of an existing task depending on description
2010-07-20 21:35:28 -04:00
Paul Beckingham
e34f278e1d Documentation
- Commented the code to suggest that T and Z should never be used in
  Date::Date.
2010-07-20 17:36:24 -07:00
Paul Beckingham
455be5b8b7 Merge branch '1.9.3' of tasktools.org:task into 1.9.3 2010-07-20 17:21:57 -07:00
Paul Beckingham
9df86d9aab Documentation Update
- Removed deprecated fields.
2010-07-20 17:21:40 -07:00
Cory Donnelly
0e9ce4c85f Bug #440 - Parser recognizes an attempt to simultaneously subst and append, but doesn't do it
- Added unit test
2010-07-20 20:17:31 -04:00
Paul Beckingham
4ca69b013f Merge branch '1.9.3' of tasktools.org:task into 1.9.3 2010-07-20 16:57:59 -07:00
Paul Beckingham
1a34a29b7a Bug #438 - Reports sorting by end_time, start_time, and entry_time are ordered incorrectly
- Fixed bug #438, correcting the sorting of the entry_time, start_time
  and end_time columns (thanks to Michelle Crane).
- Reordered ChangeLog so that bugs, features are in sequence.  Don't know
  why I did this.  Some inner compulsion.
- Deprecated silly start_time, end_time and entry_time columns, which are
  now (and were) superseded by start, end and entry columns with time formats.
- Config.cpp now detects use of these deprecated fields and complains to the
  show command.
- Date.cpp now uses the variable 'input' instead of 'mdy', which was confusing
  and implied that it contained a date without a time.
- Obsoleted and removed Date::toStringWithTime, which ignored requested formats.
- When checking for an epoch, Date::isEpoch just looked for strings of more
  than 8 digits.  The additional restriction of less than or equal to 10 digits
  was added.  This was breaking unit tests using the dateformat YMDHNS, which is
  reasonable.
- Removed the obsolete field format hooks format-entry_time, format-start_time
  and format-end_time
- Removed the obsolete field format hook unit tests hook.format-entry_time.t,
  hook.format-start_time.t and hook.format-end_time.t.
- Removed use of deprecated field in hook.format-countdown_compact.t.
- Added missing shortcut comparisons in Table::sort that was causing an
  unnecessary full parse of dates even if they were identical as strings.
- Coded entry_time as a synonym for entry.  Ditto for start_time and end_time.
- Marked the new synonyms as deprecated.
- Added bug.438.t unit test.
- Added deprecated fields to the NEWS file.
2010-07-20 16:57:41 -07:00
Cory Donnelly
1bb21f9982 Unit Tests
- Added a unit test for sorting reports by countdown value
  (there was some confusion about proper behaviour, see
  Bug #432.)
2010-07-20 19:37:44 -04:00
Paul Beckingham
a57326a026 Documentation
- Modified description of journal.time entry.
2010-07-20 14:45:04 -07:00
Paul Beckingham
3f6358fea0 Feature - import.yaml
- Not fully implemented (need research on libyaml first), but the
  file type recognition and stubs are there.
2010-07-20 14:30:07 -07:00
Federico Hernandez
81a5461d92 ChangeLog editing 2010-07-20 22:19:03 +02:00
Federico Hernandez
af3f60cfeb Bug #439 - dateformat.annotation not considered
- dateformat.annotation were not considered when doing annotation=sparse
2010-07-20 22:11:42 +02:00
Federico Hernandez
445dc415d0 Fixed missing color.blocked in the recognized string 2010-07-20 22:06:37 +02:00
Federico Hernandez
afb4d64a0c Merge branch '1.9.3' of tasktools.org:task into 1.9.3 2010-07-20 20:21:51 +02:00
Federico Hernandez
942f665d71 Feature #189 - annotation of start and stop times
- task can now record the invocation of the 'start' and 'stop'
  command as an annotation by setting journal.time to yes.
- the annoatation test can be customized with
  journal.time.start.annoation and
  journal.time.stop.annotation
2010-07-20 20:19:34 +02:00
Cory Donnelly
51c357af2e Unit Tests
- Added unit tests for history.monthly and history.annual
2010-07-20 12:17:50 -04:00
Federico Hernandez
5ac0bd3800 Feature #428 - detailed listing of new commands
Prepared the new structur to add new or changed commands and configuration
options to the NEWS files.
2010-07-20 15:24:35 +02:00
Federico Hernandez
bdaf403a1c ChangeLog entry for prev. fixed bug #427 2010-07-20 14:08:34 +02:00
Federico Hernandez
1b2cfd427c Bug #427 - Task edit can't correctly parse annotations with times
Task edit was assuming a space as separator between the date and
text field of an annotation. As the dateformat for an annotation
now can be more flexible incl. time and spaces, task couldn't
parse the annotation lines of task edit correctly anymore. The bug
was fixed by introducing a new separator ' --' between the date
and text parts of an annotation.
2010-07-20 13:59:58 +02:00
Cory Donnelly
9a50c0b963 Bug #434 - Task shouldn't prevent users from marking as done tasks with status:waiting
- Added unit test
2010-07-19 13:22:55 -04:00
Cory Donnelly
6864ff91cd Bug #434 - Task shouldn't prevent users from marking as done tasks with status:waiting
- Users can now complete tasks with status:waiting in addition to status:pending
2010-07-19 10:57:20 -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
Cory Donnelly
c43eb31374 Feature #431 - The log command doesn't provide any output on success
- Now states that the task was logged.
2010-07-17 19:36:42 -04:00
Paul Beckingham
89eb8371ba Merge branch '1.9.3' of tasktools.org:task into 1.9.3 2010-07-17 19:35:40 -04:00
Cory Donnelly
3dca0283f4 Feature #431
- Added feedback after running the 'log' command, because task was
  otherwise silent.
2010-07-17 19:35:21 -04:00
Cory Donnelly
5776d608c0 Enhancement
- Added feedback after running the 'log' command, because task was
  otherwise silent.
2010-07-17 19:33:19 -04:00
Paul Beckingham
63e42c6607 Feature 429 - The default 'all' report should exclude tasks with status:deleted
- Added feature #429, which improves the 'all' report to exclude deleted
  tasks, provide a new sort order and include the 'end' column.
2010-07-16 22:39:07 -04:00
Paul Beckingham
9385492114 Unit Tests
- Corrected expected number of unit tests so that the tinderbox is not
  thrown off, because tests aren't failing.
2010-07-15 08:39:11 -04:00
Paul Beckingham
beef03af13 Unit Tests
- Fixed several tests that were broken, and generated diagnostic output,
  but didn't fail in the traditional sense.  This was found by looking
  through the tinderbox data file.
2010-07-14 09:13:44 -04:00
Paul Beckingham
10a8916eb1 Merge branch '1.9.3' of tasktools.org:task into 1.9.3 2010-07-12 20:30:53 -04:00
Paul Beckingham
45bb3dd583 Unit Tests
- Added unit tests for the color.blocked rule.
- Added unit tests for dependencies (placeholder).
- Added unit tests for the format-depends hook.
2010-07-12 20:28:44 -04:00
Paul Beckingham
64344d0328 Dependencies - blocked
- The blocked report now shows the dependencies as well as restricting
  the tasks to those that are blocked.
2010-07-12 20:27:46 -04:00
Paul Beckingham
bcd2a79a54 Dependencies - next
- The next report now longer shows blocked tasks.
2010-07-12 20:27:04 -04:00
Paul Beckingham
7233fcd05b Dependencies - add
- Allowed dependencies to be specified when adding a new task.
2010-07-12 20:25:33 -04:00
Paul Beckingham
54cf7e5471 Dependencies - info
- Added blocked and blocking tasks to the info report.
2010-07-12 20:24:29 -04:00
Paul Beckingham
19b803312f Dependencies - TDB
- Allowed const access to the internal lists of the TDB object.
2010-07-12 20:22:51 -04:00
Paul Beckingham
27a56d15db Dependencies - log
- Prevent completed tasks, via the log command, from being marked
  as dependent.
2010-07-12 20:21:46 -04:00
Paul Beckingham
98cef98111 Dependencies - depend on self
- Prevented tasks from being specified as depending on themselves.
2010-07-12 20:19:02 -04:00
Paul Beckingham
d87e7c6934 Performance
- Switched Hooks to a hash lookup, instead of linearly comparison.
2010-07-12 20:17:59 -04:00
Paul Beckingham
fdf7d2203f Dependencies
- Added new color.blocked to all themes (placeholders for now).
- Added new color rule for applying color.blocked.
2010-07-12 20:14:07 -04:00
Federico Hernandez
f814435939 Unit tests
- changed run_all script to bash
2010-07-12 21:52:47 +02:00
Federico Hernandez
5af7e3a7b7 Typo in packaging readme for OS X 2010-07-12 21:52:14 +02:00
Paul Beckingham
8c3fd40c1b Report - blocked
- Added new 'blocked' report.
2010-07-12 02:19:57 -04:00
Paul Beckingham
e9c8bcff63 Enhancement - default .taskrc
- Now relies completely on default colors, but include the seven
  themes, all commented out, for ready use.
2010-07-12 02:10:01 -04:00
Paul Beckingham
7a23b67020 Enhancement
- Minimized the default .taskrc file that is generated.  It now relies
  heavily on default values, but supplies data.location, and includes
  the default theme.
- Updated taskrc.5 man page to include new depends column.
2010-07-12 02:06:46 -04:00
Paul Beckingham
93e862b367 Dependencies
- Added 'depends' to Config.cpp.
- Added formatting for the 'depends' column.
- Added notes to t.t.cpp regarding missing tests.
2010-07-12 01:45:53 -04:00
Paul Beckingham
90c40dbebf Dependencies
- Added 'depends' as a valid report column.
- Added 'depends' to the 'long' report.
- Updated hook.format*t unit tests to accommodate new long report.
- Added new join () function that handles std::vector<int>.
- Updated text.t unit tests.
2010-07-12 01:42:52 -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
c6f6d405e3 Documentation
- #423 was a feature, not a bug.
2010-07-11 14:05:50 -04:00
Paul Beckingham
b29f9969e5 Bug - #423
- The report.foo.filter line in a report definition accepts attributes
  as filters, but not rc overrides.
- Added unit tests.
2010-07-11 14:03:15 -04:00
Paul Beckingham
254b418708 Code Cleanup
- The "next" command had two control paths.  One was via custom reports
  (correct) and the other was a residual handler (obsolete), which is
  now removed.  This also simplifies a handleCustomReport/runCustomReport
  issue.
2010-07-11 12:50:41 -04:00
Paul Beckingham
307027a1d9 Documentation Update
- Improved taskrc man page with examples for creating a sort filter.
- Corrected the list of reportable fields.  It was badly out of date.
2010-07-11 11:44:07 -04:00
Paul Beckingham
2b48ae8e38 Enhancement - export.yaml
- Preliminary export.yaml support.  No unit tests yet, and no decision
  on including this feature.  It may be that libyaml is the right choice,
  as an optional dependency.
2010-07-11 10:22:36 -04:00
Federico Hernandez
8b02d2bdeb Bumped version number to 1.9.3 2010-07-11 00:24:36 +02:00
Federico Hernandez
28dd5152d7 RE-Added SHA1 of tagged release commit
- wrongly added sha1sum of release tar ball to ChangeLog
  instead of sha1 of the tagged release commit
2010-07-11 00:12:15 +02:00
Federico Hernandez
9ed05fc1c8 Added SHA1 of tagged release commit 2010-07-11 00:10:34 +02:00
Federico Hernandez
a13989f18e Release date for 1.9.2 2010-07-10 23:14:06 +02:00
Paul Beckingham
97bb07a617 Documentation
- Removed erroneous entry
2010-07-10 12:39:52 -04:00
Paul Beckingham
01d0d036a4 Documentation
- Synched the wiki FAQ with the man page.
2010-07-10 12:30:01 -04:00
Paul Beckingham
7de5b22f1c Unit Tests
- Corrected misspelling of config variable.
2010-07-09 01:32:00 -04:00
Paul Beckingham
cb635c0d6f Unit Tests
- Changed cal.t calendar colors to avoid false assumptions.
2010-07-09 01:01:16 -04:00
Paul Beckingham
111e9f893d Documentation Update
- Updated the OSX package creation instructions document, after feedback
  from Kevin.
2010-07-09 00:42:33 -04:00
Paul Beckingham
f96d2e6609 Documentation update
- Added Kevin Owens to the AUTHORS file for invaluable help with
  creating OSX 10.5 packages, and debugging the instructions
  document.
2010-07-09 00:38:41 -04:00
Paul Beckingham
8a930653a4 Unit Tests
- Correcting more unit tests that made color assumptions that are no
  longer valid.
2010-07-09 00:30:47 -04:00
Paul Beckingham
bc46888bcd Unit Tests
- Added null values for color.tagged and color.alternate, for the
  tests it affects.
2010-07-08 22:26:41 -04:00
Paul Beckingham
67fd7e2faa Themes
- Final tweak.
2010-07-08 22:03:45 -04:00
Paul Beckingham
9f96ab28ce Merge branch '1.9.2' of tasktools.org:task into 1.9.2 2010-07-08 21:13:28 -04:00
Paul Beckingham
a66f59a7e1 Packaging
- PDF of OSX packaging instructions.
2010-07-08 21:13:04 -04:00
Paul Beckingham
24e1522e32 Packaging
- First minor tweaks.
2010-07-08 19:47:10 -04:00
Paul Beckingham
f5bc5dfd0f Packaging
- Finished first version of the OSX packaging document.
2010-07-08 19:13:31 -04:00
Paul Beckingham
82702bffdc Unit Tests
- Modified unit tests for rc.t, in the hopes that task for OSX 10.5
  can pass them.
2010-07-08 01:55:17 -04:00
Paul Beckingham
1a05224816 Portability
- Fixed warning on Solaris.
2010-07-08 01:44:15 -04:00
Paul Beckingham
e4f7bda430 Packaging
- Updated 'update' script.
- Began README that provides instructions on how to create packages for
  OSX.  Unfinished.
2010-07-08 01:43:30 -04:00
Paul Beckingham
38ca8c8fb5 Themes
- Last tweaking.
2010-07-07 09:12:53 -04:00
Paul Beckingham
ad9c89b9fb Performance
- Found some inefficient string initialization in Table.cpp, report.cpp,
  and in switching over to using more std::string capabilities, realized
  a 25% boost in Table::render speed.
- Eliminated Table::suppressWS.
- Eliminated Table::clean.
2010-07-06 01:37:35 -04:00
Paul Beckingham
25db00e97d Unit Tests
- Added specific calendar colors to the rc file used in cal.t, so that
  the colors in the tests (which are in the old theme) match the new
  default theme.
2010-07-05 23:36:08 -04:00
Paul Beckingham
b3f3261190 Themes
- Contrast adjustments.
2010-07-05 18:16:31 -04:00
Paul Beckingham
6efd3299fe Default Theme
- Linux now uses dark-256 equivalent, when a new .taskrc file is created.
2010-07-05 17:56:44 -04:00
Paul Beckingham
844c980bce Enhancement - strippedLength
- Added a text method that calculates a string length but does not
  include color control codes.
2010-07-05 15:55:50 -04:00
Paul Beckingham
ce99cbf2d4 Themes - default
- Task now defaults to *the equivalent of* the dark-16.theme.
2010-07-05 15:01:15 -04:00
Paul Beckingham
5fb349ca9b Code Cleanup
- Minor formatting change.
2010-07-05 13:33:42 -04:00
Paul Beckingham
00041dce41 Themes
- Included first set of 7 theme files, for light and dark backgrounds,
  with 16- and 256-color support.
- Modified man pages accordingly.
2010-07-05 13:32:11 -04:00
Paul Beckingham
d6631767b5 Themes
- Assorted low-effort theme files, as examples.  More coming.
2010-07-05 12:16:51 -04:00
Paul Beckingham
0c4f83377a RC
- Put a 'calendar.holidays=sparse' entry inside the holidays files,
  which serves to enable the holiday feature if a holiday file is
  included.
2010-07-04 18:04:18 -04:00
Paul Beckingham
a45d6b459f Unit Tests - bug.summary.t
- Fixed tests that expected a newly-added task to have an age of '-',
  but on Cygwin, with the lower performance, the age is actually '3 secs'.
2010-07-04 13:26:19 -04:00
Paul Beckingham
d77a790f21 Portability
- Added stdlib.h to rx.cpp, which is needed by Cygwin at least.
2010-07-04 10:50:34 -04:00
Johannes Schlatow
5ecbd85020 Bug - merge command resulted in an error if
completed/deleted tasks were overwritten with pending tasks
2010-07-04 01:19:44 +02:00
Johannes Schlatow
6428b026ba Missing include 2010-07-04 01:08:21 +02:00
Paul Beckingham
716ed39695 Missing include
- The usual problem, this time <algorithm>.
2010-07-03 18:44:29 -04:00
Paul Beckingham
c650edd4f9 Support #383 - odd feedback when changing an existing, recurring project
- Fixed wording (support issue #383) when modifying a recurring task (thanks
  to T. Charles Yun).
2010-07-03 17:57:31 -04:00
Paul Beckingham
484c31f0e4 Documentation
- Modified the wording of the output of the undo command.
2010-07-03 17:54:02 -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
724e9b8113 Color
- The ghistory graph bars can now be colored with 'color.history.add',
  'color.history.done' and 'color.history.delete' configuration variables.
2010-07-03 12:51:36 -04:00
Paul Beckingham
356519e58f Bug #420 - Missing ID from help output
- Applied patch from Ed Neville to correct help output for the
  append and prepend commands.
2010-07-03 09:27:11 -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
d7c446f010 Bug
- Fixed bug that miscalculated terminal width for the ghistory.annual
  report.
2010-07-01 01:06:43 -04:00
Paul Beckingham
14508742f1 Code Cleanup
- Removed obsolete code from Table object.
2010-06-28 17:46:27 -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
426eac97aa Feature - sorting by age, age_compact
- Now supports correct sorting of the age and age_compact fields.
2010-06-27 19:31:08 -04:00
Paul Beckingham
7f99d39d19 Unit Tests - timesheet report
- Added unit tests to make sure the timesheet report lists the correct
  tasks in the correct section and week.
2010-06-27 18:43:40 -04:00
Paul Beckingham
623f8d869e Portability
- Added missing includes.
2010-06-27 17:06:51 -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
688233b3a4 Documentation Update
- Fixed formatting problem in taskrc.5, where the indentation was
  not consistent.
2010-06-27 15:40:59 -04:00
Paul Beckingham
12cdee9809 Documentation Update
- Changed the line "New features in 1.9" to "New features in 1.9.2",
  otherwise the list looks a little light.
2010-06-27 15:20:41 -04:00
Paul Beckingham
66fcdfe01f Bug #312 - Task sorting
- Fixed bug #132, which failed to set a sort order so that active tasks sort
  higher than inactive tasks, all things being equal.
- All reports that include the 'active' column now sort on that column.
2010-06-27 15:14:27 -04:00
Paul Beckingham
0f7cf1cd52 Bug #418 - due.before:eow not working
- Fixed bug #418, which caused the attribute modifier 'due.before' to fail
  if the year was not included in the dateformat (thanks to Michelle Crane).
- Bug was probably fixed when #416 was fixed, but now has it's own unit tests.
2010-06-27 14:25:03 -04:00
Paul Beckingham
007c194c8c Bug #417 - Sorting by countdown_compact not working
- Added support for more varied durations when specifying recurring tasks,
  such as '3 mths' or '24 hrs'.
- Fixed bug #417, which caused sorting on countdown fields to be wrong
  (thanks to Michell Crane).
- Durations are now based on seconds, rather than days, and can accept/parse
  negative durations.
2010-06-27 13:44:04 -04:00
Paul Beckingham
ff18241f6f Unit Tests
- Enhanced 'run_all' so that by default, it does not run the benchmark.t
  script, but does if the 'slow' argument is specified.
2010-06-27 00:59:28 -04:00
Paul Beckingham
9477660e02 Enhancement - Duration
- Relocated util/formatSeconds and util/formatSecondsCompact into
  Duration object.
- Relocated unit tests.
- Upgraded Duration object to use seconds, not days.
- Enhanced Duration so that it can now parse '4 mins' etc.
2010-06-27 00:57:52 -04:00
Paul Beckingham
1f8f4c631d Enhancement - Duration
- Durations can now parse '3 wks', '1 wk', '1w', and similar for yrs,
  qtrs, mths, wks, days.
- Added unit tests.
2010-06-26 21:47:52 -04:00
Paul Beckingham
05fd9278a6 Code Cleaup
- Reimplemented Nibbler::getQuoted.
- Reimplemented Nibbler::skipN.
2010-06-26 20:14:45 -04:00
Paul Beckingham
f1a0b842dc Nibbler upgrade
- Merged Nibbler code from Tegelsten.
- Updated unit tests.
2010-06-26 19:55:17 -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
6a1a1cd70f Added regular expression support
- Added rx.{h,cpp} from Tegelsten.
- Added unit tests.
2010-06-26 16:54:31 -04:00
Paul Beckingham
3c2987f53f Bug #416 - Sorting by due date with dateformat MD wrong
- Fixed bug #416, which caused sorting on a date to fail if the year was not
  included in the dateformat (thanks to Michelle Crane).
- Added unit tests.
2010-06-25 09:09:20 -04:00
Paul Beckingham
2ab1df77df Merge branch '1.9.2' of tasktools.org:task into 1.9.2 2010-06-23 17:22:21 -04:00
Paul Beckingham
abf31a6b35 Performance Enhancements
- Nibbler: Now locally stores input length rather than repeatedly calling
  std::string::length.
- Nibbler: Makes greater use of std::string::find_first_not_of, instead of
  looping.
- TDB: No longer applies empty filters to lists - just copies the lists.
- TDB: Now caches data when reading completed.data.
- TDB: During loadPending and loadCompleted, makes fewer copies of the data.
- TDB: In commit, breaks out of search loops after finding the right data.
- TDB: In gc, only writes out minimal pending or completed data, instead of
       all data, all the time.
- TDB: No longer reads completed.data in gc, and simply appends completed
       and deleted tasks to it.
2010-06-23 17:21:56 -04:00
Federico Hernandez
b6d320d311 Adjusted denotate
- partly matched strings are now also detected in the middle of the
  annotation and not only from the beginning.
2010-06-21 22:56:05 +02:00
Paul Beckingham
cd648270ab New alias
- Added export.vcalendar as an alias to export.ical.  They are the same.
2010-06-20 23:17:56 -04:00
Paul Beckingham
2161ffac2c Documentation update
- Added RFC references to ChangeLog, NEWS.
- Replaced the answer in the FAQ regarding annotation deletion.
2010-06-20 23:15:04 -04:00
Paul Beckingham
4f4a32b405 Enhancement
- Swapped std::string::find for find (from text.cpp) to allow
  configurable case sensitivity.
2010-06-20 20:22:39 -04:00
Paul Beckingham
99bce308e6 Bug #414 - Tags filtering not working with unicode characters
- Fixed bug #414, that caused filtering on the presence or absence of tags
  containing Unicode characters to fail (thanks to Michal Josífko).
+ + Fixed bug #414, that caused filtering on the presence or absence of tags
+   containing Unicode characters to fail (thanks to Michal Josífko).

 ------ old releases ------------------------------
2010-06-20 20:10:20 -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
2f85941d37 Typo
- Removed residual conflict marker.
2010-06-20 16:03:00 -04:00
Federico Hernandez
f3f4ae15eb Merge branch 'denotate' into 1.9.2 2010-06-20 21:03:36 +02:00
Federico Hernandez
5e53226eb8 Feature #408 - Allow deletion of annotations.
- Added new denotate command
- Added unit tests in denotate.t
- Change task.1 man page
2010-06-20 20:58:46 +02:00
Paul Beckingham
2c7552222a Feature #412
- Allows the 'projects' and 'tags' commands to be list all used
  projects/tags, not just the ones used in current pending tasks.
  Controlled by the 'list.all.projects' and 'list.all.tags' configuration
  variables (thanks to Dirk Deimeke).
- Added unit tests.
- Updated man pages.
2010-06-20 13:06:24 -04:00
Paul Beckingham
8572080677 Documentation
- With Charles permission, lifted an excellent description of task from
  a forum message to include in the main man page.  Thanks to T. Charles
  Yun.
2010-06-20 12:22:37 -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
fbe24b3fda Unit Tests
- Added a vramsteg progress bar, which is only used if it is found
  in /usr/local/bin.
2010-06-20 00:31:55 -04:00
Paul Beckingham
5e55166617 Merge branch '1.9.2' of tasktools.org:task into 1.9.2 2010-06-15 08:31:08 -04:00
Paul Beckingham
bcd5524563 Bug #411 - projects command only lists those in use by pending tasks
- Fixed bug in man page that doesn't properly state the above (thanks
  to Dirk Deimeke).
2010-06-15 08:30:15 -04:00
Paul Beckingham
bb19361956 Feature #298 - Configurable recurring task count
- Added new recurrence.limit value (default 1) to control the number of
  future pending tasks generated from a recurring parent task.
- Added unit tests.
- Updated taskrc man page.
2010-06-13 12:45:41 -04:00
Paul Beckingham
78d092c588 Merge branch '1.9.2' of tasktools.org:task into 1.9.2 2010-06-11 20:21:58 -04:00
Paul Beckingham
3da3d3f99d Documentation
- Added FAQ about deleting an annotation.
2010-06-11 20:21:03 -04:00
Paul Beckingham
e2b240fd06 Minor doc edit
- Just to prove push is working.
2010-06-11 18:26:07 -04:00
Federico Hernandez
ee6ab69023 Removed X-2 versions from OS list in NEWS 2010-06-12 00:07:22 +02:00
Federico Hernandez
74e13670d0 Added msg to 'task show' when no config variables are matched 2010-06-08 23:13:38 +02:00
Federico Hernandez
d37c798dbc Enhancement - #407 show command
- finalized the implementation
- a searchstring can now be supplied to limit the display
  of configuration settings
2010-06-08 22:38:35 +02:00
Paul Beckingham
c93db168f3 Typo in comment in config file. 2010-06-08 08:29:57 -04:00
Federico Hernandez
52c029d4d9 Marked place in code with TODO for completion of enhancement #407.
(which was called #307 wrongly in commit 51e5a183)
2010-06-08 10:05:27 +02:00
Federico Hernandez
c9360ad9c4 Minor syntax error in task.1 2010-06-07 23:41:57 +02:00
Federico Hernandez
51e5a18384 Enhancement - #307 show command
- introduced new show command to display configuration settings
- config command is used to just set config values
- modified documentation
- modified some unit tests calling 'task config' to 'task show'
2010-06-07 23:35:58 +02:00
Federico Hernandez
f1368d6ac6 Added missing config variables to the big recognized string 2010-06-04 01:03:21 +02:00
Federico Hernandez
70e6f4f9f6 Enhancement - #390 timestamps in annotations
- added new dateformat for annotations
- documented prev. added format modifiers H, N and S
2010-06-04 00:57:42 +02:00
Federico Hernandez
2bfd220714 Missing include for Ubuntu. 2010-06-03 14:30:13 +02:00
Federico Hernandez
3214c1f02a Added information on bug fix #211 to ChangLog file. 2010-06-03 07:16:07 +02:00
Federico Hernandez
297f48a07c Bug Fix #211 - it was unclear which commands modify a task description
- rearranged commands on man page.
- new subsection for the "modifying" commands.
2010-06-03 06:57:33 +02:00
Paul Beckingham
ea067acb52 Enhancement - Hooks
- Implement task api calls for debug, header and footnote messages.
- Added unit tests.
2010-05-31 20:08:25 -04:00
Paul Beckingham
8a70b78d71 Unit Tests - cmd.t
- Fixed test of whether "export" is a read-only command.  There are now
  two export commands.
2010-05-31 16:45:21 -04:00
Paul Beckingham
e368043fb8 Enhancement - #363 export.ical
- Added feature #363 supporting iCalendar export via the 'export.ical'
  command.
- Updated documentation.
- Removed unnecessary localization of canonical command names.
2010-05-31 16:05:51 -04:00
Paul Beckingham
3ef6aa9f8e Enhancement - Date::toISO
- Added ISO date format support (19980119T070000Z) to Date class, for use
  in export.ical.
- Added unit test.
2010-05-31 13:18:41 -04:00
Paul Beckingham
8cd8c4753b Bug fix - #406
- Fixed bug #406 so that task now includes command aliases in the _commands
  helper command used by shell completion scripts.
2010-05-31 11:40:42 -04:00
Paul Beckingham
24085e0960 Enhancement - consistency checks
- Reintroduced disabled (no idea why) checks that ensure that shadow
  files weren't set up to clobber authoritative task files.
2010-05-30 17:03:42 -04:00
Paul Beckingham
d92e80e289 Enhancement - #36, #37
- Added features #36 and #37, providing annual versions of the 'history'
  and 'ghistory' command as 'history.annual' and 'ghistory.annual'.
- Uses new canonical names history.monthly, history.annual, ghistory.monthly
  and ghistory.annual, with aliases providing original history and ghistory
  commands.
- Updated man pages.
2010-05-30 17:01:38 -04:00
Paul Beckingham
fcbc8a2ee2 Enhancement - #326
- Added feature #326, allowing tasks to be added in the completed state,
  by using the 'log' command in place of 'add' (thanks to Cory Donnelly).
- Added log command to task.1 man page.
- Added log command to task-tutorial.5 man page.
- Added log command to help text.
- Added log command unit tests.
2010-05-30 15:20:12 -04:00
Paul Beckingham
336a4dea01 Bug Fix - Problem with #320
- The new auto-info command interfered with task modification.  Should
  have run all the unit tests before committing that change.
- Added auto-info command to the help text.
2010-05-30 15:03:58 -04:00
Paul Beckingham
67ffd07312 Enhancement - #320
- Added feature #320, so the command "task 123" is interpreted as an
  implicit "task info 123" command (thanks to John Florian).
- Modified task man page.
- Added unit tests.
- Updated supported platform lists with F13 and Ubuntu 10.04.
2010-05-30 13:20:39 -04:00
Federico Hernandez
b2ad305f23 Bumped version number to 1.9.2 2010-05-23 21:38:27 +02:00
Federico Hernandez
fa34f47f8a Packaging for ubuntu and fedora
- Updated packaging details for 1.9.1
2010-05-23 21:29:44 +02:00
Federico Hernandez
9a47e2b748 Added SHA1 of tagged release commit 2010-05-23 21:24:31 +02:00
Paul Beckingham
60d6cd62c8 Packaging for OSX
- Updated packaging details for 1.9.1
2010-05-23 11:03:56 -04:00
Federico Hernandez
60a99725b8 Release date for 1.9.1 2010-05-23 00:03:53 +02:00
Federico Hernandez
635c6432d4 Release date for 1.9.1 2010-05-23 00:03:05 +02:00
Paul Beckingham
eb1304ec41 Unit Tests - fix
- Fixed incorrect regex in hook format unit tests.  Note that this
  doesn't show up in the tinderbox, because that version of task is
  not built with Lua support.
2010-05-22 14:02:33 -04:00
Paul Beckingham
a5b57ec2ac Bug Fix - #395
- When a recurrence period is added to a pending task, the status should
  change from pending to recurring, and a mask attribute should be added.
  The lack of those changes meant that "task 1 recur:1w" did not do what
  was expected.  Thanks to T. Charles Yun.
2010-05-22 13:50:20 -04:00
Federico Hernandez
783225cd70 Typo fixes in ChangeLog 2010-05-13 21:19:18 +02: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
a31e9a5a3c Bug Fix - #404
- Refixed #404 that got lost in a recent merge.
2010-05-11 23:52:12 -04:00
Federico Hernandez
8553811889 Automatic computation of easter and related holidays for the calendar 2010-05-11 00:01:17 +02:00
Federico Hernandez
68ae9173ae Added documentation for 'include' to taskrc.5 2010-05-10 23:15:46 +02:00
Federico Hernandez
72763f2a2b Bug Fix
- wrong regexp in cal.t when matching '$month $year'
2010-05-10 21:59:10 +02:00
Paul Beckingham
89267846ca Bug Fix - #404 Compile error on current archlinux
- Applied patch sent by Johannes Schlatow to fix build on Arch Linux.
2010-05-09 18:30:12 -04:00
Paul Beckingham
38d82f6564 Bug Fix
- Deleting a task no longer clobbers any recorded end date (thanks to
  Seneca Cunningham).
2010-04-25 00:57:50 -04:00
Paul Beckingham
ac431ac5c9 Enhancement
- Applied patch from Cory Donnelly to provide default current date to the
  edit command, for new annotations.
2010-04-12 18:19:35 -04:00
Paul Beckingham
fa7ea5cad5 Holidays
- Removed Christmas Eve, which is not really a holiday.
2010-04-12 18:17:24 -04:00
Paul Beckingham
17069843d9 Documentation Update
- Added example of using DeMorgan's theorem when constructing multi-term filters
  to task-faq.5 (thanks to Rich Mintz).
2010-04-12 18:16:59 -04:00
Paul Beckingham
d6251142a2 Unit Tests
- Fixed unit tests that broke because the unit test script took more
  than one second to run.  Ordinarily is a test script does this:

    $ task add foo
    $ task list

  Then the age of the task is listed as '-', which means under one
  second.  But if the test does this:

    $ task add foo
    $ sleep 1
    $ task list

  Then the age is listed as '1 sec'.  Sometimes, as in these tests,
  the host may be just slow enough that the test script expects '-',
  but gets '1 sec'.
2010-04-04 10:00:01 -04:00
Paul Beckingham
a3a941fd92 Documentation
- Correct task-faq.5 so that the sequence \033 shows up properly when
  rendered by 'man', rather than 033.
2010-03-28 23:59:34 -04:00
Paul Beckingham
b6e9b84c80 Portability
- Applied patch from Emil Sköldberg.

Replace 'test ... == ...' with 'test ... = ...',
since [quoted from pkgsrc error message]:

The "test" command, as well as the "[" command, are not required to know
the "==" operator. Only a few implementations like bash and some
versions of ksh support it.

When you run "test foo == foo" on a platform that does not support the
"==" operator, the result will be "false" instead of "true". This can
lead to unexpected behavior.
2010-03-25 17:36:43 -04:00
Paul Beckingham
2791578410 Summary Report
- Made the summary bar colors configurable.
2010-03-25 17:33:43 -04:00
Federico Hernandez
d3628c04db Made easter algorithm static in Date 2010-03-23 02:51:31 +01:00
Federico Hernandez
10450963cb Eeaster algorithm 2010-03-23 02:13:35 +01:00
Paul Beckingham
fa8c33da45 Merge branch '1.9.1' of tasktools.org:task into 1.9.1
Conflicts:
	src/tests/record.t.cpp
2010-03-22 20:35:36 -04:00
Paul Beckingham
e8942d11ee Documentation Update
- Fixed typo.
2010-03-22 20:32:12 -04:00
Paul Beckingham
078e612de0 Unit Tests
- Test claimed to call Record::get_ulong, but was calling Record::get_int.
2010-03-22 20:31:37 -04:00
Federico Hernandez
70da455f1a From: Paul Beckingham <paul@beckingham.net>
Date: Sun, 28 Feb 2010 12:10:06 -0500
Subject: [PATCH] Enhancement - time support in the Date object.

- Added ability to parse and display time, using:
    h - single digit hour
    H - double digit hour
    N - double digit minutes
    S - double digit seconds
- Added a request for mktime() to automatically determine whether
  summer time should be considered.
- Added Date::Date (m, d, y, hr, mi, se) constructor.
- Added Date::sameHour comparison method.
- Added unit tests.
2010-03-22 23:56:45 +01:00
Paul Beckingham
e5f7e18d56 Enhancement - Hooks
- Implemented API calls: task_get_due, task_get_end, task_get_entry,
  task_get_start, task_get_until and task_get_wait.
- Implemented unit tests for API calls.
- Implemented new Record::get_ulong method.
- Implemented unit tests for get_ulong.
2010-03-01 20:53:44 -05:00
Paul Beckingham
98ebe8b7cc Build - with_lua
- Added code to dynamically run different configure scripts depending
  on the OS.
2010-03-01 18:17:14 -05:00
Paul Beckingham
6304ca7c1f Unit Tests - run_all
- Added better formatting of the results.
- Added a count of the skipped tests.
2010-03-01 18:16:29 -05:00
Paul Beckingham
f6ff18e31d Enhancement - Hooks
- Added many more format hooks.
- Added unit tests for all added hooks.
- Added unit tests for format-countdown and format-countdown_compact.
2010-03-01 18:14:06 -05:00
Paul Beckingham
dbf8def7db Unit Tests - record.t
- Cast to size_t to use a (pseudo) appropriate UnitTest::is method.
2010-02-14 12:58:59 -05:00
Paul Beckingham
df8eb7d5ef Unit Tests - record.t
- Fixed bug in unit tests that claimed to be calling Record::get_ulong,
  but was calling Record::get_int instead.  Silly error.
2010-03-14 11:23:15 -04:00
Federico Hernandez
485734e107 Removed space between minus and number in the countdown 2010-03-06 00:19:42 +01:00
Federico Hernandez
f4dc5c3674 Removed space between minus and number in the countdown 2010-03-05 23:47:01 +01:00
Paul Beckingham
95e420bb15 Build - Lua
- Modified the with_lua script to include Ubuntu 9.10 details.
2010-02-14 12:41:56 -05:00
Paul Beckingham
409c6ee9b9 Enhancement - .taskrc timestamp
- Added a "created by ..." entry with timestamp inside the generated
  .taskrc file.
2010-02-28 11:16:35 -05:00
Paul Beckingham
fa195a3cb2 Unit Tests - grid
- Corrected mix of signed and unsigned ints which confuse certain
  combinations of GCC and OS.
2010-02-23 20:38:59 -05:00
Paul Beckingham
cda959a658 Bug Fix - #382
- Changed from testing the ID to testing the sequence size.
2010-02-23 18:07:05 -05:00
Federico Hernandez
a5d8ef524e Bug Fix - #382 task annotate doesn't complain when a task id is omitted
- added error msg when annotating without a task id
2010-02-23 22:50:59 +01:00
Paul Beckingham
cb1b1510a9 Copyright
- Bumped year to 2010.
2010-02-23 01:06:45 -05:00
Paul Beckingham
3f2c68377c Merge branch 'unit-tests' into 1.9.1 2010-02-23 01:05:57 -05:00
Paul Beckingham
846d9bfd83 Merge branch 'config-highlight' into 1.9.1 2010-02-23 01:02:44 -05:00
Paul Beckingham
eac6c3fca9 Merge branch 'lua-test' into 1.9.1 2010-02-23 01:00:08 -05:00
Federico Hernandez
d082a6baad Bumped version number to 1.9.1 2010-02-23 00:21:56 +01:00
Federico Hernandez
251f8e5704 Added SHA1 of tagged release commit 2010-02-23 00:15:41 +01:00
Paul Beckingham
0282e2be28 Packaging - OSX
- Updated packaging files.
2010-02-22 16:12:17 -05:00
Federico Hernandez
dd758f8b33 Release 1.9.0
- Bumped version number to 1.9.0
- Added release date to ChangeLog
- Included Debian in NEWS
2010-02-22 09:46:01 +01:00
Paul Beckingham
8229a96252 Unit Tests - grid
- Added unit tests for Grid object.
2010-02-21 13:32:14 -05:00
John Florian
adf07a9af0 Enhancement - improved vim highlighting of .taskrc
- Added a few more new keywords to bring up to date with current feature set:
    + active.indicator
    + tag.indicator
    + recurrence.indicator
    + color.due.today
    + color.calendar.due.today
2010-02-20 14:21:29 -05:00
Paul Beckingham
be62157308 Documentation Update
- Improved wording in some of the FAQ entries.
2010-02-20 09:05:37 -05:00
Paul Beckingham
061639a370 Bug Fix - #380 Configuration values can no longer be commented out
- Added an explanatory comment to reinforce what is said in the taskrc.5
  man page, about how to deal with defaults, overrides and blanks.
2010-02-17 18:15:24 -05:00
Paul Beckingham
ad7abec3d7 Unit Tests - next.t
- Tests no longer assume that a set of added tasks will show an age
  of /-/, and now uses /(:?-|\d secs?)/.
2010-02-16 07:38:15 -05:00
Paul Beckingham
c34aeba5a4 Enhancement - config error highlights
- Configuration variables that are unrecognized are now highlighted
  in color, as well as being listed out.
2010-02-16 00:16:51 -05:00
Paul Beckingham
816f0533be Unit Tests - Lua
- Added -llua to src/tests/Makefile, to improve the quality of test results.
2010-02-16 00:05:19 -05:00
Paul Beckingham
e923282181 Portability - Haiku
- Added build notes for Haiku, requiring a 'setgcc gcc4' command.
- Modified directory code to accomodate Haiku's struct dirent
  anomalies (same as Solaris).
2010-02-15 23:55:03 -05:00
Paul Beckingham
6554e4d0f4 Packaging
- Latest changes for beta3 package on OSX.
2010-02-15 22:41:06 -05:00
Federico Hernandez
eb65dd42e4 Changes for beta3 2010-02-16 00:09:11 +01:00
Paul Beckingham
d917215417 Merge branch '1.9.0' of tasktools.org:task into 1.9.0 2010-02-15 11:12:30 -05:00
Paul Beckingham
69f2669bee Documentation Update
- Now includes a README.build file that helps troubleshoot problems
  with configure and make.
2010-02-15 11:08:40 -05:00
Federico Hernandez
dfc35f3744 Missing doc for color.due.today and countdown 2010-02-14 23:25:01 +01:00
Federico Hernandez
56dee6975e Fixed failing cal.t unit test due to color blending 2010-02-14 22:11:48 +01:00
Paul Beckingham
9b80017323 Portability - Solaris
- Added include of auto.h to allow #ifdef SOLARIS to work.
- Put #ifdef around glob arguments that aren't supported on Solaris.
- Fixed uninitialized variable that only gcc on Solaris spotted.
2010-02-12 20:58:56 -05:00
Paul Beckingham
75666c56cc Portability - Solaris
- Added a SOLARIS workaround for the lack of de_type member in struct dirent
  that other OSes have.
2010-02-12 01:35:20 -05:00
Paul Beckingham
0a3ee9f0a7 Portability
- Removed obsolete COLOR_* definitions from i18n.h that conflict on Cygwin.
2010-02-12 00:39:07 -05:00
Paul Beckingham
67546f8163 Configuration
- Allows rc.tag.indicator to replace the default + indicator.
- Allows rc.active.indicator to replace the default * indicator.
- Allows rc.recurrence.indicator to replace the default R indicator.
2010-02-11 23:50:55 -05:00
Paul Beckingham
22d99806d0 Build System - with_lua
- Added Cygwin 1.5, 1.7 commands.
2010-02-11 23:34:04 -05:00
Federico Hernandez
883e264319 2 new report columns
- countdown and countdown_compact
2010-02-12 03:01:03 +01:00
Federico Hernandez
e80769794e Added color blending to cal report 2010-02-12 01:15:19 +01:00
Federico Hernandez
4adfec4482 color.due.today and color.calendar.due.today
- tasks due on the current day ("today") can now be colorized with
  their own color.
- this is for reports and the calendar
2010-02-12 00:21:52 +01:00
Paul Beckingham
adb72ef023 Merge branch '1.9.0' of tasktools.org:task into 1.9.0 2010-02-10 23:45:26 -05:00
Paul Beckingham
69e0893c61 Build System
- Modified configure.ac to allow inclusion/exclusion of both ncurses
  and Lua.
- Also allows specification of include and lib directories for ncurses
  and Lua separately.
- This addresses a recent problem with Cygwin 1.7, where the most recent
  patches relocated ncurses from /usr/include to /usr/include/ncurses,
  and consequently broke task's default configuration, which was not
  very clever.
2010-02-10 18:16:46 -05:00
Federico Hernandez
10318fd19e Added Alexander to the AUTHORS file (as he has uploaded task into Debian) 2010-02-09 21:19:20 +01:00
Paul Beckingham
756200676d Packaging
- Modified task.pmdoc for 1.9.0
- Added README.txt and COPYING.txt files for installer to update script.
2010-02-08 22:48:50 -05:00
Paul Beckingham
73d8fb96cb Packaging
- Create 'update' script to handle the population of the tree used to
  create OSX packages.
- Cleaned out the old tree, because it can now be recreated at will.
2010-02-08 22:36:49 -05:00
Federico Hernandez
e9cbedd042 Fixing lintian warning when building deb package.
A man page row should not start with .taskrc as it is mis-interpreted
as groff macro.
2010-02-09 00:37:43 +01:00
Federico Hernandez
b22869f9ef Bumped version number to 1.9.0.beta2 2010-02-08 20:59:20 +01:00
Paul Beckingham
1a02cacc53 Enhancement - Hooks
- Implemented a few hooks.
- Implemented several Lua API calls.
- Unit tests for all hooks and API calls.
2010-02-07 00:22:02 -05:00
Paul Beckingham
cb952329d3 Documentation Update
- Added latest movie script.
2010-02-06 17:09:47 -05:00
Paul Beckingham
579ebe6130 Bug Fix - #372 Color blending/mapping broken
- Corrected problem in unit test that expected the wrong result.
- Fixed Color::Color (const std::string&) so that the foreground and
  background are now considered two different colors, are upgraded
  separately, if necessary, and then blended.  The problem affected
  all instances of "<256-color> on <16-color>".  Hooray for unit
  tests.
2010-02-06 16:59:22 -05:00
Paul Beckingham
89ae64c5fb Unit Tests - color
- Oddly, there were no unit tests for the Color object.  Now there are
  1,033.
- Three of these tests fail, which justifies adding them in the first place.
2010-02-06 15:40:44 -05:00
Paul Beckingham
ad9f318e10 Documentation Update
- Added task-color to the list of man pages referenced in several places.
2010-02-06 15:40:06 -05:00
Paul Beckingham
0e411cd646 Documentation Update
- Changed the default .taskrc file to have the color rules listed
  in their precedence order, along with a comment to that effect
  (thanks to John Florian)
2010-02-06 12:58:09 -05:00
Paul Beckingham
2b2795077b Bug Fix - #371 color.due clobbered by color.alternate
- Fixed bug #371 which caused task to mis-apply certain color rules, like
  color.alternate, which was (a) not applied first, and (b) not blended
  with the other color rules (thanks to Richard Querin).
2010-02-06 12:23:46 -05:00
Paul Beckingham
58910b07ef Unit Tests - hook.*.t
- Some hook tests were using the _version command, and assuming the
  version was \d.\d+.\d+, whereas it was '1.9.0.beta1'.
2010-02-05 18:40:05 -05:00
Paul Beckingham
5567b04277 Bug Fix - #370
- Task was preventing removal of due date from any task that had a due date,
  which is wrong.  It should be any task with a recur: value and a due date
  (thanks to John Florian).
2010-02-05 18:34:12 -05:00
Paul Beckingham
73d6e05c0e Bug Fix - #369 task config color.alternate does not take multiple args
- Fixed bug that meant these commands would not work:
    $ task config name 'one two three'
    $ task config name one two three
  (thanks to Richard Querin).
2010-02-05 18:22:36 -05:00
John Florian
0642c37c04 Documentation Update
- Indicate how to disable a color rule for which there is a built-in default.
- Added description for the new color.alternate configuration setting.
2010-02-03 21:17:30 -05:00
Paul Beckingham
45b66cd785 Merge branch '1.9.0' of tasktools.org:task into 1.9.0 2010-02-03 19:21:04 -05:00
Paul Beckingham
ed7c3fad57 Enhancement - Hooks
- Added more format hooks.
2010-02-03 19:20:45 -05:00
Paul Beckingham
fa37e002f0 Enhancement - Color
- Improved the labelling of colors in the color report.
2010-02-03 19:18:10 -05:00
Federico Hernandez
f99cd158dd Bumping to 1.9.0.beta1 2010-02-04 00:06:52 +01:00
John Florian
a790958daa Fix - vim syntax errors for taskrc
- calendar.details.report missing expected final '.'
- dateformat.holiday and dateformat.report not handled
- Updated header wasn't updated
2010-02-03 13:36:20 -05:00
John Florian
3341f74374 Enhancement - improved vim highlighting of .taskrc
- Added many new keywords to bring up to date with current feature set.
- Fixed incorrect highlighting of 'due' in report definitions.
2010-02-02 20:52:38 -05:00
Federico Hernandez
1505743fbf Merge branch 'master' into 1.9.0
Conflicts:
	package-config/osx/local/share/doc/task-1.8.5/COPYING
	package-config/osx/local/share/doc/task-1.8.5/README
2010-02-02 00:12:42 +01:00
Paul Beckingham
625ad3d7cf Merge branch '1.9.0' of tasktools.org:task into 1.9.0 2010-01-31 23:32:43 -05:00
Paul Beckingham
f351e17a63 Enhancement - Hooks
- Implemented all command hooks.
- Implemented several field hooks.
- Implemented several task hooks.
- Reorganized event validation code.
- Finalized Hooks -> API::call* mechanism.
- Implemented several hook unit tests.
- Corrected unit tests that didn't specify rc.hooks=on.
- Corrected builds that include Lua.
2010-01-31 23:29:22 -05:00
Federico Hernandez
c1360506c9 Note on task-tutorial 2010-01-31 23:33:36 +01:00
Paul Beckingham
50f27e0952 Merge branch 'special_tags' into 1.9.0
Conflicts:
	ChangeLog
	src/recur.cpp

- Implemented unit tests for the +nonag and +nocolor special tags.
2010-01-31 12:17:55 -05:00
Paul Beckingham
dd423d315b Enhancement - Hooks
- Implemented lots of command hooks.
2010-01-30 23:39:51 -05:00
Paul Beckingham
78c7408380 Build
- Added new theme files to the dist.
- Added new holiday files to the dist.
2010-01-30 21:16:47 -05:00
Paul Beckingham
d09a079199 Enhancement - Hooks
- Implemented a master switch rc.hooks=off that can shut off all
  hooks.  Seems like a good idea.
- Added support for 'hooks' and 'hook.*' as valid configuration
  entries.
2010-01-30 17:43:33 -05:00
Paul Beckingham
ea8b4beede Documentation Update
- Updated the taskrc.5 man page to match 1.9.0 functionality.
- Removed obsolete colorizeMessage code.
2010-01-30 16:08:42 -05:00
Paul Beckingham
30e8b03038 Enhancements - Hooks
- The config command now reports missing or unreadable hook scripts.
2010-01-30 13:34:25 -05:00
Paul Beckingham
79050c29d7 Enhancement - Hooks
- Added timing information for event trigger calls.
2010-01-30 13:25:25 -05:00
Paul Beckingham
98f4e22950 Enhancement - Hooks
- Started to make the 'with_lua' script multi-platform.
2010-01-30 12:53:53 -05:00
Paul Beckingham
47f5a45e47 Bug Fix - #368 Recur until date in task info table displays epoch seconds
- Fixed bug.
- Added unit tests to prevent recurrence.
2010-01-28 09:53:26 -05:00
Paul Beckingham
c37f36510a Documentation Update
- Added a couple of good questions to the task-faq man page.  One is
  a discussion of the ID number resequencing, which really should have
  been addressed in this way years ago.
2010-01-27 23:58:18 -05:00
Paul Beckingham
c65cb536cc Documentation Update
- Added description of the new search.case.sensitive configuration
  setting.
2010-01-27 23:36:44 -05:00
Paul Beckingham
4a8b356867 Documentation update - script-hooks.txt
- Included the script for the hooks movie.
2010-01-27 22:56:41 -05:00
Paul Beckingham
ea2d57edd3 Enhancements - Hooks
- Make the hooks unit tests pass if Lua support is not included.
  We don't like yellow in the tinderbox.
2010-01-27 22:54:40 -05:00
Paul Beckingham
585cbdfcac Merge branch 'hooks' into 1.9.0
Conflicts:
	src/command.cpp
	src/report.cpp
2010-01-27 22:46:20 -05:00
Paul Beckingham
572a833a51 Merge branch '1.9.0' of tasktools.org:task into 1.9.0 2010-01-27 16:53:41 -05: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
4f1183a358 Enhancement - caseless compare
- Fixed bug in text.cpp:find that failed to locate a substring if it occurred
  at the end of the string.
2010-01-27 16:28:57 -05:00
Federico Hernandez
180d4ece77 Spelling... 2010-01-27 18:42:16 +01:00
Paul Beckingham
0c5a71b02f Enhancement - caseless substitution
- Substitutions "task <id> /from/to/" now obey the rc.search.case.sensitive
  setting.
2010-01-27 12:26:06 -05:00
Paul Beckingham
9cab749016 Enhancement - caseless find
- Fixed bug that didn't properly consider the starting offset in find.
2010-01-27 10:38:38 -05:00
Paul Beckingham
06ecef76d3 Enhancement - caseless find
- Added support for a starting offset.
2010-01-27 09:50:10 -05:00
Paul Beckingham
2dfe144236 Enhancement - caseless string compare, find
- Switched the sense of the Boolean parameter to match a more natural
  name in the .taskrc file.
2010-01-27 09:33:26 -05:00
Paul Beckingham
3e5ea8cb6c Enhancement - Caseless string compare, find
- Merged compare and find functions in from metatask.
- Merged unit tests in from metatask.
2010-01-27 09:12:06 -05:00
Federico Hernandez
56edf73d93 Wrong Pingstdagen in holidays-SE.rc 2010-01-25 22:51:34 +01:00
Federico Hernandez
2b63f781e9 Edited ChangeLog according to changes in 401f1b6496 2010-01-25 01:14:49 +01:00
Federico Hernandez
ccb6327131 Merge branch '1.9.0' of tasktools.org:task into 1.9.0 2010-01-25 01:09:43 +01:00
Federico Hernandez
401f1b6496 Holidays and dates
- improved dateformat handling now defaulting to YMD set via
  dateformat.holiday variable
- fixed missing sorting in holiday table output when running
  calendar.holidays=full
- renamed reportdateformat to dateformat.report
- added config file checking for calendar.holidays and calendar.details
- added 2 holiday files for SE and US (watertown, MA)
2010-01-25 01:06:15 +01:00
Paul Beckingham
48bf9d9f85 Bug Fix - #299 Can't use multiple project.hasnt:foo
- Fixed bug that prevented a filter from containing multiple references
  to the same attribute (thanks for John Florian).
- Added unit tests to verify.
2010-01-24 18:40:04 -05:00
Paul Beckingham
cc82823c47 Documentation Update - task-color.5
- Added the new task-color man page to the makefile, so it gets installed
  properly.
- Added the new man page in the ChangeLog file.
2010-01-24 17:48:49 -05:00
Paul Beckingham
383962173e Bug Fix - #360 Huh? "You cannot remove the recurrence from a recurring task. "
- The logic for detecting changes to a recurring task was wrong.
- Added unit tests for this bug.
2010-01-24 17:35:37 -05:00
Paul Beckingham
c8d208b9be Enhancement - Hooks
- Implemented pre-info-command, post-info-command hook.
2010-01-23 13:57:38 -05:00
Paul Beckingham
d6daa336ca Enhancement - Hooks
- Implemented pre-delete, post-delete events.
- Implemented pre-delete-command, post-delete-command events.
2010-01-23 13:43:50 -05:00
Paul Beckingham
b02374c3f5 Enhancement - Hooks
- Implemented pre-completed, post-completed events.
- Added debug info for event triggers.
- Removed support for pre-file-unlock, post-file-unlock, as they are
  called from TDB::~TDB in Context::~Context, which is after Hooks::~Hooks,
  which means segfault.
2010-01-23 13:12:49 -05:00
Paul Beckingham
03f7e0686f Enhancement - Hooks
- Implemented API::callTaskHook.
- Implemented Hook object inside Hooks.cpp, not Hooks.h.
- Implemented Hooks.setTaskId to provide context for task hooks.
- Implemented pre-tag, post-tag, pre-detag, post-detag
  events.
- Implemented pre-file-lock, post-file-lock, pre-file-unlock, post-file-unlock
  events.
2010-01-23 12:47:48 -05:00
Paul Beckingham
545013e839 Enhancement - config command
- Added validation of rc.annotations and rc.default.priority to the config
  command.
2010-01-23 00:12:34 -05:00
Federico Hernandez
4025488cf8 Updated ChangeLog and NEWS 2010-01-22 01:57:01 +01:00
Federico Hernandez
4ce2a1d071 Merge branch '1.9.0' of tasktools.org:task into helg 2010-01-22 01:45:33 +01:00
Federico Hernandez
a7244a999e Holidays
- added displaying of holidays in 'task cal'
  via calendar.holidays
- the legend in the calendar can now be turned off
- weeknumbers in the calendar can now be color-coded
2010-01-22 01:42:32 +01:00
Paul Beckingham
5b2cde4e30 Documentation - task-color.5
- Added new color tutorial man page.
2010-01-20 20:45:17 -05:00
Paul Beckingham
21d5607af2 Unit Tests - post-start, pre-exit
- Implemented unit tests for the post-start and pre-exit hooks.
2010-01-19 23:24:24 -05:00
Paul Beckingham
1cd6d4c7e7 Enhancement - Hooks
- Implemented pre-debug, post-debug.
- Implemented pre-header, post-header.
- Implemented pre-output, post-output.
- Implemented pre-footnote, post-footnote.
- Implemented pre-gc, post-gc.
- Implemented pre-undo, post-undo.
- Implemented pre-add-command, post-add-command.
2010-01-19 23:01:52 -05:00
Paul Beckingham
8540cab0a6 Enhancement - hooks
- Improved diagnostics of C++ side of the Lua API.
2010-01-19 22:19:40 -05:00
Federico Hernandez
e3c28f3fb3 Include statement for Linux 2010-01-20 00:31:41 +01:00
Paul Beckingham
f6f84aaf42 Tweak - default.command
- Trims whitespace off the default command that is reported via Context::header.
2010-01-19 18:04:47 -05:00
Paul Beckingham
b927d95d58 Merge branch '1.9.0' of tasktools.org:task into 1.9.0 2010-01-19 17:53:53 -05:00
Paul Beckingham
dd5623be65 Unit Tests
- Fixed tests that were broken when the config defaults changed.
2010-01-19 17:53:17 -05:00
Paul Beckingham
78063c4df7 Enhancement - Hooks
- Multiple hooks for the same event are now triggered, in the sequence
  they are found in .taskrc
- Program hooks can now cause task to exit.
2010-01-18 20:19:51 -05:00
Federico Hernandez
ab86490b37 Clean up annotation details
- changed variable name from annotation.details to annotations
- added report.X.annotations
- changed values from 2, 1, 0 to full, sparse, none
- made reportdateformat available in timesheet
2010-01-19 00:46:25 +01:00
Paul Beckingham
69cae7731f Enhancement - Hooks
- First fully functioning Lua hooks.  Woohoo.
2010-01-18 18:03:31 -05:00
Paul Beckingham
eeefc8a992 Color
- Removed coloring of only the due date, which is operating outside of
  the colorization rules.
- Removed commented out code.
2010-01-18 00:53:01 -05:00
Paul Beckingham
77e98c8c03 Enhancement - Hooks
- Improved the conditional compilation.
2010-01-17 23:41:02 -05:00
Federico Hernandez
fccd0d6c96 Report date format
Added report.X.dateformat which gives each report the possibility
to have a custom format for the due dates.
2010-01-18 03:45:49 +01:00
Federico Hernandez
4f70969306 Modification of the confirmation dialog for task config name value 2010-01-17 21:30:16 +01:00
Paul Beckingham
57e94585e8 Enhancement - Hooks
- Added Lua copyright notice to the version command.
- Added Lua copyright details to API.cpp, which is the only file that
  interacts with Lua.
- Added hook-type detection.
- Added a hook-type calling mechanism in Hooks.
- Implemented the post-start and pre-exit event triggers.
- Context::initialize now calls Hooks::initialize, which in turn calls
  API::initialize.  We have liftoff!
2010-01-17 14:24:40 -05:00
Paul Beckingham
c66d6b0500 Enhancement - Hooks
- Added bare bones autoconf changes to support Lua.
- Added API class from metatask.git.
- Added skeleton Hooks class.
- Added 'with_lua' helper script.
2010-01-17 01:12:28 -05:00
Paul Beckingham
31055360dc Merge branch '1.9.0' into hooks 2010-01-17 00:35:08 -05:00
Paul Beckingham
229a3d309c Feature - #296 Setting configuration variables in .taskrc
- Now supports 'task config name value', 'task config name ""', and
  'task config name' to directly modify the .taskrc file.
- Updated man page.
- Added unit tests.
- Modified existing config command to also display configuration
  variables that have no values.
2010-01-17 00:13:19 -05:00
Paul Beckingham
c82469fa2c Merge branch '1.9.0' of tasktools.org:task into 1.9.0 2010-01-16 17:47:22 -05:00
Paul Beckingham
5a886f6e58 Unit Tests
- Now sorts the results of a glob, so that the results are in a
  consistent order on all platforms.
2010-01-16 17:46:32 -05:00
Paul Beckingham
abffaa184b Enhancement - Path integration
- Obsoleted util.cpp spit, slurp calls
2010-01-16 17:45:45 -05:00
Federico Hernandez
70a0cd670b Merge branch '1.9.0' of tasktools.org:task into 1.9.0
Conflicts:
	src/Context.cpp
2010-01-16 23:45:07 +01:00
Federico Hernandez
720f28c09c Clean up in Context.cpp 2010-01-16 23:37:37 +01:00
Paul Beckingham
a8f03679ed Demo - color
- Preparing a script for a movie demonstrating color.
2010-01-16 16:05:28 -05:00
Paul Beckingham
0b67dfa38c Review - Config defaults
- Pass 1 of the review, identifying variables that may need to be
  changed.
2010-01-16 14:58:50 -05:00
Paul Beckingham
e53ba8110b Enhancement - Path integration
- Implemented Path::operator (std::string) const, to provide an
  automatic cast to std::string for any Path, File or Directory.
- Made use of new cast in various code.
- Changed use of spaces in atoi () calls.
- Switched from std::string::data () to std::string::c_str () calls.
2010-01-16 14:42:36 -05:00
Paul Beckingham
a6875ced6e Copyright etc
- Added Federico Hernandez to the task copyright, based on the amount
  of work and commits to the project, in the areas of Date handling and
  the calendar report.
- Bumped Cory Donnelly up to Contributing Author for the large quantity
  of ideas, suggestions and testing.
2010-01-16 13:51:11 -05:00
Paul Beckingham
57cac49362 Documentation Update
- Added more Qs the FAQ.
2010-01-16 12:26:59 -05:00
Paul Beckingham
81acaa6ae0 Enhancement
- Eliminated all unlink calls.
2010-01-16 10:35:18 -05:00
Paul Beckingham
b596e96b43 Enhancement - Path, File, Directory integration
- Replaced all access calls.
- Replaced all stat calls.
- Obsoleted util.cpp isAbsoluteDirectory calls.
- Obsoleted util.cpp expandPath calls.
2010-01-16 10:27:31 -05:00
Paul Beckingham
8e47342a18 Unit Tests
- Modified config.t.cpp according to the recent Config.cpp changes.
2010-01-15 22:04:41 -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
0faf7fa8ee Config - defaults
- Config is now providing a default set of all configuration variables.
- The default set is used to both initialize a Config object, and to
  create a sample .taskrc.
2010-01-15 02:50:46 -05:00
Paul Beckingham
0002376f2a Color Themes
- Better names.
2010-01-14 23:44:58 -05:00
Paul Beckingham
f87b2ee636 Color Themes
- Created the four basic themes, with no contents yet.  TBD.
2010-01-14 23:43:00 -05:00
Federico Hernandez
3aae7b180b Feature - #283 verbosity of annotations
- the configuration variable annotation.details now controls the
  verbosity of the output of annotations.
2010-01-14 00:03:52 +01:00
Federico Hernandez
b001c2f40b Merge branch '1.9.0' of tasktools.org:task into 1.9.0 2010-01-12 23:15:19 +01:00
Federico Hernandez
660d0cca3e Report date format
- added new reportdateformat to extend the formatting of due dates
  in the reports and "task info"
- added new conversion sequences a, A, b, B and Y to be used with
  reportdateformat
2010-01-12 23:12:22 +01:00
Paul Beckingham
db1a6601eb Merge branch '1.8.5' of tasktools.org:task into 1.8.5 2010-01-12 08:24:30 -05:00
Paul Beckingham
78778c2819 Packaging
- This is the structure that the OSX package requires.  Note that the
  task binary is 'represented' by an empty file.
- With more time, this could possibly be converted to a tree of symlinks,
  but I'm not sure whether PackageManager deals with them as expected.
2010-01-12 08:22:29 -05:00
Paul Beckingham
585020ef97 Documentation
- Added a few questions to the FAQ.
2010-01-12 08:16:06 -05:00
Paul Beckingham
e1f3f2355a Enhancement
- Added Path::is_absolute, and corresponding unit tests.
- Replaced expandPath and isAbsolutePath call in Config.cpp.
2010-01-12 01:30:59 -05:00
Paul Beckingham
c02cfd594c Path Integration
- Replaced calls to ::access
2010-01-12 01:18:55 -05:00
Paul Beckingham
5dbadda512 Build
- Removed duplicate entry.  Oops.
2010-01-12 01:16:59 -05:00
Paul Beckingham
c73376cb2f Build
- Removed obsolete files that will be replaced soon by the new OSX
  packaging currently on the 1.8.5 branch.
2010-01-12 01:06:29 -05:00
Paul Beckingham
0b5a105b9b Build
- Included the new scripts/vim/syntax/taskrc.vim file in the distribution
  (thanks to John Florian).
2010-01-12 00:58:55 -05:00
Federico Hernandez
e92fb9287a Man pages
- Bumped rest of man pages to same date as FAQ man page.
- Added name section to FAQ man page.
2010-01-10 21:42:34 +01:00
Paul Beckingham
875c5c1880 Build Error
- Fixed missing include.
2010-01-10 01:34:16 -05:00
Paul Beckingham
2b71317e09 Build Error
- Fixed build error on Ubuntu caused by using a Darwin-specific struct
  member.
2010-01-10 01:32:28 -05:00
Paul Beckingham
44aeea8e45 Hooks - starting...
- Tried to include an autoconf Lua detector.  Failed.  Waiting on mailing
  list response.
2010-01-10 01:11:38 -05:00
Paul Beckingham
f435eeed7a Documentation Update
- Changed the official code repo URL from github to tasktools.org.
  The github copy is going away.
- Added an FAQ about recreating a .taskrc, or creating a second one
  for comparison.
2010-01-09 21:30:23 -05:00
Paul Beckingham
a5cb041ef2 Code Reorganization
- Merged Path, File and Directory handling objects from metatask.git.
- Merged unit tests.
- These objects will replace a fair amount of code in task 1.9 and
  more in 2.0.
2010-01-09 17:48:32 -05:00
Paul Beckingham
bfdeee2cea Unit Tests - shell.t
- Began a set of unit tests for shell mode.  Needs work.
2010-01-09 15:17:44 -05:00
Paul Beckingham
414cdf8669 Documentation Update
- Added new 'task-faq' man page.
- Added references to the new man page in various places.
2010-01-09 11:01:06 -05:00
Paul Beckingham
3b52b75d2a Report - minimal
- Added a really minimal report.
2010-01-08 17:01:36 -05:00
Federico Hernandez
f56e1bef54 Minor cleanup. 2010-01-08 22:29:58 +01:00
Federico Hernandez
1b60c20bad Calendar coloring
- Now all due tasks are colorized.
- Setting due=0 now colorizes all due tasks in reports.
2010-01-08 16:49:18 +01:00
Federico Hernandez
7ef5233547 Calendar coloring
- Added 1 new color configuration variables to colorize weekend days
  in the calendar: 'calendar.color.weekend'.
- Changed the default colors in the calendar.
2010-01-08 16:21:27 +01:00
Federico Hernandez
d552b208dd Calendar coloring
- Added 3 new color configuration variables to colorize today, days with due tasks
  and days with overdue tasks in the calendar:
  'calendar.color.today', 'color.calendar.due' and 'calendar.calendar.overdue'
2010-01-08 12:23:26 +01:00
Federico Hernandez
6dd00f41e9 Calendar details
- added 2 new configuration variables 'calendar.details' and
   'calendar.details.report' that make it possible to display
   details of task with due date when doing 'task cal'
2010-01-08 00:15:00 +01:00
Paul Beckingham
a75e7978ab Color Command
- Added support for displaying color samples.  If you run the command
  'task color red on grey12' then task will show you a sample of this
  color, along with other examples.  This is helpful if you are trying
  to choose colors for auto colorization rules.
2010-01-03 12:35:53 -05:00
Paul Beckingham
6abc40ef46 Documentation Update
- Edited and improved the task tutorial, with mention of --, and tips
  on tricking task into allowing special arguments into the description.
2010-01-03 11:36:02 -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
Federico Hernandez
93067f3c3b Fixed floating point arithmetic when type casting.
See http://stackoverflow.com/questions/1989708/type-casting-with-printf-statements-under-mac-osx-and-linux
2010-01-01 23:58:15 +01:00
Federico Hernandez
8d8f7ddb40 Fixed 2 unit tests that behaved wrong at the end/beginning of a year. 2010-01-01 22:11:10 +01:00
Federico Hernandez
be75b4bf3a Fixed 2 unit tests that behaved wrong at the end/beginning of a year. 2010-01-01 22:05:08 +01:00
Paul Beckingham
3031cf8da9 Merge branch '1.9.0' of tasktools.org:task into 1.9.0 2009-12-31 13:02:03 -05:00
Paul Beckingham
db707d5e15 Feature - new field 'priority_long'
- The new 'priority_long' field can be shown in custom reports, and will
  display 'High' rather than the abbreviated 'H'.
- Unit tests.
2009-12-31 12:57:03 -05:00
Federico Hernandez
065384027e Added ChangeLog entry for new 'config' command. 2009-12-29 21:48:12 +01:00
Federico Hernandez
dca4772f33 New command config
- version now only displays the version number and copyright notice
- config displays the task configuration that version used to show
- configuration variable longversion is not longer needed
2009-12-29 02:46:16 +01:00
Federico Hernandez
48daf13d7f Copyright
- Updated the copyright notices to 2010, for the 1.9.0 release.
- added "unmaintained" comment to zsh completion script asking for
  contributions
2009-12-28 21:37:55 +01:00
Paul Beckingham
79113668cd Feature - color rules for partial project names
- The color.project.foo colorization rules now matches on partial
  project names (like foobar), matching the functionality of filters.
2009-12-27 13:46:55 -05:00
Paul Beckingham
167b9aa8eb Documentation Update
- Reorganized entries in ChangeLog.
- Added missing rc.name= feature description.
2009-12-27 13:43:50 -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
6cfb913e45 Unit Tests - benchmark2.t
- Gathers timing for runs of the list report for 1, 10, 100 and 1000
  tasks.  This will create a history of data in the tinderbox runs
  for later analysis.
2009-12-27 10:14:45 -05:00
Paul Beckingham
5ef3bcc243 Unit Tests - benchmark2
- Fixed Timer class to use a fixed precision, that for some reason,
  does not work on Haiku.  Put a conditional compile around it for
  now - perhaps later Haiku alpha releases will change things?
- Added benchmark2.t, which enables high-resolution timers for a
  single 'list' command, with 10, 100 and 1000 task databases. Then
  it emits readily-found and parsed data for charts.
- Eliminated obsolete benchmark data for hardware I no longer own.
2009-12-26 19:44:52 -05:00
Paul Beckingham
f43e093515 Unit Tests - util.t
- Added unit tests to make sure formatSeconds is doing the right thing.
  It isn't, and it needs to change, but at least now we can see what is
  wrong with it.
2009-12-22 13:36:47 -05:00
Federico Hernandez
ecb4190e0b Added unknown OS clause for the version command output 2009-12-22 01:03:24 +01:00
Federico Hernandez
338e4dfbc7 basic.t
- check version number against configure.ac
- added test for _version command
2009-12-22 00:18:26 +01:00
Paul Beckingham
1046555c9c Unit Tests - abbreviation.t, basic.t
- Fixed broken unit tests that relied on the string 'ABSOLUTELY NO
  WARRANTY' being present in the output of the version command.  The
  tests now rely upon 'GNU General Public License' instead.
2009-12-20 10:51:51 -05:00
Paul Beckingham
b8377b7e5c Feature - version command
- Added FreeBSD as a recognized operating system.
2009-12-20 10:51:03 -05:00
Paul Beckingham
2a8acaf351 Feature - version command
- Rearranged output of the version command.
- Added build information (OS) and packages (ncurses ...).
2009-12-18 22:31:54 -05:00
Paul Beckingham
2ec5a315cb Feature - simple version report for scripts
- Added a simple _version command that displays only the version
  number and a newline.  This makes it easier for external task support
  scripts to determine which version of task is installed - easier than
  parsing the version command output.
2009-12-18 21:41:48 -05:00
Paul Beckingham
be86c52dc0 Bug Fix - typo
- Typo in message after prepend has finished.
2009-12-16 22:03:35 -05:00
Paul Beckingham
2cf25b7c35 Code Cleanup
- Used the shorter form of std::string::substr that defaults the second
  argument to std::string::npos.
2009-12-13 16:59:28 -05:00
Paul Beckingham
75e738a9c9 Unit Tests - list.t
- Added listIntersect and a Boolean listDiff implementation in main.h.
- Added a set of unit tests for the above.
2009-12-13 12:30:49 -05:00
Paul Beckingham
42981c746e Completion Script - zsh
- With P.C. Shyamshankar's blessing, updated the _task script for zsh
  by using the new task built-in _commands command to enumerate all
  supported commands.  This replaces code that forces task usage output,
  and parses it for commands.
- Note that _task for zsh lacks attribute completion.  We need a zsh
  developer to make this enhancement.
2009-12-13 10:03:59 -05:00
Paul Beckingham
5a66ac94ee Bug Fix - unit tests util.t
- Algorithm uses different numbers to represent a year in the same
  condition.  Bad.
2009-12-12 11:41:47 -05:00
Paul Beckingham
eaeca45eae Bug Fix - broken unit tests on Ubuntu
- Fixed util.cpp formatSeconds and formatSecondsCompact, that were using
  an algorithm that accentuated rounding errors.
- Fixed unit tests that were expecting wrong answers from the wrong
  algorithm above.
2009-12-12 11:30:20 -05:00
Paul Beckingham
37411c7521 Documentation Update - Config
- Updated the generated config file to include examples of the new
  report columns.
2009-12-11 20:44:44 -05:00
Paul Beckingham
4ea71c939a Enhancement - New columns for custom reports
- Added 'entry_time', 'start_time' and 'end_time' columns that include
  the time as well as the date.
2009-12-11 19:08:45 -05:00
John Florian
81ce844d79 Feature - #307 vim support for taskrc
- Added support for syntax highlighting of taskrc within vim.
2009-12-10 18:39:24 -05:00
Paul Beckingham
0780919c2e Feature - #352 rc file should support includes
- Added include file support to Config.cpp.
- Implemented isAbsolutePath helper.
- Added unit tests for isAbsolutePath.
- Fixed small bug in bug.bulk.t.
- Added TODO items to config.t.cpp.
2009-12-09 17:21:09 -05:00
Paul Beckingham
8d43a35ca4 Unit Tests - util.t
- Added unit tests for formatSeconds and formatSecondsCompact.
- Fixed small boundary but in formatSeconds.
2009-12-09 17:12:50 -05:00
Paul Beckingham
42c1b30c31 Feature - Config validation
- The 'version' command now complains about use of deprecated color names and
  duplicate entries.
- Unit tests verify duplicate detection.
- Unit tests verify deprecated color detection.
- Most validation code moved from command.cpp to Config.cpp.
2009-12-08 22:56:01 -05:00
Federico Hernandez
b032a00283 Merge branch '1.9.0' of tasktools.org:task into 1.9.0 2009-12-09 01:16:18 +01:00
Federico Hernandez
b684ded845 Bug #347 - Confirmation dialog is lowercase for "all"
- changed confirmation to be now "All" for multiple changes
- added unit tests for all answers to multiple changes
2009-12-09 01:15:31 +01:00
Federico Hernandez
780d9bb7e7 Bug #347 - Confirmation dialog is lowercase for "all"
- changed confirmation to be now "All" for multiple changes
- added unit tests for all answers to multiple changes
2009-12-09 01:11:14 +01: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
d019126086 Documentation Update
- Included sample maximal taskrc for inclusion as the auto-generated
  .taskrc.  It will be complete, self-documenting, and nicely formatted.
2009-12-06 20:21:22 -05:00
Paul Beckingham
a7feed2ae9 Documentation Update - NEWS
- Cleared out 1.8 NEWS items, added 1.9 items.
- Mentioned 256 color support
- Mentioned Richard Querin's alternate line coloration feature
2009-12-06 13:41:47 -05:00
Paul Beckingham
64c643920f Feature - Special tags
- Implemented the 'nonag' tag that prevents nag messages for a task.
2009-12-06 11:54:23 -05:00
Paul Beckingham
2c5f590fed Feature - Special tags
- Implemented the 'nocolor' special tag.
2009-12-06 11:48:09 -05:00
Paul Beckingham
3003cdaf08 Code Cleanup
- Clarified autoComplete special case comment.
2009-12-06 11:40:19 -05:00
Paul Beckingham
5f353f800d Unit Tests - cal.t
- Fixed a broken fix (e7c8114dff) for
  the calendar command - previously if task could find no tasks with
  due dates, no calendar was displayed, and an error message shown.
  That broken fix was only on the 1.9.0 branch and never released.
  The correct behavior is to show a line of months.  This bug broke
  15 unit tests.
- Fixed minor problem in unit tests where the output was not captured,
  although this has no bearing on the results.
2009-12-06 11:30:51 -05:00
Federico Hernandez
f3d31834ee Merge branch 'master' into 1.9.0
due to release of 1.8.5

Conflicts:
	ChangeLog
	configure.ac
	doc/man/task-tutorial.5
	doc/man/task.1
	doc/man/taskrc.5
	src/Config.cpp
	src/rules.cpp
2009-12-06 04:30:56 +01:00
Federico Hernandez
28377502f6 Added SHA1 of taged release commit 2009-12-06 04:14:40 +01:00
Federico Hernandez
a6c7236ff3 Release date for 1.8.5 2009-12-06 01:49:05 +01:00
Paul Beckingham
204d287b20 Feature - #341 man pages
- Added feature #341 that makes explicit references to the task and taskrc
  man pages, both in the auto-generated .taskrc file and the version command
  output (thanks to Cory Donnelly).

Signed-off-by: Federico Hernandez <ultrafredde@gmail.com>
2009-12-05 22:49:30 +01:00
Paul Beckingham
6fc34eef42 Merge branch '1.9.0' of tasktools.org:task into 1.9.0 2009-12-05 13:43:47 -05:00
Paul Beckingham
e99c01c92c Enhancement - deprecated color
- Improved the warning about deprecated color usage to include actual
  examples from .taskrc.
2009-12-05 13:43:00 -05:00
Paul Beckingham
b3e3c36d50 Documentation Update
- Added missing ChangeLog entry for #310.
2009-12-05 12:46:29 -05:00
Paul Beckingham
e717345f20 Feature - #310 'task add' with external editor
- Simplified and make clearer and error message that complained about
  things that were beyond user control (thanks to John Florian).
(cherry picked from commit a2152628251c6d8c9bc840b8f36851f4ce680c99)

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2009-12-05 12:23:32 -05:00
Paul Beckingham
850135376d Feature - #341 man pages
- Added feature #341 that makes explicit references to the task and taskrc
  man pages, both in the auto-generated .taskrc file and the version command
  output (thanks to Cory Donnelly).
2009-12-05 11:24:05 -05:00
Paul Beckingham
5d0e6c3435 Feature - #336 prepend command
- Added feature #336 which gives task a 'prepend' command for symmetry
  with the 'append' command.
2009-12-04 22:47:44 -05:00
Federico Hernandez
3b354b6d47 Bug Fix - #332 output field "recur_ind" not valid?
- changed man page to include the correct fields
2009-12-02 21:41:20 +01:00
Paul Beckingham
2c0da35225 Bug Fix - #319 Removing tag from many tasks, incorrect change summary
- Fixed bug that caused task to not properly detect the removal of a
  tag when obtaining confirmation from the user fora bulk modification
  (thanks to Cory Donnelly).
2009-12-02 00:14:17 -05:00
Paul Beckingham
13955bc6ae Unit Tests - text.t
- Added more unit tests to cover the new split_minimal function.
2009-12-01 23:41:44 -05:00
Paul Beckingham
1d80a2ebdc Unit Tests - default.t
- The fix to bug #322 means the way default commands are specified
  is now a little different.  If the command "task rc:x" is run, the
  default command no longer needs to also include "rc:x".
2009-12-01 23:29:01 -05:00
Paul Beckingham
d4910f65eb Bug Fix - #332 output field "recur_ind" not valid?
- Fixed bug #332 where task complained that the 'recur_ind' custom report
  column was invalid.  It was misnamed in the documentation, which should
  have read 'recurrence_indicator'.  Also, the 'tag_indicator' column was
  not mentioned anywhere (thanks to T. Charles Yun).
- Added ChangeLog entry for the #333 fix.
2009-12-01 22:12:59 -05:00
Federico Hernandez
2b44d513e8 Added unit tests for bug fix #333 2009-12-02 00:28:34 +01:00
Federico Hernandez
7f11f1b560 Bug Fix - #333 duplicate command should display the ID of the created task
- Added missing "Created task" output to duplicate command (thanks to
  Cory Donnelly).
2009-12-01 23:00:40 +01:00
Paul Beckingham
b246fae889 Unit Tests - fixing broken tests
- The split tests are all broken after a recent change.  They need
  to be extended to accommodate the new split_minimal functions.
2009-11-29 22:41:55 -05:00
Federico Hernandez
8c5508de4b Merge branch '1.8.5' of tasktools.org:task into 1.8.5 2009-11-30 00:16:40 +01:00
Federico Hernandez
b3db2245fa Updated OS that task runs on 2009-11-30 00:16:10 +01:00
Paul Beckingham
00b246ce8a Bug Fix - shell mode
- Removed redundant messages when exiting shell mode.
2009-11-29 16:17:26 -05:00
Paul Beckingham
b94706c56e Bug Fix - #322 rc: override for shell command does not propagate
- Fixed bug #322 which failed to propagate rc overrides to shell commands.
- Context now properly records overrides to file and variables.
- The text.cpp:split (...) functions can now skip trivial split results.
2009-11-29 14:23:22 -05:00
Paul Beckingham
8d784da0ae Bug Fix = #317, sorting
- Fixed bug #317 which colored tasks in the 'completed' report according to
  due dates, which are no longer relevant to a completed task (thanks to
  Cory Donnelly).
- Fixed bug that was causing the 'completed' report to sort incorrectly.
2009-11-29 08:21:33 -05:00
Paul Beckingham
b5f65850f8 Bug Fix - #327 Deleting due date on recurring task wraps to 1969
- Task now prevents removal of either a due date or a recurrence
  from a recurring task.
2009-11-28 09:53:15 -05:00
Paul Beckingham
b7726bce21 Bug Fix - #329 task shell convert all characters to lowercase
- Fixed bug that inadvertently converted the entire command line to
  lower case in the shell, rather than just the command, for testing
  against the "quit" string (thanks to Juergen Daubert).
2009-11-26 09:41:47 -05:00
Paul Beckingham
d44e9363f0 Enhancement - better confirmation
- Added feature to allow the user to quit when asked to confirm multiple
  changes.  Now task asks "Proceed with change? (Yes/no/all/quit)".
2009-11-21 17:39:50 -05:00
Paul Beckingham
5e905742ad Bug Fix - #317, timesheet report
- Fixed bug #317 which colored tasks in the 'completed' report according to
  due dates, which are no longer relevant to a completed task (thanks to
  Cory Donnelly).
- Fixed bug that was causing the 'completed' report to sort incorrectly.
2009-11-18 20:29:45 -05:00
Paul Beckingham
549e700bc8 Bug Fix - timesheet
- The timesheet report was being sorted as though the 'end' date was
  not being considered a date, but simply a string.
2009-11-18 20:28:25 -05:00
Paul Beckingham
b2fc4969b9 Documentation Update
- Minor doc edits.
2009-11-18 20:27:54 -05:00
Federico Hernandez
e319359935 Merge branch 'master' into 1.9.0
Conflicts:
	AUTHORS
	ChangeLog
	configure.ac
	doc/man/task-tutorial.5
	doc/man/task.1
	doc/man/taskrc.5
2009-11-18 10:44:35 +01:00
Federico Hernandez
331b08055a Bumped version number to 1.8.5 2009-11-18 10:22:33 +01:00
Federico Hernandez
847a8b6d49 Added SHA1 of taged release commit 2009-11-18 09:56:14 +01:00
Paul Beckingham
3abce22f0c Bug Fix - color
- Fixed bug that failed to upgrade from 16- to 256-color mode when
  a color like "black on rgb003" was parsed.
2009-11-18 00:36:57 -05:00
Paul Beckingham
c090367eb8 Enhancement - warns on deprecated color use
- If a color is specified using the deprecated 'on_red' instead of
  'on red', generate a warning in the version report.  The version
  report is becoming a report where .taskrc sanity checks occur.
  Is this good?
2009-11-17 23:56:21 -05:00
Paul Beckingham
fff789a509 Bug Fix - #316 timesheet report oddly sorted
- Fixed bug #316 which caused the timesheet report to display an
  oddly sorted list.  Mistakenly used 'std::cout << ...' instead of
  'out << ...'
2009-11-17 22:55:29 -05:00
Paul Beckingham
e7c8114dff Bug Fix - calendar
- Fixed bug that showed a calendar for the year 2037 when 'task calendar due'
  was run, and there are no tasks with due dates.
2009-11-17 22:41:55 -05:00
Paul Beckingham
fbb217538e Code Cleanup
- Removed unnecessary use of the scope resolution operator.
2009-11-17 22:34:28 -05:00
Federico Hernandez
12c4983936 Release date for 1.8.4 2009-11-17 12:00:36 +01:00
Paul Beckingham
39d9f235de HACK - case-insensitive file system problem again. 2009-11-16 23:42:32 -05:00
Paul Beckingham
7aa0c3698a HACK - case-insensitive file system problem again. 2009-11-16 23:42:00 -05:00
Paul Beckingham
bc40ab63b3 Bug Fix - #312 Changing one task changes another
- Added a warning when modifying recurring tasks, that all instances of
  that task may be modified.  When task confirms a bulk edit the
  recurrence is again indicated (thanks to Cory Donnelly).
2009-11-16 23:24:47 -05:00
Paul Beckingham
6e673d2834 Bug Fix - #313 Edit command fails when data.location includes spaces
- Applied patch from Cory Donnelly.
2009-11-16 22:10:47 -05:00
Federico Hernandez
30c6dd0047 Added Joe to AUTHORS file 2009-11-13 23:32:40 +01:00
Paul Beckingham
64bc2a165a Bug fix - hang on cygwin when task updated.
- Fixed bug that caused a hang on cygwin, when a task with multiple
  annotations was edited (thanks to Joe Pulliam).
2009-11-09 22:35:51 -05:00
Paul Beckingham
5b96dbbce8 Bug Fix - wait date editing
- The "wait" date was not being properly formatted, as are all the other
  dates, in the "edit" command.  The result is that an epoch integer date
  was rendered, instead of something readable and in the preferred format.
2009-11-09 18:19:04 -05:00
Paul Beckingham
3214dc5d37 Merge branch '1.9.0' of tasktools.org:task into 1.9.0 2009-11-08 12:54:24 -05:00
Paul Beckingham
bb89e1a70f Unit Tests - annotate.t
- Fixed bug in annotate.t, where a custom report named 'r' was used
  in the unit tests.  This name had to be lengthened to 'rrr' to avoid
  conflict with the 'recurring' report.  This, in itself, is a different
  bug.
2009-11-08 12:51:57 -05:00
Federico Hernandez
a16122bbe9 Fixed regexp matching for colorcoded duedates in unit test 2009-11-06 23:03:47 +01:00
Federico Hernandez
57ef35441d Fixed bug in regexp matching of whitespace between month and year. 2009-11-05 21:37:47 +01:00
Federico Hernandez
77dd930574 Fixed bug in regexp matching of whitespace between month and year. 2009-11-05 21:36:46 +01:00
Paul Beckingham
e222090d1f Feature - default alias
- Added a default alias of "rm" as a synonym of "delete" (thanks to
  Ivo Jimenez).
2009-11-05 01:08:54 -05:00
Federico Hernandez
bf077c0f97 Merge branch 'master' (1.8.3) into 1.9.0
Conflicts which were fixed:
	ChangeLog
	configure.ac
	doc/man/task-tutorial.5
	doc/man/task.1
	doc/man/taskrc.5
	src/report.cpp
2009-10-22 22:55:01 +02:00
Federico Hernandez
f6842941f3 Bumped version number to 1.8.4 2009-10-22 22:40:18 +02:00
Federico Hernandez
e2e0851a69 Merge branch '1.8.3' 2009-10-22 22:27:21 +02:00
Federico Hernandez
1299fe468b Added sha1 for 1.8.3 to Changelog 2009-10-22 22:09:53 +02:00
Federico Hernandez
de50b2902c Merge branch '1.8.3' 2009-10-22 22:02:32 +02:00
Federico Hernandez
bcdcbeeea0 Preparing release
- Updating dist documentation
- Release date in man pages
2009-10-21 22:53:26 +02:00
Pietro Cerutti
469cafa053 Make run_all more portable.
- Changed shebang for portability
- Fix date command for FreeBSD

Signed-off-by: Federico Hernandez <ultrafredde@gmail.com>
2009-10-21 22:20:32 +02:00
Pietro Cerutti
fdb359c180 Fix confirm() to handle EOF
Signed-off-by: Federico Hernandez <ultrafredde@gmail.com>
2009-10-21 22:19:37 +02:00
Paul Beckingham
d321ee242d Bug Fix - Layout on color report
- Fixed layout to include a \n between basic colors and effects.
2009-10-13 11:30:13 -04:00
Paul Beckingham
9f9c19d4ae Unit Tests - fix
- The unit tests for color were still linking against color.o, instead
  of the new Color.o.  Subtle, but wrong.
2009-10-11 16:17:26 -04:00
Paul Beckingham
179b51278f Bug Fix - Color endianness
- Fixed "bug" that caused "red on black" to be emitted as ^[[40;31m
  instead of the expected ^[[31;40m, which is what the unit tests are
  looking for.
2009-10-11 11:49:35 -04:00
Paul Beckingham
1bb907f76d Unit tests - rc.t
- Added tests for the new rc.name=value form, in addition to the
  existing rc.name:value form.
2009-10-10 11:18:38 -04:00
Paul Beckingham
99641e7b0b Enhancement - rc.name=value
- Task now supports both "rc.name:value" and "rc.name=value", not because
  this is generally a good idea, but because it is a very common mistake
  that we are all making, and shouldn't the software be forgiving in an
  unambiguous case like this?
2009-10-10 11:15:32 -04:00
Paul Beckingham
d7bded0d73 Enhancement - Color::colorize
- Made Color::colorize (const std::string&, const std::string&) static,
  so that it is now simple to colorize a string:

      std::cout << Color::colorize ("text", "red");

- Added sample foreground and background colors to the "color" command,
  and used the above shortcut to simplify handleOnColor.
2009-10-10 10:55:48 -04:00
Paul Beckingham
80a3196097 Bug Fix - color.alternate ignoring color/forcecolor overrides
- Fixed bug that caused the alternate line coloration to ignore whether
  color was enabled or not.  This (once again) added color codes to the
  shadow file.  This happens repeatedly - I think a unit test for this
  mistake is needed.
2009-10-06 10:12:07 -04:00
Paul Beckingham
010ef7cd07 Bug Fix - Color::Color (color_id, color_id)
- Removed temporary fix from task code to accommodate above bug.
2009-10-06 00:20:50 -04:00
Paul Beckingham
e5fce9ac08 Bug Fix - missing color
- There's something wrong with Color::Color (int, int), so this is a
  temporary fix.
2009-10-05 23:53:28 -04:00
Paul Beckingham
175dd3eb4f Feature - #292 Alternate line coloration
- Implemented alternate line coloration, triggered by the 'color.alternate'
  configuration variable.
2009-10-05 22:09:19 -04:00
Paul Beckingham
3cd45c3acd Feature - 256 color support
- Inverted the _COLOR_NOFG to be _COLOR_HASFG, for better readability and
  the added benefit of having newly constructed color with no specification
  having a value of 0.
2009-10-04 09:55:06 -04:00
Paul Beckingham
157b32e93b Documentation Update
- Tweaked the output of the "color" command.
2009-10-03 16:03:32 -04:00
Paul Beckingham
0b187f3ff8 Feature - 256-color support
- Improved blending algorithm.
- Added 16- to 256-color upgrade algorithm.
2009-09-27 22:58:40 -04:00
Paul Beckingham
b3d40b2554 Portability - Haiku R1/alpha1
- Added necessary include files and edits in order to build task on
  Haiku R1/alpha1.
2009-09-27 17:02:20 -04:00
Paul Beckingham
bb2eb5f266 Feature - 256-color support
- Added precautionary bit reset for bold and bright in 256-color mode.
  Not sure if it is important, but it's cleaner.
2009-09-23 23:26:39 -04:00
Paul Beckingham
675df6487a Feature - 256-color support
- Added the colorN variants to the rgbRGB and grayN labels.
2009-09-23 23:21:46 -04:00
Paul Beckingham
b2b4fc6b54 Feature - 256-color support
- Implemented new "task color" command to showcase 256-color support.
2009-09-23 23:12:07 -04:00
Paul Beckingham
2074c8bb27 Feature - 256-color support
- Fixed bug that caused \033[m sequences to be emitted when no color
  is specified, in 16-color mode.
2009-09-22 21:36:36 -04: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
58730a48b3 Feature - 256-color support
- Eliminated old color implementation.
- Integration, debugging remains.
2009-09-22 16:42:46 -04:00
Paul Beckingham
37436071a0 Feature - 256-color support
- Added new Color object.
2009-09-22 12:10:13 -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
Federico Hernandez
1d4c942675 Bumped version number to 1.9.0 2009-09-07 16:25:40 +02:00
Federico Hernandez
fba076a0d0 Bumped version number to 1.8.3 2009-09-07 16:13:37 +02:00
Federico Hernandez
09d7940dd3 Revert "Bumping version number to 1.8.3"
This reverts commit 00031dc1ab.
2009-09-07 16:04:24 +02:00
Federico Hernandez
00031dc1ab Bumping version number to 1.8.3 2009-09-07 15:52:51 +02:00
Paul Beckingham
3ef844de5f Packaging
- Adding updated package files for OSX, from the 1.8.2 release.
2009-09-07 09:51:20 -04:00
Federico Hernandez
bb45d91ddb Added sha1 of 1.8.2 to ChangLog 2009-09-07 15:41:51 +02:00
Federico Hernandez
f243f0ed44 Release date in man pages 2009-09-07 10:18:44 +02:00
Federico Hernandez
b305cc0a60 Release date in ChangeLog 2009-09-07 09:57:09 +02:00
Paul Beckingham
53609b2837 Bug Fix - #288
- Fixed bug which failed to propagate rc overrides from the command
  line to the default command (thanks to Zach Frazier).
2009-09-06 16:27:28 -04:00
Federico Hernandez
bdaa0f89d9 Platform update 2009-09-02 12:50:43 +02:00
Federico Hernandez
2fd8d8aa83 Bug Fix #291
- Fixed bug #291 which generated a false warning about an unrecognized
  variable when enabling default.projects in .taskrc (thanks to Thomas@BIC)
2009-09-02 10:43:04 +02:00
Federico Hernandez
e69fb81b2b Documentation update in Changelog for #289 2009-09-01 21:12:49 +02:00
Federico Hernandez
d2aa0f31b0 Bug Fix - #289
- Fixed bug #289 which imported task from todo.sh
      without valid uuids (thanks to Ben Jackson).
2009-09-01 21:08:13 +02:00
Paul Beckingham
05f67db429 Bug Fix - #287
- Fixed bug #287 which caused color control codes to be written to
  the shadow file (thanks to Richard Querin).
2009-08-29 13:55:59 -04:00
Paul Beckingham
62be3f8acb Feature #282
- Applied large patch to make task return meaningful exit codes.
- Added unit tests to prove this.
- Thanks to Pietro Cerutti.
2009-08-29 09:14:26 -04:00
Federico Hernandez
cc5c99c0a1 Pushing version number to 1.8.2 2009-08-21 01:09:41 +02:00
Federico Hernandez
35792e7874 Added release date for 1.8.1 to ChangeLog 2009-08-20 22:48:22 +02:00
Federico Hernandez
083407f789 Pushing package build scripts for fedora, ubuntu and cygwin to 1.8.1 2009-08-19 23:50:47 +02:00
Federico Hernandez
e1146cdd20 Changed epoch to be 12/22 for UTC 2009-08-18 13:46:19 +02:00
Paul Beckingham
f04205be4c Documentation Update
- Added a load of missing ChangeLog entries, by running the timesheet
  report and comparing.
2009-08-16 23:10:21 -04: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
ec7f7cc939 Bug Fix - #260
- Fixed bug whereby the start, stop and delete commands were not
  complaining when filter arguments were specified, even though they
  were ignored.  Thanks to Charles T. Yun.
2009-08-16 18:39:35 -04:00
Paul Beckingham
1b28d8714b Bug Fix - #249
- Fixed bug that caused two annotations with the same date to be parsed
  identically, and therefore were not considered unique annotations after
  the "edit" command.
2009-08-16 17:22:17 -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
f595bc4731 Bug Fix - #259
- Fixed broken build on Snow Leopard - missing include.
2009-08-15 14:20:20 -04:00
Federico Hernandez
972efc58f4 Pushing man pages to 1.8.1 2009-08-12 14:43:05 +02:00
Paul Beckingham
dc9ba6d6b8 Bug Fix - #250
- Fixed bug #250 whereby rc.dateformat was not observed when parsing the
  creation date of an annotation (thanks to Federico Hernandez).
2009-08-07 16:53:25 -06:00
Paul Beckingham
a7196ca181 Bug Fix - #257
- Fixed bug #257 where an extant ~/.taskrc file prevented the override and
  automatic creation of an alternate rc file (thanks to Zach Frazier).
2009-08-07 16:11:09 -06: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
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
c4dcdbff0f Unit Tests - range
- Added unit tests to check the behavior when a data range is created
  with "task list due.before:... due.after:...".
2009-08-04 17:24:06 -06:00
Paul Beckingham
d39e45841d Bug Fix - Bug #241
- Fixed bug #241 that caused redirected output to retain color control codes
  for colored header and footnotes (thanks to John Florian).
2009-08-04 16:59:52 -06:00
Paul Beckingham
b28575625e Bug Fix - Bug #243
- Fixed bug that caused due dates and recurrence periods to be quoted on
  export, which then caused confusion on a subsequent import (thanks to
  John Florian).
2009-08-04 16:47:49 -06:00
Paul Beckingham
fc8f8957c4 Bug Fix - recurring task with no due date
- A recurring task may not be added without a due date.  Previously,
  this restriction only applied to modified tasks.
2009-08-04 16:26:23 -06:00
Paul Beckingham
0499bfff49 Bug Fix - Bug #242
-  Fixed bug that caused the reported ID after an add to be incorrect.
2009-08-04 16:08:56 -06:00
Paul Beckingham
af49ccf508 Bug Fix - wrong .taskrc file in message
- When a .taskrc file is overridden (with rc:...) task still refers to
  the default file name in output.
2009-08-04 16:01:20 -06:00
Paul Beckingham
7b0edfdeba Unit Test - recurring task with no due date
- Should generate error, but doesn't.
2009-08-03 07:38:22 -06:00
Federico Hernandez
e5d56e3075 Enhancement:
* Remove trailing whitespace from completions.
	* Complete rc.<variable> with ":'.
2009-08-01 01:24:46 +02:00
John Florian
ede746ba16 Fixed bug #241
Completion behavior has changed from bash-3 to bash-4.  Even the colon
character appears in COMP_WORDBREAKS of both versions, only bash-4 seems to
honor it.  This appears to be a bug in bash-3.  Changes made here work around
the problem so that completion of project names works for either version of
bash.
2009-07-30 23:19:10 -04:00
Paul Beckingham
0bad0277fe Documentation Update
- Added bug fix info to ChangeLog.  This is now ready to release, if
  necessary.
2009-07-26 16:31:40 -04:00
Paul Beckingham
8488cbd1a6 Bug Fix - #231 time_t/int collision on 32-bit systems
- Fixed bug #231 by removing the operator int () cast from the Duration
  class.  On a 32-bit system, "time_t" may be defined as "int", in
  which case the int cast and time_t cast are essentially duplicates.
  Thanks to Pietro Cerutti, who also provided a patch.
2009-07-26 16:11:14 -04:00
Paul Beckingham
6f9356da64 Updated version to 1.8.1
- Changed program version number.
- Changed NEWS file to refer only to 1.8, not 1.8.1.  This means we now only
  need to update the NEWS file on major releases, not patches.  This is the
  right thing to do now that we have only "whats new" in the NEWS file.
2009-07-26 16:06:14 -04:00
Paul Beckingham
90d53245c3 Merge branch '1.8.0'
Conflicts:
	.gitignore
	AUTHORS
	ChangeLog
	DEVELOPERS
	Makefile.am
	NEWS
	README
	configure.ac
	doc/man/task.1
	doc/man/taskrc.5
	src/T.cpp
	src/T.h
	src/TDB.cpp
	src/TDB.h
	src/command.cpp
	src/edit.cpp
	src/import.cpp
	src/parse.cpp
	src/report.cpp
	src/rules.cpp
	src/task.cpp
	src/task.h
	task_completion.sh
2009-07-21 19:15:54 -04:00
Paul Beckingham
14977ef317 Packaging
- Updated Mac OS X package files.
2009-07-21 18:36:40 -04:00
Paul Beckingham
bb5458fd6b Documentation Update
- Bumper version to 1.8.0, for release.
2009-07-21 16:59:43 -04:00
Paul Beckingham
8c692593b4 Documentation Update
- Added correct 1.8.0 release date.
2009-07-21 16:44:26 -04: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
e5f2b0c7d1 Bug Fix - #219
- Missed a spot.
2009-07-17 08:49:34 -04:00
Paul Beckingham
6c2fc108b4 Bug Fix - #219
- Fixed bug in timesheet report.  It was using color without regard
  to whether the output was to a TTY or not.  Thanks to John Florian.
2009-07-16 22:14:50 -04:00
Paul Beckingham
9100217da0 Bug Fix - #213
- Fixed bug that ignored the fact that std:cin was closed by a Ctrl-D
  in the "shell" command.  Thanks to Ian Mortimer.
2009-07-16 22:03:11 -04:00
Paul Beckingham
c5809b6b8d Bug Fix - #209
- Not a fix, but working towards a fix.  When a recurring task is edited,
  the other sibling tasks are not modified.  This is difficult to do.
  Perhaps we can skip for 1.8.
2009-07-14 21:20:43 -04:00
Paul Beckingham
3fce45baa4 Documentation Update
- Added the new complete.all.projects and complete.all.tags configuration
  variables to the man page.
2009-07-12 23:15:30 -04:00
Paul Beckingham
67debb93f7 Enhancement - complete.all.*
- Now supports "rc:complete.all.projects" to show all historical
  project names.
- Now supports "rc:complete.all.tags" to show all historical tags names.
2009-07-12 22:59:13 -04:00
Paul Beckingham
9718fa6924 Beta3
- Bumped version to beta3.
2009-07-12 22:54:36 -04:00
Paul Beckingham
5489cc5a0c Enhancement - task_completion.sh
- Applied Fredde's patch.
2009-07-12 22:54:02 -04:00
Paul Beckingham
8bf0f1176b Enhancement - _config
- Merged Fredde's _config command with prior bug fix.
2009-07-12 22:48:38 -04:00
Paul Beckingham
e2da1d0a9a Bug Fix - #205
- Fixed bug in modify and append that was erroneously reporting "No
  changes" when a bulk update occurred.
- Added bug.bulk.t unit tests to cover this example.
2009-07-12 18:38:57 -04:00
Paul Beckingham
b02c11be0e Bug Fix - #203
- Zero-length command line project was being compared to a zero-length
  truncated task project, and always matching.  Thanks to John Florian.
2009-07-12 14:27:26 -04:00
Paul Beckingham
ab3de212bf Bug Fix
- Conditional compilation (via FEATURE_NCURSES_COLS) to either use
  ncurses COLS and LINES global variables, or determine these from
  the WINDOW structure.
2009-07-12 14:01:36 -04:00
Paul Beckingham
9fb5b34759 Code Cleanup
- Removed parse.t from .gitignore.
2009-07-12 13:49:24 -04:00
Paul Beckingham
1aa856d078 Merge branch '1.8.0' of git@github.com:pbeckingham/task into 1.8.0 2009-07-12 13:10:45 -04:00
Paul Beckingham
81df2f2b19 Bug Fix
- ncurses failed to build on Snow Leopard without this change.
2009-07-12 13:09:52 -04:00
Federico Hernandez
4511d87bc0 Added missing wait: attribute. 2009-07-10 23:43:23 +02:00
Paul Beckingham
4439c07516 Bug Fix - #196
- Fixed bug that caused an unexpected number of tasks to be displayed
  by the next command.
2009-07-09 23:07:50 -04:00
Paul Beckingham
f790d52f62 Bug Fix - #194
- Fixed bug that causes tasks awaking from their waiting state to not
  be written back to the pending file.
2009-07-09 22:16:58 -04:00
Paul Beckingham
c275ded443 Bug Fix - #195
- Fixed problem where the date 7/31/2009, when interpreted with
  rc.dateformat:m/d/y, is truncated to 7/31/20.
2009-07-09 21:58:19 -04:00
Paul Beckingham
1900ee93f7 Merge branch '1.8.0' of git@github.com:pbeckingham/task into 1.8.0 2009-07-08 23:18:33 -04:00
Paul Beckingham
9095934bc0 Bug Fix - #171
- Fixed bug that caused redundant information to be displayed when the
  "done" command was run.  Thanks to John Florian.
2009-07-08 23:17:33 -04:00
Federico Hernandez
2d79e59647 From: John Florian <jflorian@doubledog.org>
Improved VIM Support
 - added vim support for undo.data
 - eliminated misc. whitespace per Bram Moolenaar's request
 - added Updated time stamp per Bram Moolenaar's request
2009-07-09 02:29:58 +02:00
Paul Beckingham
84f48fd056 Bug Fix
- Updated the version number.
2009-07-08 08:55:41 -04:00
Paul Beckingham
bf3e69add6 Bug Fix #191
- Fixed bug that failed to anchor to end of string when searching for
  "cal" or "itask", but instead matched on elements of the path,
  like /usr/local/bin.  Thanks to Eric Farris.
2009-07-08 08:41:29 -04:00
Paul Beckingham
844dd473e6 Bug Fix
- Unescaped - in file.
2009-07-06 20:41:10 -04:00
Federico Hernandez
6ca39b51b6 Merge branch '1.8.0' of git@github.com:pbeckingham/task into 1.8.0 2009-07-07 01:15:19 +02:00
Federico Hernandez
466cc4c362 Spell checking on man pages 2009-07-07 01:14:41 +02:00
Paul Beckingham
56a0997ecf Bug Fix
- Next report once again shows up in the help output.
2009-07-06 19:06:04 -04:00
Federico Hernandez
d45ce09ccc Added license information required for distributions 2009-07-07 00:59:51 +02:00
Paul Beckingham
98553e0196 Merge branch '1.8.0' of git@github.com:pbeckingham/task into 1.8.0 2009-07-06 18:52:19 -04:00
Paul Beckingham
75054617c4 Bug Fix
- Fixed bug found by John Florian that fails to delete all recurring
  tasks, after task has confirmed that is what is wanted.
2009-07-06 18:51:18 -04:00
Federico Hernandez
3e5355bc39 Updated man pages for new release 2009-07-07 00:46:45 +02:00
Paul Beckingham
e8716e68ae Bug Fix
- t.t.cpp was throwing an error because UUID is no longer set in Task::Task
  and so the sample task t3 was 'empty', which doesn't sit well with the
  round trip testing.
2009-07-06 01:24:35 -04:00
Paul Beckingham
cb1313779b Bug Fix
- Fixed bug that caused '--' arguments to be swallowed during processing
  for rc. parameters.
2009-07-06 00:58:05 -04:00
Paul Beckingham
8af0953b63 Vim Syntax Files (John Florian)
- Added the files on behalf of John Florian.
2009-07-06 00:34:47 -04:00
Paul Beckingham
51ad77e952 Bug Fix
- Fixed bug that was causing more non-unique UUIDs.  Here are the
  changes made:
    - Task.cpp, tasks are no longer provided with a UUID in Task::Task.
      This prevents the global context.task from being constructed before
      srandom/srand is called.
    - main.cpp, instead of srandom/srand (time (NULL)), it now uses
      struct timeval tv_usec member, which has a micro-second granularity,
      instead of time (NULL) which has a second granularity.  When
      "task add ..." is called in a unit test, several calls are made per
      second, this the random number generator is seeded with the same
      value.
    - Modified the unit test to cover all 6 tasks created, instead of
      5.
2009-07-05 23:59:11 -04:00
Federico Hernandez
28ab9e36cd Vim syntax highlighting (thanks to John Florian) 2009-07-06 03:31:58 +02:00
Federico Hernandez
b5d8045eb3 Updated man pages and task help documentation 2009-07-06 03:08:41 +02:00
Paul Beckingham
4c6d58549d Code Cleanup
- Working toward a clean build on Ubuntu.
2009-07-05 19:09:43 -04:00
Paul Beckingham
ebff1f48c2 Code Cleanup
- Working toward a clean build on Ubuntu.
2009-07-05 19:01:24 -04:00
Paul Beckingham
6e87e05e15 Enhancement
- Info report now includes number of undo transactions.
2009-07-05 13:51:30 -04:00
Paul Beckingham
fbeadfa313 Code Cleanup
- Removed unnecessary #include <iostream>
2009-07-05 13:48:09 -04:00
Paul Beckingham
e20e05ab54 Bug Fix
- Now allows abbreviations of aliases.
- No longer truncates commands after --.
2009-07-05 13:26:53 -04:00
Paul Beckingham
f2af6cc2dd Bug Fix
- Improved the misleading confirmation for bulk changes.  Now displays
  the task id and description before enumerating differences.
2009-07-05 12:43:03 -04:00
Paul Beckingham
9d85a0e0e2 Merge branch '1.8.0' of git@github.com:pbeckingham/task into 1.8.0 2009-07-05 11:33:45 -04:00
Paul Beckingham
519ee9a7a9 Code Cleanup
- Bumped version to 1.8.0.beta1.
- Fixed compiler warning on Ubuntu.
2009-07-05 11:33:02 -04:00
Federico Hernandez
d5d4de403f Added information about cygwin packaging 2009-07-05 17:29:40 +02:00
Paul Beckingham
6a55549588 Unit Tests - export
- Corrected unit tests after a change was made to the export format,
  to accomodate 1.8.0 -> 1.7.1 export/import downgrade.
2009-07-05 00:58:27 -04:00
Paul Beckingham
d63d396386 Unit Tests - alias
- Implemented unit tests to verify alias -> command, and alias ->
  alias -> command functionality.
2009-07-05 00:46:31 -04:00
Paul Beckingham
f7f8b1aee5 Bug Fix
- Fixed bug that generated an export file that was incompatible with
  task 1.7.1 import.  Now there is a smooth migration path back to
  1.7.1 in case 1.8.0 proves unacceptable.
2009-07-05 00:07:24 -04:00
Paul Beckingham
605eb397fc Bug Fix
- Fixed bug whereby rc: and rc. processing ignored the -- argument.
2009-07-05 00:06:41 -04:00
Paul Beckingham
6f318ecdcf Documentation Update
- ChangeLog is now completely up to date.
2009-07-04 23:19:20 -04:00
Federico Hernandez
0d349bab92 Added information about cal arguments 2009-07-05 02:18:00 +02:00
Federico Hernandez
131f6687ea Enhancement:
- Completion list for commands is now compiled dynamicaly using a task command.
  - Completion now also works for direct task manipulations with IDs
    eg task 3 -FOO pro:ERNIE or task 2 done
2009-07-05 00:43:34 +02:00
Paul Beckingham
6612f3e276 Enhancement - aliases
- Implemented command aliases.
2009-07-04 14:33:44 -04:00
Paul Beckingham
4af2b2dc13 Unit Tests - color.t
- Implemented tests for round-trip color name <--> code testing.
2009-07-04 14:11:10 -04:00
Paul Beckingham
69e839724d Documentation Update
- Removed a comment for 'ncurses' that looked a little too much like
  sarcasm.
2009-07-04 12:32:45 -04:00
Paul Beckingham
abcec98bef Unit Tests - fontunderline
- Implemented unit tests to verify the interaction between fontunderline,
  color, _forcecolor and :isatty.
2009-07-04 12:22:02 -04:00
Paul Beckingham
ca4bae558d Enhancement
- Added new _ids command to support tab completion scripts.
2009-07-04 10:28:55 -04:00
Federico Hernandez
02c7d7607c Fixed include statement for Linux 2009-07-04 14:40:54 +02:00
Paul Beckingham
f633e42597 Enhancement - _commands
- Added undocumented _commands command to support completion scripts.
2009-07-04 00:35:50 -04:00
Paul Beckingham
a6e9e6cdfb Unit Tests - rc
- Now tests whether the default rc and data.location are created
  from scratch.
2009-07-03 23:51:13 -04:00
Paul Beckingham
8473227f52 Enhancement
- When a .taskrc file is automatically generated, it is now nicely
  formatted, and filled with comments.
2009-07-03 23:32:00 -04:00
Paul Beckingham
a23a350b8b Enhancement
- Rewrote the code that checks for and creates ~/.taskrc and ~/.task
  if necessary.
- Takes into consideration the following:
    - rc:<file>
    - <file>:data.location
    - <~/.taskrc>:data.location
    - rc.data.location:<dir>
2009-07-03 20:46:19 -04:00
Paul Beckingham
3072476e53 Enhancement
- Added missing (new) commands to the completion script, and removed
  the newly obsolete undelete command.
2009-07-03 14:13:33 -04:00
Paul Beckingham
66e5c7fd64 Bug Fix
- Code doesn't compile when HAVE_LIBNCURSES is not defined (thanks to
  John Florian).
2009-07-03 12:38:49 -04:00
Federico Hernandez
8312dc1f1d - Support for project names (thanks to John Florian)
- Completes tags and project names for any command,
    not just list variants (thanks to John Florian)
  - bash-completion now completes tags for removal using '-'
  - internal completion list compiled by using underscore
    variants of corresponding commands
2009-07-03 16:10:03 +02:00
Federico Hernandez
03c9cc6005 Fixed bug in single digit day highliting unit test 2009-07-03 14:34:58 +02:00
Paul Beckingham
543fc1727d Bug Fix
- Fixed bug in annotations that caused it to echo back the original
  description, instead of the new annotation, when adding a new
  annotation.
2009-07-03 01:30:58 -04:00
Paul Beckingham
bd89287f05 Documentation Update
- More ChangeLog updates.
- Corrected supported platforms in NEWS file, accirding to Fredde's
  latest update on the Wiki.
2009-07-03 01:21:29 -04:00
Paul Beckingham
ef7c5dc4eb Unit Tests
- The unit tests needed a little love after "undelete" went away, and
  "undo" changed.
- Fixed a few tests that were broken.
2009-07-03 00:51:25 -04:00
Paul Beckingham
367214c57a Documentation Update
- Filled in more blanks in the ChangeLog file.
2009-07-02 23:36:15 -04:00
Paul Beckingham
5726926449 Enhancement - debug mode
- Added terminal width determination in debug mode.
2009-07-02 23:09:18 -04:00
Paul Beckingham
32b951dcc9 Bug Fix
- Allows 'bulk' as a valid configuration variable.
2009-07-02 22:37:48 -04:00
Paul Beckingham
65595220f2 Enhancment - undo
- Now presents a side-by-side table for comparison during undo.
2009-07-02 22:15:10 -04:00
Paul Beckingham
5a1191300c Enhancement - file locking
- While waiting for a lock, display a message to that effect,
  otherwise it looks like task is hung (thanks to John Florian).
2009-07-02 21:16:24 -04:00
Paul Beckingham
73378dd67e Enhancement - completion
- Implemented _projects and _tags reports to assist with tab
  completion scripts.
2009-07-02 20:10:36 -04:00
Paul Beckingham
8145b7b28e Build Change
- Now builds optimized by default.  Can be overridden with:
  ./configure --enable-debug=on
2009-07-02 18:39:18 -04:00
Paul Beckingham
c00e5138e0 Bug Fix
- Fixed compiler warnings on Solaris with --enable-debug=off.
2009-07-02 18:35:00 -04:00
Paul Beckingham
c89a0bbbd8 Bug Fix
- Fixed bug in TDB::loadCompleted that failed to provide a nice value
  for Task::id, and folks not using a Mac saw unitialized int values
  as task IDs.
2009-07-02 18:30:47 -04:00
Paul Beckingham
b692ae3b25 Unit Tests
- Added unit tests to ensure that UUIDs are unique, using the three
  different ways of generating them (add, duplicate, recurring).
2009-07-02 09:09:29 -04:00
Paul Beckingham
a41f0a0256 Bug Fix - uuids not unique
- Fixed bug that caused code to use a combination of srandom and rand,
  or srand and random.  Should be srandom/random, srand/rand, not a
  mix.
- Fixed bug that failed to set uuid in handleAdd, such that the uuid
  already assigned in context.task was used, which was generated before
  srand/srandom was is called.
2009-07-02 01:28:42 -04:00
Paul Beckingham
9f4a9d1325 Enhancement
- When a report displays completed or deleted tasks, there is no ID,
  so display "-" instead of "0".
2009-07-01 21:19:22 -04:00
Paul Beckingham
89e1eeacd2 Bug fix - edit
- Fixed problem with temp file template.
2009-07-01 21:08:39 -04:00
Paul Beckingham
d68b86fe56 Enhancement - projects
- Added priority subtotals to projects report.
2009-07-01 21:04:03 -04:00
Paul Beckingham
edcb719d94 Bug Fix
- Added include, according to random website which claims it makes the
  difference.
2009-07-01 19:59:46 -04:00
Paul Beckingham
389fa400a6 Bug Fix
- Added missing stdlib.h include file.
2009-07-01 19:42:52 -04:00
Paul Beckingham
7fec8a5c9b Enhancement - edit
- The edit command now uses the .task file extension for temporary
  files during editing, so that syntax coloring can be invoked.
2009-07-01 19:32:19 -04:00
Paul Beckingham
10fe3d6b28 Bug Fix - random broken
- Moved srandom/srand call back to where it was in 1.7.1.
2009-07-01 19:24:43 -04:00
Paul Beckingham
f588055b31 Enhancement - tags
- Added usage count to the tags report.
- Filled in some missing details in ChangeLog.
- Removed extraneous "srandom" call.
2009-07-01 18:56:12 -04:00
Paul Beckingham
21c3a0ef48 Code Cleanup - undo
- Improved description of most recent change.
- Added timestamp of most recent change.
2009-07-01 01:00:25 -04:00
Paul Beckingham
e7ba2ab76d Code Cleanup
- Converted std::cout diagnostics to context.debug calls.
2009-07-01 00:52:42 -04:00
Paul Beckingham
569d31da7a Bug Fix - undo
- Fixed bug that didn't properly pop_back off the undo stack.
- Fixed bug that caused an attempt to call taskDifferences when one of
  the tasks was "".
2009-07-01 00:46:15 -04:00
Paul Beckingham
0891d3ea63 Enhancement - undo
- Implemented new undo command.
- Removed old undelete command.
- Does not work yet.
2009-07-01 00:15:32 -04:00
Paul Beckingham
b7a0883212 Unit Tests - Task::validate
- Implemented first (of many) Task::validate tests.
2009-06-30 23:57:27 -04:00
Paul Beckingham
652f9b3c0a Merge branch '1.8.0' of git@github.com:pbeckingham/task into 1.8.0
Conflicts:
	i18n/strings.sv-SE
2009-06-30 18:36:11 -04:00
Paul Beckingham
ed49546eac I18N
- Removed obsolete 'undelete' string.
2009-06-30 18:35:06 -04:00
Federico Hernandez
4c65fa1291 Fixed problems with double word strings where single word strings are required. 2009-06-30 22:37:18 +02:00
Paul Beckingham
af7803ea27 Enhancement - undo
- Removed obsolete undelete command.
- Removed obsolete undo command.
- Implemented new undo command as a call to the stubbed TDB::undo call.
2009-06-28 21:51:43 -04:00
Paul Beckingham
dc2bac1b5e Unit Tests
- All unit tests most now clean up a residual undo.data file, so the
  number of tests increased, but with no benefit.
2009-06-28 17:07:25 -04:00
Paul Beckingham
5d8c28f72f Enhancement - undo
- Added logging of both new tasks, and modified tasks.
- Added size of undo.data file to the statistics report.
2009-06-28 14:17:07 -04:00
Paul Beckingham
c29682b91f Enhancement - undo
- Now creates/opens/closes undo.data file.
- All new tasks are logged in undo.data file.
2009-06-28 12:23:46 -04:00
Paul Beckingham
58d7de8478 Enhancement
- Implemented Task::validate.
2009-06-28 11:10:51 -04:00
Paul Beckingham
b9e1bdc145 Documentation Update
- Addressed concerns in issue #85.
2009-06-28 10:44:50 -04:00
Paul Beckingham
ce4f26bdf3 Unit Tests
- Fixed a series of bugs to improve the test suite results.
2009-06-28 01:04:23 -04:00
Paul Beckingham
f3d3126839 Bug Fix
- Fixed bug that caused asserts in Table.cpp when a column had a blank
  heading and value.
2009-06-27 23:42:49 -04:00
Paul Beckingham
3dcda73e0c Enhancement
- Implemented tri-state confirmation for done command.
2009-06-27 21:51:24 -04:00
Paul Beckingham
8d76eaca88 Enhancement
- Implemented tri-state confirmation in the annotate command.
2009-06-27 21:31:11 -04:00
Paul Beckingham
a2cc75d2c7 Enhancement - confirmation
- Added tri-state confirmation to append command.
2009-06-27 21:23:45 -04:00
Paul Beckingham
1f3092469e Code Cleanup
- Eliminated valid.cpp by relocating functions to more sensible locations.
2009-06-27 20:49:28 -04:00
Paul Beckingham
52052f91f9 Bug Fix - formatBytes
- Corrected code and tests regarding floating point rounding.
2009-06-27 20:39:33 -04:00
Paul Beckingham
029b2d1182 Bug Fix - timesheet end date
- Fixed display of timesheet end date.  It was one day off.
2009-06-27 18:08:09 -04:00
Paul Beckingham
6e4f60c4fe Enhancement - confirmation on big changes
- Implemented confirmation on big changes.  That means if the description is
  changed, or more than 2 tasks are modified in a single command.
- Implemented taskDiff to detect differences between two tasks.
- Implemented taskDifferences to describe differences between two tasks.
2009-06-27 17:09:29 -04:00
Paul Beckingham
8e8f5935b3 Documentation Update
- Added 'bulk' variable to man page and Config.cpp.
2009-06-27 16:46:26 -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
7e0a1759f9 Enhancement - cal symlink
- Automatically runs "task calendar ..." if "task" is symlinked to "cal".
- Allows task to run as a replacement to Unix cal.
2009-06-27 12:39:05 -04:00
Paul Beckingham
518aea870f Enhancement - Permission
- Implemented new Permission object to manage tri-state confirmation
  of changes to multiple tasks.
2009-06-27 10:07:00 -04:00
Paul Beckingham
6d3df6922b Unit Tests - Att
- Added unit tests to verify functionality of Att::type,
  Att::validInternalName and Att::validModifiableName.
2009-06-27 10:04:38 -04:00
Paul Beckingham
c787e67d9c Bug Fix - 'max' date
- Changed the max date from Jan 19 2038 to Dec 31 2038.  This still
  serves the purpose, but avoids the UTC/EST/CEST timezon problems
  we have seen (thanks to Federico Hernandez).
2009-06-27 10:02:48 -04:00
Federico Hernandez
9aed6ec228 Unit tests for new 'task cal' functionality 2009-06-27 02:02:48 +02:00
Paul Beckingham
bb78f61d2a Unit Tests
- Fixed obsolete test in basic.t
2009-06-26 00:31:30 -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
53155fcc34 Bug Fix - parsing
- Now properly enumerates ambiguous commands.
- Now properly enumerates ambiguous colors.
- Now displays suitable error when a command like "task x" is entered.
2009-06-25 22:21:43 -04:00
Paul Beckingham
d6168ff6a6 Merge branch '1.8.0' of git@github.com:pbeckingham/task into 1.8.0 2009-06-25 19:32:48 -04:00
Federico Hernandez
f3659cf709 New functionality for "task cal"
- 'task cal'        or 'task cal y'
    Prints a calendar starting from the current month/year
  - 'task cal due'    or 'task cal due y'
    Prints a calendar starting from the month with
    the oldest active due task
  - 'task cal 2010'
    Prints a yearly 12-month calendar
  - 'task cal 4 2010' or 'task cal 4 2010 y'
    Prints a calendar starting from the given month/year

  Calendars are either printed as 12 month calendars (y) or
  printed with the number of months that fits into the terminal width
2009-06-25 23:24:33 +02:00
Paul Beckingham
1cfe879409 Enhancement - Task::operator==
- Implemented Task::operator==.
- Implemented unit tests.
2009-06-25 17:08:39 -04:00
Paul Beckingham
a56eeb9ec2 Enhancements - task diff
- Implemented util.cpp/taskDiff to generate a proxy description of the
  difference between two tasks.
- Implemented unit tests for taskDiff.
2009-06-25 16:58:58 -04:00
Paul Beckingham
c5d7b41d98 Code Cleanup
- Migrated from Context::message to Context::footnote.  This more clear
  to the developer where the messages will be shown.
2009-06-25 15:00:32 -04:00
Federico Hernandez
8bcf459a52 Merge branch '1.8.0' of git@github.com:pbeckingham/task into cal 2009-06-25 12:52:57 +02:00
Paul Beckingham
104ad5a5b5 Enhancement - timer
- Now displays " sec" after timing display.
2009-06-25 01:24:48 -04:00
Paul Beckingham
a32263e7ea Enhancement - next
- The next report is now a custom report.  There is also a nasty
  piece of logic that lets the next report exist as a custom report,
  and also with it's own handleReportNext function to prep and filter
  the tasks, then hand off to runCustomReport.
2009-06-25 00:47:07 -04:00
Paul Beckingham
f31f068322 Code Cleanup
- Broke out the guts of handleCustomReport into runCustomReport, so
  that the next report can generate it's own task list, then allow the
  custom report handling to render it.  This means the next report is
  essentially (but not quite) a custom report.
2009-06-24 21:56:31 -04:00
Paul Beckingham
5632c49945 Code Cleanup
- Removed references to ::strcmp.  Thanks Fredde.
2009-06-24 21:55:44 -04:00
Federico Hernandez
b67b64ea00 task cal modifications 2009-06-25 03:03:08 +02:00
Paul Beckingham
5cb009bc0a Merge branch '1.8.0' of git@github.com:pbeckingham/task into 1.8.0 2009-06-23 19:53:31 -04:00
Federico Hernandez
ed7a9273d0 Introduced longversion configuration variable.
- When off just a short version msg is displayed.
  - When on the current values for the configuration
    variables are also displayed. Default is on.
2009-06-24 00:32:45 +02:00
Paul Beckingham
78afa4e110 Enhancement - Aliases
- Moved alias mapping to Context.
- Added Context::canonicalize to resolve aliases.
- Added Context::loadAliases to reload on config file change.
- Removed old alias processing from Cmd.
- Doesn't work yet, but the data is loaded.
2009-06-23 17:38:58 -04:00
Paul Beckingham
b6bc72c449 Enhancement - confirm3
- Added a tri-state confirmation function for confirming bulk operations
  allowing the user to answer yes/no/all to and optionally allow,
  disallow or bulk-allow big changes.
2009-06-23 14:56:15 -04:00
Paul Beckingham
acb6e3cfdc Enhancement - timers
- Timers now only use fixed precision for even very small numbers.
2009-06-23 09:56:31 -04:00
Federico Hernandez
b31cc639a4 Fixed bug due to incompatible 'date' commands on OS X and Linux
to display runtime of all unit tests
2009-06-23 10:49:55 +02:00
Paul Beckingham
f7c91d6db7 Unit Tests
- Fixed a series of broken tests.
2009-06-23 01:54:16 -04:00
Paul Beckingham
f7d40e8d8d Unit Tests
- Fixed unit test build problem.
2009-06-23 01:32:24 -04:00
Paul Beckingham
50f000988b Debugging
- Added timers to measure performance.
2009-06-23 01:23:46 -04:00
Paul Beckingham
e59e35ae29 Code Cleanup
- Added declared but unimplemented copy constructors and assignment
  operators.
2009-06-23 00:00:50 -04:00
Paul Beckingham
c6a56d444e Bug Fix, Tweaks
- .taskrc debug= now defaults to 'off', which will reduce clutter
  and won't surprise beta testers.
- interactive.cpp did not compile when ncurses was not detected by
  autoconf.  That code branch obviously never got executed.
- The interactive shell now instructs the user to type 'quit' to
  leave the shell.
2009-06-22 22:33:09 -04:00
Paul Beckingham
62449d8b3e Bug Fix - Calendar
- Fixed bug in calendar that failed to consider only pending tasks
  when coloring in the calendar display, and when calculating the
  most overdue task to be displayed.
- Modified util.cpp/formatSeconds to stop displaying fractional days,
  because having a task age represented as 5.1 days is silly.
2009-06-22 16:59:51 -04:00
Federico Hernandez
a4f9493ce7 Added output of runtime 2009-06-22 09:19:10 +02:00
Federico Hernandez
dd3b651767 Fixed include statement for Linux 2009-06-22 08:32:52 +02:00
Federico Hernandez
39da7bddfd Added dummy tips file for German and Swedish 2009-06-22 08:23:01 +02:00
Federico Hernandez
94e4c7b9da Ignore temp data in tests dir 2009-06-22 08:21:17 +02: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
40bde9e765 Enhancement - shadow files
- Properly clears out the context, so shadow files can work.
2009-06-21 15:37:36 -04:00
Paul Beckingham
52fb6abb9b Enhancement - tips
- Added new tips file, in the correct format (unix fortune), with
  dummy entries.  If we are to support a "task tip" command in future
  versions, we need to start gathering the tips now.
2009-06-21 12:01:30 -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
245339e7fc Documentation Update
- Added attribute modifiers to the help report.
2009-06-21 09:08:32 -04:00
Paul Beckingham
fab37d3383 Enhancment - interactive shell
- At the request of several, and the great example of John Florian,
  task has an interactive shell.
2009-06-21 08:39:53 -04:00
Federico Hernandez
93a68361a7 Changed dates for epoch conversion due to TZ variations 2009-06-20 23:03:06 +02:00
Federico Hernandez
aae4cbac8b Fixed include statement for Linux 2009-06-20 21:56:54 +02:00
Paul Beckingham
cbecec263a Enhancement - all attribute modifiers working
- Implemented before, below, under, after, above, over.
2009-06-20 15:37:01 -04:00
Paul Beckingham
3bed6bb573 Enhancements - config variables, debug
- "debug" now considered a valid configuration variable.
- "alias.*" now considered a valid configuration variable.
- Moved some messages over to use Context::debug.
2009-06-20 14:14:51 -04:00
Paul Beckingham
344b1aba58 Enhancement - nag
- Improved nagging with respect to multiple tasks.
2009-06-20 13:55:11 -04:00
Paul Beckingham
f5e0f8b7a6 Enhancement - echo ID on add
- When a task is added, the new ID is echoed back, for convenience.
  This requires a scan of the pending file, so there is a performance
  hit, and the feature is controlled by the FEATURE_NEW_ID define.
2009-06-20 13:06:53 -04:00
Paul Beckingham
02518e0223 Enhancement - debug support
- Added debug=on support.
- Added color.debug= support.
2009-06-20 10:54:01 -04:00
Federico Hernandez
173b3f6828 Fixed include statement for Linux 2009-06-19 08:51:44 +02:00
Paul Beckingham
dcb4ae5497 Bug Fix - durations
- Fixed bug where durations (recur:x) were not properly parsed and
  validated.
- Fixed bug where the list output was being improperly parsed.
2009-06-19 00:52:48 -04:00
Paul Beckingham
8dab95e200 Bug Fix - recurrence
- Fixed bug whereby handleRecurrence was being called after the tasks
  were loaded and filtered, and thus handleRecurrence operated on a
  filtered set, and failed.  The fix is to move the call to before the
  TDB::load call, and to add another TDB::loadPending call inside
  handleRecurrence.  This means TDB::load needs to be reentrant without
  re-reading the file, and can therefore be called twice, with the
  likelihood of there being a different filter for each call.  This in
  turn led to the problem whereby handleRecurrence would generate the
  synthetic tasks, which then sat uncommitted in TDB::mNew.  The fix
  for this is that every call to TDB::loadPending gets the contents of
  TDB::mNew appended (with correct IDs).  This bug is what you might
  call a good one.
2009-06-19 00:15:38 -04:00
Paul Beckingham
20bd2cf594 Unit Tests - oldest, tag
- Fixed oldest.t unit tests that relied on "task oldest 3" instead of
  the new "task oldest limit:3".
- Fixed tag.t so that it uses example tags +one +two instead of the
  original +1 +2, because when it comes time to remove those tags
  with -1 -2, the tags are interpreted as a malformed sequence.
2009-06-18 23:23:07 -04:00
Paul Beckingham
3ffb855956 Bug Fixes - Att, Subst
- Fixed but that required all known attributes to be listed by name
  in order to be recognized by creating new Att::validInternalName
  method.
- Fixed bug in non-global Subst that failed to save a modified
  annotation.
2009-06-18 23:14:26 -04:00
Paul Beckingham
cea84b3d3b Bug Fix - export
- Fixed export bug that was emitting quoted blank strings, instead of
  blank strings.
- Fixed undo.t unit tests.
2009-06-18 22:52:27 -04:00
Paul Beckingham
456a493ab5 Bug Fix - Att
- The "due" date was not being parsed according to the desired dateformat,
  but in the default "m/d/Y".
2009-06-18 22:13:05 -04:00
Paul Beckingham
9c2e70b73a Bug Fixes, Unit Tests
- Fixed bug where "foo:bar" was not recognized as an attribute, and
  generated an error rather than demoting is to part of the description.
- Fixed bug where en-passant deltas were applied only to the first task
  in a sequence.
- Fixed various unit test.
2009-06-18 22:01:43 -04:00
Paul Beckingham
1511c1fcfd Enhancments - aliases
- Began implementation of aliases.  All commented out for now.
2009-06-18 20:42:12 -04:00
Paul Beckingham
315c70c503 Enhancement - custom report name collisions
- Task now emits an error if a custom report name collides with
  that of a built-in command.
2009-06-18 20:13:12 -04:00
Paul Beckingham
aeaf443f67 Enhancement - statistics
- Added total data file size to statistics report.
- Implemented util.cpp/formatBytes.
2009-06-18 19:47:57 -04:00
Paul Beckingham
ec17eaaa43 Documentation Update - help
- Added 'limit' to help output.
- Combined /from/to/ and /from/to/g into one help line.
- Added example of -- argument in use.
2009-06-18 18:49:47 -04:00
Paul Beckingham
ae3257b623 Bug Fix - tags report using std::cout
- The tags report was writing directly to std::cout, therefore
  bypassing the header/footer control.
2009-06-18 18:37:53 -04:00
Paul Beckingham
b9a1993692 Bug Fix - limit:
- The limit: attribute can now be specified on the command line, to
  override any custom report filter.
2009-06-18 18:34:40 -04:00
Paul Beckingham
af606598fa Bug Fix - recur.t
- Fixed bug that causes recur.t to fail.  The "recur:" duration was
  being converted to days, whereas it should have been kept as a
  literal.
2009-06-18 17:45:27 -04:00
Federico Hernandez
96be49b78d Replaced nested if statement with boolean logic expression 2009-06-18 09:48:46 +02:00
Federico Hernandez
8cf7888fd5 * Wrong unit test and algorithm for leapyears (year 1900) 2009-06-18 09:18:13 +02:00
Federico Hernandez
0ae76d3bf2 Fixed include statement for Linux 2009-06-18 09:11:59 +02:00
Paul Beckingham
5eb4d23685 Bug Fix - nag
- TDB::gc now displays a header message.
- nag function now piggy-backs on existing locked TDB.
2009-06-18 01:55:04 -04:00
Paul Beckingham
b932d9b9b7 Bug Fix - custom report filters
- Added support for using parent in a filter.
- Fixed bug that ignored custom report filters.
- Made Context::parse and Context::autoFilter reentrant.
2009-06-18 01:41:15 -04:00
Paul Beckingham
4d43b77441 Enhancement - recurring tasks
- Implemented handleRecurringTasks.
- Implemented TDB::nextId.
2009-06-18 00:02:12 -04:00
Paul Beckingham
840c61cbbf Enhancement - nag
- Implemented nag feature.
2009-06-17 23:39:39 -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
Federico Hernandez
f701f10234 * Files needed for cygwin packaging
- usr <- binary tarball
  - CYGWIN-PATCHES <- source tarball
  - patch to create CYGWIN PATCHES inside source tarball
2009-06-17 22:53:09 +02:00
Paul Beckingham
61cedc3ad1 Enhancement - import command
- Implemented import command
- Implemented Context::clearMessages to remove all accumulated
  messages.  This is needed because parts of the import process are
  recursive and we don't want Context to dump messages for every
  import record on completion.
2009-06-17 00:59:31 -04:00
Paul Beckingham
07cf8d6ee8 Enhancements - edit command
- Implemented edit command.
2009-06-17 00:03:09 -04:00
Paul Beckingham
b2c76f6123 Enhancement - modify command
- Implemented modify command
2009-06-16 23:25:35 -04:00
Paul Beckingham
051720a279 Enhancement - annotate
- Implemented annotation command.
2009-06-16 22:55:05 -04:00
Paul Beckingham
23f0a9658e Enhancement - duplicate
- Implemented duplicate command.
- Now allows duplication (and demotion) of recurring tasks.
2009-06-16 22:40:59 -04:00
Paul Beckingham
8a22ac7cf2 Enhancement - header, footer, message
- Added header, footer and message sinks.
- Added individual colorization of headers, footers and messages.
- Added new configuration variables to Config.cpp, taskrc.5.
- Added colorization functions to rules.cpp
2009-06-16 21:55:30 -04:00
Paul Beckingham
e7a0a20d55 Optimization
- TDB::load can entirely skip the loading of completed.data if the
  specified filter is just so.
- Added FEATURE_TDB_OPT definition to allow disabling of this.
2009-06-16 18:35:02 -04:00
Paul Beckingham
7a77cd6d4a Unit Tests - export.t
- Corrected export unit test to account for the new syntax of the export
  command, which no longer accepts a file name argument, and send the report to
  stdout instead.
2009-06-16 16:34:46 -04:00
Paul Beckingham
78ec411067 Enhancements
- Added text.cpp/ucFirst function to capitalize words, so that "pending"
  can now appear as "Pending" on the info report.  This helps task pass
  many more test cases.
2009-06-16 13:32:11 -04:00
Paul Beckingham
7a2c40626e Unit tests - add.t
- Reduced verbiage in tests.
2009-06-16 12:51:13 -04:00
Paul Beckingham
027b343e49 Bug Fixes - autofilter
- Auto filter now only creates a filter for read-only commands.
- Fixed bug whereby ambiguities were reported twice:
    "could be one of a, b, a, b".
2009-06-16 12:05:04 -04:00
Paul Beckingham
97d732e5f7 Enhancements - filters
- The project attribute is now automatically filtered with
    project.startswith:<value>
  to provide leftmost matching (ie subprojects).
- Unmodifiable attributes (uuid, start ...) are now prevented from
  being updated if the command is designated as a "write" command.
2009-06-16 10:42:53 -04:00
Paul Beckingham
5691ed0588 Bug Fix - custom reports
- Fixed bug that applied an empty sequence as a filter, which passed
  no tasks.
2009-06-16 01:31:49 -04:00
Paul Beckingham
cdd07be331 Enhancement - Att::type
- Implemented Att::type to discern attribute types to assist with
  type-specific modifier evaluation.
- Fixed bug that required attributes to have specified values, whereas
  stating "name:" means no value for name.
2009-06-16 00:51:11 -04:00
Paul Beckingham
db0d85f5e7 Bug Fix - description in filter
- The description attribute may now be used in a filter.
2009-06-16 00:30:56 -04:00
Paul Beckingham
6a77d61faa Enhancements - undo command
- Implemented the undo command.
2009-06-16 00:16:43 -04:00
Paul Beckingham
71b320b361 Enhancement - undelete command
- Implemented undelete command.
2009-06-16 00:08:02 -04:00
Paul Beckingham
41e137a92c Enhancements - stop command
- Implemented stop command
- Fixed bug in TDB that failed to truncate the pending file on
  update.
2009-06-15 23:59:56 -04:00
Paul Beckingham
1551362d1e Enhancements - delete, start
- Implemented delete command.
- Implemented start command.
2009-06-15 23:47:42 -04:00
Paul Beckingham
6e6f86783f Unit Tests - rc override
- Unit tests to make sure rc.name:value is working.
2009-06-15 21:10:57 -04:00
Paul Beckingham
858f34cf95 Bug Fix - std::vector::erase
- Fixed bug whereby code called std::vector::erase, but then continued
  as though the iterator was still good.
2009-06-15 20:15:40 -04:00
Paul Beckingham
108b486ac1 Merge branch '1.8.0' of git@github.com:pbeckingham/task into 1.8.0 2009-06-15 19:28:01 -04:00
Federico Hernandez
0fe4a850df Initial german localization 2009-06-16 00:55:15 +02:00
Federico Hernandez
bc65d7292f * INSTALL file is now jsut include in dist tarball
but no longer "installed" together with the binary
  package documentation.
2009-06-16 00:08:07 +02:00
Paul Beckingham
00c5e61d49 Bug Fix - rc:alternate
- Fixed handling of rc: alternate rc file.
- Reorganized Config.cpp regarding defaults.  More work needed.
2009-06-15 17:31:29 -04:00
Federico Hernandez
717e0f6329 * rpm now installs bash completion
* changes for doc (scripts) and man pages
2009-06-15 23:26:59 +02:00
Paul Beckingham
4470c3b88c Bug Fix - Task::determineVersion
- Fixed determineVersion details.
- Strips \n from  EOL before attempting parse.
2009-06-15 14:22:34 -04:00
Paul Beckingham
62f240aad4 Bug Fix - composeF4 -> parse -> composeF4
- Fixed bug that meant Task::composeF4 added a newline, but Task::parse
  did not expect a newline.  This caused Task::determineVersion to
  detect a format 1 encoding and throw.  Changed TDB::load to not remove
  any \n characters, and Task::parse to accept lines either with or
  without.
2009-06-15 12:37:35 -04:00
Paul Beckingham
b742712bb1 Bug Fix - Cmd
- The two load* methods were conflicting - if loadCustomReports was
  called first, it stomped on the commands list and prevented
  loadCommands from running.  Now there is only one method.
- Rewrote util.cpp/autoComplete to use STL over libc.  Might reduce
  code size.
2009-06-15 12:18:04 -04:00
Paul Beckingham
9f1880e050 Enhancement - done command
- Implemented done command.
2009-06-15 11:27:50 -04:00
Paul Beckingham
c65b6e9f48 Portability - util.cpp #warning
- Removed useless warning pragma - it only confuses people.
2009-06-15 10:37:32 -04:00
Paul Beckingham
91da9440c5 Portability
- Fixed compiler warnings on Fedora/Ubuntu.
- Fixed bug found by compiler warnings.  Woohoo!
2009-06-15 10:00:06 -04:00
Paul Beckingham
98316f7ab1 Enhancement - append
- Implemented append command.
2009-06-15 01:44:42 -04:00
Paul Beckingham
3d9ec60153 Unit Tests - tdb.t
- Now cleans up it's temporary files.
2009-06-15 00:54:25 -04:00
Paul Beckingham
7ff178cecc Integration - TDB write operations
- TDB::gc rewritten.
- TDB::commit fixed.
- Corrected usage of handleRecurringTasks wrt TDB.
- Unit tests for TDB.
2009-06-15 00:52:24 -04:00
Federico Hernandez
314ce572e1 Merge branch '1.8.0' of git@github.com:pbeckingham/task into 1.8.0 2009-06-15 00:44:14 +02:00
Federico Hernandez
f98abbe036 Intitial swedish localization. 2009-06-15 00:43:39 +02:00
Paul Beckingham
80bb9f0a18 Integration - TDB
- Renamed TDB2 to TDB.
- Integration of new code complete.
2009-06-14 18:19:00 -04:00
Paul Beckingham
53d0d1cbac Integration - TDB*
- Obsoleted TDB.h, TDB.cpp
- Implemented missing functionality in TDB2.cpp
2009-06-14 17:58:37 -04:00
Paul Beckingham
1560463f9e Integration - Obsolete T removed
- Removed the obsolete T object (the old Task object), that is no
  longer needed since the Task object is now complete, and there is
  nothing in T to refer to.  This is a big milestone.
2009-06-14 16:14:10 -04:00
Paul Beckingham
ffd887747f Enhancement - calendar report
- Implemented calendar report.
2009-06-14 15:49:58 -04:00
Paul Beckingham
9004b65956 Enhancement - next report
- Implemented next report.
2009-06-14 14:53:22 -04:00
Paul Beckingham
f470acadaa Enhancements - export
- Implemented Task::composeCSV.
- Implemented export command, but removed filename support.  This
  needs to be documented.
2009-06-14 14:26:39 -04:00
Paul Beckingham
efe0b86708 Integration - report helper functions
- Added getDueDate helper function.
- Added getFullDescription (description + annotations) helper function.
2009-06-14 14:02:14 -04:00
Paul Beckingham
8529daaf28 Enhancements - timesheet report
- Implemented timesheet report.
2009-06-14 13:32:53 -04:00
Paul Beckingham
819c33e491 Enhancements - summary report
- Implemented summary report.
2009-06-14 12:46:01 -04:00
Paul Beckingham
a09246fd71 Enhancement - ghistory report
- Implemented the ghistory report.
2009-06-14 12:31:19 -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
85e38e67d3 Integration - fully eliminated T.cpp, T.h 2009-06-13 19:09:00 -04:00
Paul Beckingham
113c15ef2f Integration - removed T
- T.cpp no longer compiled and linked.  Kept for reference, but no
  longer part of task.
2009-06-13 19:03:35 -04:00
Paul Beckingham
c89a222c7c Integration - removing T
- Removed linkage to T.o in unit tests.  The first step towards
  eliminating T.cpp.
2009-06-13 18:53:01 -04:00
Paul Beckingham
841958d889 Unit Tests - decommission t.t.cpp
- Eliminated obsolete t.t.cpp.
2009-06-13 17:59:54 -04:00
Paul Beckingham
a04bfc468b Integration - mod
- Now handles blank modifiers.  Like it should.
2009-06-13 17:56:48 -04:00
Paul Beckingham
25d27bec93 Integration - attribute validation
- Implemented digitsOnly primitive.
- Implemented noSpaces primitive.
- Added unit tests for above.
- Att now manages the lists of valid attributes and modifier names.
- validName migrated to Att.
- validModifiableName migrated to Att.
- New Att::validNameValue.
- Removed obsolete validDescription.
- Removed obsolete validPriority.
- Removed obsolete valid.cpp/guess.
- Implemented text.cpp/noVerticalSpace.
- Added unit tests for text.cpp/noVerticalSpace.
- Removed final static lists from valid.cpp.
2009-06-13 16:27:13 -04:00
Paul Beckingham
eda17772c9 Enhancement - color
- Color routines are now table driven and much smaller.
- Implemented Text::guessColor.
2009-06-13 14:18:49 -04:00
Paul Beckingham
0665caae55 Enhancements - date
- Relocated valid.cpp/dataValid to Date::valid.
- Added new unit tests in date.t.cpp.
2009-06-13 12:51:51 -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
5288e167d0 Enhancement - gc/shadow
- shadow file update is now triggered by the type of command, not
  explicitly by name.
- Context::inShadow now keeps track of whether it is running a shadow
  file update to prevent recursion.
2009-06-12 22:45:42 -04:00
Paul Beckingham
788e264378 Enhancements - custom reports
- Converted active, overdue and completed reports to custom reports.
- Added new recurring report.
- Added support for new 'end' column, which is the completion date.
2009-06-12 22:12:35 -04:00
Paul Beckingham
c9807f4636 Unit Tests - parse
- Eliminated parse.t.
- Fixed t.t.cpp tests.
2009-06-12 21:34:42 -04:00
Paul Beckingham
6ac8bdc5ca Enhancements - modifier cleanup
- Removed obsolete modifiers
- Added above/below
2009-06-12 21:23:15 -04:00
Paul Beckingham
bd0309b4ff Enhancements - modifiers
- Now only allows one modifier.
- Removed "not", "synth", "next", "first", "last" modifiers.
- Modified match logic.
2009-06-12 21:11:33 -04:00
Paul Beckingham
5a0535c9b5 Enhancment - Record::has
- Used new Record::has method for efficiency.
2009-06-12 01:54:53 -04:00
Paul Beckingham
0b14efbb76 Enhancements - validation
- Implemented Cmd::isReadOnlyCommand.
- Implemented Cmd::isWriteCommand.
- Added unit tests for above.
2009-06-12 01:45:42 -04:00
Paul Beckingham
bc8aba26a9 Enhancement - limit
- Allow command line limit overrides.
2009-06-12 00:05:19 -04:00
Paul Beckingham
d898f3f509 Enhancement - Annotations
- Annotations are now being parsed properly from FF3.
2009-06-11 22:58:38 -04:00
Paul Beckingham
5836430cc1 Code Cleanup
- Removed obsolete code from main.cpp.
2009-06-11 21:34:40 -04:00
Paul Beckingham
37e08df8ba Enhancements - TDB2::gc
- Stubbed TDB2::gc.
- Fixed broken tests Makefile
- Added handleCustomReport call to Context dispatch.
2009-06-11 21:17:30 -04:00
Paul Beckingham
edd065d80e Code Cleanup
- Renamed parse.cpp -> valid.cpp to reflect its new role of housing
  all the validation routines that don't belong to objects.
- Split report.cpp into report.cpp and custom.cpp.
2009-06-11 21:02:02 -04:00
Paul Beckingham
66011acbf8 Enhancements - rules.cpp
- Converted rules.cpp to work under 1.8.0.
- Relocated validReportColumns, validSortColumns to parse.cpp.
2009-06-11 20:35:58 -04:00
Paul Beckingham
ac9dae9af8 Enhancements - TDB::mId
- Implemented ID assignment.
- Removed unnecessary constructors.
2009-06-11 20:34:55 -04:00
Paul Beckingham
754b79afb2 Enhancement - Record::has
- Implemented Record::has which guarantees no autovivification of
  attributes.
2009-06-11 20:29:53 -04:00
Paul Beckingham
1ff3e73ebc Documentation Update
- Fixed typo in README.
2009-06-11 19:40:59 -04:00
Federico Hernandez
48683370c0 * Reorganize man pages for easier handling
* Install i18n files
2009-06-12 00:44:56 +02:00
Federico Hernandez
c3309cfb54 Small reorg of top level project dir 2009-06-11 23:49:43 +02:00
Federico Hernandez
cebe220344 * Bumping ubuntu build configuration files partly to 1.8.0 2009-06-11 23:12:17 +02:00
Federico Hernandez
9b4262bfc0 * Bumoing version to 1.8.0 in rpm spec file
* Changes to description
2009-06-11 23:00:41 +02:00
Federico Hernandez
41be5fd66a Added information about package build config files 2009-06-11 22:58:39 +02:00
Federico Hernandez
94d8702666 Change of task.cpp should have been to main.cpp and not Task.cpp 2009-06-11 15:42:05 +02:00
Federico Hernandez
e39619e4ce Rename of src/task.cpp to src/Task.cpp 2009-06-11 13:41:18 +02:00
Federico Hernandez
78c770afe6 Initial commit of package build config files 2009-06-11 13:16:51 +02:00
Paul Beckingham
1cac0d6647 Bug Fix - FF4 newline
- Oops - FF4 did not include a newline at EOL.
2009-06-11 02:00:05 -04:00
Paul Beckingham
6066fa51ba Code Cleanup
- Eliminated several parse.cpp functions.
- Implemented missing Cmd::allCustomReports.
2009-06-11 01:49:51 -04:00
Paul Beckingham
9a94ea963c Enhancement - locale variant stripping
- If a locale (locale=en-US) contains variant (locale=en-US.UTF8),
  then task ignores the variant.  For now.
2009-06-11 01:37:13 -04:00
Paul Beckingham
ed2ed7c2e2 Enhancements - shadow file
- Implemented (bug not debugged) the shadow file update.
- Added oddly missing (and bypassed) Context::message and Context::footnote
  methods.
2009-06-11 01:30:14 -04:00
Paul Beckingham
a58aa948b8 Enhancement - default.command
- Implemented default.command handling.
2009-06-11 01:10:53 -04:00
Paul Beckingham
d4a9a387af Bug Fix - add with no status
- Tasks were not assigned a default status of Task::pending when added.
2009-06-11 00:46:04 -04:00
Paul Beckingham
d961dfda59 Enhancement - stats
- Implemented stats report.
- Removed more obsolete code.
2009-06-11 00:44:31 -04:00
Paul Beckingham
7b9cb12308 Enhancement - add
- Modified Record::get* methods to be const.
- Implemented TDB2::add.
- Renamed Task::valid to Task::validate.
- Implemented Task::setEntry to default creation time.
- Fixed bug where TDB2 was opening files "rw" instead of "r+".
2009-06-11 00:11:11 -04:00
Paul Beckingham
8728312da6 Optimization - TDB2 access
- Broke TDB2::load into TDB2::load, TDB2::loadPending and
  TDB2::loadCompleted.
- Converted "projects" and "tags" reports to use this.
2009-06-10 23:12:11 -04:00
Paul Beckingham
9776495286 Code Cleanup - TDB removal
- TDB removed from all code, but source kept for further reference.
2009-06-10 22:54:56 -04:00
Paul Beckingham
fc7b344a8b Enhancement - Context::filter
- Automatic filter should not include "uuid".
2009-06-10 22:21:33 -04:00
Paul Beckingham
8bef5a90cd Enhancement - Context::constructFilter
- After parsing the command line, a filter is now constructed.
2009-06-10 22:11:38 -04:00
Paul Beckingham
df38d5aaa0 Code Cleanup
- Relocated longUsage and shortUsage to report.cpp, where they belong,
  which has the positive side effect of allowing all the compiled unit
  tests to link.
2009-06-10 21:51:01 -04:00
Paul Beckingham
d7da182450 Code Cleanup
- Renamed T2.h -> Task.h, T2.cpp -> Task.cpp.  This permanently avoids
  the problem where g++ on OpenBSD 4.5 fails because of the T class,
  which probably conflicts with C++ templates.  Who knows.
2009-06-10 21:35:07 -04:00
Paul Beckingham
71f4749d56 Code Cleanup
- Renamed files task.h -> main.h, task.cpp -> main.cpp.  This is to
  prepare for the next rename, which addresses the OpenBSD bug.
- Removed utf8.h, utf8.cpp from Makefile.am, which were inadvertantly
  added.
2009-06-10 21:20:00 -04:00
Paul Beckingham
41bcdc2875 Documentation Update
- Delete checklist.txt, because it is (a) out of date, and (b)
  superceded by a much better document Fredde wrote.
2009-06-10 20:02:53 -04:00
Paul Beckingham
2da4f8ba7a Enhancements - Context::getWidth
- Added help function to reduce general code size.
2009-06-10 00:35:37 -04:00
Paul Beckingham
8dfe4bd30a Enhancement - usage and help commands
- Implemented usage and help commands.
2009-06-10 00:18:02 -04:00
Paul Beckingham
0449f9e0a2 Enhancements - version command
- Implemented version command.
- Corrected config handling in version command.
2009-06-09 23:58:05 -04:00
Paul Beckingham
f3f77a4c78 Enhancement - report stubs
- Stubbed all non-1.8.0 reports.
- Updated all handler signatures.
2009-06-09 22:48:03 -04:00
Paul Beckingham
a694ac05b1 Enhancement - colors report
- Implemented colors report.
- Commented out all other commands and reports.
- Eliminated obsolete findT function.
2009-06-09 22:21:56 -04:00
Paul Beckingham
940f4a85a4 Documentation Update
- Incorporated 1.7.1 ChangeLog details.
2009-06-09 19:55:44 -04:00
Paul Beckingham
1422a15cbc Merge branch '1.7.1'
Conflicts:
	doc/man5/taskrc.5
2009-06-09 19:49:36 -04:00
Paul Beckingham
9c15457d7f Merge branch '1.7.1' 2009-06-09 19:35:24 -04:00
Federico Hernandez
f209e4aa93 Added new support email address 2009-06-09 17:34:27 +02:00
Federico Hernandez
20d8124a1d Fixed documentation for 1.7.1 2009-06-09 17:30:09 +02:00
Federico Hernandez
db6de54ccc * Updated project homepage reference and license text 2009-06-09 09:32:23 +02:00
Federico Hernandez
eb864820cf * Removed hard-coded version number 2009-06-09 09:31:44 +02:00
Federico Hernandez
0291e4c72e Changed some more references from beckingham.net to taskwarrior.org 2009-06-09 08:56:59 +02:00
Paul Beckingham
6e27feb8a3 Code Cleanup
- Removed Makefile.in from repository.  This was done in 1.8.0, but
  wasn't in 1.7.0.  It's time.
- Added Makefile.in to the .gitignore files.
2009-06-08 23:24:09 -04:00
Paul Beckingham
1dcba4619e Documentation Update
- Bumped version to 1.7.1.
- Changed references to email addresses, URLs.
2009-06-08 23:14:38 -04:00
Paul Beckingham
7538b43c68 Bug Fix - Build failure on OpenBSD
- Fixed build failure on OpenBSD (thanks to Mike Adonay).
2009-06-08 23:03:30 -04:00
Paul Beckingham
aff828c51b Integration - "tags" report
- The "tags" report is now working under 1.8.0.
2009-06-08 01:24:33 -04:00
Paul Beckingham
fb5fe5f5b4 Integration - "projects" report
- "projects" report converted to 1.8.0.
- Relocated code from task.cpp to recur.cpp to allow unit tests to link
  without includign task.cpp and therefore main.
- Removed obsolete sandbox directory.
- Fixed bug where Config::load deleted the pre-loaded custom reports.
- Fixed bug where Cmd::valid failed to include custom reports properly.
2009-06-08 00:54:49 -04:00
Paul Beckingham
cf67e0142c Bug Fix - Att::match
- Fixed Att::match bug that succeeded when no modifiers were present.
2009-06-07 22:57:14 -04:00
Paul Beckingham
9d48faa759 Enhancements - T2::legacyParse
- T2 can now parse all supported legacy formats (ff2, ff3) as well as
  ff4.
- Added tag and attribute support to T2.
- Added T2 unit tests for all formats.
2009-06-07 22:17:11 -04:00
Paul Beckingham
72e3f76ed9 Integration - tag parsing
- Added +tag, -tag support to Context.
- Unit tests still broken.
- Task is still broken.
2009-06-07 17:27:08 -04:00
Paul Beckingham
bf4cf8e786 Unit Tests - Duration
- Added tests to cover Duration::valid
- Added negative test
2009-06-07 17:14:06 -04:00
Paul Beckingham
ed39b88719 Integration - Context::parse
- Integrated Att parsing.
- Unit tests are broken right now.
- Stubbed Context::shadow.
- Implemented Duration::valid.
- Task is broken right now.
2009-06-07 17:07:49 -04:00
Paul Beckingham
7a219c999e Unit Tests - Config
- Added unit tests for Config.  Why didn't I do this a year ago?
- Shut off old 1.7.0 code (gulp).
- Task now thoroughly broken, and only 1.8.0 can help.
2009-06-07 16:31:10 -04:00
Paul Beckingham
d702ba8f24 Enhancement - Integration
- Integrated Cmd object.
- Enhanced Context object with dispatch and shadow methods.
- Fixed bug in Context::parse.
- Implemented command parsing.
- Fixed Sequence bug, and unit tests.
2009-06-07 16:00:22 -04:00
Paul Beckingham
190c6b53fc Enhancements - Config
- Added processing for context.config overrides, and associated
  argc,argv handling.
- Bug fix in filt.t.cpp, but three tests still fail.  Too big a
  distraction to fix right now.
- Warning: build is not broken, but task is broken.
2009-06-07 14:58:32 -04:00
Paul Beckingham
24f31eeb00 Enhancements - Cmd object
- New Cmd object to handle localized commands, customReports and general
  command parsing.
- Localized new Subst methods.
- Relocate guess method from parse.cpp to text.cpp.
- Converted Att object to use new valid/parse scheme.
- Unit tests for Cmd object.
- Fixed att.t.cpp unit tests.
2009-06-07 14:00:14 -04:00
Paul Beckingham
ffa0c6e758 I18N L10N - Subst
- Localized strings in Subst.
2009-06-07 00:46:58 -04:00
Paul Beckingham
049767484f Enhancement - Integrated Subst
- Subst is now part of Context.
2009-06-07 00:39:50 -04:00
Paul Beckingham
a2a9fa7f35 Enhancement - Subst parsing
- Corrected Subst parsing.
- Added more unit tests.
2009-06-07 00:28:21 -04:00
Paul Beckingham
9b78631e6f Enhancement - Sequence integration
- Sequence object fully integrated.
2009-06-06 23:55:36 -04:00
Paul Beckingham
7965bd5b4f I18N - color.cpp
- Localized color.cpp, fingers ache.
- Made a couple of parse.cpp functions non-static.
2009-06-06 23:31:04 -04:00
Paul Beckingham
db52cf7327 I18N - Record
- Localized Record object.
- Remove copy ctor, operator= from Duration - unnecessary.
2009-06-06 22:06:02 -04:00
Paul Beckingham
36d4ecab43 Code Cleanup
- Broke out all the interactive stuff into it's own source file.
2009-06-06 19:50:22 -04:00
Paul Beckingham
bc13f0be48 Interactive - stub
- Added stub code for the interactive version of task.
2009-06-06 17:41:24 -04:00
Paul Beckingham
e9c45aab85 Documentation Update - man page
- Documented the rc.<name>:<value> configuration file override syntax.
2009-06-06 16:11:44 -04:00
Paul Beckingham
82f94a6999 Enhancement - rc.name:value
- Supports 'rc.name:value' for a command line override to .taskrc data
  (thanks to Federico Hernandez).
2009-06-06 16:09:11 -04:00
Paul Beckingham
37dd592110 I18N - Att, text
- Added localization messages.
- Changed wording in ChangeLog.
2009-06-06 15:30:58 -04:00
Paul Beckingham
f43e47a739 I18N L10N - Sequence
- Sequence object localized.
- StringTable changed to inherit from std::map.
- StringTable copy constructor, assignment operator removed.
- Various source files tagged for further l10n work.
2009-06-06 14:11:18 -04:00
Paul Beckingham
76aa3c535e Aesthetics - stats report
- Widened the gap between columns for readability.
2009-06-06 14:09:34 -04:00
Paul Beckingham
60f3da15a7 Bug Fix - configure.ac
- Fixed a syntax error I introduced into configure.ac moments ago, and
  obviously didn't test it.
2009-06-06 12:48:27 -04:00
Paul Beckingham
292ef5248c Documentation Update
- Changed all email addressed to support@taskwarrior.org.
- Changed task@beckingham.net to paul@beckingham.net.
2009-06-06 12:34:32 -04:00
Paul Beckingham
748e2ea00d Merge branch 'switch' into 1.8.0 2009-06-06 12:28:04 -04:00
Paul Beckingham
c2a386b913 Enhancements
- Context implementation snapshot
2009-06-06 12:13:13 -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
2aa43fe4fe Documentation Update
- Removed references to old websites and online groups.
- Removed references to the github issue tracker.
- Added references to http://taskwarrior.org.
2009-06-05 01:01:17 -04:00
Paul Beckingham
32e99b3ed6 Documentation update
- Removed DEVELOPERS file.  Not only does it contain obsolete content,
  it doesn't really provide much help.  Hopefully developers will hit
  the online forums for this kind of help.
2009-06-05 00:35:40 -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
531cffdc7f I18N - L10N
- Localized first strings in Context.
2009-06-04 23:13:17 -04:00
Paul Beckingham
da88dfe15a Build Fix
- Removed the now-obsolete Mod from the Makefiles.
2009-06-04 22:20:26 -04:00
Paul Beckingham
54f155f439 Enhancements - Context integration
- Context now gathers messages and footnotes.
- task now calls into the new 1.8.0 code (via Context), then calls
  into the old 1.7.0 code.  Two for the price of one.
2009-06-04 22:14:03 -04:00
Paul Beckingham
f85fc2d8c9 Documentation Removal
- Removed all online docs, which are no longer needed in the repository.
2009-06-04 21:02:08 -04:00
Federico Hernandez
024986fe88 Added include statement for compilation on linux 2009-06-04 08:44:57 +02:00
Paul Beckingham
b887f7267b Unit Tests - Record, T2
- Added Record::get, ::set, ::get_int tests.
- Added T2 tests.
- Fixed Record::composeF4 bug
2009-06-04 00:37:23 -04:00
Paul Beckingham
25450b4a7c Enhancement - T2 implementation
- Improved Att/Mod implementation.
- Implemented more T2 methods.
2009-06-03 22:58:24 -04:00
Paul Beckingham
f295fdf78f Unit Tests - Att
- Merged all old Mod tests into Att.
- Fixed broken tests.
2009-06-03 21:20:09 -04:00
Paul Beckingham
55771cc999 Code Cleanup
- Mod object is no longer necessary, and is removed.
2009-06-03 21:10:12 -04:00
Paul Beckingham
ac871d9e8d Enhancement - new age_compact column
- Added support for a new custom report column called "age_compact",
  which is a more compact version of "age" (thanks to T. Charles Yun).
2009-06-03 02:19:25 -04:00
Paul Beckingham
66bd5fc3c0 Code Cleanup
- Integrated Context.config.
- Eliminated Config& as a function argument.
- Added extern references to Context where needed.
2009-06-03 02:03:49 -04:00
Paul Beckingham
98978c7c00 Code Cleanup
- Consolidated two forms of guess ().
2009-06-03 01:22:02 -04:00
Paul Beckingham
4ede817ead Code Cleanup - removed formatTimeDeltaDays
- Removed util.cpp/formatTimeDeltaDays, as it was a replica of
  util.cpp/formatSeconds with a different signature.  Worthless.
2009-06-03 00:58:49 -04:00
Paul Beckingham
9eb68881af Unit Tests - Att
- Added modifier parsing unit tests.
2009-06-02 22:32:22 -04:00
Paul Beckingham
948380ce96 Enhancement - Context
- Context is now a global variable, otherwise it will end up being
  passed to every function, which is essentially the same as global,
  and will create a horrible coupling problem.
2009-06-02 22:26:02 -04:00
Paul Beckingham
2faa256a55 Enhancements - i18n
- Added attribute modifiers.
- Tagged all Mod strings for processing.
2009-06-01 21:38:59 -04:00
Federico Hernandez
0dab0384ea Halfway through task-tutorial(5) 2009-06-01 23:08:26 +02:00
Federico Hernandez
ddfbfea715 Include statements to compile on Linux 2009-06-01 21:20:56 +02:00
Paul Beckingham
a98951a8c3 Enhancements - Complete Record parsing
- Enhanced Record unit tests
- Fixed broken Att unit tests
- Fixed broken Att
2009-06-01 01:25:07 -04:00
Paul Beckingham
75c220c352 Enhancements - i18n & Subst
- Created initial, empty strings files.
- Converted Subst to use Nibbler.
2009-06-01 00:15:08 -04:00
Paul Beckingham
7248267a72 Enhancements - T2 & Subst
- Implemented more helper functions in T2, prior to integration.
- Completed Subst.
- Completed Subst unit tests.
- Eliminated T::getAnnotationCount.
2009-05-31 23:43:11 -04:00
Paul Beckingham
ccff27b535 Merge branch 'master' of git@github.com:pbeckingham/task into 1.8.0 2009-05-31 20:01:57 -04:00
Paul Beckingham
3274f1f0a6 I18N - Sample strings files, header
- Began proposed format for strings file.
- Began corresponding header file for string IDs.
2009-05-31 19:45:25 -04:00
Paul Beckingham
4ed6dc3cce Enhancements - Prep for T2 integration
- Added all T methods as reference to begin T2 integration.  No
  change in functionality.
2009-05-31 11:56:34 -04:00
Paul Beckingham
97145fbb07 Enhancement - Object integration
- Began the big integration festival by moving all objects out of
  the sandbox.
- Hooked up one error message to context.stringtable, just to make
  a point.
2009-05-31 01:49:24 -04:00
Paul Beckingham
fe4c8f3a9d Enhancement - Object rename prior to integration
- T -> T2
- TDB -> TDB2
2009-05-31 01:10:39 -04:00
Paul Beckingham
766c2d3620 Unit Tests - Complete Att unit tests
- Covers parsing, composition.
2009-05-31 00:10:35 -04:00
Paul Beckingham
ed685a55ce Patch - Fixed wrong reference to task-tutorial
From 0e39a1b71874d8ac6e34e94f5b7932d41bc49b5c Mon Sep 17 00:00:00 2001
From: Federico Hernandez <ultrafredde@gmail.com>
Date: Sat, 30 May 2009 23:25:47 +0200
Subject: [PATCH] Fixed wrong reference to task-tutorial
2009-05-30 18:33:48 -04:00
Paul Beckingham
a57552f8bc Patch - Corrected missing line break
From 88311e6941804f5c697967ce82e6935d07941d02 Mon Sep 17 00:00:00 2001
From: Federico Hernandez <ultrafredde@gmail.com>
Date: Sat, 30 May 2009 23:00:32 +0200
Subject: [PATCH] iCorrected missing line break.
2009-05-30 17:17:54 -04:00
Paul Beckingham
2ac2aafbe7 Patch - Pushed man pages to version 1.8.0
From eb1beb066956f95521298fc699359a20b9aa4ed9 Mon Sep 17 00:00:00 2001
From: Federico Hernandez <ultrafredde@gmail.com>
Date: Sat, 30 May 2009 22:47:45 +0200
Subject: [PATCH 2/2] Pushed man pages to version 1.8.0

Changed references for documentation to taskwarrior.org

Added stub for new man page task-tutorial.5
2009-05-30 17:14:00 -04:00
Paul Beckingham
963574e298 Patch - Added license information (GPLv2+) to shell completion scripts
From 1d182d7260776edb7543cb49ccf7c59fbb95d81e Mon Sep 17 00:00:00 2001
From: Federico Hernandez <ultrafredde@gmail.com>
Date: Sat, 30 May 2009 20:51:24 +0200
Subject: [PATCH 1/2] Added license information (GPLv2+) to shell completion scripts.
2009-05-30 17:07:52 -04:00
Paul Beckingham
cebacc7273 Unit Tests - Nibbler
- Complete rewrite of all Nibbler tests, this time including all
  boundary conditions.
2009-05-30 17:04:20 -04:00
Paul Beckingham
dde044c3d7 Enhancements - Nibbler upgrades.
- Enhancements to ensure that EOS conditions don't break calls.
2009-05-30 14:23:22 -04:00
Paul Beckingham
87ed7dad6c Enhancements - config variables
- Added 'locale' and 'displayweeknumber' as valid configuration variables.
2009-05-30 14:21:21 -04:00
Paul Beckingham
5263147c83 Enhancements - Nibbler + parsing
- New Nibbler object greatly assists in FF4 parsing.
- Unit tests for Nibbler.
- Record now parses itself.
- Att now parses itself.
2009-05-29 01:47:39 -04:00
Paul Beckingham
7c0aee4a5f Enhancement - Record object
- Added Record::Record (const std::string&)
- Added basic unit test for Record, which currently throws.
2009-05-28 21:31:48 -04:00
Paul Beckingham
4fda101f28 Unit tests - subst
- Implemented basic subst tests, awaiting Record/T integration before
  this can be expanded.
2009-05-28 18:23:21 -04:00
Paul Beckingham
54789082c9 Enhancement - StringTable integration
- StringTable now integrated into Context.
- Docs updated for new "locale" configuration variable.
- StringTable unit tests implemented.
2009-05-28 17:59:55 -04:00
Paul Beckingham
8627a924f7 Merge branch 'master' into 1.8.0 2009-05-28 11:49:00 -04:00
Paul Beckingham
64a891e8b1 Documentation Update - ran a spellchecker
- Caught a couple of typos in the man pages.
2009-05-28 11:47:44 -04:00
Paul Beckingham
a7424f90b3 Documentation Update - ready for OS X package
- The README.txt was out of date.
2009-05-28 11:40:03 -04:00
Paul Beckingham
dc52e096ba Merge branch 'master' into 1.8.0
Conflicts:
	html/task.html
2009-05-28 11:36:21 -04:00
Paul Beckingham
7aace1b3db Patch - Support tag exclusion filtering
- Now supports "-tag" in filters to filter out tasks that do not
  have the specified tag (thanks to Chris Pride).
- Added unit tests to prevent regression.
- Updated the filter docs to include examples.
2009-05-28 11:30:30 -04:00
Paul Beckingham
73ecb0480f Patch - "Bug" discovered while creating Ubuntu deb package using lintian tool.
From 6b0bd9f9be642a8f08ea27c937a1c1eb2253565e Mon Sep 17 00:00:00 2001
From: Federico Hernandez <ultrafredde@gmail.com>
Date: Thu, 28 May 2009 08:58:28 +0200
Subject: [PATCH] Fixing line breaks.

"Bug" discovered while creating Ubuntu deb package using lintian tool.
2009-05-28 09:21:01 -04:00
Paul Beckingham
0fcaf85652 Bug Fix - blank annotations now disallowed
- Prevented blank annotations from being added, and the description
  being echoed as though it were the annotation applied (thanks to
  Bruce Dillahunty).
- Added bug.annotate.t unit test to prevent regression.
2009-05-27 01:01:25 -04:00
Paul Beckingham
8dd9690a65 Enhancement - Subst and Keymap
- Implemented Subst object and mored it into place ready for integration.
- Moved skeleton Keymap into place.  Not implemented yet.
2009-05-27 00:35:13 -04:00
Paul Beckingham
2083dc4175 Enhancement - Subst object
- Implemented most of Subst object, except Subst::apply
2009-05-27 00:30:42 -04:00
Paul Beckingham
de08c1d32e Enhancement - Location object
- Moved Location object into place, ready for integration.
2009-05-27 00:00:54 -04:00
Paul Beckingham
2dc566a726 Enhancement - Record::composeF4
- Implemented Record::composeF4.
2009-05-26 23:17:49 -04:00
Paul Beckingham
4cbc67b30b Enhancement - Location object
- Implemented Location object to link a path with the data files
  found in that path.
- Integrated into TDB.
2009-05-26 22:32:18 -04:00
Paul Beckingham
7ff41a222a Enhancement - Removed obsolete file format 1
- Removed support for (but not recognition of) file format 1, which
  was never released.
2009-05-26 20:51:09 -04:00
Paul Beckingham
3b4390a446 Documentation Update - slackware version
- Corrected Slackware version.
2009-05-25 20:06:55 -04:00
Paul Beckingham
09c88baeaf Patch - Added include file for stdlib
From 5fd187d590abd87f65a773d7294daa8eed582f97 Mon Sep 17 00:00:00 2001
From: Federico Hernandez <ultrafredde@gmail.com>
Date: Mon, 25 May 2009 21:27:56 +0200
Subject: [PATCH] Added include file for stdlib
2009-05-25 15:41:53 -04:00
Paul Beckingham
5ff44e2f33 Patch - Display week number in calendar report
From 9eec77085dd07940c02d9071bf2a374c9a9b54c8 Mon Sep 17 00:00:00 2001
From: Federico Hernandez <ultrafredde@gmail.com>
Date: Mon, 25 May 2009 09:28:38 +0200
Subject: [PATCH 2/3] Display dummy week of year number

From e2fc5d537863672c53ede96607508270f02aabaf Mon Sep 17 00:00:00 2001
From: Federico Hernandez <ultrafredde@gmail.com>
Date: Mon, 25 May 2009 13:43:14 +0200
Subject: [PATCH 3/3] Display weeknumbers in 'task cal' output
2009-05-25 10:56:24 -04:00
Paul Beckingham
6af093126e Platform Testing - clean builds
- Added include files (thanks to Federico Hernandez)
2009-05-25 09:32:32 -04:00
Paul Beckingham
4532727a32 Unit Tests - args.t
- Implemented unit tests verifying '--' functionality.
2009-05-24 22:48:55 -04:00
Paul Beckingham
c223d38872 Enhancement - Supports '--' on the command line
- Using '--' on the command line separates the left hand side, where
  task is free to interpret arguments in the usual way, and the right
  hand side, which is then assumed to be part of the task description,
  and is not interpreted by task.
2009-05-24 22:32:36 -04:00
Paul Beckingham
020604334e Patch - Configurable week start day.
- Added ChangeLog entry.
- Modified timesheet report error message on incorrect weekstart
  value to match that of calendar.
2009-05-24 20:28:07 -04:00
Paul Beckingham
d09630a3a0 Patch - Configurable week start day.
From 78fef7b934f6bcac7662c1646e2dd1f8ce4f3eca Mon Sep 17 00:00:00 2001
From: Federico Hernandez <ultrafredde@gmail.com>
Date: Mon, 25 May 2009 01:14:06 +0200
Subject: [PATCH] Configurable weekstart for task cal display
2009-05-24 20:14:49 -04:00
Paul Beckingham
41a6cdea22 Enhancement - Mod/Att interaction
- New unit tests for Mod object.
- Added new constructors to Mod object for ease of use.
- Added Mod handling in Att object.
- Added more Att unit tests.
2009-05-24 14:45:50 -04:00
Paul Beckingham
c860d58641 Enhancement - Att object
- Improved new Att object.
- Added new constructor to accommodate integer attribute values.
- Implemented unit tests.
2009-05-24 12:25:20 -04:00
Paul Beckingham
6600f9bac4 Code Cleanup - reorg
- Renamed 'objects' to 'sandbox', for clarity.
2009-05-23 23:41:00 -04:00
Paul Beckingham
2aa2a4e257 Enhancement - Filter object
- Almost implemented the Filter object.
2009-05-23 23:39:33 -04:00
Paul Beckingham
b7866b7434 Enhancement - FF4 Parsing
- Implemented TDB::load
- Changed Record to inherit from std::map <std::string, Att>
- Changed Filter to inherit from std::vector <Att>
2009-05-23 23:29:47 -04:00
Paul Beckingham
2e5e20e3e5 Enhancement - Record accessors
- Implemented a variety of get/set routines for Record.
2009-05-23 18:51:37 -04:00
Paul Beckingham
0eff6fa2b1 Code Cleanup - obsolete code
- Removed obsolete T::removeAttributes.
- Removed obsolete T::sequenceContains.
- Modified handleInfo so it no longer uses T::sequenceContains, and
  instead uses filterSequence.
2009-05-23 18:30:51 -04:00
Paul Beckingham
8fa38fc4c3 Enhancement - Sequence range limiting
- Prevents overly large ranges.  A bug was reported from a user
  who tried this:

    % task annotate 1 1-987654321

  The 1-987654321 was assumed to be a valid range, and caused task
  to consume all available memory.  The workaround was:

    % task 1 annotate 1-987654321

  But it seems a good idea to range-limit sequences.  Currently
  it is 1000.  Perhaps this should be configurable.
2009-05-23 17:59:45 -04:00
Paul Beckingham
f3724aa714 Enhancement - Sequence object
- Implemented sequence object to encapsulate the worries of parsing
  sequences.
- Implemented unit tests.
2009-05-23 16:10:42 -04:00
Paul Beckingham
3cdfb733de Enhancement - Sequence implemented
- Implemented a sequence object to handle ID sequences.
2009-05-23 12:26:34 -04:00
Paul Beckingham
fbea29e27c Documentation Update - FAQ
- Updated the FAQ with links to the donwload page, rather than mention
  the versions page, which no longer has links to packages.
2009-05-23 12:10:28 -04:00
Paul Beckingham
17979e10f0 Enhancement - attributes and stringtable
- Modified Att to contain a vector of Mods, not std::strings, even
  though a Mod is a std::string.
- Added a StringTable object to Context, to start getting the I18N
  infrastructure in place before it is needed.  Only a few strings
  are expected to be migrated.
2009-05-23 10:32:07 -04:00
Paul Beckingham
627d0a7ae9 Documentation Update - downloads
- Cleaned up task.html regarding pre-built packages.
- Commented download.html.
2009-05-23 09:50:33 -04:00
Paul Beckingham
df3fc9b723 Merge branch 'ff4' into 1.8.0 2009-05-23 09:46:13 -04:00
Paul Beckingham
dd8b181081 FF4 - Renamed directory to 'objects'
- Better name for new object directory.
2009-05-23 09:42:52 -04:00
Paul Beckingham
a9d46a0714 FF4 - Moved new objects into place
- Moved Mod, Att, Record, StringTable into place, ready for unit tests.
2009-05-23 09:38:31 -04:00
Paul Beckingham
1ad23c7bdc FF4 - Mod object to handle attribute modifiers
- New Mod object responsible for evaluating a chain of attribute
  modifiers.
2009-05-23 09:30:52 -04:00
Paul Beckingham
78e9b00a63 Snapshot 2009-05-23 00:49:31 -04:00
Paul Beckingham
5ac3f0c47e FF4 - snapshot 2009-05-23 00:35:47 -04:00
Paul Beckingham
886f8e252e Patch - Added link download page in "Latest stable release" section
From 489260e8c83c2255a8b92e89ffbe8e8c26ef721b Mon Sep 17 00:00:00 2001
From: Federico Hernandez <ultrafredde@gmail.com>
Date: Fri, 22 May 2009 13:54:41 +0200
Subject: [PATCH] * Added link download page in "Latest stable release" section

* On download page: corrected names for distributions and packages
2009-05-22 21:16:33 -04:00
Paul Beckingham
419ab2ad51 Documentation Update - synch with web site
- This commit synchronizes the web site and the master branch.
  Edits have been made on the site but not in the master branch,
  which is wrong.
2009-05-22 20:15:01 -04:00
Paul Beckingham
eb5bd63459 FF4 - Snapshot 2009-05-22 20:12:21 -04:00
Paul Beckingham
cce755e5da Documentation Update - clarification
- Added note about the lack of a need to escape shell metacharacters
  when they are used in a custom report filter (thanks to Bruce
  Dillahunty).
- Corrected wrong header tag.
2009-05-20 20:46:45 -04:00
Paul Beckingham
b194f37f11 Documentation Update - online docs
- Added new download.html page to list current and prior binary
  packages only.
- Removed old binary packages.
- Reduced versions.html to a concatenation of ChangeLog entries.
2009-05-20 20:30:08 -04:00
Paul Beckingham
3156e1c085 Documentation Update - AUTHORS file
- Added Thomas@BIC to the AUTHORS file, for his contribution and
  bug report.
2009-05-19 23:28:16 -04:00
Paul Beckingham
8b17bdc037 Bug Fix - documentation
- Typo in documentation fixed (thanks to Thomas@BIC).
- Added zsh tab completion script to ChangeLog (thanks to P.C. Shyamshankar).
2009-05-19 22:04:58 -04:00
Paul Beckingham
b9448c3a2c Documentation Update - snapshot 2009-05-19 20:32:52 -04:00
Paul Beckingham
179f60ed8d Bug Fix - _forcecolor considered obsolete
- Fixed bug that considered the _forcecolor configuration variable
  to be obsolete.  Thanks to Bruce Dillahunty.
2009-05-19 19:31:26 -04:00
Paul Beckingham
e754fa6eac FF4 - Snapshot
- Sketched out Filter
- Implemented part of TDB
2009-05-19 01:38:05 -04:00
Paul Beckingham
f97dff0125 FF4 - Snapshot
- Implemented TDB::lock, TDB::unlock.
2009-05-18 22:26:51 -04:00
Paul Beckingham
81e96e0ec4 Code Cleanup - removed Makefile.in from git
- Makefile.in is a generated file, and there is no need to track it
  in git (thanks to Federico Hernandez).
2009-05-18 21:08:54 -04:00
Paul Beckingham
f37d39d4ce Merge branch 'fredde' into 1.8.0 2009-05-18 09:11:03 -04:00
Paul Beckingham
124dc75861 Patch - Simplified structure with dist and nobase usage
From 6f8080c6761a35811de5f3870b6ef7887b1a9414 Mon Sep 17 00:00:00 2001
From: Federico Hernandez <ultrafredde@gmail.com>
Date: Mon, 18 May 2009 13:23:09 +0200
Subject: [PATCH] Simplified structure with dist and nobase usage
2009-05-18 09:10:18 -04:00
Paul Beckingham
f933067a09 Merge branch 'fredde' into 1.8.0 2009-05-18 09:06:32 -04:00
Paul Beckingham
c754e35b5b Patch - Changed directory structure for scripts and their installation.
From b6ec4af427c5c5d37f16b80236ccea34e4d8de5a Mon Sep 17 00:00:00 2001
From: Federico Hernandez <ultrafredde@gmail.com>
Date: Mon, 18 May 2009 12:32:55 +0200
Subject: [PATCH] Changed directory structure for scripts and their installation.

$(docdir) now depends on ${VERSION} variable defined from configure.ac

Made EXTRA_DIST variable modular.
2009-05-18 09:05:21 -04:00
Paul Beckingham
3a9c98d342 FF4 - snapshot 2009-05-17 23:31:25 -04:00
Paul Beckingham
04f60a4d8c FF4 - header file reorg
- Added new util.h and text.h header files.
- Corresponding edits.
2009-05-17 23:29:53 -04:00
Paul Beckingham
5d275188e9 Portability - Added Slackware
- Added Slackware 12-12.2 as a supported platform (thanks to
  Mateusz Almannai).
2009-05-17 19:44:33 -04:00
Paul Beckingham
32d89560d5 Patch - completion scripts
From 950acdf2990269a6d054e9608a1fed1dddf020a0 Mon Sep 17 00:00:00 2001
From: Federico Hernandez <ultrafredde@gmail.com>
Date: Sun, 17 May 2009 22:34:28 +0200
Subject: [PATCH] Re-arranged shell completion scipts into more suitable directory structure.
2009-05-17 17:15:46 -04:00
Paul Beckingham
58e1f3691c FF4 - Snapshot
- Added encode/decode Att methods.  Necessary if description is to be an
  attribute, which will be quoted.
2009-05-17 17:11:35 -04:00
Paul Beckingham
fdd43a9619 FF4 - Snapshot
- Added more Context responsibilities.
2009-05-16 22:22:56 -04:00
Paul Beckingham
2e39929d71 FF4 - util.cpp:convertDuration -> Duration
- Replaced util.cpp convertDuration function with Duration object.
2009-05-16 22:14:32 -04:00
Paul Beckingham
5ba1fd6aeb FF4 - New Duration object
- Replaces convertDuration.
2009-05-16 21:56:54 -04:00
Paul Beckingham
fa76326aba FF4 - Duration object complete
- Replaces util.cpp:convertDuration
2009-05-16 21:50:04 -04:00
Paul Beckingham
7a03d819a0 FF4 - Snapshot
- Objects ready for implementation.
- Removed template X.h X.cpp.
2009-05-16 17:50:30 -04:00
Paul Beckingham
69ed1e0ebb FF4 - Skeleton code for 2.0
- Created new objects for the 2.0.0 code base, needed in 1.8.0.
- Sketched out basic interfaces.
2009-05-16 17:38:54 -04:00
Paul Beckingham
833fac3c13 FF4 - Skeleton objects
Created skeleton objects for all new 1.8.0 code.
2009-05-16 15:45:31 -04:00
Paul Beckingham
6bef54cdae Merge branch '1.8.0' of git@github.com:pbeckingham/task into 1.8.0 2009-05-15 21:04:09 -04:00
Paul Beckingham
dbc98c1230 Patch
From a08f3f919f2f4b06503004ca764339918ee5d000 Mon Sep 17 00:00:00 2001
From: Johan Friis <johanfriis@gmail.com>
Date: Fri, 15 May 2009 16:14:26 +0100
Subject: [PATCH] fontunderline boolean config option

Added an option to turn on/off the drawing of table headers with
underlined font. If off, the default asciidashes will be used.
It defaults to on.
2009-05-15 21:02:06 -04:00
P.C. Shyamshankar
59bd54fd37 Moved completion file to its own zsh subdirectory.
Signed-off-by: Paul Beckingham <paul@beckingham.net>
2009-05-16 07:14:10 +08:00
P.C. Shyamshankar
9d2b2de494 Updated completion for 1.7.0, dynamically getting subcommands from task.
Signed-off-by: Paul Beckingham <paul@beckingham.net>
2009-05-16 07:13:59 +08:00
P.C. Shyamshankar
f974e33fa4 Initial commit of zsh completion, completes only subcommands right now.
Signed-off-by: Paul Beckingham <paul@beckingham.net>
2009-05-16 07:13:38 +08:00
Paul Beckingham
a120b4bd89 Documentation Update - corrected mistakes
- Wrong year
- Failed to mention taskrc man page
2009-05-15 18:45:23 -04:00
Paul Beckingham
13aeff1389 New Version - 1.8.0 begins... 2009-05-14 23:22:31 -04:00
Paul Beckingham
f6b8b39d8b Task 1.7.0 2009-05-14 22:38:16 -04:00
Paul Beckingham
11ee827a0d Platform Testing - clean builds
- on Ubuntu 9.04
- on Fedora Core 10
- on Crunchbang Linux
- on Windows XP/Cygwin
2009-05-14 22:20:09 -04:00
Federico Hernandez
89bbce8661 Documentation Update - install newly added taskrc.5 man page 2009-05-14 20:58:58 -04:00
Federico Hernandez
e1a7f61fb1 Added new man page doc/man5/taskrc.5
Added reference for taskrc(5) into task(1) man page

Fixed typo/missing word in html documentation
2009-05-14 20:57:53 -04:00
Federico Hernandez
f310924675 Added 2 include files to compile under Linux 2009-05-14 20:55:12 -04:00
Paul Beckingham
2fd7f6d681 Documentation Update - Referenced edit command
- Added new edit command references to docs.
- Added "#editor=vi" default .taskrc entry.
2009-05-14 00:54:02 -04:00
Paul Beckingham
612b872ed4 Silver Bullet - Complete
- Entry works
- Start works
- End works
2009-05-14 00:46:52 -04:00
Paul Beckingham
f97955ded8 Silver Bullet - Snapshot
- until working
- due working
- Also allows editing of recurring parent tasks
2009-05-14 00:29:08 -04:00
Paul Beckingham
38907ac6d7 Silver Bullet - Snapshot
- Annotations working
- recur working
- parent working
- fg working
- bg working
2009-05-14 00:10:54 -04:00
Paul Beckingham
1da111ad6e Enhancement - info missing color
- Fixed bug whereby the info report was not reporting fg and bg
  color attributes.
2009-05-13 23:59:22 -04:00
Paul Beckingham
c7d0b1c21b Silver Bullet - snapshot
- Project working
- Priority working
- Tags working
- Description working
2009-05-13 23:36:04 -04:00
Paul Beckingham
0c775f7998 Silver Bullet - code complete
- Now it's debug time.
2009-05-13 20:39:56 -04:00
Paul Beckingham
c872e30ef5 Silver Bullet - more fields
- Added more fields, none of which work right now.
2009-05-13 18:24:12 -04:00
Paul Beckingham
2c826b6213 Silver Bullet - snapshot
- Project and priority are properly and completely handled.
2009-05-13 15:52:09 -04:00
Paul Beckingham
9d8777ec7d Silver Bullet - file formatting
- 'before' file formatting completed.  Now the hard part.
2009-05-13 15:03:06 -04:00
Paul Beckingham
ee06280808 Code Reorganization - Silver Bullet
- Broke out Silver Bullet feature into separate edit.cpp file.
  Because it is big.
2009-05-13 12:35:54 -04:00
Paul Beckingham
da8c3c1a16 Documentation Update
- Corrected discussion of the edit command.
2009-05-13 12:14:41 -04:00
Paul Beckingham
4346f83f6e Merge branch 'silver-bullet' into 1.7.0
Conflicts:
	src/command.cpp
2009-05-13 11:55:21 -04:00
Paul Beckingham
8b045156d0 Documentation update - man page patch
From 11b748fcecd0ea0bfa04157b59abb1977c1aae5c Mon Sep 17 00:00:00 2001
From: Federico Hernandez <ultrafredde@gmail.com>
Date: Wed, 13 May 2009 16:52:54 +0200
Subject: [PATCH] Punctuation error in Frequencies section

---
 doc/man1/task.1 |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/doc/man1/task.1 b/doc/man1/task.1
index da8270a..8a1a671 100644
--- a/doc/man1/task.1
+++ b/doc/man1/task.1
@@ -257,7 +257,7 @@ task ... due:fri
 .RE

 .SS FREQUENCIES
-Recurrence periods Task supports several ways of specifying the
+Recurrence periods. Task supports several ways of specifying the
 .I frequency
 of recurring tasks.

--
1.6.3.1
2009-05-13 11:52:10 -04:00
Paul Beckingham
c4e459e8d7 Silver Bullet - added more fields.
- Added (presumable) all other fields.  Now looking for a better
  format, and a nice way to parse it all back.
2009-05-13 11:39:07 -04:00
Paul Beckingham
77475136b9 Bug Fix - weekstart is not an obsolete
- The new 'weekstart' configuration variable was being tagged as
  obsolete by handleVersion.
2009-05-13 10:46:51 -04:00
Paul Beckingham
362b4a5bc9 Bug Fix - .taskrc/.task
- Fixed bug whereby task created the default ~/.task directory,
  even if an extant .taskrc:data.location specified otherwise
  (thanks to Federico Hernandez).
2009-05-13 00:43:00 -04:00
Paul Beckingham
ff14f0a28a Documentation Update - install docs
- Makefile.am now installs various docs to <prefix>/share/doc/task-1.7.0
  (thanks to Federico Hernandez).
2009-05-13 00:26:54 -04:00
Paul Beckingham
a6637db232 Documentation Update - man page installation
- The task.1 man page is properly installed in
  <prefix>/share/man/man1/task.1
2009-05-12 23:56:57 -04:00
Paul Beckingham
95f07cf363 Bug Fix - UUID corruption on Solaris 8
- Fixed a bug with an unterminated buffer in uuid() (thanks to
  Steven de Brouwer).
- Added Solaris 8 as another supported platform (thanks to Steven
  de Brouwer).
2009-05-12 23:19:26 -04:00
Paul Beckingham
f9035eec70 Bug Fix - C syntax error in parse.cpp
- Fixed bug where variable instantiation inside a case statement
  was not scoped, but somehow builds on Leopard, but fails on
  Fedora Core 10.  Thanks to Federico Hernandez.
2009-05-12 22:58:59 -04:00
Paul Beckingham
cc5d44ee9d Documentation Update - git usage doc
- Added a page that describes how to use git to contribute to task.
2009-05-12 22:28:42 -04:00
P.C. Shyamshankar
3f97bb0663 Added Federico's changes, other updates. Moved to section 1.
Signed-off-by: Paul Beckingham <paul@beckingham.net>
2009-05-13 05:51:12 +08:00
Paul Beckingham
e268b7f71c Enhancement - latest tab completion script
- Installed the latest script from Federico Hernandez.
- Renamed script to task_completion.sh, to avoid conflict with others.
2009-05-12 08:59:18 -04:00
Paul Beckingham
753305a262 Documentation Update - man page
- Added the man page to the distribution (thanks to P.C. Shyamshankar).
2009-05-12 01:05:25 -04:00
Paul Beckingham
cec42bb2c4 Enhancement - tab completion
- Added the new 1.7.0 commands.
2009-05-12 00:09:12 -04:00
Paul Beckingham
de7f70ad3e Documentation Update - tab completion
- Added a first cut at the tab completion web page.  It needs to
  be tightened up.
2009-05-11 23:55:49 -04:00
Paul Beckingham
046f511d66 Bug fix - task now builds on Arch Linux
- Applied patch to allow task to build on Arch Linux (thanks to
  Johan Friis).
2009-05-11 23:44:17 -04:00
Paul Beckingham
e2e5b4884c Enhancement - tab completion script
- Added a new tab completion script (thanks to Federico Hernandez).
2009-05-11 23:36:57 -04:00
Paul Beckingham
05243c9e7a Merge branch '1.7.0' of git@github.com:pbeckingham/task into 1.7.0 2009-05-11 23:10:04 -04:00
Paul Beckingham
fd823871f0 Enhancement - timesheet report
- Version 1 of the timesheet report.  Displays a specified number
  of weeks tasks, both started and completed.
2009-05-11 23:07:50 -04:00
P.C. Shyamshankar
4087a82402 Wrote initial manpage, dump of information from `task help`.
Signed-off-by: Paul Beckingham <paul@beckingham.net>
2009-05-12 10:33:58 +08:00
Paul Beckingham
e8da71498d Documentation Update
- Corrected precedence list on editors.
2009-05-11 21:22:06 -04:00
Paul Beckingham
4ab665b876 Enhancement - timesheet report
- First pass at a timesheet report.  Needs details and formatting
  improvements.
2009-05-11 00:01:42 -04:00
Paul Beckingham
6762af8ffd Enhancement - Edit command
- Added more fields to the edit command.
- Added a more useful slurp implementation.
- Updated advanced.html with directions on use.
2009-05-10 16:26:48 -04:00
Paul Beckingham
407ef39c54 Enhancement - edit command
- Mere beginnings of the edit command.  No functionality yet.
2009-05-10 01:54:43 -04:00
Paul Beckingham
de4194479a Bug Fix - ghistory ignoring deletions
- Fixed bug that prevented months with only deletions from being
  included in the report.
2009-05-10 01:03:53 -04:00
Paul Beckingham
08188fb811 Enhancement - stats report
- Reimplemented the stats report so that it uses the Table object,
  and therefore has the same aesthetics as the other reports.
2009-05-10 00:40:56 -04:00
Paul Beckingham
cd89e10cfb Unit Tests - sequence
- Implemented unit tests to verify that sequences work properly on
  all relevant commands.
2009-05-09 23:35:32 -04:00
Paul Beckingham
1c736a319d Enhancement - Custom report limit override
- If a custom report has a specified limit to the number of tasks
  it shows, then that limit may be  overridden by specifying a new
  quantity on the command line.
- Added unit tests to verify expected behavior.
- Updated documentation to reflect new functionality.
- Removed obsolete documentation references to an "oldest" and
  "newest" configuration variable.
2009-05-09 22:32:40 -04:00
Paul Beckingham
72f84b3c3e Bug Fix - "done" tasks missing end date
- Tasks marked "done" were not assigned an end date before being
  written to the file.  Fortunately this only affects beta testers
  who, by definition, like to live on the edge.
- Added better text in the NEWS file regarding the github issue
  tracker.
- Cleaned up text a little in the "help" report output.
2009-05-09 21:30:53 -04:00
Paul Beckingham
e8443889bb Documentation Update - subscribe form on site
- Added a simple subscribe button and form to the web site.  Several
  people have stated that subscribing to the group is confusing, and
  maybe this will help.
2009-05-09 16:09:31 -04:00
Paul Beckingham
e81fdd1975 Unit Tests - improved logic in nag.t
- Used the correct builtin Test::More method.
2009-05-09 14:03:54 -04:00
Paul Beckingham
f9c3103264 Merge branch 'timesheet' into 1.7.0 2009-05-08 21:26:43 -04:00
Paul Beckingham
143666aca0 Unit Tests - en passant + sequence
- Added unit tests to ensure that the "done" command handles both
  sequences and en passant modifications.
2009-05-08 01:20:20 -04:00
Paul Beckingham
f7fc455b62 Bug Fix - extra line in ghistory report
- Fixed bug that added an extra line between header and graph in the
  ghistory report.
2009-05-08 01:09:55 -04:00
Paul Beckingham
5814432366 Enhancement - TDB API cleanup
- Removed obsolete TDB::deleteT method.
- Removed obsolete TDB::completeT method.
- Updated documentation.
2009-05-08 00:37:24 -04:00
Paul Beckingham
90c721295a Documentation Update
- Added docs reflecting the en passant feature for "done" and "append".
2009-05-08 00:29:14 -04:00
Paul Beckingham
5cf33105a3 Enhancement - en passant "done"
- When marking task(s) as done, it is now possible to modify them
  at the same time.
2009-05-08 00:25:30 -04:00
Paul Beckingham
b23bad9a5b Enhancement - duplicate command
- Added duplicate command that duplicates a task, and en passant
  applies and specified changes (thanks to David J Patrick).
2009-05-07 23:08:53 -04:00
Paul Beckingham
c61a295df7 Merge branch '1.7.0' into timesheet 2009-05-07 00:44:12 -04:00
Paul Beckingham
aec64afc5c Enhancements, Bug Fix
- Removed obsolete usage.html page.
- Added filterSequence helper function to subset tasks to the affected
  sequence of tasks.
- Added series of helper functions to facilitate applying modifications
  to tasks, allowing more commands the ability to modify tasks in all
  ways.
- Added calls to helper functions for append and modify commands.
- Fixed bug that would mistakenly validate the configuration variable
  "bcd" if there was a valid "abcd", "bcde" or "abcde" configuration
  variable.
- Made the messages generated by task after a command is complete
  more verbose and consistent across all commands.
- Fixed bug that caused the ghistory command to skip months where no
  tasks were added, but were deleted or done.  This is the same bug
  that was fixed in 1.6.0 for the history report.  So much for cut
  and paste.
- Allowed all commands that take an ID to now operate on a sequence.
2009-05-07 00:33:17 -04:00
Paul Beckingham
72ff15ea7a Enhancements
- Fixed word wrapping problem on "help" page.
- Writes errors to std::cout because std::cerr confuses tests.
  Presumably no users will care.  I don't.
- Added listDiff template function.
2009-05-07 00:30:20 -04:00
Paul Beckingham
fea19e036a Unit Tests - confirmation, delete, subst, undo
- Modified unit tests to accommodate changes in the verbose output
  of task.
- Added tests to verify /delete-me// substitutions.
- Fixed typos in test descriptions.
2009-05-07 00:26:49 -04:00
Paul Beckingham
98391a0c24 Enhancement - Command Line Parsing
- Fixed problem where a blank ID was considered valid.  For example,
  the command "task 1 -2" should use -2 as the description, but instead
  considered this to be the sequence 1,0,2.
- Replaced old validId calls with the new validSequence calls.
- A sequence has been redefined to be the first set of consecutive
  arguments that look like sequences.  Once broken by a non-sequence
  argument, all remaining args, even if they look like a sequence,
  are not considered part of the sequence.  This allows commands like
  "task append 1,3-5 Write 10 emails", where 10 is not part of the
  sequence because of the intervening "Write".
- Unit tests (parse.t.cpp) that exercise the parsing of sequences.
  Should probably be expanded to cover more.
2009-05-07 00:24:30 -04:00
Paul Beckingham
2975b9244a Enhancement - ID and sequences
- The first ID added as a sequence is accessible through the original
  T::getId and T::setId interface.
- An ID added via T::getId is accessible as the first ID in a sequence.
- Allows some commands to operate exclusively with sequences, and others
  with a single ID.
2009-05-07 00:13:31 -04:00
Paul Beckingham
c78be053cb Documentation Update - release checklist
- Create a release checklist document detailing release process.
2009-05-07 00:11:43 -04:00
Paul Beckingham
708995093b Documentation Update
- Removed unnecessary usage.html links from other pages.
- Added new sequence.html page to describe how to use ID sequences.
2009-05-06 23:58:21 -04:00
Paul Beckingham
7fea1f6a63 Merge branch 'sequences' into 1.7.0 2009-05-05 02:16:24 -04:00
Paul Beckingham
b67b27f5cd Enhancement - delete sequences
- Implemented sequences for delete command
- Renamed T::inSequence to T::sequenceContains, which makes the code
  read more naturally.
2009-05-05 02:14:43 -04:00
Paul Beckingham
07819a1885 Documentation Update - defaultwidth
- Defaultwidth is now included in the default .taskrc file.
2009-05-05 02:03:25 -04:00
Paul Beckingham
e03e1ec7b0 Bug Fix - missing defaultwidth in generated .taskrc
- The defaultwidth variable is now written to the default .taskrc
  file, but is commented out to allow ncurses to do it's thing.
2009-05-05 02:00:20 -04:00
Paul Beckingham
fb674a5626 Enhancement - parse sequence like 1,3,5-10 for IDs
- Now parses sequences as well as IDs.
- Sequences implemented for the info report.
2009-05-05 01:59:07 -04:00
Paul Beckingham
410a63fe14 Enhancement - info on recurring tasks
- Added recurrence information (parent, mask, imask, recur, until)
  to the info report when the task is either a recurring task or a
  synthetic task.
2009-05-05 01:03:07 -04:00
Paul Beckingham
2cc625f631 Documentation Update - Mentioned mailing list
- Added mention of the mailing list as a better alternative than
  sending email to PB.
2009-05-04 23:27:22 -04:00
Paul Beckingham
51a78ab996 Documentation Update - Mention new mailing list
- Added mention of new mailing list, as a place to discuss task
  features.
2009-05-04 23:22:34 -04:00
Paul Beckingham
d7f9b2165c Documentation Update - Correction
- Fixed sample commands, which were missing the "add" keyword (thanks
  to T. Charles Yun).
2009-05-04 22:31:14 -04:00
Paul Beckingham
d135dc2337 Enhancement - id sequences
- Recognizes id sequences on the command line.  Doesn't do anything
  with them yet.
2009-05-04 22:24:43 -04:00
Paul Beckingham
57a11a74e1 New Report - timesheet
- Added new timesheet report framework
- Began adding logic pseudo-code
- Added some documentation
2009-05-03 11:32:04 -04:00
Paul Beckingham
f73281ee30 Documentation Update
- Left an extraneous link behind.
2009-05-03 01:26:46 -04:00
Paul Beckingham
262e42d42b Documentation Update
- Merged the (now obsolete) troubleshooting page into the FAQ page.
2009-05-03 01:06:38 -04:00
Paul Beckingham
99174d66b6 Documentation Update
- Added David J Patrick as contributing author for the massive list
  of feature ideas he has provided, and the accompanying dialogue.
- Added mention of the Github issue tracker.
2009-05-03 00:27:11 -04:00
Paul Beckingham
a0838474c4 Diagnostics - Better parsing errors
- Improved the errors when parsing a corrupt or unrecognized pending.data
  or completed.data file.
2009-05-03 00:18:23 -04:00
Paul Beckingham
3235ac592f Documentation Update
- Added names to AUTHORS
- Added Ubuntu 9.04 ncurses tip to faq
2009-04-28 23:55:23 -04:00
Paul Beckingham
dcedbb3076 Unit Tests - bug.annual.t
- Fixed test count.  It was reporting more tests that it actually
  ran.
2009-04-26 18:35:12 -04:00
Paul Beckingham
e84c5c4a3c Merge branch 'master' into 1.7.0
Conflicts:
	ChangeLog
	NEWS
	configure.ac
2009-04-24 01:10:06 -04:00
Paul Beckingham
c4ec5989fe Documentation Update - wrong download file name
- Corrected the source file name.
2009-04-24 00:31:40 -04:00
Paul Beckingham
a737b0e0c8 Merge branch '1.6.1'
Conflicts:
	html/task.html
2009-04-24 00:24:54 -04:00
Paul Beckingham
f2b7780d6b Documentation Update
- Added 1.6.1 details.
2009-04-24 00:20:42 -04:00
Paul Beckingham
1b6faf57c9 Unit Tests - correction to T::compose tests
- Uses " instead of ' to quote annotations.
2009-04-24 00:09:59 -04:00
Paul Beckingham
76c66b8ab1 Documentation Update
- Added Ubuntu 9.04 (Jaunty Jackalope) to the docs.
2009-04-23 23:59:59 -04:00
Paul Beckingham
fe84ddcc98 Bug Fix - missing report labels in default .taskrc
- Added report labels to the .taskrc file that is created by default,
  when no .taskrc is found.  Thanks to P. C. Shyamshankar.
2009-04-23 23:54:21 -04:00
Paul Beckingham
0d832a6848 Documentation Update
- task.html was missing the release date.
2009-04-22 19:51:54 -04:00
Paul Beckingham
a77d4662f8 New Version - 1.6.1 2009-04-22 19:50:06 -04:00
Paul Beckingham
60915cefd4 Documentation Update
- Added 1.6.0 rpm download link.
2009-04-22 19:39:56 -04:00
Paul Beckingham
f896d3f160 Merge branch 'master' into 1.7.0
Conflicts:
	ChangeLog
2009-04-13 21:23:18 -04:00
Paul Beckingham
e23243e195 Bug Fix - missing ///g from usage
- Added text describing the ///g substitution feature.
- Updated ChangeLog.
2009-04-13 20:44:35 -04:00
Paul Beckingham
5b14fb63d8 Documentation Update
- Added a new 1.7.0 section to ChangeLog.
2009-04-13 20:39:41 -04:00
Paul Beckingham
081f8f5b3c Merge branch 'master' into 1.7.0 2009-04-12 23:45:45 -04:00
Paul Beckingham
06062a96eb Documentation Update - version 2009-04-12 23:41:05 -04:00
Paul Beckingham
2f18c512e0 Began 1.7.0 work 2009-04-12 23:39:47 -04:00
Paul Beckingham
7431f0cdd3 Bug Fix - use " not ' for annotation quoting
- Annotations were using ' to quote text, sanitizing ' -> " inside
  the text.  It would be better to quote with " and sanitize " -> '
  because ' is more common in the text (e.g. "Doesn't work") than ".
2009-04-12 22:53:20 -04:00
Paul Beckingham
22f0b1d9fb Documentation Update
- Added the global modifier of the substitution command to the
  command line grammar file.
2009-04-12 22:35:26 -04:00
Paul Beckingham
b8187e24ae Enhancement - file import
- Added support for configuration variables that override field
  mapping.
- Updated documentation.
2009-04-12 20:29:37 -04:00
Paul Beckingham
120593887b Code Cleanup - unit test warning
- Cleaned up Perl warning in unit test.
2009-04-12 02:17:12 -04:00
Paul Beckingham
01e5e773eb Enhancement - stats report
- Rearranged sequence of stats report to make more sense, with
  counts first and statistics (derived data) last.
2009-04-12 02:10:05 -04:00
Paul Beckingham
e0fd39db7b Enhancement - substitutions /from/to/g
- Added support for the "g" modifier to the substitution command,
  that replace every occurrence of "from" with "to", in the task
  description and any annotations.
2009-04-12 02:01:08 -04:00
Paul Beckingham
a39261f82d Unit tests - substitution
- Added unit tests to ensure that substitution works on the task
  description and annotations.
2009-04-12 01:03:52 -04:00
Paul Beckingham
a6b45af0a2 Enhancement - annotation substitution
- Annotations are now modifiable using the /from/to/ modification
  command.
2009-04-12 00:56:58 -04:00
Paul Beckingham
daea320564 Bug Fix - annual recurrence due-date creep
- Fixed bug where annual recurring tasks exhibit due-date creep
  (thanks to T. Charles Yun).
2009-04-12 00:05:21 -04:00
Paul Beckingham
1cbec205f1 Bug Fix - concatenation of colons in description
- When a task description contained a colon, the two words preceding
  the colon were concatenated.  For example, "aa bb:cc dd" gets
  concatenated to "aabb:cc dd".
- Added unit to test to prevent regression.
- Updated documentation.
2009-04-11 23:02:48 -04:00
Paul Beckingham
579232b7ea Documentation Update
- Cygwin doesn't support all color combinations, which include bold,
  underline and bright background colors.  Added a troubleshooting
  item that describes this problem, and suggests running "task colors"
  to determine just which colors are supported.
2009-04-11 22:39:37 -04:00
Paul Beckingham
cee8fda236 Documentation Update
- added Federico Hernandez to the AUTHORS file for his contribution of
  Red Hat RPM packages.
- Added RPM download links.
2009-04-11 22:18:12 -04:00
Paul Beckingham
4dda1f0c27 Documentation Update
- Added Ubuntu Jaunty Jackalope 9.04 (beta) to the list of supported
  platforms.
2009-04-05 12:26:11 -04:00
Paul Beckingham
0571412da0 Documentation Update
- Added Ubuntu 9.04 (Jaunty Jackalope) to the list of supported systems
  (thanks to Federico Hernandez).
2009-03-30 19:51:13 -04:00
Paul Beckingham
b4f031e4a7 New report columns
- Added support for tag_indicator column.
- Added support for recurrence_indicator column.
2009-03-30 00:29:28 -04:00
Paul Beckingham
5b1d64960d Documentation Update
- Added faq question/answer.
- Clarified file format upgrade via backup warning.
2009-03-29 23:50:00 -04:00
Paul Beckingham
a5fef2cc6b Autoconf
- Removed double check for ncurses, causing the library to be listed
  twice on the link line.
2009-03-29 22:17:14 -04:00
Paul Beckingham
8ab3c1cc3c Bug Fix
- Fixed bug whereby if no columns labels were specified, it was
  considered a column count mismatch.
- Fixed unit tests to use m/d/Y not M/D/Y dateformat.
2009-03-29 21:27:48 -04:00
Paul Beckingham
2700713c03 Merge branch 'import' into 1.6.0
Conflicts:
	ChangeLog
	html/task.html
2009-03-29 18:51:27 -04:00
Paul Beckingham
567bdd98a4 Code Cleanup
- Removed temporary file import samples
2009-03-29 17:43:21 -04:00
Paul Beckingham
25425614b1 File Import
- Implemented all remaining import functionality.
2009-03-29 17:42:11 -04:00
Paul Beckingham
3b65051e9e Unit Tests - labels
- Added unit tests to verify that custom report labels are properly used.
2009-03-29 15:41:09 -04:00
Paul Beckingham
5f4563af2f File Import
- Implemented import from task 1.4.3, 1.5.0, 1.6.0, plain text,
  todo.sh and task command line files.
- Implemented unit tests to cover the above.
2009-03-29 15:34:35 -04:00
Paul Beckingham
7e2bd166fa Code Cleanup
- Guaranteed the correct Config::get call via cast.  There is some
  doubt as to the correct call being made otherwise.  This is not a
  very likely fix, but does eliminate one possibility.
2009-03-29 11:08:32 -04:00
Paul Beckingham
41b60f88d3 Custom Report Labels
- Added the ability to override the labels of custom reports (thanks
  to T. Charles Yun).
2009-03-27 23:51:20 -04:00
Paul Beckingham
93ec320555 Updated FAQ 2009-03-27 22:32:40 -04:00
Paul Beckingham
c1291dc587 Updated Documentation
- Added description of import process.
2009-03-27 22:02:13 -04:00
Paul Beckingham
57deb83b25 Documentation Update
- Added a faq.html file, although it is not so much a set of frequently
  asked questions, but of repeatedly asked questions.  Questions from
  the mail bag, if they apply to a general audience might be shown
  here.
2009-03-27 21:25:34 -04:00
Paul Beckingham
e4f5d6579c File Import
- Updated documentation.
- Added another recognized format - task command line.
2009-03-26 00:52:51 -04:00
Paul Beckingham
99dc72f26f File Import
- Added format identifier code for task 1.4.3, task 1.5.0, todo.sh
  2.0 and CSV.
- Implemented import for type text.
- Implemented util.cpp:slurp function.
- Gathered sample input files for import testing, and later, unit
  tests.
2009-03-26 00:41:15 -04:00
Paul Beckingham
406e648d58 Code Cleanup
- The new 'echo.command' configuration variable was incorrectly
  flagged as obsolete by report.cpp:handleVersion.
2009-03-25 17:49:22 -04:00
Paul Beckingham
db7b2dd9fe File Import
- Implemented scaffolding for new import command.
2009-03-25 02:05:50 -04:00
Paul Beckingham
c31ec6b6a6 Unit Tests - all file formats
- Added unit tests to verify correct parsing of file formats 1, 2
  and 3.
2009-03-25 01:29:59 -04:00
Paul Beckingham
1a656f0f60 Recurring Tasks - upgrades and bug fixes
- Improved (fixed) logical consistency checks that prevent the
  addition of a recurrence frequency without a due date.
- Improved (fixed) logical consistency checks that prevent the
  addition of an until date with a recurrence frequency.
- When a recurring task is modified, all sibling instances, as well
  as the parent task now get modified.
- When a recurring task is appended, all sibling instances, as well
  as the parent task now get modified.
- Updated documentation.
- It is now possible to upgrade a regular task to a recurring task,
  which is triggered by the "recur" attribute.
2009-03-25 01:08:13 -04:00
Paul Beckingham
5ec0d569a9 Enhancement - annotations
- Added annotated description to the active, overdue and next reports.
2009-03-24 23:15:55 -04:00
Paul Beckingham
3979c3283e Enhancement - annotations
- Added support for "annotate" command to annotate existing tasks.
- Bumped file format to version 3, due to the annotations.
- Added unit tests to verify that annotations work.
- Changed 'description' column everywhere to include annotations.
- Added 'description_only' column to exclude the annotations.
- Fixed bug in Table.cpp that calculated the width of multi-line
  columns by using the cell length, instead of the length of the
  longest individual line.
- Updated documentation with new feature.
- Updated documentation with new column.
- Enhanced t.t unit tests to cover format 43
2009-03-24 01:57:12 -04:00
Paul Beckingham
ca795ea281 Bug Fix - confirmation was broken
- Fixed inverted condition that broke confirmation.
2009-03-23 21:55:02 -04:00
Paul Beckingham
d10e9be500 Bug fix - assumed "yes" value, instead of Bool
- Fixed bug where only a value of "yes" would enable confirmation,
  instead of any Boolean true value.
2009-03-22 23:50:42 -04:00
Paul Beckingham
f790df24c5 Enhancement - added echo of id, description
- Added an echo of the ID and description of the task for the start,
  stop, do, undo, delete and undelete commands.  Thanks to Bruce
  Dillahunty.
- Updated documentation.
- Added "echo.command=no" to delete.t, undo.t because the default
  value is "yes", which breaks tests.
- Fixed syntax errors in utf8.t
- Corrected expected number of tests in recur.t
2009-03-22 23:34:17 -04:00
Paul Beckingham
ca933d7f39 Unit Tests - duration
- Corrected unit tests that were mistakenly using 'week' instead of
  'weekly'.
2009-03-20 20:02:59 -04:00
Paul Beckingham
827bc6204b Unit Tests - autocomplete
- Implemented unit test to verify the functionality of the
  util.cpp:autoComplete function.
2009-03-20 20:01:44 -04:00
Paul Beckingham
4537d5048e Unit Tests - confirmation
- Implemented unit tests to very that "confirmation=yes" works.
- Implemented unit tests to very that \n causes a re-prompt.
- Updated docs with regard to this fix, thanks to Bruce Dillahunty.
2009-03-20 18:12:11 -04:00
Paul Beckingham
74ea5b4ef6 Bug Fix - confirmation not processing newline
- Fixed bug where util.cpp:confirm was eating newlines, and not
  rewriting the prompt.  Consequently, after confirm asked the
  question, and the user hit <Enter>, nothing was displayed but
  the newline.  Now uses std::getline.
2009-03-20 16:56:25 -04:00
Paul Beckingham
cc2220b406 Unit Tests - text
- Added unit tests to verify correct functioning of the text utility
  code.
2009-03-19 20:48:02 -04:00
Paul Beckingham
7389ce617a i18n - utf8 support
- Added more unit tests to verify that utf8 projects and tags are
  supported.
2009-03-19 19:46:41 -04:00
Paul Beckingham
165001acac i18n - unit tests
- Added more utf8.t unit tests.
- Removed text.cpp:extractParagraphs, which is not used.
2009-03-19 19:14:01 -04:00
Paul Beckingham
3d3d788961 Recurring Tasks - new "weekdays" frequency
- Added support for "weekdays" as a recurrence frequency, which skips
  Saturday and Sunday, but is otherwise a daily recurrence.  Thanks
  to Chris Pride.
2009-03-18 23:29:25 -04:00
Paul Beckingham
3c196230dd Autoconf
- Added the "-Wall and -pedantic" compiler flags for the non-debug
  build.  The should have been there anyway.
2009-03-18 22:54:59 -04:00
Paul Beckingham
9a350a7dcd Documentation Update
- Updated docs that referenced 1.4.1, failed to include new 1.5.0
  and 1.6.0 commands.
2009-03-17 23:54:56 -04:00
Paul Beckingham
92579e5531 Unit Test - oldest/newest
- Added unit tests to verify oldest and newest reports both work when
  less than 10 tasks are added, and have the correct sort order.
2009-03-17 23:36:00 -04:00
Paul Beckingham
40a538a769 Unit Tests - utf8.t
- Implemented unit tests (more of a demo) that add a bunch of UTF-8
  encoded tasks, as a starting point to updating task to be aware of
  encodings, Unicode etc.
2009-03-17 22:45:53 -04:00
Paul Beckingham
b6e4bc966f Merge branch 'master' of git@github.com:pbeckingham/task into 1.6.0 2009-03-16 22:27:40 -04:00
Paul Beckingham
03815967d2 Documentation Update - task.html
- Added reference to github to allow direct download, clone, fork etc.
2009-03-16 22:26:27 -04:00
Andy Lester
7049bf19d9 Ignore backup files, too
Signed-off-by: Paul Beckingham <paul@beckingham.net>
2009-03-17 10:19:07 +08:00
Paul Beckingham
c69c3bb090 New Command - append
- New "append" command concatenates additional text onto an existing
  task description.
- Added unit tests to append command.
2009-03-16 08:29:09 -04:00
Paul Beckingham
7238d1f1c9 Began 1.6.0 Development 2009-03-16 08:27:24 -04:00
Paul Beckingham
9f82c55c5b Merge branch '1.5.0'
Conflicts:
	html/task.html
2009-03-15 22:26:50 -04:00
Paul Beckingham
87be68e2e8 Bug Fix
- Shebang in tests/run_all was backwards.
2009-03-15 22:12:18 -04:00
Paul Beckingham
7b1dec0d77 Bug Fix - abbreviation.t
- abbreviation.t contains unit tests that fail to specify an alternate
  rc file (rc:abbrev.rc), and so instead rely on ~/.taskrc.  For a new
  installation, there is no .taskrc, so task offers to create one.
  When done in the context of a unit test, task hangs waiting for input.
2009-03-15 19:15:35 -04:00
Paul Beckingham
f8af5d999a Unit Tests - run_all
- Added script to run all unit tests and capture output.
2009-03-15 17:38:54 -04:00
Paul Beckingham
8efd8620c8 Portability - Ubuntu 8.10
- When creating a new .taskrc file, no newlines were included at EOL.
  This needs a 1.5.1 regression test.
2009-03-15 17:21:54 -04:00
Paul Beckingham
e8a795befb Unit Tests - due, export
- due.t was incorrectly reporting the number of tests it intended to
  run.
- export.t was not updated when the export command was updated to include
  recurrence information.
2009-03-15 17:01:22 -04:00
Paul Beckingham
b5690f00e2 Portabiliy - Fedora 9, Ubuntu 8
- The custom report limit "report.x.limit" was being used to limit the
  rendered rows in the table.  Instead, there should be something like
  min (limit, actual_rows) used, in Table.cpp.
  The symptom was duplicate tasks in a "task oldest" report, when there
  were less than 10 tasks.
2009-03-15 16:39:41 -04:00
Paul Beckingham
65f74da7a4 Portability - Fedora 9
- Using size_t as a result for std::string::find causes a silent error,
  reported only on Ubuntu 8.  size_t is not large enough.  The proper
  result type is std::string::size_type.  This fixes a problem with
  the command "task old" responding with "Ambiguous commane 'old' -
  could be one of oldest, oldest.description, oldest.limit, oldest.sort".
2009-03-15 16:26:20 -04:00
Paul Beckingham
429d0f3071 Portability - Fedora 9
- Compiler pointed out an expression (a || b && c) that clearly needs
  parentheses around (a || b).  Gcc on other OSes don't mention this.
2009-03-15 16:14:16 -04:00
Paul Beckingham
4baf30cf9c Portability - Ubuntu 8
- Changed unsigned int to size_t for std::string::npos comparison.
- Removed validBuiltinCommand function that is not used.
2009-03-15 16:13:02 -04:00
Paul Beckingham
a3882160fa Documentation Update
- Updated docs to reflect the 1.5.0 release date.
2009-03-15 15:12:16 -04:00
Paul Beckingham
cd85a28e98 Unit Tests - due, overdue
- Unit tests to verify that the "overdue" report is properly
  displaying tasks.
- Unit tests to verify that "due" can be defined.
2009-03-15 15:04:52 -04:00
Paul Beckingham
e33a918c24 Bug Fix - summary report
- Fixed bug in summary report where recently completed (and therefore
  not yet in the completed.data file) tasks were not included in the
  report.
2009-03-15 11:37:05 -04:00
Paul Beckingham
df82fade2c Unit Tests - bug.summry, custom.columns, next
- Added unit tests to verify that the next report returns the correct
  tasks.
- Added unit test to verify that unrecognized columns in a custom
  report are flagged.
- Added unit tests to verify that only pending and completed tasks
  are included in the summary report.
2009-03-15 11:31:27 -04:00
Paul Beckingham
2d2bd47075 Bug Fix - summary report included deleted tasks
- Applied patch from Benjamin Tegarden to exclude deleted tasks from
  the summary report.
2009-03-14 13:47:48 -04:00
Paul Beckingham
bdd1b16ba0 Documentation Update
- Updated docs to reflect recent changes.
2009-03-14 13:38:39 -04:00
Paul Beckingham
5383943fa7 Enhanced export command
- Now sanitizes output by replacing ' with " in descriptions.
- Added 'recur' attribute to exported output.
- Removed recurring, deleted and complete tasks from the export.
2009-03-14 13:36:32 -04:00
Paul Beckingham
8ac3978222 Unit Tests - dateformat, shadow
- Improved dateformat.t tests to cover all acceptable date format
  characters.
- Unit tests for shadow file update notification.
- Unit tests for shadow file updates under certain circumstances.
- Unit tests for shadow file no updates under other circumstances.
2009-03-14 12:54:11 -04:00
Paul Beckingham
c9a6d2a750 Improved GC and Shadow File Handling
- Every command now returns an output string, or at least has an
  opportunity to do so.
- TDB::gc is only performed a) when allowed, and b) when the command
  will display line numbers.
- updateShadowFile is only performed when a) shadow updates are allowed,
  and either b) when a command is guaranteed to have modified a task or
  c) when TDB:gc has already made changes.
2009-03-14 12:05:32 -04:00
Paul Beckingham
64cfc26ff3 Enhanced Stats Report
- now reports number of unique tags (given filtering)
- now reports number of unique projects (given filtering)
2009-03-14 12:04:25 -04:00
Paul Beckingham
7c87bbc19a Unit Tests - dateformat
- Unit tests determine whether the dateformat configuration variable
  determines how dates are parsed, and how dates are rendered.
2009-03-14 12:02:33 -04:00
Paul Beckingham
4a524a220e Bug Fix - default command, default unit test
- Task runs the default command when no arguments are provided, but
  when an "rc:..." argument is provided, it does not run the default
  command.
- Implemented unit tests to verify the functioning of default commands,
  default project and default priority.
2009-03-14 00:21:42 -04:00
Paul Beckingham
2216eee678 Help Consistency
- Added note about frequent releases to the shortUsage output, so it
  is now consistent with that of "version".
2009-03-13 13:12:34 -04:00
Paul Beckingham
28c97f181a Grammar
- Changed wording of the help output.
2009-03-13 10:35:17 -04:00
Paul Beckingham
0cfc9c720e Compile Bug - missing <stdlib.h>
- Added stdlib.h to Grid.cpp, thanks to Benjamin Tegardin.
2009-03-13 09:06:23 -04:00
Paul Beckingham
05b5273136 Unit Tests - oldest
- Implemented unit tests to verify that the "oldest" report does
  indeed show the oldest 10 tasks.
- Implemented unit tests to verify that the "newest" report does
  indeed show the newest 10 tasks.
2009-03-12 22:56:22 -04:00
Paul Beckingham
c35a764019 Custom Reports - oldest, newest
- Added support for the "report.X.limit" configuration variable, to
  restrict the number of rows a report generates.
- Added support for Table::render (limit) to limit the number of rows
  that are rendered.
- Removed "oldest" and "newest" report code.
- Added "oldest" and "newest" custom report details to Config.cpp
- Updated various documentation.
2009-03-12 22:34:45 -04:00
Paul Beckingham
8c95e82a63 Unit Tests - start/stop/acive
- Added unit tests to test the start and stop commands via the active
  report.
2009-03-10 23:06:02 -04:00
Paul Beckingham
79d644c257 Unit Tests - custom
- Added unit tests to verify correct functioning of custom report
  filters.
2009-03-10 22:30:15 -04:00
Paul Beckingham
2d07b08260 Custom Reports - usage
- Added defined custom reports to the usage text.  This includes the
  new "report.X.description" configuration variable.
2009-03-10 22:21:23 -04:00
Paul Beckingham
1f45e47e36 Bug Fix - history/ghistory triggered only by add
- Fixed bug whereby if a new month rolls around, and no task is added,
  no row of data is shown in the history or ghistory reports, even
  though tasks may have been completed or deleted ni the new month.
2009-03-10 16:37:35 -04:00
Paul Beckingham
dac1942cad Bug Fix - calendar
- Task now displays as many calendars will fit across the window,
  unless a lower value is specified in the "monthsperline" configuration
  variable.
- Task now obeys the "color" configuration variable when determining
  whether to add a legend to the calendar output.
2009-03-10 16:12:59 -04:00
Paul Beckingham
6d8cb5181f Bug Fix - unit test tdb.t
- Fixed two failing unit tests in tdb.t.cpp, which were both due to
  incorrect test logic, rather than a TDB bug.
2009-03-10 15:40:48 -04:00
Paul Beckingham
d174bb1143 Bug Workaround - locking
- Added support for the "locking" configuration variable that disables
  file locking.  This can be helpful to folks who use task on Solaris,
  and store their task data files on an NFS mount.
2009-03-10 15:21:29 -04:00
Paul Beckingham
dc946e175e Unit Tests - completed, delete
- Added unit tests to verify that the completed.data file is not
  created until the first report is run after the task is marked
  as done.
- Added unit tests to verify that delete/undelete work as expected.
2009-03-10 14:32:32 -04:00
Paul Beckingham
9f278b1ffc Unit Tests - export
- Added unit tests to export tasks and compare.
2009-03-10 00:22:23 -04:00
Paul Beckingham
6fade84535 Unit Tests - color.*, abbreviation
- Added unit tests for all auto coloration configuration settings.
- Tweaked colorization rule precedence to allow color.due to override
  the built-in coloration of due tasks.
2009-03-10 00:08:40 -04:00
Paul Beckingham
0ff33d1c16 Version command changes
- Added color.recurring to the list of valid config values.
- Added message to "version" command hinting that folks should look
  periodically for updated versions of task.  Task does not "call home"
  and check for updates (and never will), and so it is easy to not
  realize that there may be newer versions of task with bug fixes and
  new features.
2009-03-09 23:02:01 -04:00
Paul Beckingham
1999e38ba5 Colorization - color.recurring
- Added support for "color.recurring" configuration variable to
  colorize recurring tasks.
- Updated docs.
2009-03-09 22:12:49 -04:00
Paul Beckingham
17de9fec9f New Column - recur
- Added new column 'recur' for use in custom reports.
- Implemented Table::ascendingPeriod, Table::descendingPeriod allowing
  sorting on the recur column.
- Added unit tests to both use the new column and test the sorting.
- Code cleanup.
2009-03-09 22:01:08 -04:00
Paul Beckingham
751094cffb Documentation Update
- Added recent bug fix details.
2009-03-09 03:09:43 -04:00
Paul Beckingham
012e47267f Bug Fix - concatenated description on modify
- When a task was modified, the new description was concatenated
  without spaces.
2009-03-09 03:06:41 -04:00
Paul Beckingham
bd5e91c31f Merge branch '1.5.0' of git@github.com:pbeckingham/task into 1.5.0 2009-03-09 02:54:10 -04:00
Paul Beckingham
9e7844796b Updated Documentation
- Added 'beta' download section to main web page.
2009-03-09 02:53:44 -04:00
Paul Beckingham
209f7ffb00 Updated Documentation
- Added new platforms to NEWS file.
2009-03-09 02:52:36 -04:00
Paul Beckingham
28e997691f Unit Tests - repair
- Added auto right trim to all table rows, which is a much more
  efficient way of doing what Table::optimize was doing.
- Table::optimize is now a nop.
2009-03-08 22:56:47 -04:00
Paul Beckingham
3f418c6fdc Performance
- Made Table::optimize a public method.
- Table::optimize called only from handleReportGHistory, where it's
  needed.
- Retaining benchmark.txt, to allow further improvements.
2009-03-08 21:29:55 -04:00
Paul Beckingham
0362b41f3b Performance
- Added Timer class to display high resolution timing information.
- Found terrible bug in Table::optimize that was taking up 99.7%,
  on average, of the Table::rendering time, including sorting.  This
  fix naturally causes a 187-fold speedup of rendering.
- Changed report.cpp in handleCustomReport to only load pending tasks,
  instead of all pending tasks.  Subtle, but important difference.
2009-03-08 20:49:33 -04:00
Paul Beckingham
4fa4c5f532 Unit Tests - t.benchmark.t
- Added benchmark to measure time taken to parse 1,000,000 T records.
2009-03-08 17:59:27 -04:00
Paul Beckingham
3088e1ebe1 Unit Tests - abbreviation, filter, benchmark
- Added tests for attribute abbreviation.
- Added tests for filter permutation testing.
- Added benchmark for ongoing performance measurement.
- Mentioned test suite in docs.  Why not?
2009-03-07 02:06:13 -05:00
Paul Beckingham
6a7c66aa05 Unit Tests - color.disable color.pri config.obsolete
- Added unit tests to cover automatic colorization by priority.
- Added unit tests to cover automatic disabling of color when !isatty.
- Added unit tests to cover display of unsupported configuration
  variable in the 'version' report.
- Added support the '_forcecolor' configuration variable to allow the
  possibility of unit tests that test color support, yet redirect
  output to a file.  This configuration variable will not be
  documented.
2009-03-07 00:14:58 -05:00
Paul Beckingham
3b1d396e0a Acknowledgement
- Michael Greb acknowledged for his help in reporting several bugs in
  sufficient detail, and narrowing down the cause.
2009-03-06 21:59:25 -05:00
Paul Beckingham
463c968cac Unit Tests - undo.t
- Added unit tests for the undo command, which verify that a task may
  only be undone if a TDB::gc has not occurred.
2009-03-06 00:39:28 -05:00
Paul Beckingham
41b8b207d4 Documentation Update
- Added examples to the grammar file.
- Added recent change to ChangeLog, html/task.html.
2009-03-05 10:13:10 -05:00
Paul Beckingham
9535121c1e Performance
- Removed the unnecessary sort in the 'completed' report.  The tasks
  are already sorted.
2009-03-05 10:08:25 -05:00
Paul Beckingham
9988ecec5e Portability
- Modified util.cpp to allow clean compilation on Solaris.
2009-03-04 09:37:00 -05:00
Paul Beckingham
d573599a7e Unit Tests - subproject
- Implemented unit test to verify that the project and subproject
  filtering is working properly.
2009-03-04 00:04:09 -05:00
Paul Beckingham
d831ab335a Report Column Header
- Added "Number" to the ghistory graph title.
2009-03-03 23:13:31 -05:00
Paul Beckingham
d7a9d06360 Unit Tests - add, bug_hang, bug_period, bug_sort, nag, tag
- Implemented unit tests to verify tag manipulation
- Implemented unit tests to verify nag functionality
- Implemented unit tests to verify bug fix for hang on shadow write
- Implemented unit tests to verify bug fix for unsupported recurrence periods
- Implemented unit tests to verify bug fix for hang on sort
- Corrected typo in add.t
2009-03-03 21:19:07 -05:00
Paul Beckingham
d69d658531 Unit Tests - tag
- Added unit tests to test the +tag and -tag task modification
  feature.
2009-03-03 17:15:40 -05:00
Paul Beckingham
5c89c0f1be Documentation Update
- Modified ChangeLog and task.html to reflect new bug fixes.
2009-03-03 00:53:32 -05:00
Paul Beckingham
964d04322c Bug Fix - nag
- Implemented new nag algorithm, and debugged why it then broke.
2009-03-03 00:46:02 -05:00
Paul Beckingham
8157c729d6 Unit Tests - bug_sort
- Added a unit test to cover the bug whereby certain combinations
  of adding tasks causes Table::sort to loop indefinitely.
2009-03-03 00:08:06 -05:00
Paul Beckingham
a1b7516cf8 Sort Algorithm Fix
- The sort algorithm (Combsort11) was broken because it didn't
  consider all the possible variations of present/missing, same/
  different combinations of data, when performing a compare.  This
  led to an unstable sort, which is an infinite loop in Combsort11.
2009-03-02 23:49:13 -05:00
Paul Beckingham
1e70400143 Shadow File Rewrite
- No longer writes shadow files based on TDB onChange trigger.
- Addressed bug whereby adding a recurring task trigger a shadow
  file rewrite, which in turn performs trigger another rewrite...
2009-03-02 23:47:41 -05:00
Paul Beckingham
6e956b45ad Code Cleanup
- Fixed typo in unit test
2009-03-02 00:44:28 -05:00
Paul Beckingham
59a014d866 Unit Tests - nag
- Added unit tests to exercise the nag option.
2009-03-01 23:52:28 -05:00
Paul Beckingham
76c9d3565c Documentation Update
- Added paragraph tags.  Don't know why, but the rendering was odd.
2009-02-24 22:27:51 -05:00
Paul Beckingham
8c484a333d Documentation Update
- Added folks to AUTHORS file.
- Added Fedora Core 10, Ubuntu 8.10 Intrepid Ibex to compatibility
  list.
2009-02-23 22:59:17 -05:00
Paul Beckingham
0605161236 Updated OS Compatibility List
- Fedora Core 10
- Ubuntu 8.10 Intrepid Ibex
2009-02-23 10:38:01 -05:00
Paul Beckingham
f9272773ac Credit
- Added Carlos Yoder to AUTHORS, for his contribution.
- Added Russell Friesenhahn to AUTHORS, for his contribution.
2009-02-21 17:24:07 -05:00
Paul Beckingham
e2fca47a27 Typo
- Added missing "http://" to "www.samurize.com", at the suggestion
  of Carlos Yoder.
2009-02-20 21:08:39 -05:00
Paul Beckingham
92ba36bdec Unit Tests - add, delete, info, ///
- Began set of high-level integration tests, in Perl.
2009-02-16 23:12:04 -05:00
Paul Beckingham
72efddc066 Sample .taskrc - update
- Added default config variables for new reports.
- Removed README.1.5.0.
- Removed messages configure.ac
2009-02-16 21:35:26 -05:00
Paul Beckingham
bcf512e529 Nag Rewrite
- Now uses a better escalating scale of "importance".
2009-02-16 21:09:00 -05:00
Paul Beckingham
6d551357ff Packaging
- Began modification of script.txt in preparation for next movie!
- Added README.1.5.0 warning to configure.ac.  Do you think people
  will see it?  And then read the file?  I may need to provide an
  automated solution.
2009-02-15 23:44:58 -05:00
Paul Beckingham
0219ed4fe3 Packaging
- Added README.1.5.0 detailing the new custom report configuration
  variables that must be added.
- Added README.1.5.0 to the distribution.
- Added new custom.html documentation.
- Added warning to task.html about the README.1.5.0 changes.
2009-02-15 23:26:15 -05:00
Paul Beckingham
cc7c1819ce Sample .taskrc - update
- Added recent .taskrc file changes to the default file that is created
  when task is run the first time.
2009-02-15 22:45:50 -05:00
Paul Beckingham
1a4469d388 Error handling
- Validates specified columns in custom reports against list of good
  column names.
- Validates list of sort columns in custom reports against list of
  specified column names.
- Minor fix to grammar file.
2009-02-15 22:33:18 -05:00
Paul Beckingham
4e63d93005 Documentation Update
- Added commit ids to ChangeLog
- Added tags to respective commit ids
2009-02-15 16:54:59 -05:00
Paul Beckingham
481a0aa1eb Custom Reports - old reports removed 2009-02-15 15:13:24 -05:00
Paul Beckingham
6764a6a7ec Custom Reports - basic implementation
- Custom reports can be defined and run.
- Custom columns included.
- Custom filter applied.
- Custom sorting applied.
2009-02-15 14:54:54 -05:00
Paul Beckingham
dae268a836 Merge branch '1.5.0' of git@github.com:pbeckingham/task into 1.5.0 2009-02-14 23:18:05 -05:00
Paul Beckingham
096a4b9bdb Bug Fix - split
- Fixed bug in split functions, which was causing empty strings to be
  split into a single element list consisting of one empty string.
  The symptom was that all tasks without tags appeared to have one
  zero-length tag and the task was colored according to color.tagged.
2009-02-14 23:17:35 -05:00
Paul Beckingham
e65a45ce17 Bug Fix
- Fixed bug in split functions, which was causing empty strings to be
  split into a single element list consisting of one empty string.
  The symptom was that all tasks without tags appeared to have one
  zero-length tag and the task was colored according to color.tagged.
2009-02-14 23:13:31 -05:00
Paul Beckingham
01b3cb190c Configuration Variable - due
- Added support for the "due" configuration variable that defines
  how many days into the future when a task is considered due.
2009-02-14 20:19:47 -05:00
Paul Beckingham
6faf1e44f5 Bug Fix - lower case priorities
- Changed a call to isupper to islower.  This was preventing the
  internal modification to upper case.
- Updated ChangeLog accordingly.
2009-02-14 20:04:34 -05:00
Paul Beckingham
2307dcab8a Copyright Update
- bumped the year, on the source copyright notices.
2009-02-14 17:50:38 -05:00
Paul Beckingham
eba05513f7 Unit Tests
- Converted unit tests to use a UnitTest object, with more methods and
  and exit summary.
- Removed "fail" tests in tdb.t.cpp, because it artificially reduces
  the number of passing tests - the comments in the code suffice.
2009-02-14 17:05:50 -05:00
Paul Beckingham
2f7060ce56 Unit Tests
- Fixed long-broken unit tests that were expecting wrong values.
2009-01-31 12:08:03 -05:00
Paul Beckingham
c28c698bbf Cleanup
- Converted grammar.bnf to the EBNF used by Parser.
2009-01-28 12:09:24 -05:00
Paul Beckingham
b55eaf8f16 Cleanup
- renamed grammar.txt to grammar.bnf
2009-01-28 11:51:29 -05:00
Paul Beckingham
3d4beaf41f - Enhanced split algorithm to be non-destrutive, and therefore faster
- Added autoconf testing to detect Solaris
- Added Solaris-specific flock implementation
2008-12-14 15:18:33 -05:00
Paul Beckingham
50ccb67185 - Added builtin command detection
- Now allows override of due/overdue coloration
2008-12-14 11:09:15 -05:00
Paul Beckingham
14d3abacf4 - Beginning to fill out processing of the generalized custom report. 2008-11-19 00:33:43 -05:00
Paul Beckingham
857f813a24 - Added the 1.4.3 debian package from Richard Querin. 2008-11-11 08:54:55 -05:00
Paul Beckingham
8639e92606 - Updated release date for 1.4.3. 2008-11-11 08:53:59 -05:00
Paul Beckingham
5498986e15 - Fixed typo. 2008-11-11 00:27:14 -05:00
Paul Beckingham
eb827603c3 - Final tidying up of 1.4.3 loose ends. 2008-11-11 00:10:14 -05:00
Paul Beckingham
6e1dbfb16e - Now handles the configuration variable recognition of the
new custom report variables.
2008-11-10 09:53:49 -05:00
Paul Beckingham
748300631a - Now parses the command line and can distinguish regular commands, as well as
custom reports.
2008-11-09 22:46:12 -05:00
Paul Beckingham
6d5309527c - Enabled "configure --enable-debug" to suppress optimization, therefore
allowing debugging without the debugger showing the unoptimized source
  while stepping through optimized code.
2008-11-09 01:42:30 -05:00
Paul Beckingham
aafcba436e - Clarified old statements in ChangeLog.
- Removed now obsolete ideas.txt file.
2008-11-09 00:17:45 -05:00
Paul Beckingham
28ceeac796 - Beginnings of the "task list pri:!H" inverse filtering capability.
Doesn't work, and is commented out for now.  Need a better approach
  because of the priority attribute validation of "!H" failing, and the
  Unix shell interpreting "!", thus requiring an escape, which makes the
  command ("task list pri:\!H") ugly.
2008-11-08 23:48:19 -05:00
Paul Beckingham
ecdfb31553 - "task version" command now reports unrecognized configuration variables,
which may be spelling mistakes or deprecated variables.
2008-11-08 23:32:29 -05:00
Paul Beckingham
8d920f9dc4 - Updated documentation to reflect removal of the "showage" configuration variable. 2008-11-08 22:45:27 -05:00
Paul Beckingham
5f85550664 - Removed support for the "showage" configuration variable. 2008-11-08 22:43:40 -05:00
Paul Beckingham
b548342acc - Modified docs to include "shadow.notify". 2008-11-02 23:21:41 -05:00
Paul Beckingham
ee961daef6 Merge branch 'master' into 1.5.0
Conflicts:
	ChangeLog
	NEWS
	configure.ac
	html/task.html
	src/task.cpp
	src/task.h
2008-11-02 22:29:38 -05:00
Paul Beckingham
ce42ae9622 Merge branch '1.4.3' of git@github.com:pbeckingham/task into 1.4.3
Conflicts:
	ChangeLog
	html/task.html
	src/task.cpp
2008-11-02 21:50:55 -05:00
Paul Beckingham
47ffc0babc - Deleted old test file. 2008-11-02 21:43:10 -05:00
Paul Beckingham
612a183776 - Major documentation update
- New filter page
- New shadow file page
2008-11-02 21:23:34 -05:00
Paul Beckingham
396d85cd53 - Removed "usage" command. 2008-11-01 16:48:28 -04:00
Paul Beckingham
038f432752 - ChangeLog update 2008-11-01 16:38:55 -04:00
Paul Beckingham
ef886dff53 Merge branch '1.4.3' 2008-11-01 16:32:08 -04:00
Paul Beckingham
2cae1df42f - Merged 1.4.3 to master 2008-11-01 16:31:30 -04:00
Paul Beckingham
82c0fea708 - Remove debugging code. 2008-11-01 16:14:15 -04:00
Paul Beckingham
d6b30466c1 - "task ghistory" now displays a differently aligned graph, allowing
easier comparison by month of tasks added versus completed and deleted.
2008-11-01 15:44:25 -04:00
Paul Beckingham
b0e18de1b6 - Fixed bug where the onChangeCallback was being called twice for "task list" after "task do xx". 2008-10-25 02:09:31 -04:00
Paul Beckingham
b7e889339d - Added support for shadow.notify to indicate when the shadow file is updated
- Fixed description validation bug that allowed \n, \r and \f in a description, then rendered the pending.data file unparseable
2008-10-25 02:03:21 -04:00
Paul Beckingham
2a5736b876 - TDB::gc now only calls overwritePending when something changed.
- Removed TDB::gc calls from report.cpp.
- Made TDB::gc calls from task.cpp whenever necessary.
- Disabled TDB::gc calls when running a report for the sake of the shadow file.
- Shadow file overwrite now implemented using ostream, instead of cout.rdbuf trickery, for the well-being of cygwin.
2008-10-24 23:15:52 -04:00
Paul Beckingham
b176591261 - Converted reports/command to return strings 2008-10-23 00:44:21 -04:00
Paul Beckingham
c44baf913d Merge branch '1.5.0' of git@github.com:pbeckingham/task into 1.5.0
Conflicts:
	html/task.html
	src/task.cpp
2008-10-19 11:50:14 -04:00
Paul Beckingham
0987171280 - Added support for "task stop <id>" command, that removes the start time from a task.
- Updated documentation accordingly.
2008-10-19 11:47:03 -04:00
Paul Beckingham
47c02965e9 Merge branch '1.4.3' into 1.5.0
Conflicts:
	NEWS
	TUTORIAL
	configure.ac
	html/advanced.html
	html/task.html
	html/versions.html
	src/task.cpp
2008-10-18 18:19:47 -04:00
Paul Beckingham
ce561a6c43 - Instrumented version for shadow file testing. 2008-10-15 10:16:46 -04:00
Paul Beckingham
b4b389c27e - Added checks to ensure that a shadow.file value doesn't collide with either the pending.data or completed.data files. 2008-10-09 21:24:12 -04:00
Paul Beckingham
437c85da39 Merge branch '1.4.3' into 1.5.0
Conflicts:
	NEWS
	TUTORIAL
	configure.ac
	html/advanced.html
	html/task.html
	html/versions.html
	src/task.cpp
2008-10-09 21:03:29 -04:00
Paul Beckingham
62115ea988 - Removed version number from HTML titles.
- New filter.html doc.
- New shadow.html doc.
2008-10-09 18:43:13 -04:00
Paul Beckingham
3ed1269753 - Added support for plain text shadow files. 2008-10-09 18:24:35 -04:00
Paul Beckingham
a5ec1e4b27 - Added support for shadow file, shadow file command
- Added support for TDB::onChange callback
2008-10-09 17:19:57 -04:00
Paul Beckingham
a815492111 - New links page referring to task links on the web. 2008-09-26 22:30:42 -04:00
Paul Beckingham
f3aa88cf83 Merge branch 'master' into 1.5.0 2008-09-26 22:27:03 -04:00
Paul Beckingham
f26a9c67be - Built 1.4.2 and packaged it as a Mac OS X Leopard Intel binary
- Modified incorrect Debian packages in versions.html
- Added Debian and Mac packages to task.html
2008-09-26 22:25:38 -04:00
Paul Beckingham
d837a25be7 - Removed support for the "command.logging" configuration variable and
the "task usage" command.
2008-09-20 20:46:20 -04:00
Paul Beckingham
78fae5195b - Converted 1.4.2 references to 1.5.0. 2008-09-20 20:24:58 -04:00
Paul Beckingham
e7304e86ce - Forgot to bump version number in page title. 2008-09-19 13:38:44 -04:00
Paul Beckingham
d7b95cb2e1 - Removed Mac binary package references. 2008-09-18 21:37:00 -04:00
Paul Beckingham
45ed7dcdaa - Updated release date. 2008-09-18 21:03:07 -04:00
Paul Beckingham
d809b6dae7 - Added most recent change to ChangeLog. 2008-09-13 23:40:09 -04:00
Paul Beckingham
a1cc4e5774 - Task supports modifying the existing description of a task, with the
following syntax: task <id> "new description ...".
2008-09-13 23:33:53 -04:00
Paul Beckingham
21c33f7030 - Improved "version" command. 2008-09-13 13:07:57 -04:00
Paul Beckingham
2e32457032 Merge branch '1.4.2' 2008-09-12 16:47:47 -04:00
Paul Beckingham
e4ed873d60 Merge branch 'master' of git@github.com:pbeckingham/task 2008-09-12 16:47:01 -04:00
Paul Beckingham
e35dcd0e42 - Minor doc edit. 2008-09-12 16:46:22 -04:00
Paul Beckingham
ec15dc9342 - Added "#include <string.h>" to task.cpp to ensure clean build under GCC 4.3 2008-09-12 16:22:51 -04:00
Paul Beckingham
fb87039d8c - Task now supports "default.command" configuration variable (for example
it could contain "list due:tomorrow") that is the command that is run
  whenever task is invoked with no arguments.
2008-09-12 16:07:50 -04:00
Paul Beckingham
e9a71b7db9 - Fixed bug where relative dates in filters (task list due:eom,
task list due:tomorrow, task list due:23rd ...) are now properly supported.
2008-09-12 15:25:38 -04:00
Paul Beckingham
df215f228d - Task supports improved word-wrapping to the terminal width. 2008-09-12 12:48:53 -04:00
Paul Beckingham
4f8f044644 - Task now supports a default project and priority for new tasks, via
the new "default.project" and "default.priority" configuration variables
  (thanks to Vincent Fleuranceau).
2008-09-12 12:14:26 -04:00
Paul Beckingham
4380c7c712 - Task now allows mixed case attributes names (pri:, PRI:, Pri: ...) and
commands (add, ADD, Ad ...) (thanks to Vincent Fleuranceau)
2008-09-12 11:40:46 -04:00
Paul Beckingham
4abc722eff - Task now uses dashes (-----) to underline column headings when color is
disabled (thanks for Vincent Fleuranceau).
2008-09-12 11:27:25 -04:00
Paul Beckingham
11225eb599 - Applied patch from Andy Lester to correct Table sorting to use the entire
string instead of just the initial characters.
2008-09-12 10:28:14 -04:00
Paul Beckingham
e16bd057d8 Merge branch 'master' into 1.4.2 2008-08-26 09:58:42 -04:00
Paul Beckingham
29a152edb0 - Migrated 1.5.0 changes thus far into 1.4.2. 2008-08-26 09:57:46 -04:00
Paul Beckingham
e99e6832f2 - Added Debian package for 1.4.1 to docs. 2008-07-23 22:41:25 -04:00
Paul Beckingham
ff4e8dbef1 Merge branch 'master' of git@github.com:pbeckingham/task 2008-07-20 22:26:38 -04:00
Paul Beckingham
d265ac6c2d - Implemented "task undo" to counteract "task do". 2008-07-19 22:12:01 -04:00
Paul Beckingham
dc1760769f - Bumped version number to 1.5.0 2008-07-19 14:56:36 -04:00
Paul Beckingham
c6eb09cd63 - SK reports that task builds fine under Feisty Fawn 2008-07-19 14:48:46 -04:00
Paul Beckingham
e080c3168c - Package Manager file. 2008-07-18 01:56:17 -04:00
Paul Beckingham
ea06565007 - Final 1.4.1 touches. 2008-07-18 01:53:54 -04:00
Paul Beckingham
4ae189f77d - Removed TUTORIAL references in README 2008-07-17 00:37:15 -04:00
Paul Beckingham
ebf4f3cb12 - Updated ChangeLog, task.html
- Removed contents of TUTORIAL file
2008-07-16 23:51:43 -04:00
Paul Beckingham
4d1cdf0270 - For "task calendar", the month names are now centered over the month. 2008-07-16 23:42:02 -04:00
Paul Beckingham
ceffdca8a2 Merge branches '1.4.1' and '1.4.1' of imac.local:task 2008-07-13 18:06:34 -04:00
Paul Beckingham
bb7f48496a - Bumberd version number to 1.4.1 2008-07-13 13:25:35 -04:00
Paul Beckingham
da7cda3c82 Merge branch 'master' into 1.4.1 2008-07-13 10:55:38 -04:00
Paul Beckingham
31a5816fb4 - Added link to task_1.4.0-1_i386.deb from Richard Querin. 2008-07-13 10:54:42 -04:00
Paul Beckingham
a443257aaa - Fixed bug whereby descriptions could not be altered. 2008-07-11 15:19:59 -04:00
Paul Beckingham
60b7d15a1d - Fixed bug on Ubuntu whereby it wants std::string::size_type rather than unsigned int. 2008-07-11 02:05:02 -04:00
Paul Beckingham
2b646b3fa0 - Documentation update for 1.4.0 2008-07-11 01:28:35 -04:00
Paul Beckingham
86f5294436 - Fixed bug where dateformat=m/d/Y was not parsing "07/08/2008", which is technically "M/D/Y", but, come on, let's be nice.
- Altered (deprecated) TUTORIAL introductory disclaimer.
2008-07-10 01:46:08 -04:00
Paul Beckingham
fe03f91744 - Documentation reorganization - not yet complete 2008-07-10 01:23:05 -04:00
Paul Beckingham
9fcd5b1801 - Allows colons in the description, provided they are not preceded by a valid attribute name. 2008-07-10 00:16:35 -04:00
Paul Beckingham
2380c8b33a - Added new, stubbed, T::validate method for full T validation, one day. 2008-07-09 23:57:31 -04:00
Paul Beckingham
849cb65b0e - Added URL to usage, version. 2008-07-09 23:26:33 -04:00
Paul Beckingham
84d0dce20c - Updated docs with latest change. 2008-07-09 23:00:49 -04:00
Paul Beckingham
2150642f9d - Properly expands ~ characters in data.location 2008-07-09 22:56:39 -04:00
Paul Beckingham
ec8da0baaa - Updated docs, announced deprecation of TUTORIAL. 2008-07-09 03:39:29 -04:00
Paul Beckingham
cf27fa027b Merge branch 'recurrence' into 1.4.0 2008-07-09 03:29:14 -04:00
Paul Beckingham
01314c753b - Added duration.t 2008-07-09 03:28:53 -04:00
Paul Beckingham
6f7b9b7d42 - Recurring tasks! 2008-07-09 03:26:44 -04:00
Paul Beckingham
46ded4c026 Merge branch 'master' into recurrence
Conflicts:

	src/task.cpp
2008-07-08 01:48:41 -04:00
Paul Beckingham
95752390de Merge branch 'master' of git@github.com:pbeckingham/task 2008-07-08 01:46:47 -04:00
Paul Beckingham
ba342eeeb6 - Recurring faintly working without (the very necessary) mask attribute 2008-07-08 01:40:07 -04:00
Paul Beckingham
0e611eda19 - Disabled undelete for deleted recurring tasks, because it is too difficult to know what to restore. 2008-07-06 17:02:10 -04:00
Paul Beckingham
17152d8a46 - Renamed checkRecurring -> handleRecurrence 2008-07-06 03:04:54 -04:00
Paul Beckingham
947e65c1e2 - Inserted recurring task checks at appropriate points. 2008-07-06 02:47:29 -04:00
Paul Beckingham
b1aaab0a8e - "task stats" now supports recurring tasks. 2008-07-06 02:03:39 -04:00
Paul Beckingham
1712ad2cde - "task delete" now properly supports recurring tasks. 2008-07-06 02:01:51 -04:00
Paul Beckingham
79f6ef075e - Supports ::isatty call to shut off color, ncurses when stdout is not to a tty 2008-07-06 01:48:48 -04:00
Paul Beckingham
97b120de67 - Doc snapshot 2008-07-06 01:05:28 -04:00
Paul Beckingham
2181041c8c - Filtering now on all reports. 2008-07-06 01:04:27 -04:00
Paul Beckingham
e85d36cea0 - Fixed bug whereby adding a new task with "task add asdfsd pri:" resulted in gibberish values in the priority field. 2008-07-05 16:49:41 -04:00
Paul Beckingham
188b9f36f2 - Doc snapshot 2008-07-05 02:13:45 -04:00
Paul Beckingham
6c7ad2b398 - Added error checking for "recur" without "due"
- Added error checking for "until" without "recur"
- Added status setting for "task add" regarding T::recurring
2008-07-05 02:02:10 -04:00
Paul Beckingham
72c7afe1a1 - Fixed relative day tests. 2008-07-05 01:22:22 -04:00
Paul Beckingham
ef7ff55535 - Supports durations like weekly, semiannual, daily ... 2008-07-04 19:57:21 -04:00
Paul Beckingham
0d3a93ea20 - Added support for ordinal relative dates, like "23rd". 2008-07-04 18:06:44 -04:00
Paul Beckingham
42d164863a - Removed transient .deps files. 2008-07-04 17:25:36 -04:00
Paul Beckingham
06d595d944 - Date class now supports relative dates for construction (tomorrow, friday, eoy ...)
- Added unit tests for Date enhancements
- Added unit tests for duration recognition
- Task parsing now supports due: using relative dates
- Task parsing now supports recur: and until: attributes
- Task parsing now support private attributes base: and range:
2008-07-04 17:18:01 -04:00
Paul Beckingham
2d66324cb2 - Added " ago" to the info report task age. 2008-06-29 15:05:46 -04:00
Paul Beckingham
00b7a5f1b4 - Zero values no longer generate a 1-char bar in "task ghistory" 2008-06-27 18:05:02 -04:00
Paul Beckingham
d199bada33 - Removed configure. 2008-06-27 00:32:56 -04:00
Paul Beckingham
647cbab3f4 - T object support status "r" 2008-06-27 00:24:39 -04:00
Paul Beckingham
6066cc3bab - Implemented "task ghistory" command to draw a bar chart. 2008-06-27 00:15:06 -04:00
Paul Beckingham
5c91a0d963 Merge branch 'master' of git@github.com:pbeckingham/task into 1.4.0
Conflicts:

	ideas.txt
2008-06-26 23:13:49 -04:00
Paul Beckingham
1ef7b0c43a - Now allows rc:<file> override of ~/.taskrc file. 2008-06-25 01:29:42 -04:00
Paul Beckingham
be6136c1e9 - Improved the ideas details 2008-06-24 02:02:02 -04:00
Paul Beckingham
5d158d752d - Fixed bug whereby table headers were underlined when color is turned off. 2008-06-24 01:37:18 -04:00
Paul Beckingham
2d21558a5a Merge branch 'master' into 1.4.0 2008-06-24 01:23:30 -04:00
Paul Beckingham
0034534803 - Properly skips all escape sequences if no fg and bg colors are specified. 2008-06-24 01:21:40 -04:00
Paul Beckingham
3f21a0fe4d - Updated ideas with recurrence design 2008-06-22 01:33:17 -04:00
Paul Beckingham
cc9235033f - Added averages to the "task history" report. 2008-06-22 01:04:33 -04:00
Paul Beckingham
f61c849816 - Updated grammar to include new undelete command. 2008-06-22 00:37:20 -04:00
Paul Beckingham
195b5a5e0a - Implemented "task undelete" for non-GCed deleted tasks. 2008-06-22 00:32:59 -04:00
Paul Beckingham
bcae2d2b93 - Bumped version to 1.4.0 2008-06-22 00:25:16 -04:00
680 changed files with 94021 additions and 17561 deletions

29
.gitignore vendored
View File

@@ -1,13 +1,18 @@
Makefile.in
aclocal.m4
autom4te.cache
auto.h*
config.h.in
config.status
src/.deps
src/Makefile
src/task
stamp-h1
cmake.h
auto.h
commit.h
Makefile
configure
config.log
*/*task
*/*libtask.a
*/*/libcommands.a
*/*/libcolumns.a
*~
.*.swp
package-config/osx/binary/task
CMakeFiles
CMakeCache.txt
cmake_install.cmake
install_manifest.txt
_CPack_Packages
CPackConfig.cmake
CPackSourceConfig.cmake

151
AUTHORS
View File

@@ -1,15 +1,156 @@
Principal Author:
Paul Beckingham, paul@beckingham.net
The development of taskwarrior was made possible by the significant
contributions of the following people:
Paul Beckingham (Principal Author)
Federico Hernandez (Package Maintainer & Contributing Author)
David J Patrick (Designer)
John Florian (Contributing Author)
Cory Donnelly (Contributing Author)
Johannes Schlatow (Contributing Author)
Dirk Deimeke (Technical Advisor & Marketing)
Wim Schuermann (Contributing Author)
Owen Clarke (Contributing Author)
Louis-Claude Canon (Contributing Author)
The following submitted code, packages or analysis, and deserve special thanks:
Contributing Authors:
Damian Glenny
Andy Lester
H. İbrahim Güngör
Stefan Dorn
Michael Greb
Benjamin Tegarden
Chris Pride
Richard Querin
T. Charles Yun
P.C. Shyamshankar
Johan Friis
Steven de Brouwer
Pietro Cerutti
Alexander Neumann
Emil Sköldberg
Michal Josífko
Ed Neville
Kevin Owens
Mick Koch
Kathryn Andersen
Alexander Schremmer
Jostein Berntsen
Andraž 'ruskie' Levstik
Irfan Siddiqui
Itay Perl
Sander Marechal
Stephen Heywood
Nicola Busanello
Eric Fluger
Andreas Poisel
Timm Reitinger
Dan White
Alexei Romanoff
Tomas Cech
Duane Waddle
Stefan Keel
Christopher J. Pilkington
Fumihito Yoshida
Michael McCann
Ben Boeckel
Bryce Harrington
Brendan O'Flaherty
Matt Kraai
Daniel Kullmann
Takanobu Watanabe
Paolo Almeida
Michelle Crane
Greg Grossmeier
Barton Meeks
Martin Klepsch
Ralph Bean
Uli Martens
Michal Vyskocil
Steve Rader
Luke Macken
Sam Stuck
Christoph Robbert
Oleksii Tsai
Jörg Plate
Markus Kuhn
Scott Kostyshak
Thanks to the following, who submitted detailed bug reports and excellent
suggestions:
With thanks to:
Eugene Kramer
Srijith K
Richard Querin
Bruce Israel
Thomas Engel
Nishiishii
galvanizd
Vincent Fleuranceau
ArchiMark
Carlos Yoder
Russell Friesenhahn
Paolo Marsi
Eric Farris
Bruce Dillahunty
Askme Too
Mike Adonay
Thomas@BIC
Ian Mortimer
Zach Frazier
Ivo Jimenez
Joe Pulliam
Juergen Daubert
Rich Mintz
Seneca Cunningham
Alexander Schremmer
Elizabeth Maxson
Peter De Poorter
Max Muller
Thomas Sattler
Erlan Sergaziev
Andy Kriger
Patrick R McDonald
Pete Lewis
Stefan Hacker
Alan Barton
Jonathan Hankins
Andreas Kalex
Adam Wolk
Tom Duffy
Miguel de Val Borro
Yann Davin
John Hammond
Arkady Grudzinsky
Bernhard B
Aikido Guy
Gour-Gadadhara Dasa
Aaron Jackson
Dmitriy Samborskiy
Eli Lev
Paul-Gheorghe Barbu
Jennifer Cormier
Joe Holloway
Peter Lewis
Najmi Ahmad Zabidi
Philipp Woelfel
Tuomas Toivola
Adam Gibbins
Ali Mousavi
Victor Roetman
Andy Spiegl
Ethan Schoonover
Paul Kishimoto
Jeff Schroeder
Bryan Kam
Nicholas Rabenau
Bruno Bigras
Hyde Stevenson
Martin U
Christoph Lange
Stephen Hay
Vlad Zhivotnev
Stanley G
Marek Vitek
Rene Vergara
Stéphane Pezennec

132
CMakeLists.txt Normal file
View File

@@ -0,0 +1,132 @@
cmake_minimum_required (VERSION 2.8)
include (CheckFunctionExists)
include (CheckStructHasMember)
set (HAVE_CMAKE true)
project (task)
set (PROJECT_VERSION "2.1.2")
SET (TASK_MAN1DIR share/man/man1 CACHE STRING "Installation directory for man pages, section 1")
SET (TASK_MAN5DIR share/man/man5 CACHE STRING "Installation directory for man pages, section 5")
SET (TASK_DOCDIR share/doc/task CACHE STRING "Installation directory for doc files")
SET (TASK_BINDIR bin CACHE STRING "Installation directory for the binary")
if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
set (LINUX true)
elseif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
set (DARWIN true)
elseif (${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
set (FREEBSD true)
elseif (${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD")
set (OPENBSD true)
elseif (${CMAKE_SYSTEM_NAME} MATCHES "NetBSD")
set (NETBSD true)
elseif (${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
set (SOLARIS true)
else (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
set (UNKNOWN true)
endif (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
message ("-- Looking for SHA1 references")
if (EXISTS ${CMAKE_SOURCE_DIR}/.git/index)
set (HAVE_COMMIT true)
execute_process (COMMAND git log -1 --pretty=format:%h
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE COMMIT)
configure_file ( ${CMAKE_SOURCE_DIR}/commit.h.in
${CMAKE_SOURCE_DIR}/commit.h)
message ("-- Found SHA1 reference: ${COMMIT}")
endif (EXISTS ${CMAKE_SOURCE_DIR}/.git/index)
set (PACKAGE "${PROJECT_NAME}")
set (VERSION "${PROJECT_VERSION}")
set (PACKAGE_BUGREPORT "support@taskwarrior.org")
set (PACKAGE_NAME "${PACKAGE}")
set (PACKAGE_TARNAME "${PACKAGE}")
set (PACKAGE_VERSION "${VERSION}")
set (PACKAGE_STRING "${PACKAGE} ${VERSION}")
message ("-- Looking for Lua51")
find_package (Lua51)
if (LUA51_FOUND)
message ("-- Found Lua51: ${LUA_LIBRARIES}")
set (HAVE_LIBLUA true)
set (TASK_INCLUDE_DIRS ${TASK_INCLUDE_DIRS} ${LUA_INCLUDE_DIR})
set (TASK_LIBRARIES ${TASK_LIBRARIES} ${LUA_LIBRARIES})
endif (LUA51_FOUND)
#message ("-- Looking for pthread")
#find_path (PTHREAD_INCLUDE_DIR pthread.h)
#find_library (PTHREAD_LIBRARY NAMES pthread)
#if (PTHREAD_INCLUDE_DIR AND PTHREAD_LIBRARY)
# message ("-- Found pthread: ${PTHREAD_LIBRARY}")
# set (HAVE_LIBPTHREAD true)
# set (TASK_INCLUDE_DIRS ${TASK_INCLUDE_DIRS} ${PTHREAD_INCLUDE_DIR})
# set (TASK_LIBRARIES ${TASK_LIBRARIES} ${PTHREAD_LIBRARIES})
#endif (PTHREAD_INCLUDE_DIR AND PTHREAD_LIBRARY)
check_function_exists (random HAVE_RANDOM)
check_function_exists (srandom HAVE_SRANDOM)
check_function_exists (timegm HAVE_TIMEGM)
check_struct_has_member ("struct tm" tm_gmtoff time.h HAVE_TM_GMTOFF)
message ("-- Looking for libuuid")
if (DARWIN)
# Apple includes the uuid functions in their libc, rather than libuuid
set (HAVE_UUID true)
check_function_exists (uuid_unparse_lower HAVE_UUID_UNPARSE_LOWER)
else (DARWIN)
find_path (UUID_INCLUDE_DIR uuid/uuid.h)
find_library (UUID_LIBRARY NAMES uuid)
if (UUID_INCLUDE_DIR AND UUID_LIBRARY)
set (HAVE_UUID true)
set (TASK_INCLUDE_DIRS ${TASK_INCLUDE_DIRS} ${UUID_INCLUDE_DIR})
set (TASK_LIBRARIES ${TASK_LIBRARIES} ${UUID_LIBRARY})
# Look for uuid_unparse_lower
set (CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${UUID_INCLUDE_DIR})
set (CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${UUID_LIBRARY})
check_function_exists (uuid_unparse_lower HAVE_UUID_UNPARSE_LOWER)
endif (UUID_INCLUDE_DIR AND UUID_LIBRARY)
endif (DARWIN)
if (HAVE_UUID AND HAVE_UUID_UNPARSE_LOWER)
message ("-- Found libuuid")
elseif (HAVE_UUID AND NOT HAVE_UUID_UNPARSE_LOWER)
message ("-- Found libuuid, using internal uuid_unparse_lower")
else (HAVE_UUID AND HAVE_UUID_UNPARSE_LOWER)
message ("-- libuuid not found, using internal uuid")
endif (HAVE_UUID AND HAVE_UUID_UNPARSE_LOWER)
message ("-- Configuring cmake.h")
configure_file (
${CMAKE_SOURCE_DIR}/cmake.h.in
${CMAKE_SOURCE_DIR}/cmake.h)
add_subdirectory (src)
add_subdirectory (src/commands)
add_subdirectory (src/columns)
add_subdirectory (doc)
add_subdirectory (i18n)
add_subdirectory (scripts)
if (EXISTS test)
add_subdirectory (test EXCLUDE_FROM_ALL)
endif (EXISTS test)
set (doc_FILES NEWS ChangeLog README INSTALL AUTHORS COPYING)
foreach (doc_FILE ${doc_FILES})
install (FILES ${doc_FILE} DESTINATION ${TASK_DOCDIR})
endforeach (doc_FILE)
# ---
set (CPACK_SOURCE_GENERATOR "TGZ")
set (CPACK_SOURCE_PACKAGE_FILE_NAME ${PACKAGE_NAME}-${PACKAGE_VERSION})
set (CPACK_SOURCE_IGNORE_FILES "CMakeCache" "CMakeFiles" "CPackConfig" "CPackSourceConfig"
"_CPack_Packages" "cmake_install" "install_manifest"
"Makefile$" "test" "package-config" "misc/*"
"src/task$" "src/libtask.a" "auto.h$"
"/\\.gitignore" "/\\.git/" "swp$")
include (CPack)

294
COPYING
View File

@@ -1,281 +1,23 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
taskwarrior - a command line task list manager.
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Copyright 2006-2012, Paul Beckingham, Federico Hernandez.
Preamble
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
http://www.opensource.org/licenses/mit-license.php

1392
ChangeLog

File diff suppressed because it is too large Load Diff

191
DEVELOPER Normal file
View File

@@ -0,0 +1,191 @@
General Statement
This file is intended to convey the current efforts, priorities and needs of
the codebase. It is for anyone looking for a way to start contributing.
While this is biased towards developers, anyone can contribute, and everyone
is encouraged to do so. Here are many ways to contribute that may not be
immediately obvious to you:
- Use Taskwarrior, become familiar with it, and make suggestions. There are
always ongoing discussions about new features and changes to existing
features. Join us in the forums.
- Join us in the #taskwarrior IRC channel on freenode.net. Some great ideas,
suggestions, testing and discussions have taken place there. It is also the
quickest way to get help, or confirm a bug.
- Review documentation: there are man pages, wiki articles, tutorials and so
on, and these may contain errors, or more importantly, they may not convey
ideas in the best way. Perhaps you can help improve it.
- Take a look at the bug database. It is the nature of software to contain
bugs, and there is a continuous effort to fix them. Looking at open bugs
and confirming them, perhaps determining that it is already fixed, or just
adding clarifying information are all very useful contributions and much
needed.
- Fix a bug. For this you'll need C++ and git skills, but this is one of
the largest ways you can contribute. We welcome all bug fixes, provided
the work is done well and doesn't create other problems or introduce new
dependencies.
- Add unit tests. Unit tests are possibly the most useful contributions of
all, because they not only improve the quality of the code, but prevent
future regressions. Plus, broken tests are a great motivator for us to fix
the causal bug.
- Add a feature. Well, let's be very clear about this: adding a feature is
not usually well-received, and if you add a feature and send a patch, it
will most likely be rejected. The reason for this is that there are many
efforts under way, in various code branches. There is a very good chance
that the feature you add is either already in progress, or being done in a
way that is more fitting when considering other work in progress. So if
you want to add a feature, please don't. Start by talking to us, and find
out what is currently under way or planned. You might find that we've
already rejected such a feature for some very good reasons. So please
check first, so we don't duplicate effort or waste anyone's time.
- Spread the word. Help others become more effective at managing tasks.
- Encouragement. Tell us what works for you, and what doesn't. It's all good.
Following are specific areas that could use some attention.
Deprecated Code
This is code that is going to be phased out soon, and therefore is not worth
fixing or documenting. Don't waste your time.
- 'shell' command. It will migrate to become an external script.
- Shadow file support in core. It will migrate to become an external script.
- Support for 'fg:' and 'bg:' attributes.
New Code Needs
This is code that needs to be written, usually down at the C++ function/method
level.
- Need export_viz.yy script. Any language. This would have value as an
example, or template script serving as a starting-point for anyone who
needed this format.
- Need new export_xxx.yy scripts - the more the better. Any language.
- The JSON.{h,cpp} code is fast and efficient up to a point, but has a non-
linear performance curve, implying a slowdown due to fragmentation. Find
it, fix it.
- Need a function that can optimize color codes. For example, if a string
contains this:
<red>one two </red><red>three four</red>
It can be shortened to:
<red>one two three four</red>
This is only possible if there is nothing between </red> and <red> and the
colors match.
- Need an external script that can locate and correct duplicate UUIDs in the
data file, as found by 'task diag'. This should check to see if there is
a suitable UUID generator installed. This should also be careful to
properly handle recurring tasks.
- Need an external implementation equivalent to, or better than the 'shell'
command. We are hoping to move the weak 'shell' command out of the core,
which means it can be developed separately. There are several pending
feature requests for this, including creative prompts, readline and auto-
clear.
- Need an external implementation equivalent to, or better than the 'shadow
file' feature. Simply because shadow file capability *can* be implemented
outside the core code, we want to make it be that way.
- Take a look at:
http://taskwarrior.org/versions/show/42
This 'extension' release is a collection of all the requested features that
lie outside of the core product, and will be implemented as external scripts
by anyone who wishes to participate.
Documentation Needed
Various forms of documentation that are needed, or are in need of review or
update.
- Wiki/How-To: Date Handling
- Wiki/How-To: Aliases, particularly new enhanced aliases
- Wiki/Features: All sections
Unit Tests Needed
There are always more unit tests needed. More specifically, better unit tests
are always needed. The convention is that there are four types of unit test:
1. High level tests that exercise large features, or combinations of commands.
For example, dependencies.t runs through a long list of commands that test
dependencies, but do so by using 'add', 'modify', 'done' and 'delete'.
2. Regression tests that ensure certain bugs are fixed and stay fixed. These
tests are named bug.NNN.t where NNN refers to the Redmine issue number.
While it is not worth creating tests for small fixes like typos, it is for
changes to the logic.
3. Small feature tests. When small features are added, we would like small,
low-level feature tests named feature.NNN.t, where NNN is the Redmine
issue number.
4. Code tests. These are tests written in C++ that exercise C++ objects, or
function calls. These are the lowest level tests. It is important that
these kind of tests be extensive and thorough, because the software depends
on this code the most.
The tests are mainly written in Perl, and all use TAP. Here is how to get the
code and run the test suite:
git clone git://tasktools.org:task.git
cd task.git
cmake .
make
make test
Alternately, you go to the test directory and run the following:
cd task.git/test
make
make test
Either way, a TAP file 'all.log' is written that contains all test results.
once this file is created, you can see the failing tests using this script:
cd task.git/test
./problems
If you make a habit of running the test suite, consider downloading the
vramsteg utility to show a colorful progress bar, from:
git://tasktools.org/vramsteg.git
Tests needed:
- The basic.t unit tests are a misnomer, and should be either removed or
renamed. We have long talked of 'basic functionality' that includes add,
delete, done, and list commands. We need unit tests that prove that basic
functionality is working, and it should be called basic.t.
- None of the current unit tests remove the 'extensions' directory, and they
all should.
- Test propagation of modifications to recurring tasks.
- Test regex support.
- Need unit tests for each bug in the issue list, if suitable.
- We have bugs in the unit tests that only manifest on days such as December
31st. Clearly there is some bad date math going on, most likely in the
tests themselves, rather than in taskwarrior.
* Note that running the unit tests require the Perl JSON module to be
installed.
Work in Progress
Things that are currently in flux, which is another way of saying leave it
alone while it is being worked on.
- Command line parser (A3).
- Expression evaluation (E9).
- All columns/Col*::validate methods.
- New columns/Col*::modify methods.
Current Codebase Condition
'master' branch:
- 2.0.0 release, current, locked.
'2.0.1' branch (to be released as 2.1.0):
- All current development.
'2.2.0' branch:
- Future development effort.
---
2012-05-12 Added general statement about how to contribute.

View File

@@ -1,20 +0,0 @@
Developers may wish to change task, and here is a high-level guide to the files
included.
task.{cpp,h} Functions that implement the task commands, and main.
parse.cpp Parses the command line.
TDB.{cpp,h} The task database, performs all file I/O
T.{cpp,h} Represents a single task - parses a record from TDB, and also
composes record for TDB. Provides accessors for tasks.
Grid.{cpp,h} Implements a sparse 2D array, provides data storage for the
Table object.
Table.{cpp,h} Implements tabular data rendering, wrapping etc.
Config.{cpp,h} Implements a reader for the .taskrc file.
Date.{cpp,h} General date class for the time_t type.
text.cpp Text manipulation functions.
util.cpp General utility functions.
color.cpp Color support functions.
rules.cpp Auto-colorization rules.
Don't forget, please send bugs, patches to task@beckingham.net

201
EXPOSITION Normal file
View File

@@ -0,0 +1,201 @@
Startup
On startup, main creates a global Context object, then calls the
Context::initialize and Context::run methods.
Context is a large object that holds all task information, both in terms of
the task data, and intermediate run-time data. Having one global Context
object means we don't have 50 global variables. Context is therefore just a
big global bucket of data.
Context::initialize sets up all the data and processes the command line. The
initialization process is a big chicken-and-egg problem, because the command
line depends on configuration (aliases) and the command line can force a
reload of configuration (rc:foo). This is solved by look-ahead: the command
line is scanned for 'rc:xxx' and 'rc.data.location:xxx' arguments, then later
for overrides.
The Context::run method handles all the debug output and exceptions. Its
main purpose is to set up exception handling and call Context::dispatch.
Command Line Parsing
Command line parsing is difficult because of all the ambiguity. The solution
is to make several passes over the command line. For example, the task
command determines whether subsequent arguments are interpreted as part of a
filter or set of modifications.
Dispatch
Dispatch is simple: once the command line is parsed, the command is used to
look up a command object, then call its execute method.
Context stores an associative map of command object pointers indexed by a
string. This means the 'done' string is an index to the CmdDone object that
implements the functionality.
Command Objects
Every task command is implemented by a command object. The command object
provides metadata, usage and one-line help in addition to the ::execute method
that implements the command.
Column Objects
There is a 1:1 correspondence between attributes stored in the data files and
the columns that may be reported. These are represented by column objects,
which are responsible for validating input, measuring space needed according
to various formats, and for rendering data for reports.
TDB2
The TDB2 object is a layered, transactioned I/O manager. Its purpose is to
isolate code from file I/O, locking, synching, and parsing details. It is
also responsible for minimizing reads, writes and parsing of data files.
All input is assumed to be UTF8. All stored data is UTF8.
GC
Garbage Collection is the process that moves tasks between the pending.data
and completed.data files. It is also responsible for waking tasks out of the
wait state.
Every command that displays task IDs will cause a GC to be run first, which
minimizes the number of changes necessary to the task IDs. This means that
when a report shows task IDs, those IDs will remain valid while subsequent
write commands are issued. The next report run may show different IDs.
Minimizing the size of pending.data is important for performance, because it
is the file that is accessed most.
Files
The data files used are all kept in the rc.data.location directory, which
defaults to ~/.task. The files are:
pending.data
completed.data
undo.data
backlog.data
synch.key
The pending.data file aspires to contain only pending, waiting and recurring
tasks, but this is only correct after a GC, and before any tasks are modified.
This file tends to be relatively stable in size, reflecting the length of the
task list.
The completed.data file accumulates data over time, and grows unbounded.
The undo.data file accumulates changes over time, and grows unbounded. It
provides all the necessary metadata to support the 'undo' command and the
'merge' command.
The backlog.data file contains an accumulated set of changes that have not
been transmitted to the task server. It grows unbounded between 'synch'
commands.
The synch.key file contains a synch receipt that is used to optimize synch
operations.
Filter
A filter is simply a set of command line arguments, but is only a subset of
the complete command line. These arguments (Arg objects) are grouped into
a set by the A3 (Args) object according to whether the command found is a
read or write command.
There is a Command::filter method for applying a filter to a set of tasks,
yielding a result set. It does this by creating an expression from the
filter using the E9 object, then evaluating the expression for each task,
such that the result set contains only tasks for which the expression
evaluates to Boolean true.
Sorting
Sorting is performed on a set of tasks. More specifically, the list that is
sorted is a set of numeric indexes to tasks that are stored in a separate
list. This minimizes the amount of data copying involved to just integers
rather than Task objects, but at the expense of one level of indirection.
Memory fragmentation is a bigger problem than the performance of vector
indexing.
The actual sorting is performed by std::stable_sort, but the compare function
is custom.
Render
There are two rendering objects, ViewTask and ViewText. These both have the
same tabular grid rendering capabilities. ViewText maintains a 2D vector of
strings to contain the data to be rendered, so it is used for things like the
help command output. ViewTask does not copy data, but assumes all data is
stored externally in a vector of Tasks, which minimizes data copying.
ViewTask contains projection data in the form of a set of Column objects that
represent the X axis. The Y axis is represented by a vector of tasks.
The rendering process is complex. It involves dynamically setting column
widths based on (1) available terminal width, (2) the columns to be included
in the output, (3) ability to wrap text for certain columns and (4) the size
of the data to be rendered, which involves added complexity when UTF8 is used.
The Column objects determine minimum width for a column and the maximum width
which then allows ViewT* to make choices.
Test Suite
A strong and diverse test suite is critical to the successful release of any
software. With the complex command set and its myriad permutations, a test
suite is the only way to ensure quality levels, and guarantee that big changes
are sound.
It is intended that the test suite continues growing, mostly adding more
regression tests (bug.*.t) and more feature tests (feature.*.t). The test are
mostly written in Perl, and utilize the Test::More module to generate TAP
output. Some tests are written in C++ and also generate TAP.
There are currently over 5,000 unit tests, that take a minute or two to run
in total.
There is a tinderbox that runs on a variable frequency. As a release
approaches, the frequency is boosted so there are always current results to be
found. Between releases the tinderbox runs daily. It is intended that this
be modified for continuous integration, so it runs once per commit.
http://tasktools.org/tinderbox/task.html
When making code changes, it is important that the test suite be run to verify
that functionality was not broken.
Debugging
The 'rc.debug=on' override provides the following additional information which
is useful during debugging:
- Timing of various components (used to generate the data for the charts at
http://tasktools.org/performance).
- Data load times.
- Terminal size, color capabilities.
- Command line parsing steps, shown in colorful diagrams.
- TDB2 layer and I/O information.
Patches
Patches are encouraged and welcomed. Either attach them to the appropriate
Redmine issue, or send them to support@taskwarrior.org. A good patch:
- Maintains the MIT license, and does not contain code lifted from other
sources.
- Precisely addresses one issue only.
- Doesn't break unit tests.
- Doesn't introduce dependencies.
- Is accompanied by unit tests, where appropriate.
- Is accompanied by documentation changes, where appropriate.
- Conforms to the prevailing coding standards - in other words, it should
fit right in with the existing code.
A patch may be rejected for any of the above reasons, and more. Bad patches
may be accepted and modified depending on work load and mood. It is possible
that a patch may be rejected because it conflicts in some way with plans or
upcoming changes.
---

292
INSTALL
View File

@@ -1,234 +1,154 @@
Installation Instructions
*************************
-------------------------
Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
2006 Free Software Foundation, Inc.
Please follow the instructions below to build task with cmake.
Pre-requisites
--------------
You will need the CMake build system installed in order to build taskwarrior
from source.
More information on cmake can be obtained at http://cmake.org
Optionally, you might want to have Lua installed, if you wish to write plugins
and modify taskwarrior.
This file is free documentation; the Free Software Foundation gives
unlimited permission to copy, distribute and modify it.
Basic Installation
==================
------------------
Briefly, the shell commands `./configure; make; make install' should
configure, build, and install this package. The following
more-detailed instructions are generic; see the `README' file for
instructions specific to this package.
Briefly, these shell commands will unpack, build and install taskwarrior:
The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation. It uses
those values to create a `Makefile' in each directory of the package.
It may also create one or more `.h' files containing system-dependent
definitions. Finally, it creates a shell script `config.status' that
you can run in the future to recreate the current configuration, and a
file `config.log' containing compiler output (useful mainly for
debugging `configure').
$ tar xzf task-X.Y.Z.tar.gz [1]
$ cd task-X.Y.Z [2]
$ cmake . [3]
$ make [4]
$ sudo make install [5]
$ cd .. ; rm -r task-X.Y.Z [6]
It can also use an optional file (typically called `config.cache'
and enabled with `--cache-file=config.cache' or simply `-C') that saves
the results of its tests to speed up reconfiguring. Caching is
disabled by default to prevent problems with accidental use of stale
cache files.
These commands are explained below:
If you need to do unusual things to compile the package, please try
to figure out how `configure' could check whether to do them, and mail
diffs or instructions to the address given in the `README' so they can
be considered for the next release. If you are using the cache, and at
some point `config.cache' contains results you don't want to keep, you
may remove or edit it.
1. Unpacks the source tarball. This creates the directory task-X.Y.Z,
containing all the code.
The file `configure.ac' (or `configure.in') is used to create
`configure' by a program called `autoconf'. You need `configure.ac' if
you want to change it or regenerate `configure' using a newer version
of `autoconf'.
2. Change directory to the root of the distribution.
The simplest way to compile this package is:
3. Invokes CMake to scan for dependencies and machine-specific details, then
generate the makefiles. This may take a minute.
1. `cd' to the directory containing the package's source code and type
`./configure' to configure the package for your system.
4. Builds taskwarrior. This may take a minute.
Running `configure' might take a while. While running, it prints
some messages telling which features it is checking for.
5. Installs the program, documentation and other data files.
2. Type `make' to compile the package.
6. Removes the temporary directory.
3. Optionally, type `make check' to run any self-tests that come with
the package.
4. Type `make install' to install the programs and any data files and
documentation.
Build and configurations options
--------------------------------
5. You can remove the program binaries and object files from the
source code directory by typing `make clean'. To also remove the
files that `configure' created (so you can compile the package for
a different kind of computer), type `make distclean'. There is
also a `make maintainer-clean' target, but that is intended mainly
for the package's developers. If you use it, you may have to get
all sorts of other programs in order to regenerate files that came
with the distribution.
You can customize the configuration run with cmake variables. This will modify
the installation process:
Compilers and Options
=====================
To change the installation directory you use the following configuration
variable:
Some systems require unusual options for compilation or linking that the
`configure' script does not know about. Run `./configure --help' for
details on some of the pertinent environment variables.
$ cmake -DCMAKE_INSTALL_PREFIX=<path-to-installation-dir> .
You can give `configure' initial values for configuration parameters
by setting variables in the command line or in the environment. Here
is an example:
cmake configuration variables are applied with the -D option and consist of a
<name> and a <value>:
./configure CC=c99 CFLAGS=-g LIBS=-lposix
$ cmake -D<name>=<value> .
*Note Defining Variables::, for more details.
Four more variables can customize the installation process. The following table
lists them and their defaults plus the CMAKE_INSTALL_PREFIX:
Compiling For Multiple Architectures
====================================
CMAKE_INSTALL_PREFIX /usr/local
TASK_BINDIR bin
TASK_DOCDIR share/doc/task
TASK_MAN1DIR share/man/man1
TASK_MAN5DIR share/man/man5
You can compile the package for more than one kind of computer at the
same time, by placing the object files for each architecture in their
own directory. To do this, you can use GNU `make'. `cd' to the
directory where you want the object files and executables to go and run
the `configure' script. `configure' automatically checks for the
source code in the directory that `configure' is in and in `..'.
The corresponding TASK_* variables will be combined with CMAKE_INSTALL_PREFIX to
get absolute installation directoris:
With a non-GNU `make', it is safer to compile the package for one
architecture at a time in the source code directory. After you have
installed the package for one architecture, use `make distclean' before
reconfiguring for another architecture.
CMAKE_INSTALL_PREFIZ/TASK_BINDIR /usr/local/bin
CMAKE_INSTALL_PREFIZ/TASK_DOCDIR /usr/local/share/doc/task
CMAKE_INSTALL_PREFIZ/TASK_MAN1DIR /usr/local/share/man/man1
CMAKE_INSTALL_PREFIZ/TASK_MAN5DIR /usr/local/share/man/man5
Installation Names
==================
By default, `make install' installs the package's commands under
`/usr/local/bin', include files under `/usr/local/include', etc. You
can specify an installation prefix other than `/usr/local' by giving
`configure' the option `--prefix=PREFIX'.
Uninstallation
--------------
You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you
pass the option `--exec-prefix=PREFIX' to `configure', the package uses
PREFIX as the prefix for installing programs and libraries.
Documentation and other data files still use the regular prefix.
To uninstall taskwarrior, you need the Makefiles, so if you deleted them in
step 7 above, they must first be regenerated by following steps [1], [2] and
[3]. Then simply run:
In addition, if you use an unusual directory layout you can give
options like `--bindir=DIR' to specify different values for particular
kinds of files. Run `configure --help' for a list of the directories
you can set and what kinds of files go in them.
$ sudo make uninstall TODO TODO TODO -- cmake doesn't include uninstall
If the package supports it, you can cause programs to be installed
with an extra prefix or suffix on their names by giving `configure' the
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
Optional Features
=================
Taskwarrior Build Notes
-----------------------
Some packages pay attention to `--enable-FEATURE' options to
`configure', where FEATURE indicates an optional part of the package.
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
is something like `gnu-as' or `x' (for the X Window System). The
`README' should mention any `--enable-' and `--with-' options that the
package recognizes.
Taskwarrior has dependencies that are detected by cmake in almost all cases, but
there are situations and operating systems that mean you will need to offer a
little help.
For packages that use the X Window System, `configure' can usually
find the X include and library files automatically, but if it doesn't,
you can use the `configure' options `--x-includes=DIR' and
`--x-libraries=DIR' to specify their locations.
If taskwarrior will not build on your system, first take a look at the Operating
System notes below. If this doesn't help, then go to the Troubleshooting
section, which includes instructions on how to contact us for help.
Specifying the System Type
==========================
There may be some features `configure' cannot figure out automatically,
but needs to determine by the type of machine the package will run on.
Usually, assuming the package is built to be run on the _same_
architectures, `configure' can figure that out, but if it prints a
message saying it cannot guess the machine type, give it the
`--build=TYPE' option. TYPE can either be a short name for the system
type, such as `sun4', or a canonical name which has the form:
Operating System Notes
----------------------
CPU-COMPANY-SYSTEM
Cygwin
If 'make install' fails when writing to the /usr/local/share/ directory,
this may be because your current login doesn't have permission to write
to the Windows directory containing your Cygwin installation. Either
login to Windows as an Administrator and try the 'make install' process
again, or reinstall Cygwin under your normal Windows login.
where SYSTEM can have one of these forms:
OS KERNEL-OS
Darwin
If you're having trouble with Lua, check to see if the include files were
installed. If you're using fink, this will require the lua51-dev package in
addition to lua51.
See the file `config.sub' for the possible values of each field. If
`config.sub' isn't included in this package, then this package doesn't
need to know the machine type.
Darwin, 32bit
The taskwarrior packages will not work on a 32-bit OSX installation on Core
Duo hardware. You will need to build Taskwarrior from source, and use this
configure command:
If you are _building_ compiler tools for cross-compiling, you should
use the option `--target=TYPE' to select the type of system they will
produce code for.
cmake -DCMAKE_C_FLAGS=-m32 -DCMAKE_CXX_FLAGS=-m32 -DCMAKE_EXE_LINKER_FLAGS=-m32 .
If you want to _use_ a cross compiler, that generates code for a
platform different from the build platform, you should specify the
"host" platform (i.e., that on which the generated programs will
eventually be run) with `--host=TYPE'.
See:
http://taskwarrior.org/issues/817
http://stackoverflow.com/questions/3261909/build-32bit-on-64-bit-linux-using-a-configure-script
http://stackoverflow.com/questions/2617508/cmake-gcc-cuda-and-m32-wtf
http://stackoverflow.com/questions/6077414/cmake-how-to-set-the-ldflags-in-cmakelists-txt
Sharing Defaults
================
If you want to set default values for `configure' scripts to share, you
can create a site shell script called `config.site' that gives default
values for variables like `CC', `cache_file', and `prefix'.
`configure' looks for `PREFIX/share/config.site' if it exists, then
`PREFIX/etc/config.site' if it exists. Or, you can set the
`CONFIG_SITE' environment variable to the location of the site script.
A warning: not all `configure' scripts look for a site script.
Troubleshooting
---------------
Defining Variables
==================
If you've recently made changes to dependencies (by reinstalling Lua, for
example) be sure to rerun 'cmake .' before trying to execute 'make' again.
Variables not defined in a site shell script can be set in the
environment passed to `configure'. However, some packages may run
configure again during the build, and the customized values of these
variables may be lost. In order to avoid this problem, you should set
them in the `configure' command line, using `VAR=value'. For example:
CMake will run and locate all the necessary pieces for the build, and create
a Makefile. There may be errors and warnings when running CMake, or there
may be compiler errors and warnings when running 'make'. Sometimes you will run
CMake with no reported problems, and the build will fail later. This is
almost always because CMake is mistaken about some assumption.
./configure CC=/usr/local2/bin/gcc
If a build does not succeed, please send the contents of the 'CMakeCache.txt'
and 'CMakeFiles/CMakeOutput.log' files to support@taskwarrior.org, or post a
message in the support forums at taskwarrior.org along with the information.
causes the specified `gcc' to be used as the C compiler (unless it is
overridden in the site shell script).
Unfortunately, this technique does not work for `CONFIG_SHELL' due to
an Autoconf bug. Until the bug is fixed you can use this workaround:
CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
`configure' Invocation
======================
`configure' recognizes the following options to control how it operates.
`--help'
`-h'
Print a summary of the options to `configure', and exit.
`--version'
`-V'
Print the version of Autoconf used to generate the `configure'
script, and exit.
`--cache-file=FILE'
Enable the cache: use and save the results of the tests in FILE,
traditionally `config.cache'. FILE defaults to `/dev/null' to
disable caching.
`--config-cache'
`-C'
Alias for `--cache-file=config.cache'.
`--quiet'
`--silent'
`-q'
Do not print messages saying which checks are being made. To
suppress all normal output, redirect it to `/dev/null' (any error
messages will still be shown).
`--srcdir=DIR'
Look for the package's source code in directory DIR. Usually
`configure' can determine that directory automatically.
`configure' also accepts some other, not widely useful, options. Run
`configure --help' for more details.
If CMake runs but taskwarrior does not build, please send the contents of the
above files as well as a transcript from the build, which is not written to a
file and must be captured from the terminal.
---

23
LICENSE Normal file
View File

@@ -0,0 +1,23 @@
taskwarrior - a command line task list manager.
Copyright 2006-2012, Paul Beckingham, Federico Hernandez.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
http://www.opensource.org/licenses/mit-license.php

View File

@@ -1,3 +0,0 @@
SUBDIRS = src
EXTRA_DIST = TUTORIAL DEVELOPERS

72
NEWS
View File

@@ -1,31 +1,59 @@
Welcome to Task 1.3.1.
Task has been built and tested on the following configurations:
New bug fixes in taskwarrior 2.1.2
- OS X 10.4 Tiger
- OS X 10.5 Leopard
- Fedora Core 8
- Fedora Core 9
- Ubuntu 8 Hardy Heron
- Solaris 10
- Cygwin 1.5.25-14
- Important bug fix release regarding duplicate UUIDs during the merge command.
While Task has undergone testing, bugs are sure to remain. If you encounter a
bug, please contact me at task@beckingham.net. Here is what you could do, in
order of increasing effort (to you) and usefulness (to me):
New features in taskwarrior 2.1.2
- Do nothing. Bug probably won't get fixed.
- None
- Send an email to task@beckingham.net, explaining what you saw. The bug
will be addressed, and a new release will be made. You will be a hero.
New commands in taskwarrior 2.1.2
- Send an email, and a reproducible test case in the form of the few commands
it takes to recreate the problem. The bug will be addressed, and a new
release will be made. You will be a hero.
- None
- If you are a developer, send a patch that fixes the problem. Your patch
will be applied and tested, and a new release will be made. You will be a
hero.
New configuration options in taskwarrior 2.1.2
- None
Newly deprecated features in taskwarrior 2.1.2
- None
---
Taskwarrior has been built and tested on the following configurations:
* OS X 10.7 Lion, 10.6 Snow Leopard
* Fedora 17 Beefy Miracle and 16 Verne
* Ubuntu 12.04 Precise Pangolin and 11.10 Oneiric Ocelot
* Debian 6.0 Squeeze (stable)i and 5.0 Lenny (oldstable) plus Sid (testing)
* Slackware 13.37
* Arch Linux
* Gentoo Linux
* Sabayon Linux
* SliTaz Linux
* CRUX Linux
* SuSE
* derivatives/customizations/flavors of the above Linux distributions
* Solaris 10 and 8
* OpenBSD
* FreeBSD
* NetBSD
* Cygwin 1.7
---
While Taskwarrior has undergone testing, bugs are sure to remain. If you
encounter a bug, please enter a new issue at:
http://taskwarrior.org/projects/taskwarrior/issues/new
Or you can also report the issue in the forums at:
http://taskwarrior.org/projects/taskwarrior/boards
Or just send a message to:
support@taskwarrior.org
Thank you.

54
README
View File

@@ -1,48 +1,26 @@
Thank you for taking a look at task. Task is a GTD utility featuring:
- Robust C++ implementation
- Tags
- Colorful, tabular output
- Reports
- Lots of commands
- Low-level API
- Abbreviations for all commands, options
- Multi-user file locking
- Clean architecture allowing quick addition of new features
Thank you for taking a look at taskwarrior!
It is intended that features, mainly in the form of reports will be added
frequently, with best practices and useful reports evolving from usage patterns.
Taskwarrior is a GTD, todo list, task management, command line utility with a
multitude of features. It is a portable, well supported, very active project,
and it is Open Source. Taskwarrior has binary distributions, online
documentation, demonstration movies, and you'll find all the details at:
Task is scope-limited to GTD functionality only.
http://taskwarrior.org
You may want to jump straight to the TUTORIAL file, or perhaps watch the old
task movie on YouTube:
At the site you'll find a wiki, discussion forums, downloads, news and more.
http://www.youtube.com/watch?v=l68LCl6BYvs
Your contributions are especially welcome. Whether it comes in the form of
code patches, ideas, discussion, bug reports, encouragement or criticism, your
input is needed.
or the new improved one:
Please send your support questions and code patches to:
http://www.youtube.com/watch?v=D2Kn4DMOVSw
support@taskwarrior.org
Either will give you a fairly good idea of what task is capable of, and whether
it fits in to your way of working. As a command line application, task is not
for everyone and some of you may prefer to not proceed. The movie or TUTORIAL
file are the quickest way for you to make that decision.
Consider joining taskwarrior.org and participating in the future of taskwarrior.
Task is based on ideas presented in the todo.sh script, found on:
http://todotxt.org
Task has a few more features than todo.sh, but fundamentally, they are both
working toward the same goals, which is to help you follow basic Getting Things
Done (GTD) principles.
All feedback is welcome, in addition to any bug reports or patches to:
task@beckingham.net
Got an idea for an enhancement? Send a message!
I have found that task makes me more productive and organized. I hope task can
do the same for you.
---
Taskwarrior is released under the MIT license. For details check the LICENSE
file.

768
TUTORIAL
View File

@@ -1,768 +0,0 @@
Task program tutorial, for version 1.3.1
----------------------------------------
This guide shows how to quickly set up the task program, and become proficient
with it.
Contents:
Quick Setup
Simple Usage
Advanced Usage
Interacting with the Shell
Configuring Task
Colors
Quick Setup
-----------
Build the task program according to the directions in the INSTALL file. This
transcript illustrates a typical installation:
% ls
task-1.3.1.tar.gz
% gunzip task-1.3.1.tar.gz
% tar xf task-1.3.1.tar
% cd task-1.3.1
% ./configure
...
% make
...
% make install # (may require sudo, depending on --prefix)
You need to make sure that the installed task program is in your PATH
environment variable.
Task reads a configuration file - called .taskrc in your home directory - and
stores pending and completed tasks in in a directory specified in the
configuration file.
The simplest way to get a configuration file and task directory is to run task.
On startup, task will check to see if it can find the configuration file and
task directory, and if not found, will ask you whether it may create both.
% task version
A configuration file could not be found in /Users/paul/.taskrc
Would you like a sample .taskrc created, so task can proceed? (y/n) y
Done.
[then task will show version information]
Simple Usage
------------
Let us begin by adding some tasks:
% task add Book plane ticket
% task add Rent a tux
% task add Reserve a rental car
% task add Reserve a hotel room
That's it. You'll notice immediately that task has a very minimalist
interface. Let us take a look at those tasks:
% task ls
ID Project Pri Description
1 Book plane ticket
2 Rent a tux
3 Reserve a rental car
4 Send John a birthday card
The 'ls' command provides the most minimal list of tasks. Each task has been
given an id number, and you can see that there are no projects or priorities
assigned. Wait a minute - I own a tux, I don't need to rent one. Let us delete
task 2:
% task 2 delete
Permanently delete task? (y/n) y
Task wants you to confirm deletions. To remove the confirmation, edit your
.taskrc file and change the line:
confirmation=yes
to have a value of "no".
While the use of projects and priorities are not essential to benefitting from
task, they can be very useful when the list of tasks grows large. Let's assign
a project to these tasks:
% task 1 project:Wedding
% task 3 project:Wedding
% task 4 project:Family
% task ls
ID Project Pri Description
3 Family Send John a birthday card
2 Wedding Reserve a rental car
1 Wedding Book plane ticket
Notice that the id numbers have changed. When tasks get deleted, or have their
attributes changed (project, for example), the ids are prone to change. But the
id numbers will remain valid until the next 'ls' command is run. You should
only use the ids from the most recent 'ls' command. The ids change, because
task is always trying to use small numbers so that it is easy for you to enter
them correctly.
Subprojects are supported. If you have a project "Wedding", you can specify
that a task is a subproject "Transport" of "Wedding" by assigning the project
"Wedding.Transport". Let's do this:
% task 2 project:Wedding.Transport
% task ls
ID Project Pri Description
3 Family Send John a birthday card
2 Wedding.Transport Reserve a rental car
1 Wedding Book plane ticket
Task matches the leftmost part of the project when searching, so projects
may be abbreviated:
% task ls project:Wedding.Tra
ID Project Pri Description
2 Wedding.Transport Reserve a rental car
This way of matching projects can be used to see all tasks under the
"Wedding" project and all subprojects:
% task ls project:Wedding
ID Project Pri Description
2 Wedding.Transport Reserve a rental car
1 Wedding Book plane ticket
Let's reassign 2 back to the "Wedding" project:
% task 2 project:Wedding
Now that projects are assigned, we can look at just the Wedding project tasks:
% task ls project:Wedding
ID Project Pri Description
1 Wedding Book plane ticket
2 Wedding Reserve a rental car
Any command arguments after the 'ls' are used for filtering the output. We
could also have requested:
% task ls ticket plane
ID Project Pri Description
1 Wedding Book plane ticket
Now let's prioritize. Priorities can be H, M or L (High, Medium, Low).
% task ls
ID Project Pri Description
3 Family Send John a birthday card
2 Wedding Reserve a rental car
1 Wedding Book plane ticket
% task 1 priority:H
% task 2 prior:M
% task 3 pr:H
Ambiguous attribute 'pr' - could be either of project, priority
% task 3 pri:H
% task ls
ID Project Pri Description
3 Family H Send John a birthday card
1 Wedding H Book plane ticket
2 Wedding M Reserve a rental car
Notice that task supports the abbreviation of words such as priority, project.
Priority can be abbreviated to pri, but not pr, because it is ambiguous. Now
that tasks have been prioritized, you can see that the tasks are being sorted
by priority, with the highest priority tasks at the top.
These attributes can all be provided when the task is added, instead of
applying them afterwards, as shown. The following command shows how to set all
the attributes at once:
% task add project:Wedding priority:H Book plane ticket
The 'ls' command provides the least information for each task. The 'list'
command provides more:
% task list
ID Project Pri Due Active Age Description
3 Family H 4 mins Send John a birthday card
1 Wedding H 5 mins Book plane ticket
2 Wedding M 5 mins Reserve a rental car
Notice that a task can have a due date, and can be active. The task lists are
sorted by due date, then priority. Let's add due dates:
% task 3 due:6/25/2008
% task 1 due:7/31/2008
% task list
ID Project Pri Due Active Age Description
3 Family H 6/25/2008 6 mins Send John a birthday card
1 Wedding H 7/31/2008 7 mins Book plane ticket
2 Wedding M 7 mins Reserve a rental car
If today's date is 6/23/2008, then task 3 is due in 2 days. It will be colored
yellow if your terminal supports color. To change this color, edit your
.taskrc file, and change the line to one of these alternatives:
color.due=red
color.due=on_blue
color.due=red on_blue
color.due=bold_red on_blue
Where color is one of the following:
black
blue
red
green
cyan
magenta
yellow
white
All colors are specified in this way. Take a look in .taskrc for all the other
color rules that you control.
Tagging tasks is a good way to group them, aside from specifying a project. To
add a tag to a task:
% task <id> +tag
The plus sign indicates that this is a tag. Any number of tags may be applied
to a task, and then used for searching. Tags are just single words that are
labels.
% task list
ID Project Pri Due Active Age Description
3 Family H 6/25/2008 8 mins Send John a birthday card
1 Wedding H 7/31/2008 9 mins Book plane ticket
2 Wedding M 9 mins Reserve a rental car
% task 1 +phone
% task 2 +phone
% task 3 +shopping
% task 3 +john
% task list +phone
ID Project Pri Due Active Age Description
1 Wedding H 7/31/2008 9 mins Book plane ticket
2 Wedding M 9 mins Reserve a rental car
To remove a tag from a task, use the minus sign:
% task 3 -john
Advanced Use
------------
Here are the other commands, in some detail. Note that the command:
% task
with no arguments will generate a help message that lists all these commands.
% task projects
---------------
This report generates a list of all the different projects that you are using
along with a count of the pending tasks for each project. For example:
% task projects
Project Tasks
Errands 1
Birthdays 3
Car 2
% task summary
--------------
This report lists all the projects and a summary of their task status.
% task summary
Project Remaining Avg age Complete 0% 100%
Errands 1 3 days 50% XXXXXXXXXXXXXXXX
Birthdays 3 7 mths 0%
Car 2 2 wks 25% XXXXXXXXX
This shows the project, the remaining tasks, the average age of each task,
the percentage completed (remaining vs total) and a bar indicating that
percentage.
% task delete <id>
------------------
There are two ways of getting rid of tasks - mark them as done, or delete
them.
% task done <id>
----------------
This is how a task is marked as done.
% task list ...
---------------
The list report will show the active status, and age of the task in addition
to the columns that "task ls" shows. It is just a more detailed list.
% task long ...
---------------
The long report will show the entry date and start date of a task, in
addition to the columns that the "task list" shows.
% task start <id>
-----------------
This marks a task as started (and therefore active), which is shown in the
"list" report:
% task list
ID Project Pri Due Active Age Description
12 Errand L Remember to deposit check
...
% task start 12
% task list
ID Project Pri Due Active Age Description
12 Errand L * 3 days Remember to deposit check
...
% task active
-------------
Shows all active tasks, that is, the tasks for which the "task start ..."
command was run, as shown above.
% task overdue
--------------
Simply lists all the task that have a due date that is past, in "list"
format.
% task oldest
-------------
Lists the oldest tasks. Shows 10 tasks by default, but can be set via the
"oldest" configuration variable.
% task newest
-------------
Lists the newest tasks. Shows 10 tasks by default, but can be set via the
"newest" configuration variable.
% task history
--------------
This report shows you an overview of how many tasks were added, completed and
deleted, by month. It looks like this:
% task history
Year Month Added Completed Deleted Net
2008 March 21 16 0 5
April 13 11 1 1
May 8 14 3 -9
This shows that for the three months that task has been used, March and April
saw the total number of tasks increase, but in May the number decreased as
more task were completed than added.
% task calendar
---------------
This report shows a calendar of the current month, with any task due or
overdue dates marked on it. Color is used to mark these dates.
% task calendar
May 2008
Su Mo Tu We Th Fr Sa
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
% task next
-----------
This report shows you the tasks you should probable work on next. Task will
scan all the tasks and will pick two task from each project to report. Those
two tasks will be chosen in order of overdue, due soon, High, Medium or Low
priority. Essentially task chooses the two most important task for each
project and displays them ordered in the usual way.
If you wish to show a different number of tasks per project, modify the entry
in .taskrc:
next=2
To be your preferred number.
% task <id> ...
---------------
When a task id is specified, everything applies to just that task. Suppose
we needed to correct a task:
% task ls
ID Project Pri Description
12 Errand L Remember to deposit chekc
...
% task 12 Remember to deposit bonus check
% task ls
ID Project Pri Description
12 Errand L Remember to deposit bonus check
...
% task /from/to/
----------------
If a task has been entered with a typo, it can be easily corrected by this
command. For example:
% task ls
ID Project Pri Description
12 Errand L Remember to deposit chekc
...
% task 12 /chekc/check/
% task ls
ID Project Pri Description
12 Errand L Remember to deposit check
...
This command makes single corrections to a task description.
% task tags
-----------
This command will generate a list of all the tags that are currently in use
by task.
% task info <id>
----------------
This command gives detailed information about a single task. It will tell
you when the task was entered, when started, its status, tags, and more.
% task stats
------------
This command generates a list of statistics about your task usage, such as
the average time it takes to complete a task, how often new tasks are added,
and more.
% task completed
----------------
This generates a list of all tasks that have been completed, sorted by their
completion date.
% task export <file name>
-------------------------
This instructs task to write out a CSV format dump of all tasks, both pending
and completed, to the file specified. This is how you might view tasks in a
spreadsheet.
% task colors
-------------
This command displays all the colors that task supports.
% task usage
------------
If logging has been enabled by the "command.logging=on" directive in the
.taskrc file, then task will record every command that is run. When this
command is run, task will display a count of how many times each command was
used.
This command is for the purpose of seeing whether command are actually used.
% task version
--------------
This can be used to show the version number of task, and to display all the
current configuration settings, as read from the .taskrc file.
Interacting with the Shell
--------------------------
Certain characters are interpreted by the shell. For example, the "&". If
you wish to include the & in a task description, you need to escape it, so
the shell doesn't interpret it. For example:
% task add Buy bread & milk
This command is an error because of the &. The shell will consider this to
be two commands:
% task add Buy bread &
% milk
The shell treats the & character as an indicator that the command is complete
and should be run in the background. Then the shell considers "milk" to be a
command all by itself. Which it is not. One way to get around this is to
individually escape the & character:
% task add Buy bread \& milk
Another is to quote the entire description, with either ' or " characters:
% task add "Buy bread & milk"
Task itself interprets the commands, and it too can make mistakes. For
example, any colon : character will be interpreted by task as a delimiter
between an attribute name and its value. Currently there is no workaround
for this.
% task <id> fg:... bg:...
-------------------------
Not strictly a command, the setting of the fg and bg (foreground and
background) attributes determines the colors used to represent the task.
Valid foreground colors are:
bold underline bold_underline
black bold_black underline_black bold_underline_black
red bold_red underline_red bold_underline_red
green bold_green underline_green bold_underline_green
yellow bold_yellow underline_yellow bold_underline_yellow
blue bold_blue underline_blue bold_underline_blue
magenta bold_magenta underline_magenta bold_underline_magenta
cyan bold_cyan underline_cyan bold_underline_cyan
white bold_white underline_white bold_underline_white
Valid background colors are:
on_black on_bright_black
on_red on_bright_red
on_green on_bright_green
on_yellow on_bright_yellow
on_blue on_bright_blue
on_magenta on_bright_magenta
on_cyan on_bright_cyan
on_white on_bright_white
Note that these are not just colors, but combinations of colors and
attributes.
Note also that this capability does depend on whether your terminal program
can display these colors.
Configuring Task
----------------
Task recognizes several entries in the .taskrc file for configuration
purposes. Valid entries are of the form:
name=value
Valid examples are:
data.location This is a path to the directory containing all the task
files. By default, it is set up to be ~/.task, for
example: /Users/paul/.task
command.logging May be "on" or "off", defaulting to "off". This
determines whether task records commands. This is not
generally useful, except while developing task.
confirmation May be "yes" or "no", and determines whether task will
ask for confirmation before deleting a task.
nag This may be a string of text, or blank. It is used as
a prompt when a task is completed that is not considered
high priority. The "task next" command lists important
tasks, and completing one of those does not generate
this nagging. Default value is:
Note: try to stick to high priority tasks.
See "task next".
next Is a number, defaulting to 2, which is the number of
tasks for each project that are shown in the "task next"
command.
curses Determines whether task uses ncurses to establish the
size of the window you are using, for text wrapping.
blanklines May be "on" or "off". Prevents the display of
unnecessary blank lines so that task makes better use
screen real estate on small-screened devices.
dateformat This is a string of characters that define how task
formats dates. The default value is:
m/d/Y
which means dates look like:
6/7/2008
The string should contain the characters:
m minimal-digit month 1, 12
d minimal-digit day 1, 30
y two-digit year 08
M two-digit month 01, 12
D two-digit day 01, 30
Y four-digit year 2008
The string may also contain other characters to act as
spacers, or formatting. Other values could include
(but are not limited to):
d/m/Y 7/6/2008
YMD 20080607
m-d-y 6-7-08
showage May be "yes" or "no". Determines whether the "Age"
column appears on the "list" and "next" reports.
monthsperline Determines how many months the "task calendar" command
renders across the screen. Defaults to 1.
oldest Determines how many tasks are shown on the "oldest"
report. Defaults to 10.
newest Determines how many tasks are shown on the "newest"
report. Defaults to 10.
defaultwidth The width of tables used when ncurses support is not
available. Defaults to 80.
color May be "on" or "off". Determines whether task uses
color.
color.overdue These are the coloration rules. They correspond to a
color.due particular attribute of a task, such as it being due, or
color.pri.H being active, and specifies the automatic coloring of
color.pri.M that task.
color.pri.L
color.pri.none The value may be one optional foreground color (see
color.active below) and one optional background color.
color.tagged
For example, the value may be:
bold_red on_bright_yellow
color.tag.X Colors any task that has the tag X.
color.project.X Colors any task assigned to project X.
color.keyword.X Colors any task where the description contains X.
Colors
------
Task supports color in several places. In cases where you may specify a
color, a foreground, a background, or a combination foreground and background
color may be used. The following are valid foreground colors:
bold underline bold_underline
black bold_black underline_black bold_underline_black
red bold_red underline_red bold_underline_red
green bold_green underline_green bold_underline_green
yellow bold_yellow underline_yellow bold_underline_yellow
blue bold_blue underline_blue bold_underline_blue
magenta bold_magenta underline_magenta bold_underline_magenta
cyan bold_cyan underline_cyan bold_underline_cyan
white bold_white underline_white bold_underline_white
and the following are valid background colors:
on_black on_bright_black
on_red on_bright_red
on_green on_bright_green
on_yellow on_bright_yellow
on_blue on_bright_blue
on_magenta on_bright_magenta
on_cyan on_bright_cyan
on_white on_bright_white

View File

@@ -1,36 +0,0 @@
Some considerable time ago - longer than I had hoped - I demonstrated an
alternate implementation of the todo script, called task, in the form of a
YouTube movie:
http://www.youtube.com/watch?v=l68LCl6BYvs
A lot has happened since then, and the task program has been slowly improving
thanks to feedback from some early testers, and continuous use by me. Today,
I have uploaded a new movie:
http://www.youtube.com/watch?v=D2Kn4DMOVSw
This movie includes most of the changes and improvements to task, but behind
the scenes are the biggest changes. There was a rewrite of the underlying
storage mechanism yielding a clean API for the front end, and the code was
reviewed for portability and converted to use GNU autoconf/automake.
Task has been released under GPL, and so far has been tested on:
Max OS X 10.4 (Tiger)
Max OS X 10.5 (Leopard)
Fedora 8
Fedora 9
Ubuntu 8 (Hardy Heron)
Solaris 10
Task has been making me more organized and productive for some time now.
Perhaps some of you might find it useful, and I welcome feedback of all kinds.
You can find the task source code at:
http://www.beckingham.net/task-1.0.0.tar.gz
Thank you.
Paul Beckingham

72
cmake.h.in Normal file
View File

@@ -0,0 +1,72 @@
/* cmake.h.in. Creates cmake.h during a cmake run */
#define L10N // Localization complete.
/* Package information */
#define PACKAGE "${PACKAGE}"
#define VERSION "${VERSION}"
#define PACKAGE_BUGREPORT "${PACKAGE_BUGREPORT}"
#define PACKAGE_NAME "${PACKAGE_NAME}"
#define PACKAGE_TARNAME "${PACKAGE_TARNAME}"
#define PACKAGE_VERSION "${PACKAGE_VERSION}"
#define PACKAGE_STRING "${PACKAGE_STRING}"
/* Installation details */
#define TASK_RCDIR "${CMAKE_INSTALL_PREFIX}/${TASK_DOCDIR}/rc"
/* Localization */
#define PACKAGE_LANGUAGE 1
#define LANGUAGE_EN_US 1
/*
Override PACKAGE_LANGUAGE, then
#define LANGUAGE_XX_YY 2
*/
/* git information */
#cmakedefine HAVE_COMMIT
/* cmake information */
#cmakedefine HAVE_CMAKE
#define CMAKE_VERSION "${CMAKE_VERSION}"
/* Compiling platform */
#cmakedefine LINUX
#cmakedefine DARWIN
#cmakedefine CYGWIN
#cmakedefine FREEBSD
#cmakedefine OPENBSD
#cmakedefine NETBSD
#cmakedefine HAIKU
#cmakedefine SOLARIS
#cmakedefine UNKNOWN
/* Found the lua library */
#cmakedefine HAVE_LIBLUA
/* Found the pthread library */
#cmakedefine HAVE_LIBPTHREAD
/* Found the readline library */
#cmakedefine HAVE_READLINE
#cmakedefine HAVE_LIBREADLINE
/* Found random */
#cmakedefine HAVE_RANDOM
/* Found srandom */
#cmakedefine HAVE_SRANDOM
/* Found tm_gmtoff */
#cmakedefine HAVE_TM_GMTOFF
/* Found timegm */
#cmakedefine HAVE_TIMEGM
/* Found the uuid library */
#cmakedefine HAVE_UUID
#cmakedefine HAVE_UUID_UNPARSE_LOWER
/* Undefine this to eliminate the execute command */
#define HAVE_EXECUTE 1

5
commit.h.in Normal file
View File

@@ -0,0 +1,5 @@
/* commit.h.in. Creates commit.h during a cmake run */
#define L10N // Localization complete.
/* git information */
#define COMMIT "${COMMIT}"

View File

@@ -1,42 +0,0 @@
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.61)
AC_INIT(task, 1.3.1, bugs@beckingham.net)
AM_INIT_AUTOMAKE
AC_CONFIG_SRCDIR([src/task.cpp])
AC_CONFIG_HEADER([auto.h])
# Checks for programs.
AC_PROG_CXX
AC_PROG_CC
AC_LANG(C++)
# Checks for libraries.
AC_CHECK_LIB(ncurses,initscr)
AC_CHECK_LIB(ncurses,endwin)
# Checks for header files.
AC_HEADER_STDC
AC_CHECK_HEADERS([stdlib.h sys/file.h sys/stat.h sys/time.h unistd.h])
AC_CHECK_HEADERS([string vector map])
# Checks for typedefs, structures, and compiler characteristics.
AC_HEADER_STDBOOL
AC_C_CONST
AC_TYPE_PID_T
AC_TYPE_SIZE_T
AC_HEADER_TIME
AC_STRUCT_TM
# Checks for library functions.
AC_FUNC_MKTIME
AC_FUNC_SELECT_ARGTYPES
AC_CHECK_FUNCS([select])
AC_CHECK_FUNC(flock, [AC_DEFINE([HAVE_FLOCK], [1], [Found flock])])
AC_CHECK_FUNC(uuid_unparse_lower, [AC_DEFINE([HAVE_UUID], [1], [Found uuid_unparse_lower])])
AC_CHECK_FUNC(random, [AC_DEFINE([HAVE_RANDOM], [1], [Found random])])
AC_CHECK_FUNC(srandom, [AC_DEFINE([HAVE_SRANDOM], [1], [Found srandom])])
AC_CONFIG_FILES([Makefile src/Makefile])
AC_OUTPUT

584
depcomp
View File

@@ -1,584 +0,0 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
scriptversion=2006-10-15.18
# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006 Free Software
# Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
case $1 in
'')
echo "$0: No command. Try \`$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
cat <<\EOF
Usage: depcomp [--help] [--version] PROGRAM [ARGS]
Run PROGRAMS ARGS to compile a file, generating dependencies
as side-effects.
Environment variables:
depmode Dependency tracking mode.
source Source file read by `PROGRAMS ARGS'.
object Object file output by `PROGRAMS ARGS'.
DEPDIR directory where to store dependencies.
depfile Dependency file to output.
tmpdepfile Temporary file to use when outputing dependencies.
libtool Whether libtool is used (yes/no).
Report bugs to <bug-automake@gnu.org>.
EOF
exit $?
;;
-v | --v*)
echo "depcomp $scriptversion"
exit $?
;;
esac
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
echo "depcomp: Variables source, object and depmode must be set" 1>&2
exit 1
fi
# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
depfile=${depfile-`echo "$object" |
sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
rm -f "$tmpdepfile"
# Some modes work just like other modes, but use different flags. We
# parameterize here, but still list the modes in the big case below,
# to make depend.m4 easier to write. Note that we *cannot* use a case
# here, because this file can only contain one case statement.
if test "$depmode" = hp; then
# HP compiler uses -M and no extra arg.
gccflag=-M
depmode=gcc
fi
if test "$depmode" = dashXmstdout; then
# This is just like dashmstdout with a different argument.
dashmflag=-xM
depmode=dashmstdout
fi
case "$depmode" in
gcc3)
## gcc 3 implements dependency tracking that does exactly what
## we want. Yay! Note: for some reason libtool 1.4 doesn't like
## it if -MD -MP comes after the -MF stuff. Hmm.
## Unfortunately, FreeBSD c89 acceptance of flags depends upon
## the command line argument order; so add the flags where they
## appear in depend2.am. Note that the slowdown incurred here
## affects only configure: in makefiles, %FASTDEP% shortcuts this.
for arg
do
case $arg in
-c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
*) set fnord "$@" "$arg" ;;
esac
shift # fnord
shift # $arg
done
"$@"
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
mv "$tmpdepfile" "$depfile"
;;
gcc)
## There are various ways to get dependency output from gcc. Here's
## why we pick this rather obscure method:
## - Don't want to use -MD because we'd like the dependencies to end
## up in a subdir. Having to rename by hand is ugly.
## (We might end up doing this anyway to support other compilers.)
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
## -MM, not -M (despite what the docs say).
## - Using -M directly means running the compiler twice (even worse
## than renaming).
if test -z "$gccflag"; then
gccflag=-MD,
fi
"$@" -Wp,"$gccflag$tmpdepfile"
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
echo "$object : \\" > "$depfile"
alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
## The second -e expression handles DOS-style file names with drive letters.
sed -e 's/^[^:]*: / /' \
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
## This next piece of magic avoids the `deleted header file' problem.
## The problem is that when a header file which appears in a .P file
## is deleted, the dependency causes make to die (because there is
## typically no way to rebuild the header). We avoid this by adding
## dummy dependencies for each header file. Too bad gcc doesn't do
## this for us directly.
tr ' ' '
' < "$tmpdepfile" |
## Some versions of gcc put a space before the `:'. On the theory
## that the space means something, we add a space to the output as
## well.
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
hp)
# This case exists only to let depend.m4 do its work. It works by
# looking at the text of this script. This case will never be run,
# since it is checked for above.
exit 1
;;
sgi)
if test "$libtool" = yes; then
"$@" "-Wp,-MDupdate,$tmpdepfile"
else
"$@" -MDupdate "$tmpdepfile"
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
echo "$object : \\" > "$depfile"
# Clip off the initial element (the dependent). Don't try to be
# clever and replace this with sed code, as IRIX sed won't handle
# lines with more than a fixed number of characters (4096 in
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
# the IRIX cc adds comments like `#:fec' to the end of the
# dependency line.
tr ' ' '
' < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
tr '
' ' ' >> $depfile
echo >> $depfile
# The second pass generates a dummy entry for each header file.
tr ' ' '
' < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
>> $depfile
else
# The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile
# "include basename.Plo" scheme.
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
aix)
# The C for AIX Compiler uses -M and outputs the dependencies
# in a .u file. In older versions, this file always lives in the
# current directory. Also, the AIX compiler puts `$object:' at the
# start of each line; $object doesn't have directory information.
# Version 6 uses the directory in both cases.
stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
tmpdepfile="$stripped.u"
if test "$libtool" = yes; then
"$@" -Wc,-M
else
"$@" -M
fi
stat=$?
if test -f "$tmpdepfile"; then :
else
stripped=`echo "$stripped" | sed 's,^.*/,,'`
tmpdepfile="$stripped.u"
fi
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
if test -f "$tmpdepfile"; then
outname="$stripped.o"
# Each line is of the form `foo.o: dependent.h'.
# Do two passes, one to just change these to
# `$object: dependent.h' and one to simply `dependent.h:'.
sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
else
# The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile
# "include basename.Plo" scheme.
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
icc)
# Intel's C compiler understands `-MD -MF file'. However on
# icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
# ICC 7.0 will fill foo.d with something like
# foo.o: sub/foo.c
# foo.o: sub/foo.h
# which is wrong. We want:
# sub/foo.o: sub/foo.c
# sub/foo.o: sub/foo.h
# sub/foo.c:
# sub/foo.h:
# ICC 7.1 will output
# foo.o: sub/foo.c sub/foo.h
# and will wrap long lines using \ :
# foo.o: sub/foo.c ... \
# sub/foo.h ... \
# ...
"$@" -MD -MF "$tmpdepfile"
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
# Each line is of the form `foo.o: dependent.h',
# or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
# Do two passes, one to just change these to
# `$object: dependent.h' and one to simply `dependent.h:'.
sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
# Some versions of the HPUX 10.20 sed can't process this invocation
# correctly. Breaking it into two sed invocations is a workaround.
sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
hp2)
# The "hp" stanza above does not work with aCC (C++) and HP's ia64
# compilers, which have integrated preprocessors. The correct option
# to use with these is +Maked; it writes dependencies to a file named
# 'foo.d', which lands next to the object file, wherever that
# happens to be.
# Much of this is similar to the tru64 case; see comments there.
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
test "x$dir" = "x$object" && dir=
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
if test "$libtool" = yes; then
tmpdepfile1=$dir$base.d
tmpdepfile2=$dir.libs/$base.d
"$@" -Wc,+Maked
else
tmpdepfile1=$dir$base.d
tmpdepfile2=$dir$base.d
"$@" +Maked
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile1" "$tmpdepfile2"
exit $stat
fi
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
do
test -f "$tmpdepfile" && break
done
if test -f "$tmpdepfile"; then
sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
# Add `dependent.h:' lines.
sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile"
else
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile" "$tmpdepfile2"
;;
tru64)
# The Tru64 compiler uses -MD to generate dependencies as a side
# effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
# dependencies in `foo.d' instead, so we check for that too.
# Subdirectories are respected.
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
test "x$dir" = "x$object" && dir=
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
if test "$libtool" = yes; then
# With Tru64 cc, shared objects can also be used to make a
# static library. This mechanism is used in libtool 1.4 series to
# handle both shared and static libraries in a single compilation.
# With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
#
# With libtool 1.5 this exception was removed, and libtool now
# generates 2 separate objects for the 2 libraries. These two
# compilations output dependencies in $dir.libs/$base.o.d and
# in $dir$base.o.d. We have to check for both files, because
# one of the two compilations can be disabled. We should prefer
# $dir$base.o.d over $dir.libs/$base.o.d because the latter is
# automatically cleaned when .libs/ is deleted, while ignoring
# the former would cause a distcleancheck panic.
tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
tmpdepfile2=$dir$base.o.d # libtool 1.5
tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
"$@" -Wc,-MD
else
tmpdepfile1=$dir$base.o.d
tmpdepfile2=$dir$base.d
tmpdepfile3=$dir$base.d
tmpdepfile4=$dir$base.d
"$@" -MD
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
exit $stat
fi
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
do
test -f "$tmpdepfile" && break
done
if test -f "$tmpdepfile"; then
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
# That's a tab and a space in the [].
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
else
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
#nosideeffect)
# This comment above is used by automake to tell side-effect
# dependency tracking mechanisms from slower ones.
dashmstdout)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout, regardless of -o.
"$@" || exit $?
# Remove the call to Libtool.
if test "$libtool" = yes; then
while test $1 != '--mode=compile'; do
shift
done
shift
fi
# Remove `-o $object'.
IFS=" "
for arg
do
case $arg in
-o)
shift
;;
$object)
shift
;;
*)
set fnord "$@" "$arg"
shift # fnord
shift # $arg
;;
esac
done
test -z "$dashmflag" && dashmflag=-M
# Require at least two characters before searching for `:'
# in the target name. This is to cope with DOS-style filenames:
# a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
"$@" $dashmflag |
sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
tr ' ' '
' < "$tmpdepfile" | \
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
dashXmstdout)
# This case only exists to satisfy depend.m4. It is never actually
# run, as this mode is specially recognized in the preamble.
exit 1
;;
makedepend)
"$@" || exit $?
# Remove any Libtool call
if test "$libtool" = yes; then
while test $1 != '--mode=compile'; do
shift
done
shift
fi
# X makedepend
shift
cleared=no
for arg in "$@"; do
case $cleared in
no)
set ""; shift
cleared=yes ;;
esac
case "$arg" in
-D*|-I*)
set fnord "$@" "$arg"; shift ;;
# Strip any option that makedepend may not understand. Remove
# the object too, otherwise makedepend will parse it as a source file.
-*|$object)
;;
*)
set fnord "$@" "$arg"; shift ;;
esac
done
obj_suffix="`echo $object | sed 's/^.*\././'`"
touch "$tmpdepfile"
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
sed '1,2d' "$tmpdepfile" | tr ' ' '
' | \
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile" "$tmpdepfile".bak
;;
cpp)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout.
"$@" || exit $?
# Remove the call to Libtool.
if test "$libtool" = yes; then
while test $1 != '--mode=compile'; do
shift
done
shift
fi
# Remove `-o $object'.
IFS=" "
for arg
do
case $arg in
-o)
shift
;;
$object)
shift
;;
*)
set fnord "$@" "$arg"
shift # fnord
shift # $arg
;;
esac
done
"$@" -E |
sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
-e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
sed '$ s: \\$::' > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
cat < "$tmpdepfile" >> "$depfile"
sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
msvisualcpp)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout, regardless of -o,
# because we must use -o when running libtool.
"$@" || exit $?
IFS=" "
for arg
do
case "$arg" in
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
set fnord "$@"
shift
shift
;;
*)
set fnord "$@" "$arg"
shift
shift
;;
esac
done
"$@" -E |
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
echo " " >> "$depfile"
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
rm -f "$tmpdepfile"
;;
none)
exec "$@"
;;
*)
echo "Unknown depmode $depmode" 1>&2
exit 1
;;
esac
exit 0
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:

16
doc/CMakeLists.txt Normal file
View File

@@ -0,0 +1,16 @@
cmake_minimum_required (VERSION 2.8)
message ("-- Configuring man pages")
set (man_FILES task-color.5 task-faq.5 task-sync.5 task-tutorial.5 task.1 taskrc.5)
foreach (man_FILE ${man_FILES})
configure_file (
man/${man_FILE}.in
man/${man_FILE})
endforeach (man_FILE)
install (DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/man/ DESTINATION ${TASK_MAN1DIR}
FILES_MATCHING PATTERN "*.1")
install (DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/man/ DESTINATION ${TASK_MAN5DIR}
FILES_MATCHING PATTERN "*.5")
install (DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/rc DESTINATION ${TASK_DOCDIR})
install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/ref/task-ref.pdf DESTINATION ${TASK_DOCDIR})

6
doc/man/.gitignore vendored Normal file
View File

@@ -0,0 +1,6 @@
task-color.5
task-faq.5
task-sync.5
task-tutorial.5
task.1
taskrc.5

336
doc/man/task-color.5.in Normal file
View File

@@ -0,0 +1,336 @@
.TH task-color 5 2012-09-18 "${PACKAGE_STRING}" "User Manuals"
.SH NAME
task-color \- A color tutorial for the taskwarrior command line todo manager.
.SH SETUP
The first thing you need is a terminal program that supports color. All
terminal programs support color, but only a few support lots of colors. First
tell your terminal program to use color by specifying the TERM environment
variable like this:
TERM=xterm-color
In this example, xterm-color is used - a common value, and one that doesn't
require that you use xterm. This works for most setups. This setting belongs
in your shell profile (~/.bash_profile, ~/.bashrc, ~/.cshrc etc, depending on
which shell you use). If this is a new setting, you will need to either run
that profile script, or close and reopen the terminal window (which does the
same thing).
Now tell taskwarrior that you want to use color. This is the default for
taskwarrior, so the following step may be unnecessary.
$ task config color on
This command will make sure there is an entry in your ~/.taskrc file that looks
like:
color=on
Now taskwarrior is ready.
.SH AUTOMATIC MONOCHROME
It should be mentioned that taskwarrior is aware of whether its output is going
to a terminal, or to a file or through a pipe. When taskwarrior output goes to
a terminal, color is desirable, but consider the following command:
$ task list > file.txt
Do we really want all those color control codes in the file? Taskwarrior
assumes that you do not, and temporarily sets color to 'off' while generating
the output. This explains the output from the following command:
$ task show | grep '^color '
color off
it always returns 'off', no matter what the setting, because the output is being
sent to a pipe.
If you wanted those color codes, you can override this behavior by setting the
_forcecolor variable to on, like this:
$ task config _forcecolor on
$ task config | grep '^color '
color on
or by temporarily overriding it like this:
$ task rc._forcecolor=on config | grep '^color '
color on
.SH AVAILABLE COLORS
Taskwarrior has a 'color' command that will show all the colors it is capable of
displaying. Try this:
$ task color
The output cannot be replicated here in a man page, but you should see a set of
color samples. How many you see depends on your terminal program's ability to
render them.
You should at least see the Basic colors and Effects - if you do, then you have
16-color support. If your terminal supports 256 colors, you'll know it!
.SH 16-COLOR SUPPORT
The basic color support is provided through named colors:
black, red, blue, green, magenta, cyan, yellow, white
Foreground color (for text) is simply specified as one of the above colors, or
not specified at all to use the default terminal text color.
Background color is specified by using the word 'on', and one of the above
colors. Some examples:
green # green text, default background color
green on yellow # green text, yellow background
on yellow # default text color, yellow background
These colors can be modified further, by making the foreground bold, or by
making the background bright. Some examples:
bold green
bold white on bright red
on bright cyan
The order of the words is not important, so the following are equivalent:
bold green
green bold
But the 'on' is important - colors before the 'on' are foreground, and colors
after 'on' are background.
There is an additional 'underline' attribute that may be used:
underline bright red on black
And an 'inverse' attribute:
inverse red
Taskwarrior has a command that helps you visualize these color combinations.
Try this:
$ task color underline bright red on black
You can use this command to see how the various color combinations work. You
will also see some sample colors displayed, like the ones above, in addition to
the sample requested.
Some combinations look very nice, some look terrible. Different terminal
programs do implement slightly different versions of 'red', for example, so you
may see some unexpected variation across machines. The brightness of your
display is also a factor.
.SH 256-COLOR SUPPORT
Using 256 colors follows the same form, but the names are different, and some
colors can be referenced in different ways. First there is by color ordinal,
which is like this:
color0
color1
color2
...
color255
This gives you access to all 256 colors, but doesn't help you much. This range
is a combination of 8 basic colors (color0 - color7), then 8 brighter variations
(color8 - color15). Then a block of 216 colors (color16 - color231). Then a
block of 24 gray colors (color232 - color255).
The large block of 216 colors (6x6x6 = 216) represents a color cube, which can
be addressed via RGB values from 0 to 5 for each component color. A value of 0
means none of this component color, and a value of 5 means the most intense
component color. For example, a bright red is specified as:
rgb500
And a darker red would be:
rgb300
Note that the three digits represent the three component values, so in this
example the 5, 0 and 0 represent red=5, green=0, blue=0. Combining intense red
with no green and no blue yields red. Similarly, blue and green are:
rgb005
rgb050
Another example - bright yellow - is a mix of bright red and bright green, but
no blue component, so bright yellow is addressed as:
rgb550
A soft pink would be addressed as:
rgb515
See if you agree, by running:
$ task color black on rgb515
You may notice that the large color block is represented as 6 squares. All
colors in the first square have a red value of 0. All colors in the 6th square
have a red value of 5. Within each square, blue ranges from 0 to 5 left to
right, and within each square green ranges from 0 to 5, top to bottom. This
scheme takes some getting used to.
The block of 24 gray colors can also be accessed as gray0 - gray23, in a
continuous ramp from black to white.
.SH MIXING 16- AND 256-COLORS
If you specify 16-colors, and view on a 256-color terminal, no problem. If you
try the reverse, specifying 256-colors and viewing on a 16-color terminal, you
will be disappointed, perhaps even appalled.
There is some limited color mapping - for example, if you were to specify this
combination:
red on gray3
you are mixing a 16-color and 256-color specification. Taskwarrior will map red
to color1, and proceed. Note that red and color1 are not quite the same tone.
Note also that there is no bold or bright attributes when dealing with 256
colors, but there is still underline available.
.SH LEGEND
Taskwarrior will show examples of all defined colors used in your .taskrc, or
theme, if you run this command:
$ task color legend
This gives you an example of each of the colors, so you can see the effect,
without necessarily creating a set of tasks that meet each of the rule criteria.
.SH RULES
Taskwarrior supports colorization rules. These are configuration values that
specify a color, and the conditions under which that color is used. By example,
let us add a few tasks:
$ task add project:Home priority:H pay the bills (1)
$ task add project:Home clean the rug (2)
$ task add project:Garden clean out the garage (3)
We can add a color rule that uses a blue background for all tasks in the Home
project:
$ task config color.project.Home 'on blue'
We use quotes around 'on blue' because there are two words, but they represent
one value in the .taskrc file. Now suppose we wish to use a bold yellow text
color for all cleaning work:
$ task config color.keyword.clean 'bold yellow'
Now what happens to task 2, which belongs to project Home (blue background), and
is also a cleaning task (bold yellow foreground)? The colors are combined, and
the task is shown as "bold yellow on blue".
Color rules can be applied by project and description keyword, as shown, and
also by priority (or lack of priority), by active status, by being due or
overdue, by being tagged, or having a specific tag (perhaps the most useful
rule) or by being a recurring task.
It is possible to create a very colorful mix of rules. With 256-color support,
those colors can be made subtle, and complementary, but without care, this can
be a visual mess. Beware!
The precedence for the color rules is determined by the configuration
variable 'rule.precedence.color', which by default contains:
due.today,active,blocked,overdue,due,keyword.,project.,tag.,recurring,pri.,tagged,completed,deleted
These are just the color rules with the 'color.' prefix removed. The
rule 'color.due.today' is the highest precedence, and 'color.deleted' is the lowest.
The keyword rule shown here as 'keyword.' corresponds to a wildcard pattern,
meaning 'color.keyword.*', or in other words all the keyword rules. Similarly
for the 'color.tag.*' and 'color.project.*' rules.
There is also 'color.project.none', 'color.tag.none' and 'color.pri.none' to
specifically represent missing data.
.SH THEMES
Taskwarrior supports themes. What this really means is that with the ability to
include other files into the .taskrc file, different sets of color rules can
be included.
To get a good idea of what a color theme looks like, try adding this entry to
your .taskrc file (note that your installation may use a slightly different path
from the example):
.RS
include /usr/local/share/doc/task/rc/dark-256.theme
.RE
You can use any of the standard taskwarrior themes:
.RS
dark-16.theme
.br
dark-256.theme
.br
dark-blue-256.theme
.br
dark-gray-256.theme
.br
dark-green-256.theme
.br
dark-red-256.theme
.br
dark-violets-256.theme
.br
dark-yellow-green.theme
.br
light-16.theme
.br
light-256.theme
.br
solarized-dark-256.theme
.br
solarized-light-256.theme
.RE
You can also see how the theme will color the various tasks with the command:
$ task color legend
Better yet, create your own, and share it. We will gladly host the theme file
on <http://taskwarrior.org>.
.SH "CREDITS & COPYRIGHTS"
Copyright (C) 2006 \- 2012 P. Beckingham, F. Hernandez.
Taskwarrior is distributed under the MIT license. See
http://www.opensource.org/licenses/mit-license.php for more information.
.SH SEE ALSO
.BR task(1),
.BR taskrc(5),
.BR task-faq(5),
.BR task-tutorial(5),
.BR task-sync(5)
For more information regarding taskwarrior, the following may be referenced:
.TP
The official site at
<http://taskwarrior.org>
.TP
The official code repository at
<git://tasktools.org/task.git/>
.TP
You can contact the project by writing an email to
<support@taskwarrior.org>
.SH REPORTING BUGS
.TP
Bugs in taskwarrior may be reported to the issue-tracker at
<http://taskwarrior.org>

398
doc/man/task-faq.5.in Normal file
View File

@@ -0,0 +1,398 @@
.TH task-faq 5 2012-09-18 "${PACKAGE_STRING}" "User Manuals"
.SH NAME
task-faq \- A FAQ for the task(1) command line todo manager.
.SH WELCOME
Welcome to the taskwarrior FAQ. If you would like to see a question answered
here, please send us a note to <support@taskwarrior.org>.
.TP
.B Q: When I redirect the output to a file, I lose all the colors. How do I fix this?
Taskwarrior knows when the output is not going directly to a terminal, and
strips out all the color control characters. This is based on the assumption
that the color control codes are not wanted in the file. Prevent this with the
following entry in your .taskrc file:
_forcecolor=on
or by temporarily overriding the value on the command line:
task ... rc._forcecolor=on
There is an additional problem when using pagers such as 'less' and 'more', because
color control codes are stripped. When using less, these options will preserve
the color codes:
task ... | less -FrX
There have been problems reported with the Linux 'more' pager, which inserts
newline characters.
.TP
.B Q: How do I backup my taskwarrior data files? Where are they?
Taskwarrior writes all data to files in this location:
~/.task/
You may have overridden this location with the 'data.location' configuration
setting, in which case backup that instead. All files in this location should
be backed up. Making sure all the files in this location are backed up, and not
just a named subset will ensure that you properly backup future versions of
taskwarrior, which will likely introduce more files in this location.
Don't forget there is also the ~/.taskrc file that contains your taskwarrior
configuration data.
.TP
.B Q: How can I separate my work tasks from my home tasks? Specifically, can I keep them completely separate?
You can do this by creating an alternate .taskrc file, then using shell
aliases. Here are example Bash commands to achieve this:
% cp ~/.taskrc ~/.taskrc_home
% (now edit .taskrc_home to change the value of data.location)
% alias wtask="task"
% alias htask="task rc:~/.taskrc_home"
This gives you two commands, 'wtask' and 'htask' that operate using two
different sets of task data files. Bash shell functions are a good alternative.
.TP
.B Q: Can I revert to a previous version of taskwarrior? How?
Yes, you can revert to a previous version of task, simply by downloading an
older version and installing it. If you find a bug in task, then this may be the
only way to work around the bug, until a patch release is made.
Note that it is possible that the taskwarrior file format will change. For
example, the format changed between versions 1.5.0 and 1.6.0. Taskwarrior will
automatically upgrade the file but if you need to revert to a previous version
of taskwarrior, there is the file format to consider. This is yet another good
reason to back up your task data files!
.TP
.B Q: Can I have two separate versions of taskwarrior installed? How?
Yes, and here is one simple way to do that. Install the older version of
taskwarrior, and then rename the 'task' binary to something like 't194' to
reflect the version number. Then install the newer version, which will be
named 'task'. Now you have 't194' and 'task' both installed, both using the
same configuration and data.
Note that the older version will not be aware of any new configuration settings
and so will complain about them in the 'show' command. This can be ignored.
Likewise the newer version may complain about obsolete entries in the
configuration.
Note also that the man pages will overwrite, which is why it is suggested that
the older version be installed first, so that you benefit from improved
documentation.
.TP
.B Q: How do I build a Darwin 32bit version of task
The taskwarrior packages will not work on a 32-bit OSX installation on Core
Duo hardware. You will need to build Taskwarrior from source, and use this
configure command:
./configure "CFLAGS=-m32" "CXXFLAGS=-m32" "LDFLAGS=-m32"
See: http://taskwarrior.org/issues/817
http://stackoverflow.com/questions/3261909/build-32bit-on-64-bit-linux-using-a-configure-script
.TP
.B Q: How do I build taskwarrior under Cygwin?
Take a look at the README.build file, where the latest information on build
issues is kept. Taskwarrior is built the same way everywhere. But under Cygwin,
you'll need to make sure you have the following packages available first:
gcc
make
The gcc and make packages allow you to compile the code, and are therefore
required.
.TP
.B Q: Do colors work under Cygwin?
They do, but only in a limited way. You can use regular foreground colors
(black, red, green ...) and regular background colors (on_black, on_red,
on_green ...), but underline and bold are not supported.
If you run the command:
% task colors
Taskwarrior will display all the colors it can use, and you will see which ones
you can use.
Note that if you install the 'mintty' shell in Cygwin, then you can use 256
colors.
See the 'man task-color' page for more details on which colors can be used.
.TP
.B Q: Where does taskwarrior store the data?
By default, taskwarrior creates a .taskrc file in your home directory and
populates it with defaults. Taskwarrior also creates a .task directory in your
home directory and puts data files there.
.TP
.B Q: Can I edit that data?
Of course you can. It is a simple text file, and looks somewhat like the JSON
format, and if you are careful not to break the format, there is no reason not
to edit it. But taskwarrior provides a rich command set to do that manipulation
for you, so it is probably best to leave those files alone.
.TP
.B Q: How do I restore my .taskrc file to defaults?
If you delete (or rename) your .taskrc file, taskwarrior will offer to create a
default one for you. Another way to do this is with the command:
task rc:new-file version
Taskwarrior will create 'new-file' if it doesn't already exist. There will not
be much in it though - taskwarrior relies heavily on default values, which can
be seen with this command:
task show
This lists all the currently known settings. If you have just created a
new file, then this command lists only the defaults.
Note that this is a good way to learn about new configuration settings,
particularly if your .taskrc file was created by an older version.
.TP
.B Q: Do I need to back up my taskwarrior data?
Yes you do, like all your other files. You should back up all the files in your
~/.task directory, and your ~/.taskrc file too.
.TP
.B Q: Can I share my tasks between different machines?
Yes, you can. Most people have success with a DropBox - a free and secure file
synching tool. Simply configure taskwarrior to store it's data in a dropbox
folder, by modifying the:
data.location=...
configuration variable. Check out DropBox at http://www.dropbox.com.
You might also want to share the same .taskrc file. You can do this by putting an alias in the .bashrc file along the lines of
alias task="task rc:/home/username/Dropbox/mysharedtaskrc"
An alternative to Dropbox is to use the push/pull/merge features built into Taskwarrior. See 'man task-sync' for details.
.TP
.B Q: I don't want to use dropbox. Is there another way to synchronize my tasks?
Of course. Especially if you want to modify tasks offline on both machines and
synchronize them later on. For this purpose there is a 'merge' command which is
is able to insert the modifications you made to one of your task databases into
a second database.
Here is a basic example of the procedure:
task merge ssh://user@myremotehost/.task/
task push ssh://user@myremotehost/.task/
The first command fetches the undo.data file from the remote system, reads the
changes made and updates the local database. When this merge command completes,
you should copy all the local .data files to the remote system either by using
the push command explicitly or by activating the merge.autopush feature in the
~/.taskrc file. This way you ensure that both systems are fully synchronized.
.TP
.B Q: The undo.data file gets very large - do I need it?
You need it if you want the undo capability, or the merge capability mentioned
above. But if it gets large, you can certainly truncate it to save space, just
be careful to delete lines from the top of the file, up to and including a
separator '---'. The simplest way is to simply delete the undo.data file. Note
that it does not slow down taskwarrior in performance-sensitive areas, because
it is typically not read until you want to undo, or report total active time in
the 'info' command. Taskwarrior generally only appends to the file.
It is not recommended that you delete the undo.data file, as it limits
functionality.
.TP
.B Q: How do I know whether my terminal supports 256 colors?
You will need to make sure your TERM environment variable is set to xterm-color,
otherwise the easiest way is to just try it! With version 1.9 or later, you
simply run
task color
and a full color palette is displayed. If you see only 8 or 16 colors, perhaps
with those colors repeated, then your terminal does not support 256 colors.
See the task-color(5) man page for more details.
.TP
.B Q: How do I make use of all these colors?
Use one of our provided color themes, or create your own - after all, they are
just collections of color settings.
See the task-color(5) man page for an in-depth explanation of the color rules.
.TP
.B Q: How can I make taskwarrior put the command in the terminal window title?
Just set the following value in your .taskrc file:
xterm.title=on
.TP
.B Q: Taskwarrior searches in a case-sensitive fashion - can I change that?
You can. Just set the following value in your .taskrc file:
search.case.sensitive=no
This will affect searching for keywords:
task Document list
taskwarrior will perform a caseless search in the description and any
annotations for the keyword 'Document'. It also affects description and
annotation substitutions:
task 1 modify /teh/the/
The pattern on the left will now be a caseless search term.
.TP
.B Q: Why do the ID numbers change?
Taskwarrior does this to always show you the smallest numbers it can. The idea
is that if your tasks are numbered 1 - 33, for example, those are easy to type
in. If instead task kept a rolling sequence number, after a while your tasks
might be numbered 481 - 513, which makes it more likely to enter one
incorrectly, because there are more digits.
When you run a report (such as "list"), the numbers are assigned before display.
For example, you can do this:
task list
task 12 done
task add Pay the rent
task 31 delete
Those id numbers are then good until the next report is run. This is because
taskwarrior performs a garbage-collect operation on the pending tasks file when
a report is run, which moves the deleted and completed tasks from the
pending.data file to the completed.data file. This keeps the pending tasks file
small, and therefore keeps taskwarrior fast. The completed data file is the one
that grows unbounded with use, but that one isn't accessed as much, so it
doesn't matter as much. So in all, the ID number resequencing is about
efficiency.
.TP
.B Q: How do I list tasks that are either priority 'H' or 'M', but not 'L'?
Taskwarrior's filters are all by default combined with an implicit logical AND
operator, so if you were to try this:
task priority:H priority:M list
There would be no results, because the priority could not simultaneously be 'H'
AND 'M'. Instead, you have a choice. You can do this:
task '(priority:H or priority:M)' list
Note that the quotes are one way of escaping the ( ) characters that are
otherwise interpreted by the shell before taskwarrior sees them. You can also
do this:
task priority.not:L priority.any: list
This filter states that the priority must not be 'L', AND there must be a
priority assigned. This filter then properly lists tasks that are 'H' or 'M',
because the two logical restrictions are not mutually exclusive as in the
original filter.
Some of you may be familiar with DeMorgan's laws of formal logic that relate
the AND and OR operators in terms of each other via negation, which can be used
to construct task filters.
.TP
.B Q: How do I delete an annotation?
Taskwarrior now has a 'denotate' command to remove annotations. Here is an
example:
task add Original task
task 1 annotate foo
task 1 annotate bar
task 1 annotate foo bar
Now to delete the first annotation, use:
task 1 denotate foo
This takes the fragment 'foo' and compares it to each of the annotations. In
this example, it will remove the first annotation, not the third, because it is
an exact match. If there are no exact matches, it will remove the first
non-exact match:
task 1 denotate ar
This will remove the second annotation - the first non-exact match.
.TP
.B Q: How do I show tasks completed on a certain day?
The day in question has to be boxed by a range, like this:
task end.after:3/29/2012 end.before:3/30/2012 completed
Note that a single date, such as 3/29/2012 does not refer to a whole day, but
to a single point in time, 3/20/2012 0:00:00.
.TP
.B Q: Why Lua as an extension language?
Lua has many positive attributes:
- Lua is written using tight, fast, standard C
- Lua is a breeze to integrate into any product
- The Lua source code is beautifully written
- Lua is a small language
Guile, Scheme and Neko were also considered.
.TP
.B Q: How can I help?
There are lots of ways. Here are some:
- Provide feedback on what works, what does not
- Tell us how task does or does not fit your workflow
- Tell people about task
- Report bugs when you see them
- Contribute to our Wiki
- Suggest features
- Write unit tests
- Write add-on scripts, and share them
- Fix bugs
.SH "CREDITS & COPYRIGHTS"
Copyright (C) 2006 \- 2012 P. Beckingham, F. Hernandez.
Taskwarrior is distributed under the MIT license. See
http://www.opensource.org/licenses/mit-license.php for more information.
.SH SEE ALSO
.BR task(1),
.BR taskrc(5),
.BR task-tutorial(5),
.BR task-color(5),
.BR task-sync(5)
For more information regarding task, the following may be referenced:
.TP
The official site at
<http://taskwarrior.org>
.TP
The official code repository at
<git://tasktools.org/task.git/>
.TP
You can contact the project by writing an email to
<support@taskwarrior.org>
.SH REPORTING BUGS
.TP
Bugs in taskwarrior may be reported to the issue-tracker at
<http://taskwarrior.org>

388
doc/man/task-sync.5.in Normal file
View File

@@ -0,0 +1,388 @@
.TH task-sync 5 2012-09-18 "${PACKAGE_STRING}" "User Manuals"
.SH NAME
task-sync \- A tutorial for the task(1) data synchronization capabilities.
.SH DESCRIPTION
Taskwarrior has built-in support for synchronization, which can be used to keep
two task databases up to date, regardless of which one is used. This capability
can also be used to keep a backup copy of your task database on another machine.
Taskwarrior can use various protocols for transferring the data.
.SH HOW IT WORKS
If you were to manually attempt to keep two separate task databases up to date,
you would need to inspect both databases, and detect changes that occurred in
each one. Those changes would need to be migrated to the other database, while
being careful not to miss a change, and not to confuse an 'add' in one with
a 'delete' in the other.
The synchronization feature does just this. It can transfer task databases,
compare tasks, and apply changes where necessary.
.SH NEW COMMANDS
Taskwarrior has 'pull', 'push' and 'merge' commands which perform the steps
necessary to move files around and combine them. In the common use case, you
would only need to use the 'merge' command. These commands take an argument
that is a URI, which indicates where the remote database resides.
To be clear, the local database always refers to your ~/.task directory (unless
overridden), and the remote database is always specified by URI.
.SH MERGE
The merge command will fetch task data via URI and combine it with the local
task database. The syntax is:
.br
.RS
task merge [<URI>]
.RE
The URI is optional if the
.B merge.default.uri
configuration variable is set. The URI may point to a different directory, or
it may be a different computer. Here is an example of the merge command:
.br
.RS
$ task merge ~/work/
.RE
This URI (~/work/) is a path name, which means the remote database is on the
same computer. Taskwarrior will fetch the data from the URI, and merge it with
your local data in ~/.task.
When complete, you will be asked whether you would like to push the combined
data back to the remote location specified by the URI. This is useful if you
are keeping two task databases synchronized, but it can be turned off. See
CONFIGURATION.
Note that a merge operation is not atomically reversible. You could however
run the 'task undo' command repeatedly to undo the effects.
.SH PUSH
The push command will copy the local task database to the specified URI. The
syntax is:
.br
.RS
task push [<URI>]
.RE
The URI is optional if the
.B push.default.uri
configuration variable is set. This command is useful for making backup copies
of your task database.
Note that the task files at the location specified by the URI are simply
overwritten, so don't expect any merging to occur. Misused, push can be
dangerous.
.SH PULL
The pull command will copy a task database from a URI to the local task database
(~/.task by default). The syntax is:
.br
.RS
task pull [<URI>]
.RE
The URI is optional if the
.B pull.default.uri
configuration variable is set. This command is useful for restoring a backup
copy of your task database.
Note that your local task database files will be simply overwritten by the files
obtained from the location specified by the URI, so don't expect any merging to
occur. Misused, pull can be dangerous.
.SH URI TYPES
The most basic URI is a path name on the local machine. An example would be:
.br
.RS
/home/bob/.task/
.RE
All the other URIs allow access to remote machines. The first uses SSH and scp
(either form can be used):
.br
.RS
ssh://[user@]host[:port]/absolute/path/to/.task/
.br
[user@]host:/absolute/path/to/.task/
.RE
In both cases paths are considered to be absolute. You can specify paths relative to the
users home directory as follows:
.br
.RS
ssh://[user@]host[:port]/.task/
.br
[user@]host:.task/
.RE
or even shorter
.br
.RS
[user@]host:.task/
.RE
Remark: Since taskwarrior simply calls the scp binary you can specify very much anything
that scp would accept, e.g. host configurations from ~/.ssh/config or ~username
expansion:
.br
.RS
ssh://configured-host/~[username]/.task/
.br
configured-host:~[username]/.task/
.RE
Rsync is another supported protocol that minimizes network traffic, by a clever
algorithm that doesn't copy files that have not changed:
.br
.RS
rsync://[user@]host.xz[:port]/path/to/.task/
.RE
Curl supports several protocols that can transfer data using HTTP, HTTPS and
FTP:
.br
.RS
http://host[:port]/path/to/.task/
.br
https://host[:port]/path/to/.task/
.br
ftp://[user@]host[:port]/path/to/.task/
.RE
You can use single quotes to encapsulate user names that contain delimiting
characters like '@', '/' or ':', e.g.:
.br
.RS
ssh://'user@name'@host/
.RE
Remember to escape the quotes on your shell:
.br
.RS
$ task push ftp://\'user@name\':host/
.RE
.SH CONFLICTS
When modifications on the local and remote machine conflict, for example if
both machines change the project name of the same task to different values,
then Taskwarrior automatically selects the most recent change. Thus, there
are no conflicts.
.SH EXAMPLE - Backup on another machine
One very good use of 'push' is to make backup copies of your task database in
another location. Suppose your task database is kept in the usual place, in
the ~/.task directory, and you wanted to make a backup copy in ~/backup. You
would use this command:
.br
.RS
$ task push ~/backup/
.RE
This would copy the files in ~/.task to ~/backup, overwriting the files that
were already in ~/backup. To backup your files to another machine, you could
use:
.br
.RS
$ task push user@host:backup
.RE
This could be improved by setting the
.B push.default.uri
configuration variable and then relying on the default, like this:
.br
.RS
$ task config push.default.uri user@host:backup
.RE
and then you need only run the push command:
.br
.RS
$ task push
.RE
and the default push URI will be used. If you wanted to restore a backup, you
simply use the pull command instead:
.br
.RS
$ task pull user@host:backup
.RE
This can be simplified by setting the
.B pull.default.uri
configuration variable and then relying on the default, like this:
.br
.RS
$ task config pull.default.uri user@host:backup
.RE
Note that pull and push will blindly overwrite the task files without any
merging. Be careful.
.SH EXAMPLE - Keeping two task databases synchronized
The most common synchronization will be to keep two task databases synchronized
on different machines. Here is a full example, including setup that illustrates
this.
Suppose there are two machines, named 'local' and 'remote', for simplicity.
Taskwarrior is installed on both machines. The different machines are
indicated here by the prompt. Suppose Alice enters two tasks on her local
machine:
.br
.RS
local> task add Deliver the new budget proposal due:tuesday
.br
local> task add Set up a meeting with Bob
.RE
Then later adds a task on the remote machine:
.br
.RS
remote> task add Present the budget proposal at the big meeting due:thursday
.RE
Now on the local machine, Alice merges the two task databases:
.br
.RS
local> task merge alice@remote:.task
.br
Would you like to push the changes to 'alice@remote:.task'? Y
.RE
Taskwarrior has combined the two task databases on local, then pushed the
changes back to remote. Now suppose Alice changes the due date for task 1
on remote:
.br
.RS
remote> task 1 due:wednesday
.RE
Now on the local machine, Alice sets up a default URI and autopush:
.br
.RS
local> task config merge.default.uri alice@remote:.task
.br
local> task config merge.autopush yes
.RE
Now Alice can simply run merge to make sure that the new due date is copied to
the local machine:
.br
.RS
local> task merge
.RE
This time the URI is determined automatically, and after the merge the files are
pushed back to the remote machine. In a similar way, the remote machine can
also be configured to merge from the local machine and push back to it. Then it
is just a matter of Alice remembering to merge now and then, from either
machine, to have her data in two (or even more) places.
.SH CONFIGURATION
By setting these configuration variables, it is possible to simplify the
synchronization commands, by relying on the defaults or alias names.
.br
.B merge.autopush=yes|no|ask
.RS
This controls whether the automatic push after a merge is performed, not
performed, or whether the user is asked every time. The default value is 'ask'.
.RE
.br
.B merge.default.uri=<uri>
.RS
Sets a default URI so that just the 'task merge' command be run without the
need to retype the URI every time. You can also use this configuration scheme
to set alias names, e.g. set merge.desktop.uri and run 'task merge desktop'.
.RE
.br
.B push.default.uri=<uri>
.RS
Sets a default URI so that just the 'task push' command be run without the
need to retype the URI every time. You can also use this configuration scheme
to set alias names, e.g. set push.desktop.uri and run 'task push desktop'.
.RE
.br
.B pull.default.uri=<uri>
.RS
Sets a default URI so that just the 'task pull' command be run without the
need to retype the URI every time. You can also use this configuration scheme
to set alias names, e.g. set pull.desktop.uri and run 'task pull desktop'.
.RE
Note that, when using SSH/scp, hostnames will be expanded due to the ssh
configuration file ~/.ssh/config.
.SH EXTERNAL DEPENDENCIES
Depending on the URI protocols used, the utilities 'scp', 'rsync' and 'curl'
must be installed and accessible via the $PATH environment variable.
If you have deleted your ~/.task/undo.data file to save space, you will be
unable to merge. The change transactions stored in the undo.data file are
used for synchronization.
.SH "CREDITS & COPYRIGHTS"
Copyright (C) 2006 \- 2012 P. Beckingham, F. Hernandez.
The sync capabilities were written by J. Schlatow.
Parts copyright (C) 2010 - 2012 J. Schlatow.
Taskwarrior is distributed under the MIT license. See
http://www.opensource.org/licenses/mit-license.php for more information.
.SH SEE ALSO
.BR task(1),
.BR taskrc(5),
.BR task-faq(5),
.BR task-color(5),
.BR task-tutorial(5),
.BR ssh_config(5)
For more information regarding task, the following may be referenced:
.TP
The official site at
<http://taskwarrior.org>
.TP
The official code repository at
<git://tasktools.org/task.git/>
.TP
You can contact the project by writing an email to
<support@taskwarrior.org>
.SH REPORTING BUGS
.TP
Bugs in task may be reported to the issue-tracker at
<http://taskwarrior.org>

3247
doc/man/task-tutorial.5.in Normal file

File diff suppressed because it is too large Load Diff

1064
doc/man/task.1.in Normal file

File diff suppressed because it is too large Load Diff

1343
doc/man/taskrc.5.in Normal file

File diff suppressed because it is too large Load Diff

16
doc/misc/themes/README Normal file
View File

@@ -0,0 +1,16 @@
Themes
To generate samples of themes, first execute the 'run' script to generate the
sample data. Note that this data may need to be tweaked to include qualities
that need to be illustrated in theme sample.
Then edit the 'rc' file to include the desired theme file.
Then run 'per' once per theme, and capture the display.
Note that this will require that the terminal window be switched between a black
and white background to properly show the light and dark themes.
Note that for the solarized themes, the terminal color palette needs to be set
to specific colors.

8
doc/misc/themes/per Executable file
View File

@@ -0,0 +1,8 @@
echo '$ task list'
task rc:rc list | grep -v alternate
echo '$ task summary'
task rc:rc summary | grep -v alternate
echo '$ task ghistory'
task rc:rc ghistory | grep -v alternate
echo '$ task calendar'
task rc:rc calendar | grep -v alternate

47
doc/misc/themes/run Executable file
View File

@@ -0,0 +1,47 @@
rm pending.data completed.data undo.data rc
cat <<EOF >>rc
data.location=.
confirmation=off
_forcecolor=on
#include ~/task-2.0.0.git/doc/rc/light-16.theme
#include ~/task-2.0.0.git/doc/rc/dark-16.theme
#include ~/task-2.0.0.git/doc/rc/light-256.theme
#include ~/task-2.0.0.git/doc/rc/dark-256.theme
#include ~/task-2.0.0.git/doc/rc/dark-gray-256.theme
#include ~/task-2.0.0.git/doc/rc/dark-red-256.theme
#include ~/task-2.0.0.git/doc/rc/dark-green-256.theme
#include ~/task-2.0.0.git/doc/rc/dark-blue-256.theme
include ~/task-2.0.0.git/doc/rc/dark-violets-256.theme
#include ~/task-2.0.0.git/doc/rc/dark-yellow-green.theme
#include ~/task-2.0.0.git/doc/rc/solarized-dark-256.theme
#include ~/task-2.0.0.git/doc/rc/solarized-light-256.theme
EOF
task rc:rc add Ordinary task
task rc:rc add Started task
task rc:rc 2 start
task rc:rc add High priority task pri:H
task rc:rc add Medium priority task pri:M
task rc:rc add Low priority task pri:L
task rc:rc add Household task project:Home
task rc:rc add Outdoor task project:Garden
task rc:rc add Overdue task due:yesterday
task rc:rc add Due task due:tomorrow
task rc:rc add Not yet due tasks due:2/14/2012
task rc:rc add Recurring task due:eom recur:monthly
task rc:rc add Tagged task +tag1
task rc:rc add Blocking task
task rc:rc add Dependent task
task rc:rc log Completed_1 project:Garden
task rc:rc log Completed_2 project:Garden
task rc:rc log Completed_3 project:Home
task rc:rc add Deleted_1
task rc:rc 14 mod depends:13
task rc:rc 15 delete

533
doc/misc/tutorial/active/run.200 Executable file
View File

@@ -0,0 +1,533 @@
#! /bin/bash
rm -f /Users/paul/.task/pending.data /Users/paul/.task/completed.data /Users/paul/.task/undo.data
echo 'data.location=~/.task' > /Users/paul/.taskrc
echo 'color=off' >> /Users/paul/.taskrc
echo 'color.summary.background=on gray3' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-red-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-256.theme' >> /Users/paul/.taskrc
# 1 Intro
# 2 Basic usage
echo Basic usage --------------------------------------------------------------
echo $ task add Select a free weekend in November
task add Select a free weekend in November
echo $ task add Select and book a venue
task add Select and book a venue
echo $ task add Come up with a guest list
task add Come up with a guest list
echo $ task add Mail invitations
task add Mail invitations
echo $ task add Select a caterer
task add Select a caterer
echo $ task list
task list
echo $ task log Order a special cake
task log Order a special cake
echo $ task 4 duplicate /Mail/Design/
task 4 duplicate /Mail/Design/
echo $ task 4 duplicate /Mail/Print/
task 4 duplicate /Mail/Print/
echo $ task list
task list
echo $ task 3 done
task 3 done
echo $ task list
task list
# 3 Projects
echo Projects --------------------------------------------------------------
echo $ task add Pay teh rent on teh 31st
task add Pay teh rent on teh 31st
echo $ task 7 /teh/the/g
task 7 /teh/the/g
echo $ task list
task list
echo $ task 7 project:home
task 7 project:home
echo $ task 1-6 project:party
echo 'All' | task 1-6 project:party
echo $ task projects
task projects
echo $ task list project:home
task list project:home
echo $ task li pro:par
task li pro:par
# 4 Priorities
echo Priorities --------------------------------------------------------------
echo $ task 1-3,5 priority:H
echo 'All' | task 1-3,5 priority:H
echo $ task list
task list
echo $ task 3 pri:
task 3 pri:
# 5 Tags
echo Tags --------------------------------------------------------------
echo $ task list
task list
echo $ task 3,5,6 +mall
echo 'All' | task 3,5,6 +mall
echo $ task long
task long
echo $ task list +mall
task list +mall
echo $ task 3 -mall
task 3 -mall
# 6 Modifications
echo Modifications --------------------------------------------------------------
echo $ task 7 Pay rent at the end of the month
echo 'Yes' | task 7 Pay rent at the end of the month
echo $ task add music
task add music
echo $ task 8 prepend Select some
task 8 prepend Select some
echo $ task 8 append for after dinner
task 8 append for after dinner
echo $ task list
task list
echo $ task edit
#task edit
echo $ task add Hire a band?
#task add Hire a band?
echo $ task add Hire a band\?
#task add Hire a band\?
echo $ task add "Hire a band?"
#task add "Hire a band?"
echo $ task add -- Hire a band\? +dj
task add -- Hire a band\? +dj
echo $ task undo
echo 'y' | task undo
echo $ task 1 delete
echo 'y' | task 1 delete
echo $ task undo
echo 'y' | task undo
# 7 Info
echo Info --------------------------------------------------------------
echo $ task 1 info
task 1 info
echo $ task stats
task stats
# 8 Annotations
echo Annotations --------------------------------------------------------------
echo $ task 1 annotate the 13 looks good
task 1 annotate the 13 looks good
sleep 1
echo $ task 1 annotate or the 14th
task 1 annotate or the 14th
echo $ task list
task list
echo $ task list rc.annotations:full
task list rc.annotations:full
echo $ task list rc.annotations:sparse
task list rc.annotations:sparse
echo $ task list rc.annotations:none
task list rc.annotations:none
echo $ task 1 denotate 14th
task 1 denotate 14th
echo $ task list
task list
# 9 Configuration
echo Configuration --------------------------------------------------------------
echo $ task show
task show
echo $ task config answer forty-two
echo 'y' | task config answer forty-two
echo $ task show answer
task show answer
echo $ task config answer
echo 'y' | task config answer
echo $ task rc.report.list.sort=description+ list
task rc.report.list.sort=description+ list
# 10 Defaults
echo Defaults --------------------------------------------------------------
echo $ task config default.command list
echo 'y' | task config default.command list
echo $ task
task
echo $ task config default.priority H
echo 'y' | task config default.priority H
echo $ task config default.project Work
echo 'y' | task config default.project Work
echo $ task add New task
task add New task
echo $ task list
task list
echo $ task undo
echo 'y' | task undo
echo $ task config default.priority
echo 'y' | task config default.priority
echo $ task config default.project
echo 'y' | task config default.project
# 11 Aliases
echo Aliases --------------------------------------------------------------
echo $ task config alias.zzz list
echo 'y' | task config alias.zzz list
echo $ task zzz
task zzz
echo $ task z
task z
# 12 Color
echo Color --------------------------------------------------------------
echo $ task config color on
echo 'y' | task config color on
echo $ task list
task list
echo $ task 1 bg:on_red
task 1 bg:on_red
echo $ task list
task list
echo $ task 1 bg:
task 1 bg:
echo $ task color
task color
echo $ task color white on red
task color white on red
echo $ task color legend
task color legend
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
echo 'include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
sed 's/blue/red/' x >x2 && mv x2 x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
sed 's/red-//' x >x2 && mv x2 x
echo $ task list
task list
echo $ task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
echo $ man task-color
#man task-color
# 13 Active tasks
echo Active tasks --------------------------------------------------------------
echo $ task 2 start
task 2 start
echo $ task list
task list
echo $ task active
task active
echo $ task 2 stop
task 2 stop
echo $ task config journal.time on
task config journal.time on
echo $ task config rc.dateformat.xxx xxx
task config rc.dateformat.xxx xxx
echo $ task config dateformat.annotation 'Y/m/d H:N'
task config dateformat.annotation 'Y/m/d H:N'
echo $ task 2 start
task 2 start
echo $ task list venue
task list venue
echo $ task 2 stop
task 2 stop
echo $ task list venue
task list venue
# 14 Due dates
echo Due dates --------------------------------------------------------------
echo $ task 1 due:7/31/2010
task 1 due:7/31/2010
echo $ task 1 due:2wks
task 1 due:2wks
echo $ task 1 due:-2wks
task 1 due:-2wks
echo $ task 1 due:eom
task 1 due:eom
echo $ task 2 due:8th
task 2 due:8th
echo $ task 2 due:sunday
task 2 due:sunday
echo $ task 5 due:eow
task 5 due:eow
echo $ task list
task list
echo $ task overdue
task overdue
echo $ task rc.dateformat.report:Y-M-DTH:N:SZ list
task rc.dateformat.report:Y-M-DTH:N:SZ list
# 15 Calendar
echo Calendar --------------------------------------------------------------
echo $ task calendar
task calendar
echo $ vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
echo 'include /usr/local/share/doc/task/rc/holidays-US.rc' >> x
echo $ task calendar
task calendar
echo $ task cal 2010
task cal 2010
echo $ task rc.calendar.details:full cal
task rc.calendar.details:full cal
echo $ task rc.calendar.holidays:full cal
task rc.calendar.holidays:full cal
# 16 Recurrence
echo Recurrence --------------------------------------------------------------
echo $ task 7 info
task 7 info
echo $ task 7 due:eom recur:monthly
task 7 due:eom recur:monthly
echo $ task 7
task 7
echo $ task 7 until:eoy
task 7 until:eoy
echo $ task recurring
task recurring
echo $ task add Pay taxes due:4/15/2007 recur:yearly
task add Pay taxes due:4/15/2007 recur:yearly
echo $ task long
task long
echo $ task 11 delete
printf "y\ny\n" | task 11 delete # y, y
echo $ task list
task list
# 17 Shell
echo Shell --------------------------------------------------------------
echo $ task shell
#task shell
echo '> projects'
#> projects
echo '> tags'
#> tags
echo '> list'
#> list
echo '> quit'
#> quit
# 18 Special tags
echo Special tags --------------------------------------------------------------
echo $ task 6 +nocolor
task 6 +nocolor
echo $ task list
task list
echo $ task tags
task tags
echo $ task 6 -nocolor
task 6 -nocolor
# 19 Waiting
echo Waiting --------------------------------------------------------------
echo $ task add Look for new apartment due:eoy
task add Look for new apartment due:eoy
echo $ task list
task list
echo $ task 10 wait:12/1/2010
task 10 wait:12/1/2010
echo $ task list
task list
echo $ task waiting
task waiting
echo $ task add Do something in a few seconds
task add Do something in a few seconds
echo $ task 11 wait:5s
task 11 wait:5s
echo $ task list
task list
sleep 5
echo $ task list
task list
echo $ task 11 rc.confirmation:no delete
task 11 rc.confirmation:no delete
# 20 Dependencies
echo Dependencies --------------------------------------------------------------
echo $ task list pro:party
task list pro:party
echo $ task 3 depends:6
task 3 depends:6
echo $ task 6 dep:5
task 6 dep:5
echo $ task 2 dep:1
task 2 dep:1
echo $ task 5 dep:1,2
task 5 dep:1,2
echo $ task 4 dep:1
task 4 dep:1
echo $ task long pro:party
task long pro:party
echo $ task 5 dep:-1
task 5 dep:-1
echo $ task blocked
task blocked
echo $ task unblocked
task unblocked
echo $ task 1 info
task 1 info
echo $ task 2 info
task 2 info
echo $ task 2 done
echo 'y' | task 2 done
echo $ task 1 info
task 1 info
# 21 Reports
echo Reports --------------------------------------------------------------
echo $ task minimal
task minimal
echo $ task ls
task ls
echo $ task list
task list
echo $ task long
task long
echo $ task all
task all
echo $ task completed
task completed
echo $ task recurring
task recurring
echo $ task waiting
task waiting
echo $ task blocked
task blocked
echo $ task oldest
task oldest
echo $ task newest
task newest
echo $ task timesheet
task timesheet
echo $ task next
task next
# 22 Custom report
echo Custom report --------------------------------------------------------------
echo 'report.foo.description=My own report' >> x
echo 'report.foo.columns=id,entry,description' >> x
echo 'report.foo.labels=ID,Entered,Description' >> x
echo 'report.foo.sort=entry+,description+' >> x
echo 'report.foo.filter=status:pending' >> x
echo 'task help | grep foo'
task help | grep foo
echo $ task show report.foo
task show report.foo
echo $ task foo
task foo
# 23 Charts
echo Charts --------------------------------------------------------------
echo $ task history
task history
echo $ task history.annual
task history.annual
echo $ task ghistory
task ghistory
echo $ task ghistory.annual
task ghistory.annual
echo $ task summary
task summary
# 24 Advanced filters
echo Advanced filters --------------------------------------------------------------
echo $ task list
task list
echo $ task list invit
task list invit
echo $ task list description.contains:invit
task list description.contains:invit
echo $ task list desc.word:the
task list desc.word:the
echo $ task list desc.noword:invitations
task list desc.noword:invitations
echo $ task list pro:party
task list pro:party
echo $ task list pro.is:party
task list pro.is:party
echo $ task list pro.not:party
task list pro.not:party
echo $ task list pro:party priority.over:L
task list pro:party priority.over:L
echo $ task list pro:party limit:2
task list pro:party limit:2
echo $ task list limit:page
task list limit:page
echo $ task all status:pending
task all status:pending
echo $ task all status:waiting
task all status:waiting
# 25 Import/export
echo Import/export --------------------------------------------------------------
echo $ task export.csv
task export.csv
echo $ task export.csv venue
task export.csv venue
echo $ task export.vcalendar venue
task export.vcalendar venue
echo $ task export.yaml venue
task export.yaml venue
cat <<EOF >file.text
Remember to read the task man page
EOF
cat file.text
echo $ task import file.text
printf "y\n" | task import file.text
cat <<EOF >file.yaml
%YAML 1.1
---
task:
description: Visit http://taskwarrior.org
due: 1281844800
entry: 1281289630
priority: H
project: work
status: pending
uuid: 23afada0-a446-8d5a-c213-30d99d52c4b0
...
EOF
cat file.yaml
echo $ task import file.yaml
printf "y\n" | task import file.yaml
echo $ task new limit:2
task new limit:2
# 26 Help
echo Help --------------------------------------------------------------
echo $ task help
task help
echo $ man task
#man task
echo $ man taskrc
#man taskrc
echo $ man task-color
#man task-color
echo $ man task-tutorial
#man task-tutorial
echo $ man task-faq
#man task-faq
echo $ man task-sync
#man task-sync
# 27 Wrap up
echo Wrap up --------------------------------------------------------------
echo $ task version
task version
exit

View File

@@ -0,0 +1,43 @@
[Make window 116x32 for movie recording, light text, dark background]
This is the script from which a 2.0-specific movie will be made. On the left
are the typed commands, and on the right is the voice track.
It is intended that the left and right be combined and the result will be a new
task-tutorial.5 man page.
---------------------------------------- Active tasks ----------------------------------------------
task 2 start I'm selecting a venue, so let's indicate that task 2 is
task list active by starting it. See how active tasks are affected
by the color rules.
task active There is an active report that shows only active tasks, and
task 2 stop you can mark any active task as inactive, by stopping it.
task config journal.time on (y) There is a journalling feature that records the start and
task config dateformat.annotation 'Y/m/d H:N' (y)
task 2 start stop times as annotations. We'll turn that on, and add
task list venue the time to the annotation date format.
task 2 stop
task list venue
---------------------------------------- End -------------------------------------------------------
task list
task 2 start
task 2 info
sleep 4
task 2 info
task 2 stop
task 2 start
sleep 2
task 2 stop
task 2 info

533
doc/misc/tutorial/aliases/run.200 Executable file
View File

@@ -0,0 +1,533 @@
#! /bin/bash
rm -f /Users/paul/.task/pending.data /Users/paul/.task/completed.data /Users/paul/.task/undo.data
echo 'data.location=~/.task' > /Users/paul/.taskrc
echo 'color=off' >> /Users/paul/.taskrc
echo 'color.summary.background=on gray3' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-red-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-256.theme' >> /Users/paul/.taskrc
# 1 Intro
# 2 Basic usage
echo Basic usage --------------------------------------------------------------
echo $ task add Select a free weekend in November
task add Select a free weekend in November
echo $ task add Select and book a venue
task add Select and book a venue
echo $ task add Come up with a guest list
task add Come up with a guest list
echo $ task add Mail invitations
task add Mail invitations
echo $ task add Select a caterer
task add Select a caterer
echo $ task list
task list
echo $ task log Order a special cake
task log Order a special cake
echo $ task 4 duplicate /Mail/Design/
task 4 duplicate /Mail/Design/
echo $ task 4 duplicate /Mail/Print/
task 4 duplicate /Mail/Print/
echo $ task list
task list
echo $ task 3 done
task 3 done
echo $ task list
task list
# 3 Projects
echo Projects --------------------------------------------------------------
echo $ task add Pay teh rent on teh 31st
task add Pay teh rent on teh 31st
echo $ task 7 /teh/the/g
task 7 /teh/the/g
echo $ task list
task list
echo $ task 7 project:home
task 7 project:home
echo $ task 1-6 project:party
echo 'All' | task 1-6 project:party
echo $ task projects
task projects
echo $ task list project:home
task list project:home
echo $ task li pro:par
task li pro:par
# 4 Priorities
echo Priorities --------------------------------------------------------------
echo $ task 1-3,5 priority:H
echo 'All' | task 1-3,5 priority:H
echo $ task list
task list
echo $ task 3 pri:
task 3 pri:
# 5 Tags
echo Tags --------------------------------------------------------------
echo $ task list
task list
echo $ task 3,5,6 +mall
echo 'All' | task 3,5,6 +mall
echo $ task long
task long
echo $ task list +mall
task list +mall
echo $ task 3 -mall
task 3 -mall
# 6 Modifications
echo Modifications --------------------------------------------------------------
echo $ task 7 Pay rent at the end of the month
echo 'Yes' | task 7 Pay rent at the end of the month
echo $ task add music
task add music
echo $ task 8 prepend Select some
task 8 prepend Select some
echo $ task 8 append for after dinner
task 8 append for after dinner
echo $ task list
task list
echo $ task edit
#task edit
echo $ task add Hire a band?
#task add Hire a band?
echo $ task add Hire a band\?
#task add Hire a band\?
echo $ task add "Hire a band?"
#task add "Hire a band?"
echo $ task add -- Hire a band\? +dj
task add -- Hire a band\? +dj
echo $ task undo
echo 'y' | task undo
echo $ task 1 delete
echo 'y' | task 1 delete
echo $ task undo
echo 'y' | task undo
# 7 Info
echo Info --------------------------------------------------------------
echo $ task 1 info
task 1 info
echo $ task stats
task stats
# 8 Annotations
echo Annotations --------------------------------------------------------------
echo $ task 1 annotate the 13 looks good
task 1 annotate the 13 looks good
sleep 1
echo $ task 1 annotate or the 14th
task 1 annotate or the 14th
echo $ task list
task list
echo $ task list rc.annotations:full
task list rc.annotations:full
echo $ task list rc.annotations:sparse
task list rc.annotations:sparse
echo $ task list rc.annotations:none
task list rc.annotations:none
echo $ task 1 denotate 14th
task 1 denotate 14th
echo $ task list
task list
# 9 Configuration
echo Configuration --------------------------------------------------------------
echo $ task show
task show
echo $ task config answer forty-two
echo 'y' | task config answer forty-two
echo $ task show answer
task show answer
echo $ task config answer
echo 'y' | task config answer
echo $ task rc.report.list.sort=description+ list
task rc.report.list.sort=description+ list
# 10 Defaults
echo Defaults --------------------------------------------------------------
echo $ task config default.command list
echo 'y' | task config default.command list
echo $ task
task
echo $ task config default.priority H
echo 'y' | task config default.priority H
echo $ task config default.project Work
echo 'y' | task config default.project Work
echo $ task add New task
task add New task
echo $ task list
task list
echo $ task undo
echo 'y' | task undo
echo $ task config default.priority
echo 'y' | task config default.priority
echo $ task config default.project
echo 'y' | task config default.project
# 11 Aliases
echo Aliases --------------------------------------------------------------
echo $ task config alias.zzz list
echo 'y' | task config alias.zzz list
echo $ task zzz
task zzz
echo $ task z
task z
# 12 Color
echo Color --------------------------------------------------------------
echo $ task config color on
echo 'y' | task config color on
echo $ task list
task list
echo $ task 1 bg:on_red
task 1 bg:on_red
echo $ task list
task list
echo $ task 1 bg:
task 1 bg:
echo $ task color
task color
echo $ task color white on red
task color white on red
echo $ task color legend
task color legend
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
echo 'include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
sed 's/blue/red/' x >x2 && mv x2 x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
sed 's/red-//' x >x2 && mv x2 x
echo $ task list
task list
echo $ task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
echo $ man task-color
#man task-color
# 13 Active tasks
echo Active tasks --------------------------------------------------------------
echo $ task 2 start
task 2 start
echo $ task list
task list
echo $ task active
task active
echo $ task 2 stop
task 2 stop
echo $ task config journal.time on
task config journal.time on
echo $ task config rc.dateformat.xxx xxx
task config rc.dateformat.xxx xxx
echo $ task config dateformat.annotation 'Y/m/d H:N'
task config dateformat.annotation 'Y/m/d H:N'
echo $ task 2 start
task 2 start
echo $ task list venue
task list venue
echo $ task 2 stop
task 2 stop
echo $ task list venue
task list venue
# 14 Due dates
echo Due dates --------------------------------------------------------------
echo $ task 1 due:7/31/2010
task 1 due:7/31/2010
echo $ task 1 due:2wks
task 1 due:2wks
echo $ task 1 due:-2wks
task 1 due:-2wks
echo $ task 1 due:eom
task 1 due:eom
echo $ task 2 due:8th
task 2 due:8th
echo $ task 2 due:sunday
task 2 due:sunday
echo $ task 5 due:eow
task 5 due:eow
echo $ task list
task list
echo $ task overdue
task overdue
echo $ task rc.dateformat.report:Y-M-DTH:N:SZ list
task rc.dateformat.report:Y-M-DTH:N:SZ list
# 15 Calendar
echo Calendar --------------------------------------------------------------
echo $ task calendar
task calendar
echo $ vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
echo 'include /usr/local/share/doc/task/rc/holidays-US.rc' >> x
echo $ task calendar
task calendar
echo $ task cal 2010
task cal 2010
echo $ task rc.calendar.details:full cal
task rc.calendar.details:full cal
echo $ task rc.calendar.holidays:full cal
task rc.calendar.holidays:full cal
# 16 Recurrence
echo Recurrence --------------------------------------------------------------
echo $ task 7 info
task 7 info
echo $ task 7 due:eom recur:monthly
task 7 due:eom recur:monthly
echo $ task 7
task 7
echo $ task 7 until:eoy
task 7 until:eoy
echo $ task recurring
task recurring
echo $ task add Pay taxes due:4/15/2007 recur:yearly
task add Pay taxes due:4/15/2007 recur:yearly
echo $ task long
task long
echo $ task 11 delete
printf "y\ny\n" | task 11 delete # y, y
echo $ task list
task list
# 17 Shell
echo Shell --------------------------------------------------------------
echo $ task shell
#task shell
echo '> projects'
#> projects
echo '> tags'
#> tags
echo '> list'
#> list
echo '> quit'
#> quit
# 18 Special tags
echo Special tags --------------------------------------------------------------
echo $ task 6 +nocolor
task 6 +nocolor
echo $ task list
task list
echo $ task tags
task tags
echo $ task 6 -nocolor
task 6 -nocolor
# 19 Waiting
echo Waiting --------------------------------------------------------------
echo $ task add Look for new apartment due:eoy
task add Look for new apartment due:eoy
echo $ task list
task list
echo $ task 10 wait:12/1/2010
task 10 wait:12/1/2010
echo $ task list
task list
echo $ task waiting
task waiting
echo $ task add Do something in a few seconds
task add Do something in a few seconds
echo $ task 11 wait:5s
task 11 wait:5s
echo $ task list
task list
sleep 5
echo $ task list
task list
echo $ task 11 rc.confirmation:no delete
task 11 rc.confirmation:no delete
# 20 Dependencies
echo Dependencies --------------------------------------------------------------
echo $ task list pro:party
task list pro:party
echo $ task 3 depends:6
task 3 depends:6
echo $ task 6 dep:5
task 6 dep:5
echo $ task 2 dep:1
task 2 dep:1
echo $ task 5 dep:1,2
task 5 dep:1,2
echo $ task 4 dep:1
task 4 dep:1
echo $ task long pro:party
task long pro:party
echo $ task 5 dep:-1
task 5 dep:-1
echo $ task blocked
task blocked
echo $ task unblocked
task unblocked
echo $ task 1 info
task 1 info
echo $ task 2 info
task 2 info
echo $ task 2 done
echo 'y' | task 2 done
echo $ task 1 info
task 1 info
# 21 Reports
echo Reports --------------------------------------------------------------
echo $ task minimal
task minimal
echo $ task ls
task ls
echo $ task list
task list
echo $ task long
task long
echo $ task all
task all
echo $ task completed
task completed
echo $ task recurring
task recurring
echo $ task waiting
task waiting
echo $ task blocked
task blocked
echo $ task oldest
task oldest
echo $ task newest
task newest
echo $ task timesheet
task timesheet
echo $ task next
task next
# 22 Custom report
echo Custom report --------------------------------------------------------------
echo 'report.foo.description=My own report' >> x
echo 'report.foo.columns=id,entry,description' >> x
echo 'report.foo.labels=ID,Entered,Description' >> x
echo 'report.foo.sort=entry+,description+' >> x
echo 'report.foo.filter=status:pending' >> x
echo 'task help | grep foo'
task help | grep foo
echo $ task show report.foo
task show report.foo
echo $ task foo
task foo
# 23 Charts
echo Charts --------------------------------------------------------------
echo $ task history
task history
echo $ task history.annual
task history.annual
echo $ task ghistory
task ghistory
echo $ task ghistory.annual
task ghistory.annual
echo $ task summary
task summary
# 24 Advanced filters
echo Advanced filters --------------------------------------------------------------
echo $ task list
task list
echo $ task list invit
task list invit
echo $ task list description.contains:invit
task list description.contains:invit
echo $ task list desc.word:the
task list desc.word:the
echo $ task list desc.noword:invitations
task list desc.noword:invitations
echo $ task list pro:party
task list pro:party
echo $ task list pro.is:party
task list pro.is:party
echo $ task list pro.not:party
task list pro.not:party
echo $ task list pro:party priority.over:L
task list pro:party priority.over:L
echo $ task list pro:party limit:2
task list pro:party limit:2
echo $ task list limit:page
task list limit:page
echo $ task all status:pending
task all status:pending
echo $ task all status:waiting
task all status:waiting
# 25 Import/export
echo Import/export --------------------------------------------------------------
echo $ task export.csv
task export.csv
echo $ task export.csv venue
task export.csv venue
echo $ task export.vcalendar venue
task export.vcalendar venue
echo $ task export.yaml venue
task export.yaml venue
cat <<EOF >file.text
Remember to read the task man page
EOF
cat file.text
echo $ task import file.text
printf "y\n" | task import file.text
cat <<EOF >file.yaml
%YAML 1.1
---
task:
description: Visit http://taskwarrior.org
due: 1281844800
entry: 1281289630
priority: H
project: work
status: pending
uuid: 23afada0-a446-8d5a-c213-30d99d52c4b0
...
EOF
cat file.yaml
echo $ task import file.yaml
printf "y\n" | task import file.yaml
echo $ task new limit:2
task new limit:2
# 26 Help
echo Help --------------------------------------------------------------
echo $ task help
task help
echo $ man task
#man task
echo $ man taskrc
#man taskrc
echo $ man task-color
#man task-color
echo $ man task-tutorial
#man task-tutorial
echo $ man task-faq
#man task-faq
echo $ man task-sync
#man task-sync
# 27 Wrap up
echo Wrap up --------------------------------------------------------------
echo $ task version
task version
exit

View File

@@ -0,0 +1,24 @@
[Make window 116x32 for movie recording, light text, dark background]
This is the script from which a 2.0-specific movie will be made. On the left
are the typed commands, and on the right is the voice track.
It is intended that the left and right be combined and the result will be a new
task-tutorial.5 man page.
---------------------------------------- Aliases ---------------------------------------------------
task config alias.zzz list You can create aliases to effectively rename commands.
task zzz
task z You can abbreviate those, too.
---------------------------------------- End -------------------------------------------------------
Complex aliases, including fragments that can be used in other contexts.
task config pf project:foo
task list pf

View File

@@ -0,0 +1,533 @@
#! /bin/bash
rm -f /Users/paul/.task/pending.data /Users/paul/.task/completed.data /Users/paul/.task/undo.data
echo 'data.location=~/.task' > /Users/paul/.taskrc
echo 'color=off' >> /Users/paul/.taskrc
echo 'color.summary.background=on gray3' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-red-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-256.theme' >> /Users/paul/.taskrc
# 1 Intro
# 2 Basic usage
echo Basic usage --------------------------------------------------------------
echo $ task add Select a free weekend in November
task add Select a free weekend in November
echo $ task add Select and book a venue
task add Select and book a venue
echo $ task add Come up with a guest list
task add Come up with a guest list
echo $ task add Mail invitations
task add Mail invitations
echo $ task add Select a caterer
task add Select a caterer
echo $ task list
task list
echo $ task log Order a special cake
task log Order a special cake
echo $ task 4 duplicate /Mail/Design/
task 4 duplicate /Mail/Design/
echo $ task 4 duplicate /Mail/Print/
task 4 duplicate /Mail/Print/
echo $ task list
task list
echo $ task 3 done
task 3 done
echo $ task list
task list
# 3 Projects
echo Projects --------------------------------------------------------------
echo $ task add Pay teh rent on teh 31st
task add Pay teh rent on teh 31st
echo $ task 7 /teh/the/g
task 7 /teh/the/g
echo $ task list
task list
echo $ task 7 project:home
task 7 project:home
echo $ task 1-6 project:party
echo 'All' | task 1-6 project:party
echo $ task projects
task projects
echo $ task list project:home
task list project:home
echo $ task li pro:par
task li pro:par
# 4 Priorities
echo Priorities --------------------------------------------------------------
echo $ task 1-3,5 priority:H
echo 'All' | task 1-3,5 priority:H
echo $ task list
task list
echo $ task 3 pri:
task 3 pri:
# 5 Tags
echo Tags --------------------------------------------------------------
echo $ task list
task list
echo $ task 3,5,6 +mall
echo 'All' | task 3,5,6 +mall
echo $ task long
task long
echo $ task list +mall
task list +mall
echo $ task 3 -mall
task 3 -mall
# 6 Modifications
echo Modifications --------------------------------------------------------------
echo $ task 7 Pay rent at the end of the month
echo 'Yes' | task 7 Pay rent at the end of the month
echo $ task add music
task add music
echo $ task 8 prepend Select some
task 8 prepend Select some
echo $ task 8 append for after dinner
task 8 append for after dinner
echo $ task list
task list
echo $ task edit
#task edit
echo $ task add Hire a band?
#task add Hire a band?
echo $ task add Hire a band\?
#task add Hire a band\?
echo $ task add "Hire a band?"
#task add "Hire a band?"
echo $ task add -- Hire a band\? +dj
task add -- Hire a band\? +dj
echo $ task undo
echo 'y' | task undo
echo $ task 1 delete
echo 'y' | task 1 delete
echo $ task undo
echo 'y' | task undo
# 7 Info
echo Info --------------------------------------------------------------
echo $ task 1 info
task 1 info
echo $ task stats
task stats
# 8 Annotations
echo Annotations --------------------------------------------------------------
echo $ task 1 annotate the 13 looks good
task 1 annotate the 13 looks good
sleep 1
echo $ task 1 annotate or the 14th
task 1 annotate or the 14th
echo $ task list
task list
echo $ task list rc.annotations:full
task list rc.annotations:full
echo $ task list rc.annotations:sparse
task list rc.annotations:sparse
echo $ task list rc.annotations:none
task list rc.annotations:none
echo $ task 1 denotate 14th
task 1 denotate 14th
echo $ task list
task list
# 9 Configuration
echo Configuration --------------------------------------------------------------
echo $ task show
task show
echo $ task config answer forty-two
echo 'y' | task config answer forty-two
echo $ task show answer
task show answer
echo $ task config answer
echo 'y' | task config answer
echo $ task rc.report.list.sort=description+ list
task rc.report.list.sort=description+ list
# 10 Defaults
echo Defaults --------------------------------------------------------------
echo $ task config default.command list
echo 'y' | task config default.command list
echo $ task
task
echo $ task config default.priority H
echo 'y' | task config default.priority H
echo $ task config default.project Work
echo 'y' | task config default.project Work
echo $ task add New task
task add New task
echo $ task list
task list
echo $ task undo
echo 'y' | task undo
echo $ task config default.priority
echo 'y' | task config default.priority
echo $ task config default.project
echo 'y' | task config default.project
# 11 Aliases
echo Aliases --------------------------------------------------------------
echo $ task config alias.zzz list
echo 'y' | task config alias.zzz list
echo $ task zzz
task zzz
echo $ task z
task z
# 12 Color
echo Color --------------------------------------------------------------
echo $ task config color on
echo 'y' | task config color on
echo $ task list
task list
echo $ task 1 bg:on_red
task 1 bg:on_red
echo $ task list
task list
echo $ task 1 bg:
task 1 bg:
echo $ task color
task color
echo $ task color white on red
task color white on red
echo $ task color legend
task color legend
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
echo 'include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
sed 's/blue/red/' x >x2 && mv x2 x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
sed 's/red-//' x >x2 && mv x2 x
echo $ task list
task list
echo $ task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
echo $ man task-color
#man task-color
# 13 Active tasks
echo Active tasks --------------------------------------------------------------
echo $ task 2 start
task 2 start
echo $ task list
task list
echo $ task active
task active
echo $ task 2 stop
task 2 stop
echo $ task config journal.time on
task config journal.time on
echo $ task config rc.dateformat.xxx xxx
task config rc.dateformat.xxx xxx
echo $ task config dateformat.annotation 'Y/m/d H:N'
task config dateformat.annotation 'Y/m/d H:N'
echo $ task 2 start
task 2 start
echo $ task list venue
task list venue
echo $ task 2 stop
task 2 stop
echo $ task list venue
task list venue
# 14 Due dates
echo Due dates --------------------------------------------------------------
echo $ task 1 due:7/31/2010
task 1 due:7/31/2010
echo $ task 1 due:2wks
task 1 due:2wks
echo $ task 1 due:-2wks
task 1 due:-2wks
echo $ task 1 due:eom
task 1 due:eom
echo $ task 2 due:8th
task 2 due:8th
echo $ task 2 due:sunday
task 2 due:sunday
echo $ task 5 due:eow
task 5 due:eow
echo $ task list
task list
echo $ task overdue
task overdue
echo $ task rc.dateformat.report:Y-M-DTH:N:SZ list
task rc.dateformat.report:Y-M-DTH:N:SZ list
# 15 Calendar
echo Calendar --------------------------------------------------------------
echo $ task calendar
task calendar
echo $ vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
echo 'include /usr/local/share/doc/task/rc/holidays-US.rc' >> x
echo $ task calendar
task calendar
echo $ task cal 2010
task cal 2010
echo $ task rc.calendar.details:full cal
task rc.calendar.details:full cal
echo $ task rc.calendar.holidays:full cal
task rc.calendar.holidays:full cal
# 16 Recurrence
echo Recurrence --------------------------------------------------------------
echo $ task 7 info
task 7 info
echo $ task 7 due:eom recur:monthly
task 7 due:eom recur:monthly
echo $ task 7
task 7
echo $ task 7 until:eoy
task 7 until:eoy
echo $ task recurring
task recurring
echo $ task add Pay taxes due:4/15/2007 recur:yearly
task add Pay taxes due:4/15/2007 recur:yearly
echo $ task long
task long
echo $ task 11 delete
printf "y\ny\n" | task 11 delete # y, y
echo $ task list
task list
# 17 Shell
echo Shell --------------------------------------------------------------
echo $ task shell
#task shell
echo '> projects'
#> projects
echo '> tags'
#> tags
echo '> list'
#> list
echo '> quit'
#> quit
# 18 Special tags
echo Special tags --------------------------------------------------------------
echo $ task 6 +nocolor
task 6 +nocolor
echo $ task list
task list
echo $ task tags
task tags
echo $ task 6 -nocolor
task 6 -nocolor
# 19 Waiting
echo Waiting --------------------------------------------------------------
echo $ task add Look for new apartment due:eoy
task add Look for new apartment due:eoy
echo $ task list
task list
echo $ task 10 wait:12/1/2010
task 10 wait:12/1/2010
echo $ task list
task list
echo $ task waiting
task waiting
echo $ task add Do something in a few seconds
task add Do something in a few seconds
echo $ task 11 wait:5s
task 11 wait:5s
echo $ task list
task list
sleep 5
echo $ task list
task list
echo $ task 11 rc.confirmation:no delete
task 11 rc.confirmation:no delete
# 20 Dependencies
echo Dependencies --------------------------------------------------------------
echo $ task list pro:party
task list pro:party
echo $ task 3 depends:6
task 3 depends:6
echo $ task 6 dep:5
task 6 dep:5
echo $ task 2 dep:1
task 2 dep:1
echo $ task 5 dep:1,2
task 5 dep:1,2
echo $ task 4 dep:1
task 4 dep:1
echo $ task long pro:party
task long pro:party
echo $ task 5 dep:-1
task 5 dep:-1
echo $ task blocked
task blocked
echo $ task unblocked
task unblocked
echo $ task 1 info
task 1 info
echo $ task 2 info
task 2 info
echo $ task 2 done
echo 'y' | task 2 done
echo $ task 1 info
task 1 info
# 21 Reports
echo Reports --------------------------------------------------------------
echo $ task minimal
task minimal
echo $ task ls
task ls
echo $ task list
task list
echo $ task long
task long
echo $ task all
task all
echo $ task completed
task completed
echo $ task recurring
task recurring
echo $ task waiting
task waiting
echo $ task blocked
task blocked
echo $ task oldest
task oldest
echo $ task newest
task newest
echo $ task timesheet
task timesheet
echo $ task next
task next
# 22 Custom report
echo Custom report --------------------------------------------------------------
echo 'report.foo.description=My own report' >> x
echo 'report.foo.columns=id,entry,description' >> x
echo 'report.foo.labels=ID,Entered,Description' >> x
echo 'report.foo.sort=entry+,description+' >> x
echo 'report.foo.filter=status:pending' >> x
echo 'task help | grep foo'
task help | grep foo
echo $ task show report.foo
task show report.foo
echo $ task foo
task foo
# 23 Charts
echo Charts --------------------------------------------------------------
echo $ task history
task history
echo $ task history.annual
task history.annual
echo $ task ghistory
task ghistory
echo $ task ghistory.annual
task ghistory.annual
echo $ task summary
task summary
# 24 Advanced filters
echo Advanced filters --------------------------------------------------------------
echo $ task list
task list
echo $ task list invit
task list invit
echo $ task list description.contains:invit
task list description.contains:invit
echo $ task list desc.word:the
task list desc.word:the
echo $ task list desc.noword:invitations
task list desc.noword:invitations
echo $ task list pro:party
task list pro:party
echo $ task list pro.is:party
task list pro.is:party
echo $ task list pro.not:party
task list pro.not:party
echo $ task list pro:party priority.over:L
task list pro:party priority.over:L
echo $ task list pro:party limit:2
task list pro:party limit:2
echo $ task list limit:page
task list limit:page
echo $ task all status:pending
task all status:pending
echo $ task all status:waiting
task all status:waiting
# 25 Import/export
echo Import/export --------------------------------------------------------------
echo $ task export.csv
task export.csv
echo $ task export.csv venue
task export.csv venue
echo $ task export.vcalendar venue
task export.vcalendar venue
echo $ task export.yaml venue
task export.yaml venue
cat <<EOF >file.text
Remember to read the task man page
EOF
cat file.text
echo $ task import file.text
printf "y\n" | task import file.text
cat <<EOF >file.yaml
%YAML 1.1
---
task:
description: Visit http://taskwarrior.org
due: 1281844800
entry: 1281289630
priority: H
project: work
status: pending
uuid: 23afada0-a446-8d5a-c213-30d99d52c4b0
...
EOF
cat file.yaml
echo $ task import file.yaml
printf "y\n" | task import file.yaml
echo $ task new limit:2
task new limit:2
# 26 Help
echo Help --------------------------------------------------------------
echo $ task help
task help
echo $ man task
#man task
echo $ man taskrc
#man taskrc
echo $ man task-color
#man task-color
echo $ man task-tutorial
#man task-tutorial
echo $ man task-faq
#man task-faq
echo $ man task-sync
#man task-sync
# 27 Wrap up
echo Wrap up --------------------------------------------------------------
echo $ task version
task version
exit

View File

@@ -0,0 +1,27 @@
[Make window 116x32 for movie recording, light text, dark background]
This is the script from which a 2.0-specific movie will be made. On the left
are the typed commands, and on the right is the voice track.
It is intended that the left and right be combined and the result will be a new
task-tutorial.5 man page.
---------------------------------------- Annotations -----------------------------------------------
task 1 annotate the 12th looks good Annotations are little notes that can be added to a task.
task 1 annotate or the 13th There can be any number, and each has a time stamp.
task list
task list rc.annotations:full You can choose to display annotations in different ways.
task list rc.annotations:sparse
task list rc.annotations:none
task 1 denotate 13th Annotations can be removed by providing a matching pattern.
task list
---------------------------------------- End -------------------------------------------------------
Remove rc.annotations.*
Illustrate different annotation formats.
Searching in annotations

View File

@@ -0,0 +1,533 @@
#! /bin/bash
rm -f /Users/paul/.task/pending.data /Users/paul/.task/completed.data /Users/paul/.task/undo.data
echo 'data.location=~/.task' > /Users/paul/.taskrc
echo 'color=off' >> /Users/paul/.taskrc
echo 'color.summary.background=on gray3' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-red-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-256.theme' >> /Users/paul/.taskrc
# 1 Intro
# 2 Basic usage
echo Basic usage --------------------------------------------------------------
echo $ task add Select a free weekend in November
task add Select a free weekend in November
echo $ task add Select and book a venue
task add Select and book a venue
echo $ task add Come up with a guest list
task add Come up with a guest list
echo $ task add Mail invitations
task add Mail invitations
echo $ task add Select a caterer
task add Select a caterer
echo $ task list
task list
echo $ task log Order a special cake
task log Order a special cake
echo $ task 4 duplicate /Mail/Design/
task 4 duplicate /Mail/Design/
echo $ task 4 duplicate /Mail/Print/
task 4 duplicate /Mail/Print/
echo $ task list
task list
echo $ task 3 done
task 3 done
echo $ task list
task list
# 3 Projects
echo Projects --------------------------------------------------------------
echo $ task add Pay teh rent on teh 31st
task add Pay teh rent on teh 31st
echo $ task 7 /teh/the/g
task 7 /teh/the/g
echo $ task list
task list
echo $ task 7 project:home
task 7 project:home
echo $ task 1-6 project:party
echo 'All' | task 1-6 project:party
echo $ task projects
task projects
echo $ task list project:home
task list project:home
echo $ task li pro:par
task li pro:par
# 4 Priorities
echo Priorities --------------------------------------------------------------
echo $ task 1-3,5 priority:H
echo 'All' | task 1-3,5 priority:H
echo $ task list
task list
echo $ task 3 pri:
task 3 pri:
# 5 Tags
echo Tags --------------------------------------------------------------
echo $ task list
task list
echo $ task 3,5,6 +mall
echo 'All' | task 3,5,6 +mall
echo $ task long
task long
echo $ task list +mall
task list +mall
echo $ task 3 -mall
task 3 -mall
# 6 Modifications
echo Modifications --------------------------------------------------------------
echo $ task 7 Pay rent at the end of the month
echo 'Yes' | task 7 Pay rent at the end of the month
echo $ task add music
task add music
echo $ task 8 prepend Select some
task 8 prepend Select some
echo $ task 8 append for after dinner
task 8 append for after dinner
echo $ task list
task list
echo $ task edit
#task edit
echo $ task add Hire a band?
#task add Hire a band?
echo $ task add Hire a band\?
#task add Hire a band\?
echo $ task add "Hire a band?"
#task add "Hire a band?"
echo $ task add -- Hire a band\? +dj
task add -- Hire a band\? +dj
echo $ task undo
echo 'y' | task undo
echo $ task 1 delete
echo 'y' | task 1 delete
echo $ task undo
echo 'y' | task undo
# 7 Info
echo Info --------------------------------------------------------------
echo $ task 1 info
task 1 info
echo $ task stats
task stats
# 8 Annotations
echo Annotations --------------------------------------------------------------
echo $ task 1 annotate the 13 looks good
task 1 annotate the 13 looks good
sleep 1
echo $ task 1 annotate or the 14th
task 1 annotate or the 14th
echo $ task list
task list
echo $ task list rc.annotations:full
task list rc.annotations:full
echo $ task list rc.annotations:sparse
task list rc.annotations:sparse
echo $ task list rc.annotations:none
task list rc.annotations:none
echo $ task 1 denotate 14th
task 1 denotate 14th
echo $ task list
task list
# 9 Configuration
echo Configuration --------------------------------------------------------------
echo $ task show
task show
echo $ task config answer forty-two
echo 'y' | task config answer forty-two
echo $ task show answer
task show answer
echo $ task config answer
echo 'y' | task config answer
echo $ task rc.report.list.sort=description+ list
task rc.report.list.sort=description+ list
# 10 Defaults
echo Defaults --------------------------------------------------------------
echo $ task config default.command list
echo 'y' | task config default.command list
echo $ task
task
echo $ task config default.priority H
echo 'y' | task config default.priority H
echo $ task config default.project Work
echo 'y' | task config default.project Work
echo $ task add New task
task add New task
echo $ task list
task list
echo $ task undo
echo 'y' | task undo
echo $ task config default.priority
echo 'y' | task config default.priority
echo $ task config default.project
echo 'y' | task config default.project
# 11 Aliases
echo Aliases --------------------------------------------------------------
echo $ task config alias.zzz list
echo 'y' | task config alias.zzz list
echo $ task zzz
task zzz
echo $ task z
task z
# 12 Color
echo Color --------------------------------------------------------------
echo $ task config color on
echo 'y' | task config color on
echo $ task list
task list
echo $ task 1 bg:on_red
task 1 bg:on_red
echo $ task list
task list
echo $ task 1 bg:
task 1 bg:
echo $ task color
task color
echo $ task color white on red
task color white on red
echo $ task color legend
task color legend
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
echo 'include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
sed 's/blue/red/' x >x2 && mv x2 x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
sed 's/red-//' x >x2 && mv x2 x
echo $ task list
task list
echo $ task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
echo $ man task-color
#man task-color
# 13 Active tasks
echo Active tasks --------------------------------------------------------------
echo $ task 2 start
task 2 start
echo $ task list
task list
echo $ task active
task active
echo $ task 2 stop
task 2 stop
echo $ task config journal.time on
task config journal.time on
echo $ task config rc.dateformat.xxx xxx
task config rc.dateformat.xxx xxx
echo $ task config dateformat.annotation 'Y/m/d H:N'
task config dateformat.annotation 'Y/m/d H:N'
echo $ task 2 start
task 2 start
echo $ task list venue
task list venue
echo $ task 2 stop
task 2 stop
echo $ task list venue
task list venue
# 14 Due dates
echo Due dates --------------------------------------------------------------
echo $ task 1 due:7/31/2010
task 1 due:7/31/2010
echo $ task 1 due:2wks
task 1 due:2wks
echo $ task 1 due:-2wks
task 1 due:-2wks
echo $ task 1 due:eom
task 1 due:eom
echo $ task 2 due:8th
task 2 due:8th
echo $ task 2 due:sunday
task 2 due:sunday
echo $ task 5 due:eow
task 5 due:eow
echo $ task list
task list
echo $ task overdue
task overdue
echo $ task rc.dateformat.report:Y-M-DTH:N:SZ list
task rc.dateformat.report:Y-M-DTH:N:SZ list
# 15 Calendar
echo Calendar --------------------------------------------------------------
echo $ task calendar
task calendar
echo $ vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
echo 'include /usr/local/share/doc/task/rc/holidays-US.rc' >> x
echo $ task calendar
task calendar
echo $ task cal 2010
task cal 2010
echo $ task rc.calendar.details:full cal
task rc.calendar.details:full cal
echo $ task rc.calendar.holidays:full cal
task rc.calendar.holidays:full cal
# 16 Recurrence
echo Recurrence --------------------------------------------------------------
echo $ task 7 info
task 7 info
echo $ task 7 due:eom recur:monthly
task 7 due:eom recur:monthly
echo $ task 7
task 7
echo $ task 7 until:eoy
task 7 until:eoy
echo $ task recurring
task recurring
echo $ task add Pay taxes due:4/15/2007 recur:yearly
task add Pay taxes due:4/15/2007 recur:yearly
echo $ task long
task long
echo $ task 11 delete
printf "y\ny\n" | task 11 delete # y, y
echo $ task list
task list
# 17 Shell
echo Shell --------------------------------------------------------------
echo $ task shell
#task shell
echo '> projects'
#> projects
echo '> tags'
#> tags
echo '> list'
#> list
echo '> quit'
#> quit
# 18 Special tags
echo Special tags --------------------------------------------------------------
echo $ task 6 +nocolor
task 6 +nocolor
echo $ task list
task list
echo $ task tags
task tags
echo $ task 6 -nocolor
task 6 -nocolor
# 19 Waiting
echo Waiting --------------------------------------------------------------
echo $ task add Look for new apartment due:eoy
task add Look for new apartment due:eoy
echo $ task list
task list
echo $ task 10 wait:12/1/2010
task 10 wait:12/1/2010
echo $ task list
task list
echo $ task waiting
task waiting
echo $ task add Do something in a few seconds
task add Do something in a few seconds
echo $ task 11 wait:5s
task 11 wait:5s
echo $ task list
task list
sleep 5
echo $ task list
task list
echo $ task 11 rc.confirmation:no delete
task 11 rc.confirmation:no delete
# 20 Dependencies
echo Dependencies --------------------------------------------------------------
echo $ task list pro:party
task list pro:party
echo $ task 3 depends:6
task 3 depends:6
echo $ task 6 dep:5
task 6 dep:5
echo $ task 2 dep:1
task 2 dep:1
echo $ task 5 dep:1,2
task 5 dep:1,2
echo $ task 4 dep:1
task 4 dep:1
echo $ task long pro:party
task long pro:party
echo $ task 5 dep:-1
task 5 dep:-1
echo $ task blocked
task blocked
echo $ task unblocked
task unblocked
echo $ task 1 info
task 1 info
echo $ task 2 info
task 2 info
echo $ task 2 done
echo 'y' | task 2 done
echo $ task 1 info
task 1 info
# 21 Reports
echo Reports --------------------------------------------------------------
echo $ task minimal
task minimal
echo $ task ls
task ls
echo $ task list
task list
echo $ task long
task long
echo $ task all
task all
echo $ task completed
task completed
echo $ task recurring
task recurring
echo $ task waiting
task waiting
echo $ task blocked
task blocked
echo $ task oldest
task oldest
echo $ task newest
task newest
echo $ task timesheet
task timesheet
echo $ task next
task next
# 22 Custom report
echo Custom report --------------------------------------------------------------
echo 'report.foo.description=My own report' >> x
echo 'report.foo.columns=id,entry,description' >> x
echo 'report.foo.labels=ID,Entered,Description' >> x
echo 'report.foo.sort=entry+,description+' >> x
echo 'report.foo.filter=status:pending' >> x
echo 'task help | grep foo'
task help | grep foo
echo $ task show report.foo
task show report.foo
echo $ task foo
task foo
# 23 Charts
echo Charts --------------------------------------------------------------
echo $ task history
task history
echo $ task history.annual
task history.annual
echo $ task ghistory
task ghistory
echo $ task ghistory.annual
task ghistory.annual
echo $ task summary
task summary
# 24 Advanced filters
echo Advanced filters --------------------------------------------------------------
echo $ task list
task list
echo $ task list invit
task list invit
echo $ task list description.contains:invit
task list description.contains:invit
echo $ task list desc.word:the
task list desc.word:the
echo $ task list desc.noword:invitations
task list desc.noword:invitations
echo $ task list pro:party
task list pro:party
echo $ task list pro.is:party
task list pro.is:party
echo $ task list pro.not:party
task list pro.not:party
echo $ task list pro:party priority.over:L
task list pro:party priority.over:L
echo $ task list pro:party limit:2
task list pro:party limit:2
echo $ task list limit:page
task list limit:page
echo $ task all status:pending
task all status:pending
echo $ task all status:waiting
task all status:waiting
# 25 Import/export
echo Import/export --------------------------------------------------------------
echo $ task export.csv
task export.csv
echo $ task export.csv venue
task export.csv venue
echo $ task export.vcalendar venue
task export.vcalendar venue
echo $ task export.yaml venue
task export.yaml venue
cat <<EOF >file.text
Remember to read the task man page
EOF
cat file.text
echo $ task import file.text
printf "y\n" | task import file.text
cat <<EOF >file.yaml
%YAML 1.1
---
task:
description: Visit http://taskwarrior.org
due: 1281844800
entry: 1281289630
priority: H
project: work
status: pending
uuid: 23afada0-a446-8d5a-c213-30d99d52c4b0
...
EOF
cat file.yaml
echo $ task import file.yaml
printf "y\n" | task import file.yaml
echo $ task new limit:2
task new limit:2
# 26 Help
echo Help --------------------------------------------------------------
echo $ task help
task help
echo $ man task
#man task
echo $ man taskrc
#man taskrc
echo $ man task-color
#man task-color
echo $ man task-tutorial
#man task-tutorial
echo $ man task-faq
#man task-faq
echo $ man task-sync
#man task-sync
# 27 Wrap up
echo Wrap up --------------------------------------------------------------
echo $ task version
task version
exit

View File

@@ -0,0 +1,29 @@
[Make window 116x32 for movie recording, light text, dark background]
This is the script from which a 2.0-specific movie will be made. On the left
are the typed commands, and on the right is the voice track.
It is intended that the left and right be combined and the result will be a new
task-tutorial.5 man page.
---------------------------------------- Calendar --------------------------------------------------
task calendar When tasks have due dates, you can see them on the calendar.
vi ~/.taskrc
# include /usr/local/share/doc/task/rc/holidays-US.rc
task calendar
Taskwarrior provides sample holiday files. You can create
your own, or use one of the samples to show holidays on the
calendar.
task cal 2010 You can see the whole year.
task rc.calendar.details:full cal You can see the tasks with due dates also.
task rc.calendar.holidays:full cal And you can see the holidays.
---------------------------------------- End -------------------------------------------------------
Include 'ln -s `which task` cal' trick

533
doc/misc/tutorial/charts/run.200 Executable file
View File

@@ -0,0 +1,533 @@
#! /bin/bash
rm -f /Users/paul/.task/pending.data /Users/paul/.task/completed.data /Users/paul/.task/undo.data
echo 'data.location=~/.task' > /Users/paul/.taskrc
echo 'color=off' >> /Users/paul/.taskrc
echo 'color.summary.background=on gray3' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-red-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-256.theme' >> /Users/paul/.taskrc
# 1 Intro
# 2 Basic usage
echo Basic usage --------------------------------------------------------------
echo $ task add Select a free weekend in November
task add Select a free weekend in November
echo $ task add Select and book a venue
task add Select and book a venue
echo $ task add Come up with a guest list
task add Come up with a guest list
echo $ task add Mail invitations
task add Mail invitations
echo $ task add Select a caterer
task add Select a caterer
echo $ task list
task list
echo $ task log Order a special cake
task log Order a special cake
echo $ task 4 duplicate /Mail/Design/
task 4 duplicate /Mail/Design/
echo $ task 4 duplicate /Mail/Print/
task 4 duplicate /Mail/Print/
echo $ task list
task list
echo $ task 3 done
task 3 done
echo $ task list
task list
# 3 Projects
echo Projects --------------------------------------------------------------
echo $ task add Pay teh rent on teh 31st
task add Pay teh rent on teh 31st
echo $ task 7 /teh/the/g
task 7 /teh/the/g
echo $ task list
task list
echo $ task 7 project:home
task 7 project:home
echo $ task 1-6 project:party
echo 'All' | task 1-6 project:party
echo $ task projects
task projects
echo $ task list project:home
task list project:home
echo $ task li pro:par
task li pro:par
# 4 Priorities
echo Priorities --------------------------------------------------------------
echo $ task 1-3,5 priority:H
echo 'All' | task 1-3,5 priority:H
echo $ task list
task list
echo $ task 3 pri:
task 3 pri:
# 5 Tags
echo Tags --------------------------------------------------------------
echo $ task list
task list
echo $ task 3,5,6 +mall
echo 'All' | task 3,5,6 +mall
echo $ task long
task long
echo $ task list +mall
task list +mall
echo $ task 3 -mall
task 3 -mall
# 6 Modifications
echo Modifications --------------------------------------------------------------
echo $ task 7 Pay rent at the end of the month
echo 'Yes' | task 7 Pay rent at the end of the month
echo $ task add music
task add music
echo $ task 8 prepend Select some
task 8 prepend Select some
echo $ task 8 append for after dinner
task 8 append for after dinner
echo $ task list
task list
echo $ task edit
#task edit
echo $ task add Hire a band?
#task add Hire a band?
echo $ task add Hire a band\?
#task add Hire a band\?
echo $ task add "Hire a band?"
#task add "Hire a band?"
echo $ task add -- Hire a band\? +dj
task add -- Hire a band\? +dj
echo $ task undo
echo 'y' | task undo
echo $ task 1 delete
echo 'y' | task 1 delete
echo $ task undo
echo 'y' | task undo
# 7 Info
echo Info --------------------------------------------------------------
echo $ task 1 info
task 1 info
echo $ task stats
task stats
# 8 Annotations
echo Annotations --------------------------------------------------------------
echo $ task 1 annotate the 13 looks good
task 1 annotate the 13 looks good
sleep 1
echo $ task 1 annotate or the 14th
task 1 annotate or the 14th
echo $ task list
task list
echo $ task list rc.annotations:full
task list rc.annotations:full
echo $ task list rc.annotations:sparse
task list rc.annotations:sparse
echo $ task list rc.annotations:none
task list rc.annotations:none
echo $ task 1 denotate 14th
task 1 denotate 14th
echo $ task list
task list
# 9 Configuration
echo Configuration --------------------------------------------------------------
echo $ task show
task show
echo $ task config answer forty-two
echo 'y' | task config answer forty-two
echo $ task show answer
task show answer
echo $ task config answer
echo 'y' | task config answer
echo $ task rc.report.list.sort=description+ list
task rc.report.list.sort=description+ list
# 10 Defaults
echo Defaults --------------------------------------------------------------
echo $ task config default.command list
echo 'y' | task config default.command list
echo $ task
task
echo $ task config default.priority H
echo 'y' | task config default.priority H
echo $ task config default.project Work
echo 'y' | task config default.project Work
echo $ task add New task
task add New task
echo $ task list
task list
echo $ task undo
echo 'y' | task undo
echo $ task config default.priority
echo 'y' | task config default.priority
echo $ task config default.project
echo 'y' | task config default.project
# 11 Aliases
echo Aliases --------------------------------------------------------------
echo $ task config alias.zzz list
echo 'y' | task config alias.zzz list
echo $ task zzz
task zzz
echo $ task z
task z
# 12 Color
echo Color --------------------------------------------------------------
echo $ task config color on
echo 'y' | task config color on
echo $ task list
task list
echo $ task 1 bg:on_red
task 1 bg:on_red
echo $ task list
task list
echo $ task 1 bg:
task 1 bg:
echo $ task color
task color
echo $ task color white on red
task color white on red
echo $ task color legend
task color legend
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
echo 'include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
sed 's/blue/red/' x >x2 && mv x2 x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
sed 's/red-//' x >x2 && mv x2 x
echo $ task list
task list
echo $ task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
echo $ man task-color
#man task-color
# 13 Active tasks
echo Active tasks --------------------------------------------------------------
echo $ task 2 start
task 2 start
echo $ task list
task list
echo $ task active
task active
echo $ task 2 stop
task 2 stop
echo $ task config journal.time on
task config journal.time on
echo $ task config rc.dateformat.xxx xxx
task config rc.dateformat.xxx xxx
echo $ task config dateformat.annotation 'Y/m/d H:N'
task config dateformat.annotation 'Y/m/d H:N'
echo $ task 2 start
task 2 start
echo $ task list venue
task list venue
echo $ task 2 stop
task 2 stop
echo $ task list venue
task list venue
# 14 Due dates
echo Due dates --------------------------------------------------------------
echo $ task 1 due:7/31/2010
task 1 due:7/31/2010
echo $ task 1 due:2wks
task 1 due:2wks
echo $ task 1 due:-2wks
task 1 due:-2wks
echo $ task 1 due:eom
task 1 due:eom
echo $ task 2 due:8th
task 2 due:8th
echo $ task 2 due:sunday
task 2 due:sunday
echo $ task 5 due:eow
task 5 due:eow
echo $ task list
task list
echo $ task overdue
task overdue
echo $ task rc.dateformat.report:Y-M-DTH:N:SZ list
task rc.dateformat.report:Y-M-DTH:N:SZ list
# 15 Calendar
echo Calendar --------------------------------------------------------------
echo $ task calendar
task calendar
echo $ vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
echo 'include /usr/local/share/doc/task/rc/holidays-US.rc' >> x
echo $ task calendar
task calendar
echo $ task cal 2010
task cal 2010
echo $ task rc.calendar.details:full cal
task rc.calendar.details:full cal
echo $ task rc.calendar.holidays:full cal
task rc.calendar.holidays:full cal
# 16 Recurrence
echo Recurrence --------------------------------------------------------------
echo $ task 7 info
task 7 info
echo $ task 7 due:eom recur:monthly
task 7 due:eom recur:monthly
echo $ task 7
task 7
echo $ task 7 until:eoy
task 7 until:eoy
echo $ task recurring
task recurring
echo $ task add Pay taxes due:4/15/2007 recur:yearly
task add Pay taxes due:4/15/2007 recur:yearly
echo $ task long
task long
echo $ task 11 delete
printf "y\ny\n" | task 11 delete # y, y
echo $ task list
task list
# 17 Shell
echo Shell --------------------------------------------------------------
echo $ task shell
#task shell
echo '> projects'
#> projects
echo '> tags'
#> tags
echo '> list'
#> list
echo '> quit'
#> quit
# 18 Special tags
echo Special tags --------------------------------------------------------------
echo $ task 6 +nocolor
task 6 +nocolor
echo $ task list
task list
echo $ task tags
task tags
echo $ task 6 -nocolor
task 6 -nocolor
# 19 Waiting
echo Waiting --------------------------------------------------------------
echo $ task add Look for new apartment due:eoy
task add Look for new apartment due:eoy
echo $ task list
task list
echo $ task 10 wait:12/1/2010
task 10 wait:12/1/2010
echo $ task list
task list
echo $ task waiting
task waiting
echo $ task add Do something in a few seconds
task add Do something in a few seconds
echo $ task 11 wait:5s
task 11 wait:5s
echo $ task list
task list
sleep 5
echo $ task list
task list
echo $ task 11 rc.confirmation:no delete
task 11 rc.confirmation:no delete
# 20 Dependencies
echo Dependencies --------------------------------------------------------------
echo $ task list pro:party
task list pro:party
echo $ task 3 depends:6
task 3 depends:6
echo $ task 6 dep:5
task 6 dep:5
echo $ task 2 dep:1
task 2 dep:1
echo $ task 5 dep:1,2
task 5 dep:1,2
echo $ task 4 dep:1
task 4 dep:1
echo $ task long pro:party
task long pro:party
echo $ task 5 dep:-1
task 5 dep:-1
echo $ task blocked
task blocked
echo $ task unblocked
task unblocked
echo $ task 1 info
task 1 info
echo $ task 2 info
task 2 info
echo $ task 2 done
echo 'y' | task 2 done
echo $ task 1 info
task 1 info
# 21 Reports
echo Reports --------------------------------------------------------------
echo $ task minimal
task minimal
echo $ task ls
task ls
echo $ task list
task list
echo $ task long
task long
echo $ task all
task all
echo $ task completed
task completed
echo $ task recurring
task recurring
echo $ task waiting
task waiting
echo $ task blocked
task blocked
echo $ task oldest
task oldest
echo $ task newest
task newest
echo $ task timesheet
task timesheet
echo $ task next
task next
# 22 Custom report
echo Custom report --------------------------------------------------------------
echo 'report.foo.description=My own report' >> x
echo 'report.foo.columns=id,entry,description' >> x
echo 'report.foo.labels=ID,Entered,Description' >> x
echo 'report.foo.sort=entry+,description+' >> x
echo 'report.foo.filter=status:pending' >> x
echo 'task help | grep foo'
task help | grep foo
echo $ task show report.foo
task show report.foo
echo $ task foo
task foo
# 23 Charts
echo Charts --------------------------------------------------------------
echo $ task history
task history
echo $ task history.annual
task history.annual
echo $ task ghistory
task ghistory
echo $ task ghistory.annual
task ghistory.annual
echo $ task summary
task summary
# 24 Advanced filters
echo Advanced filters --------------------------------------------------------------
echo $ task list
task list
echo $ task list invit
task list invit
echo $ task list description.contains:invit
task list description.contains:invit
echo $ task list desc.word:the
task list desc.word:the
echo $ task list desc.noword:invitations
task list desc.noword:invitations
echo $ task list pro:party
task list pro:party
echo $ task list pro.is:party
task list pro.is:party
echo $ task list pro.not:party
task list pro.not:party
echo $ task list pro:party priority.over:L
task list pro:party priority.over:L
echo $ task list pro:party limit:2
task list pro:party limit:2
echo $ task list limit:page
task list limit:page
echo $ task all status:pending
task all status:pending
echo $ task all status:waiting
task all status:waiting
# 25 Import/export
echo Import/export --------------------------------------------------------------
echo $ task export.csv
task export.csv
echo $ task export.csv venue
task export.csv venue
echo $ task export.vcalendar venue
task export.vcalendar venue
echo $ task export.yaml venue
task export.yaml venue
cat <<EOF >file.text
Remember to read the task man page
EOF
cat file.text
echo $ task import file.text
printf "y\n" | task import file.text
cat <<EOF >file.yaml
%YAML 1.1
---
task:
description: Visit http://taskwarrior.org
due: 1281844800
entry: 1281289630
priority: H
project: work
status: pending
uuid: 23afada0-a446-8d5a-c213-30d99d52c4b0
...
EOF
cat file.yaml
echo $ task import file.yaml
printf "y\n" | task import file.yaml
echo $ task new limit:2
task new limit:2
# 26 Help
echo Help --------------------------------------------------------------
echo $ task help
task help
echo $ man task
#man task
echo $ man taskrc
#man taskrc
echo $ man task-color
#man task-color
echo $ man task-tutorial
#man task-tutorial
echo $ man task-faq
#man task-faq
echo $ man task-sync
#man task-sync
# 27 Wrap up
echo Wrap up --------------------------------------------------------------
echo $ task version
task version
exit

View File

@@ -0,0 +1,27 @@
[Make window 116x32 for movie recording, light text, dark background]
This is the script from which a 2.0-specific movie will be made. On the left
are the typed commands, and on the right is the voice track.
It is intended that the left and right be combined and the result will be a new
task-tutorial.5 man page.
---------------------------------------- Charts ----------------------------------------------------
task history The history report gives monthly totals of tasks added,
task history.annual completed and deleted. There is also an annual version.
task ghistory There is a graphical monthly...
task ghistory.annual and annual version.
task summary There is a project summary report that shows progress in
all the projects.
---------------------------------------- End -------------------------------------------------------
burndown.m
burndown.w
burndown.d

533
doc/misc/tutorial/color/run.200 Executable file
View File

@@ -0,0 +1,533 @@
#! /bin/bash
rm -f /Users/paul/.task/pending.data /Users/paul/.task/completed.data /Users/paul/.task/undo.data
echo 'data.location=~/.task' > /Users/paul/.taskrc
echo 'color=off' >> /Users/paul/.taskrc
echo 'color.summary.background=on gray3' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-red-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-256.theme' >> /Users/paul/.taskrc
# 1 Intro
# 2 Basic usage
echo Basic usage --------------------------------------------------------------
echo $ task add Select a free weekend in November
task add Select a free weekend in November
echo $ task add Select and book a venue
task add Select and book a venue
echo $ task add Come up with a guest list
task add Come up with a guest list
echo $ task add Mail invitations
task add Mail invitations
echo $ task add Select a caterer
task add Select a caterer
echo $ task list
task list
echo $ task log Order a special cake
task log Order a special cake
echo $ task 4 duplicate /Mail/Design/
task 4 duplicate /Mail/Design/
echo $ task 4 duplicate /Mail/Print/
task 4 duplicate /Mail/Print/
echo $ task list
task list
echo $ task 3 done
task 3 done
echo $ task list
task list
# 3 Projects
echo Projects --------------------------------------------------------------
echo $ task add Pay teh rent on teh 31st
task add Pay teh rent on teh 31st
echo $ task 7 /teh/the/g
task 7 /teh/the/g
echo $ task list
task list
echo $ task 7 project:home
task 7 project:home
echo $ task 1-6 project:party
echo 'All' | task 1-6 project:party
echo $ task projects
task projects
echo $ task list project:home
task list project:home
echo $ task li pro:par
task li pro:par
# 4 Priorities
echo Priorities --------------------------------------------------------------
echo $ task 1-3,5 priority:H
echo 'All' | task 1-3,5 priority:H
echo $ task list
task list
echo $ task 3 pri:
task 3 pri:
# 5 Tags
echo Tags --------------------------------------------------------------
echo $ task list
task list
echo $ task 3,5,6 +mall
echo 'All' | task 3,5,6 +mall
echo $ task long
task long
echo $ task list +mall
task list +mall
echo $ task 3 -mall
task 3 -mall
# 6 Modifications
echo Modifications --------------------------------------------------------------
echo $ task 7 Pay rent at the end of the month
echo 'Yes' | task 7 Pay rent at the end of the month
echo $ task add music
task add music
echo $ task 8 prepend Select some
task 8 prepend Select some
echo $ task 8 append for after dinner
task 8 append for after dinner
echo $ task list
task list
echo $ task edit
#task edit
echo $ task add Hire a band?
#task add Hire a band?
echo $ task add Hire a band\?
#task add Hire a band\?
echo $ task add "Hire a band?"
#task add "Hire a band?"
echo $ task add -- Hire a band\? +dj
task add -- Hire a band\? +dj
echo $ task undo
echo 'y' | task undo
echo $ task 1 delete
echo 'y' | task 1 delete
echo $ task undo
echo 'y' | task undo
# 7 Info
echo Info --------------------------------------------------------------
echo $ task 1 info
task 1 info
echo $ task stats
task stats
# 8 Annotations
echo Annotations --------------------------------------------------------------
echo $ task 1 annotate the 13 looks good
task 1 annotate the 13 looks good
sleep 1
echo $ task 1 annotate or the 14th
task 1 annotate or the 14th
echo $ task list
task list
echo $ task list rc.annotations:full
task list rc.annotations:full
echo $ task list rc.annotations:sparse
task list rc.annotations:sparse
echo $ task list rc.annotations:none
task list rc.annotations:none
echo $ task 1 denotate 14th
task 1 denotate 14th
echo $ task list
task list
# 9 Configuration
echo Configuration --------------------------------------------------------------
echo $ task show
task show
echo $ task config answer forty-two
echo 'y' | task config answer forty-two
echo $ task show answer
task show answer
echo $ task config answer
echo 'y' | task config answer
echo $ task rc.report.list.sort=description+ list
task rc.report.list.sort=description+ list
# 10 Defaults
echo Defaults --------------------------------------------------------------
echo $ task config default.command list
echo 'y' | task config default.command list
echo $ task
task
echo $ task config default.priority H
echo 'y' | task config default.priority H
echo $ task config default.project Work
echo 'y' | task config default.project Work
echo $ task add New task
task add New task
echo $ task list
task list
echo $ task undo
echo 'y' | task undo
echo $ task config default.priority
echo 'y' | task config default.priority
echo $ task config default.project
echo 'y' | task config default.project
# 11 Aliases
echo Aliases --------------------------------------------------------------
echo $ task config alias.zzz list
echo 'y' | task config alias.zzz list
echo $ task zzz
task zzz
echo $ task z
task z
# 12 Color
echo Color --------------------------------------------------------------
echo $ task config color on
echo 'y' | task config color on
echo $ task list
task list
echo $ task 1 bg:on_red
task 1 bg:on_red
echo $ task list
task list
echo $ task 1 bg:
task 1 bg:
echo $ task color
task color
echo $ task color white on red
task color white on red
echo $ task color legend
task color legend
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
echo 'include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
sed 's/blue/red/' x >x2 && mv x2 x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
sed 's/red-//' x >x2 && mv x2 x
echo $ task list
task list
echo $ task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
echo $ man task-color
#man task-color
# 13 Active tasks
echo Active tasks --------------------------------------------------------------
echo $ task 2 start
task 2 start
echo $ task list
task list
echo $ task active
task active
echo $ task 2 stop
task 2 stop
echo $ task config journal.time on
task config journal.time on
echo $ task config rc.dateformat.xxx xxx
task config rc.dateformat.xxx xxx
echo $ task config dateformat.annotation 'Y/m/d H:N'
task config dateformat.annotation 'Y/m/d H:N'
echo $ task 2 start
task 2 start
echo $ task list venue
task list venue
echo $ task 2 stop
task 2 stop
echo $ task list venue
task list venue
# 14 Due dates
echo Due dates --------------------------------------------------------------
echo $ task 1 due:7/31/2010
task 1 due:7/31/2010
echo $ task 1 due:2wks
task 1 due:2wks
echo $ task 1 due:-2wks
task 1 due:-2wks
echo $ task 1 due:eom
task 1 due:eom
echo $ task 2 due:8th
task 2 due:8th
echo $ task 2 due:sunday
task 2 due:sunday
echo $ task 5 due:eow
task 5 due:eow
echo $ task list
task list
echo $ task overdue
task overdue
echo $ task rc.dateformat.report:Y-M-DTH:N:SZ list
task rc.dateformat.report:Y-M-DTH:N:SZ list
# 15 Calendar
echo Calendar --------------------------------------------------------------
echo $ task calendar
task calendar
echo $ vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
echo 'include /usr/local/share/doc/task/rc/holidays-US.rc' >> x
echo $ task calendar
task calendar
echo $ task cal 2010
task cal 2010
echo $ task rc.calendar.details:full cal
task rc.calendar.details:full cal
echo $ task rc.calendar.holidays:full cal
task rc.calendar.holidays:full cal
# 16 Recurrence
echo Recurrence --------------------------------------------------------------
echo $ task 7 info
task 7 info
echo $ task 7 due:eom recur:monthly
task 7 due:eom recur:monthly
echo $ task 7
task 7
echo $ task 7 until:eoy
task 7 until:eoy
echo $ task recurring
task recurring
echo $ task add Pay taxes due:4/15/2007 recur:yearly
task add Pay taxes due:4/15/2007 recur:yearly
echo $ task long
task long
echo $ task 11 delete
printf "y\ny\n" | task 11 delete # y, y
echo $ task list
task list
# 17 Shell
echo Shell --------------------------------------------------------------
echo $ task shell
#task shell
echo '> projects'
#> projects
echo '> tags'
#> tags
echo '> list'
#> list
echo '> quit'
#> quit
# 18 Special tags
echo Special tags --------------------------------------------------------------
echo $ task 6 +nocolor
task 6 +nocolor
echo $ task list
task list
echo $ task tags
task tags
echo $ task 6 -nocolor
task 6 -nocolor
# 19 Waiting
echo Waiting --------------------------------------------------------------
echo $ task add Look for new apartment due:eoy
task add Look for new apartment due:eoy
echo $ task list
task list
echo $ task 10 wait:12/1/2010
task 10 wait:12/1/2010
echo $ task list
task list
echo $ task waiting
task waiting
echo $ task add Do something in a few seconds
task add Do something in a few seconds
echo $ task 11 wait:5s
task 11 wait:5s
echo $ task list
task list
sleep 5
echo $ task list
task list
echo $ task 11 rc.confirmation:no delete
task 11 rc.confirmation:no delete
# 20 Dependencies
echo Dependencies --------------------------------------------------------------
echo $ task list pro:party
task list pro:party
echo $ task 3 depends:6
task 3 depends:6
echo $ task 6 dep:5
task 6 dep:5
echo $ task 2 dep:1
task 2 dep:1
echo $ task 5 dep:1,2
task 5 dep:1,2
echo $ task 4 dep:1
task 4 dep:1
echo $ task long pro:party
task long pro:party
echo $ task 5 dep:-1
task 5 dep:-1
echo $ task blocked
task blocked
echo $ task unblocked
task unblocked
echo $ task 1 info
task 1 info
echo $ task 2 info
task 2 info
echo $ task 2 done
echo 'y' | task 2 done
echo $ task 1 info
task 1 info
# 21 Reports
echo Reports --------------------------------------------------------------
echo $ task minimal
task minimal
echo $ task ls
task ls
echo $ task list
task list
echo $ task long
task long
echo $ task all
task all
echo $ task completed
task completed
echo $ task recurring
task recurring
echo $ task waiting
task waiting
echo $ task blocked
task blocked
echo $ task oldest
task oldest
echo $ task newest
task newest
echo $ task timesheet
task timesheet
echo $ task next
task next
# 22 Custom report
echo Custom report --------------------------------------------------------------
echo 'report.foo.description=My own report' >> x
echo 'report.foo.columns=id,entry,description' >> x
echo 'report.foo.labels=ID,Entered,Description' >> x
echo 'report.foo.sort=entry+,description+' >> x
echo 'report.foo.filter=status:pending' >> x
echo 'task help | grep foo'
task help | grep foo
echo $ task show report.foo
task show report.foo
echo $ task foo
task foo
# 23 Charts
echo Charts --------------------------------------------------------------
echo $ task history
task history
echo $ task history.annual
task history.annual
echo $ task ghistory
task ghistory
echo $ task ghistory.annual
task ghistory.annual
echo $ task summary
task summary
# 24 Advanced filters
echo Advanced filters --------------------------------------------------------------
echo $ task list
task list
echo $ task list invit
task list invit
echo $ task list description.contains:invit
task list description.contains:invit
echo $ task list desc.word:the
task list desc.word:the
echo $ task list desc.noword:invitations
task list desc.noword:invitations
echo $ task list pro:party
task list pro:party
echo $ task list pro.is:party
task list pro.is:party
echo $ task list pro.not:party
task list pro.not:party
echo $ task list pro:party priority.over:L
task list pro:party priority.over:L
echo $ task list pro:party limit:2
task list pro:party limit:2
echo $ task list limit:page
task list limit:page
echo $ task all status:pending
task all status:pending
echo $ task all status:waiting
task all status:waiting
# 25 Import/export
echo Import/export --------------------------------------------------------------
echo $ task export.csv
task export.csv
echo $ task export.csv venue
task export.csv venue
echo $ task export.vcalendar venue
task export.vcalendar venue
echo $ task export.yaml venue
task export.yaml venue
cat <<EOF >file.text
Remember to read the task man page
EOF
cat file.text
echo $ task import file.text
printf "y\n" | task import file.text
cat <<EOF >file.yaml
%YAML 1.1
---
task:
description: Visit http://taskwarrior.org
due: 1281844800
entry: 1281289630
priority: H
project: work
status: pending
uuid: 23afada0-a446-8d5a-c213-30d99d52c4b0
...
EOF
cat file.yaml
echo $ task import file.yaml
printf "y\n" | task import file.yaml
echo $ task new limit:2
task new limit:2
# 26 Help
echo Help --------------------------------------------------------------
echo $ task help
task help
echo $ man task
#man task
echo $ man taskrc
#man taskrc
echo $ man task-color
#man task-color
echo $ man task-tutorial
#man task-tutorial
echo $ man task-faq
#man task-faq
echo $ man task-sync
#man task-sync
# 27 Wrap up
echo Wrap up --------------------------------------------------------------
echo $ task version
task version
exit

View File

@@ -0,0 +1,70 @@
[Make window 116x32 for movie recording, light text, dark background]
This is the script from which a 2.0-specific movie will be made. On the left
are the typed commands, and on the right is the voice track.
It is intended that the left and right be combined and the result will be a new
task-tutorial.5 man page.
---------------------------------------- Color -----------------------------------------------------
task config color on All the examples so far have been shown with color turned
task list off. How about some color?
What you see is the result of a set of color rules being
applied to the tasks. There is a hierarchy of color rules
that colorize a task based on the metadata
task 1 "bg:on red" Here is an example of an explicit override to the color
task list rules where a specific task is given a red background.
task 1 bg: Note that the quotes are necessary, otherwise the shell
will consider "bg:on" and "red" to be separate arugments.
task color Taskwarrior supports 256 colors on certain terminal
emulators, and this shows the range of colors available.
task color white on red This is how to show a color sample.
task color legend Or samples of all the active color settings.
Themes are a simple way to use coordinated color schemes
so by including a color theme into the configuration file,
you can see some striking effects.
A blue theme.
# include /usr/local/share/doc/task/rc/dark-blue-256.theme
vi ~/.taskrc
task color legend
task list
A red theme.
# include /usr/local/share/doc/task/rc/dark-red-256.theme
vi ~/.taskrc
task color legend
task list
A general dark theme.
# include /usr/local/share/doc/task/rc/dark-256.theme
vi ~/.taskrc
task list
Here is are two color rules that specify a dark blue
background for all tasks that are part of the 'party'
project, and uses bold to identify any tasks with the
keyword 'invitations' in the description.
task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
man task-color There is a man page with a writeup of all the color
capabilities.
---------------------------------------- End -------------------------------------------------------
Remove bg: and fg: because they are deprecated.
Demonstrate different themes.
More color rules.
Mention rc.color.precedence.

View File

@@ -0,0 +1,533 @@
#! /bin/bash
rm -f /Users/paul/.task/pending.data /Users/paul/.task/completed.data /Users/paul/.task/undo.data
echo 'data.location=~/.task' > /Users/paul/.taskrc
echo 'color=off' >> /Users/paul/.taskrc
echo 'color.summary.background=on gray3' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-red-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-256.theme' >> /Users/paul/.taskrc
# 1 Intro
# 2 Basic usage
echo Basic usage --------------------------------------------------------------
echo $ task add Select a free weekend in November
task add Select a free weekend in November
echo $ task add Select and book a venue
task add Select and book a venue
echo $ task add Come up with a guest list
task add Come up with a guest list
echo $ task add Mail invitations
task add Mail invitations
echo $ task add Select a caterer
task add Select a caterer
echo $ task list
task list
echo $ task log Order a special cake
task log Order a special cake
echo $ task 4 duplicate /Mail/Design/
task 4 duplicate /Mail/Design/
echo $ task 4 duplicate /Mail/Print/
task 4 duplicate /Mail/Print/
echo $ task list
task list
echo $ task 3 done
task 3 done
echo $ task list
task list
# 3 Projects
echo Projects --------------------------------------------------------------
echo $ task add Pay teh rent on teh 31st
task add Pay teh rent on teh 31st
echo $ task 7 /teh/the/g
task 7 /teh/the/g
echo $ task list
task list
echo $ task 7 project:home
task 7 project:home
echo $ task 1-6 project:party
echo 'All' | task 1-6 project:party
echo $ task projects
task projects
echo $ task list project:home
task list project:home
echo $ task li pro:par
task li pro:par
# 4 Priorities
echo Priorities --------------------------------------------------------------
echo $ task 1-3,5 priority:H
echo 'All' | task 1-3,5 priority:H
echo $ task list
task list
echo $ task 3 pri:
task 3 pri:
# 5 Tags
echo Tags --------------------------------------------------------------
echo $ task list
task list
echo $ task 3,5,6 +mall
echo 'All' | task 3,5,6 +mall
echo $ task long
task long
echo $ task list +mall
task list +mall
echo $ task 3 -mall
task 3 -mall
# 6 Modifications
echo Modifications --------------------------------------------------------------
echo $ task 7 Pay rent at the end of the month
echo 'Yes' | task 7 Pay rent at the end of the month
echo $ task add music
task add music
echo $ task 8 prepend Select some
task 8 prepend Select some
echo $ task 8 append for after dinner
task 8 append for after dinner
echo $ task list
task list
echo $ task edit
#task edit
echo $ task add Hire a band?
#task add Hire a band?
echo $ task add Hire a band\?
#task add Hire a band\?
echo $ task add "Hire a band?"
#task add "Hire a band?"
echo $ task add -- Hire a band\? +dj
task add -- Hire a band\? +dj
echo $ task undo
echo 'y' | task undo
echo $ task 1 delete
echo 'y' | task 1 delete
echo $ task undo
echo 'y' | task undo
# 7 Info
echo Info --------------------------------------------------------------
echo $ task 1 info
task 1 info
echo $ task stats
task stats
# 8 Annotations
echo Annotations --------------------------------------------------------------
echo $ task 1 annotate the 13 looks good
task 1 annotate the 13 looks good
sleep 1
echo $ task 1 annotate or the 14th
task 1 annotate or the 14th
echo $ task list
task list
echo $ task list rc.annotations:full
task list rc.annotations:full
echo $ task list rc.annotations:sparse
task list rc.annotations:sparse
echo $ task list rc.annotations:none
task list rc.annotations:none
echo $ task 1 denotate 14th
task 1 denotate 14th
echo $ task list
task list
# 9 Configuration
echo Configuration --------------------------------------------------------------
echo $ task show
task show
echo $ task config answer forty-two
echo 'y' | task config answer forty-two
echo $ task show answer
task show answer
echo $ task config answer
echo 'y' | task config answer
echo $ task rc.report.list.sort=description+ list
task rc.report.list.sort=description+ list
# 10 Defaults
echo Defaults --------------------------------------------------------------
echo $ task config default.command list
echo 'y' | task config default.command list
echo $ task
task
echo $ task config default.priority H
echo 'y' | task config default.priority H
echo $ task config default.project Work
echo 'y' | task config default.project Work
echo $ task add New task
task add New task
echo $ task list
task list
echo $ task undo
echo 'y' | task undo
echo $ task config default.priority
echo 'y' | task config default.priority
echo $ task config default.project
echo 'y' | task config default.project
# 11 Aliases
echo Aliases --------------------------------------------------------------
echo $ task config alias.zzz list
echo 'y' | task config alias.zzz list
echo $ task zzz
task zzz
echo $ task z
task z
# 12 Color
echo Color --------------------------------------------------------------
echo $ task config color on
echo 'y' | task config color on
echo $ task list
task list
echo $ task 1 bg:on_red
task 1 bg:on_red
echo $ task list
task list
echo $ task 1 bg:
task 1 bg:
echo $ task color
task color
echo $ task color white on red
task color white on red
echo $ task color legend
task color legend
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
echo 'include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
sed 's/blue/red/' x >x2 && mv x2 x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
sed 's/red-//' x >x2 && mv x2 x
echo $ task list
task list
echo $ task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
echo $ man task-color
#man task-color
# 13 Active tasks
echo Active tasks --------------------------------------------------------------
echo $ task 2 start
task 2 start
echo $ task list
task list
echo $ task active
task active
echo $ task 2 stop
task 2 stop
echo $ task config journal.time on
task config journal.time on
echo $ task config rc.dateformat.xxx xxx
task config rc.dateformat.xxx xxx
echo $ task config dateformat.annotation 'Y/m/d H:N'
task config dateformat.annotation 'Y/m/d H:N'
echo $ task 2 start
task 2 start
echo $ task list venue
task list venue
echo $ task 2 stop
task 2 stop
echo $ task list venue
task list venue
# 14 Due dates
echo Due dates --------------------------------------------------------------
echo $ task 1 due:7/31/2010
task 1 due:7/31/2010
echo $ task 1 due:2wks
task 1 due:2wks
echo $ task 1 due:-2wks
task 1 due:-2wks
echo $ task 1 due:eom
task 1 due:eom
echo $ task 2 due:8th
task 2 due:8th
echo $ task 2 due:sunday
task 2 due:sunday
echo $ task 5 due:eow
task 5 due:eow
echo $ task list
task list
echo $ task overdue
task overdue
echo $ task rc.dateformat.report:Y-M-DTH:N:SZ list
task rc.dateformat.report:Y-M-DTH:N:SZ list
# 15 Calendar
echo Calendar --------------------------------------------------------------
echo $ task calendar
task calendar
echo $ vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
echo 'include /usr/local/share/doc/task/rc/holidays-US.rc' >> x
echo $ task calendar
task calendar
echo $ task cal 2010
task cal 2010
echo $ task rc.calendar.details:full cal
task rc.calendar.details:full cal
echo $ task rc.calendar.holidays:full cal
task rc.calendar.holidays:full cal
# 16 Recurrence
echo Recurrence --------------------------------------------------------------
echo $ task 7 info
task 7 info
echo $ task 7 due:eom recur:monthly
task 7 due:eom recur:monthly
echo $ task 7
task 7
echo $ task 7 until:eoy
task 7 until:eoy
echo $ task recurring
task recurring
echo $ task add Pay taxes due:4/15/2007 recur:yearly
task add Pay taxes due:4/15/2007 recur:yearly
echo $ task long
task long
echo $ task 11 delete
printf "y\ny\n" | task 11 delete # y, y
echo $ task list
task list
# 17 Shell
echo Shell --------------------------------------------------------------
echo $ task shell
#task shell
echo '> projects'
#> projects
echo '> tags'
#> tags
echo '> list'
#> list
echo '> quit'
#> quit
# 18 Special tags
echo Special tags --------------------------------------------------------------
echo $ task 6 +nocolor
task 6 +nocolor
echo $ task list
task list
echo $ task tags
task tags
echo $ task 6 -nocolor
task 6 -nocolor
# 19 Waiting
echo Waiting --------------------------------------------------------------
echo $ task add Look for new apartment due:eoy
task add Look for new apartment due:eoy
echo $ task list
task list
echo $ task 10 wait:12/1/2010
task 10 wait:12/1/2010
echo $ task list
task list
echo $ task waiting
task waiting
echo $ task add Do something in a few seconds
task add Do something in a few seconds
echo $ task 11 wait:5s
task 11 wait:5s
echo $ task list
task list
sleep 5
echo $ task list
task list
echo $ task 11 rc.confirmation:no delete
task 11 rc.confirmation:no delete
# 20 Dependencies
echo Dependencies --------------------------------------------------------------
echo $ task list pro:party
task list pro:party
echo $ task 3 depends:6
task 3 depends:6
echo $ task 6 dep:5
task 6 dep:5
echo $ task 2 dep:1
task 2 dep:1
echo $ task 5 dep:1,2
task 5 dep:1,2
echo $ task 4 dep:1
task 4 dep:1
echo $ task long pro:party
task long pro:party
echo $ task 5 dep:-1
task 5 dep:-1
echo $ task blocked
task blocked
echo $ task unblocked
task unblocked
echo $ task 1 info
task 1 info
echo $ task 2 info
task 2 info
echo $ task 2 done
echo 'y' | task 2 done
echo $ task 1 info
task 1 info
# 21 Reports
echo Reports --------------------------------------------------------------
echo $ task minimal
task minimal
echo $ task ls
task ls
echo $ task list
task list
echo $ task long
task long
echo $ task all
task all
echo $ task completed
task completed
echo $ task recurring
task recurring
echo $ task waiting
task waiting
echo $ task blocked
task blocked
echo $ task oldest
task oldest
echo $ task newest
task newest
echo $ task timesheet
task timesheet
echo $ task next
task next
# 22 Custom report
echo Custom report --------------------------------------------------------------
echo 'report.foo.description=My own report' >> x
echo 'report.foo.columns=id,entry,description' >> x
echo 'report.foo.labels=ID,Entered,Description' >> x
echo 'report.foo.sort=entry+,description+' >> x
echo 'report.foo.filter=status:pending' >> x
echo 'task help | grep foo'
task help | grep foo
echo $ task show report.foo
task show report.foo
echo $ task foo
task foo
# 23 Charts
echo Charts --------------------------------------------------------------
echo $ task history
task history
echo $ task history.annual
task history.annual
echo $ task ghistory
task ghistory
echo $ task ghistory.annual
task ghistory.annual
echo $ task summary
task summary
# 24 Advanced filters
echo Advanced filters --------------------------------------------------------------
echo $ task list
task list
echo $ task list invit
task list invit
echo $ task list description.contains:invit
task list description.contains:invit
echo $ task list desc.word:the
task list desc.word:the
echo $ task list desc.noword:invitations
task list desc.noword:invitations
echo $ task list pro:party
task list pro:party
echo $ task list pro.is:party
task list pro.is:party
echo $ task list pro.not:party
task list pro.not:party
echo $ task list pro:party priority.over:L
task list pro:party priority.over:L
echo $ task list pro:party limit:2
task list pro:party limit:2
echo $ task list limit:page
task list limit:page
echo $ task all status:pending
task all status:pending
echo $ task all status:waiting
task all status:waiting
# 25 Import/export
echo Import/export --------------------------------------------------------------
echo $ task export.csv
task export.csv
echo $ task export.csv venue
task export.csv venue
echo $ task export.vcalendar venue
task export.vcalendar venue
echo $ task export.yaml venue
task export.yaml venue
cat <<EOF >file.text
Remember to read the task man page
EOF
cat file.text
echo $ task import file.text
printf "y\n" | task import file.text
cat <<EOF >file.yaml
%YAML 1.1
---
task:
description: Visit http://taskwarrior.org
due: 1281844800
entry: 1281289630
priority: H
project: work
status: pending
uuid: 23afada0-a446-8d5a-c213-30d99d52c4b0
...
EOF
cat file.yaml
echo $ task import file.yaml
printf "y\n" | task import file.yaml
echo $ task new limit:2
task new limit:2
# 26 Help
echo Help --------------------------------------------------------------
echo $ task help
task help
echo $ man task
#man task
echo $ man taskrc
#man taskrc
echo $ man task-color
#man task-color
echo $ man task-tutorial
#man task-tutorial
echo $ man task-faq
#man task-faq
echo $ man task-sync
#man task-sync
# 27 Wrap up
echo Wrap up --------------------------------------------------------------
echo $ task version
task version
exit

View File

@@ -0,0 +1,40 @@
[Make window 116x32 for movie recording, light text, dark background]
This is the script from which a 2.0-specific movie will be made. On the left
are the typed commands, and on the right is the voice track.
It is intended that the left and right be combined and the result will be a new
task-tutorial.5 man page.
---------------------------------------- Configuration ---------------------------------------------
task show There is a 'show' command, that is used to display the
active configuration. There are hundreds of settings that
can be changed, and every one has a sensible default.
man taskrc If you want a complete list of all the settings and their
meanings, read the man page.
task config answer 42 The 'config' command is used to modify the settings, and in
this case the configuration variable 'answer' is given the
value of 42.
task show answer The 'show' command indicates that the value was changed,
task config answer and also that the variable is unrecognized. The show
command performs a detailed check on your configuration, and
alerts you to several kinds of problem. The config command
can also remove a value.
task rc.report.list.sort=description+ list
A very powerful feature is the ability to override the
configuration variables temporarily. Here I am requesting
an ascending sort on the description field only.
---------------------------------------- End -------------------------------------------------------
Mention minimal asspect of ~/.taskrc
Mention rc override of file
Mention rc overrides of values

533
doc/misc/tutorial/custom/run.200 Executable file
View File

@@ -0,0 +1,533 @@
#! /bin/bash
rm -f /Users/paul/.task/pending.data /Users/paul/.task/completed.data /Users/paul/.task/undo.data
echo 'data.location=~/.task' > /Users/paul/.taskrc
echo 'color=off' >> /Users/paul/.taskrc
echo 'color.summary.background=on gray3' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-red-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-256.theme' >> /Users/paul/.taskrc
# 1 Intro
# 2 Basic usage
echo Basic usage --------------------------------------------------------------
echo $ task add Select a free weekend in November
task add Select a free weekend in November
echo $ task add Select and book a venue
task add Select and book a venue
echo $ task add Come up with a guest list
task add Come up with a guest list
echo $ task add Mail invitations
task add Mail invitations
echo $ task add Select a caterer
task add Select a caterer
echo $ task list
task list
echo $ task log Order a special cake
task log Order a special cake
echo $ task 4 duplicate /Mail/Design/
task 4 duplicate /Mail/Design/
echo $ task 4 duplicate /Mail/Print/
task 4 duplicate /Mail/Print/
echo $ task list
task list
echo $ task 3 done
task 3 done
echo $ task list
task list
# 3 Projects
echo Projects --------------------------------------------------------------
echo $ task add Pay teh rent on teh 31st
task add Pay teh rent on teh 31st
echo $ task 7 /teh/the/g
task 7 /teh/the/g
echo $ task list
task list
echo $ task 7 project:home
task 7 project:home
echo $ task 1-6 project:party
echo 'All' | task 1-6 project:party
echo $ task projects
task projects
echo $ task list project:home
task list project:home
echo $ task li pro:par
task li pro:par
# 4 Priorities
echo Priorities --------------------------------------------------------------
echo $ task 1-3,5 priority:H
echo 'All' | task 1-3,5 priority:H
echo $ task list
task list
echo $ task 3 pri:
task 3 pri:
# 5 Tags
echo Tags --------------------------------------------------------------
echo $ task list
task list
echo $ task 3,5,6 +mall
echo 'All' | task 3,5,6 +mall
echo $ task long
task long
echo $ task list +mall
task list +mall
echo $ task 3 -mall
task 3 -mall
# 6 Modifications
echo Modifications --------------------------------------------------------------
echo $ task 7 Pay rent at the end of the month
echo 'Yes' | task 7 Pay rent at the end of the month
echo $ task add music
task add music
echo $ task 8 prepend Select some
task 8 prepend Select some
echo $ task 8 append for after dinner
task 8 append for after dinner
echo $ task list
task list
echo $ task edit
#task edit
echo $ task add Hire a band?
#task add Hire a band?
echo $ task add Hire a band\?
#task add Hire a band\?
echo $ task add "Hire a band?"
#task add "Hire a band?"
echo $ task add -- Hire a band\? +dj
task add -- Hire a band\? +dj
echo $ task undo
echo 'y' | task undo
echo $ task 1 delete
echo 'y' | task 1 delete
echo $ task undo
echo 'y' | task undo
# 7 Info
echo Info --------------------------------------------------------------
echo $ task 1 info
task 1 info
echo $ task stats
task stats
# 8 Annotations
echo Annotations --------------------------------------------------------------
echo $ task 1 annotate the 13 looks good
task 1 annotate the 13 looks good
sleep 1
echo $ task 1 annotate or the 14th
task 1 annotate or the 14th
echo $ task list
task list
echo $ task list rc.annotations:full
task list rc.annotations:full
echo $ task list rc.annotations:sparse
task list rc.annotations:sparse
echo $ task list rc.annotations:none
task list rc.annotations:none
echo $ task 1 denotate 14th
task 1 denotate 14th
echo $ task list
task list
# 9 Configuration
echo Configuration --------------------------------------------------------------
echo $ task show
task show
echo $ task config answer forty-two
echo 'y' | task config answer forty-two
echo $ task show answer
task show answer
echo $ task config answer
echo 'y' | task config answer
echo $ task rc.report.list.sort=description+ list
task rc.report.list.sort=description+ list
# 10 Defaults
echo Defaults --------------------------------------------------------------
echo $ task config default.command list
echo 'y' | task config default.command list
echo $ task
task
echo $ task config default.priority H
echo 'y' | task config default.priority H
echo $ task config default.project Work
echo 'y' | task config default.project Work
echo $ task add New task
task add New task
echo $ task list
task list
echo $ task undo
echo 'y' | task undo
echo $ task config default.priority
echo 'y' | task config default.priority
echo $ task config default.project
echo 'y' | task config default.project
# 11 Aliases
echo Aliases --------------------------------------------------------------
echo $ task config alias.zzz list
echo 'y' | task config alias.zzz list
echo $ task zzz
task zzz
echo $ task z
task z
# 12 Color
echo Color --------------------------------------------------------------
echo $ task config color on
echo 'y' | task config color on
echo $ task list
task list
echo $ task 1 bg:on_red
task 1 bg:on_red
echo $ task list
task list
echo $ task 1 bg:
task 1 bg:
echo $ task color
task color
echo $ task color white on red
task color white on red
echo $ task color legend
task color legend
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
echo 'include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
sed 's/blue/red/' x >x2 && mv x2 x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
sed 's/red-//' x >x2 && mv x2 x
echo $ task list
task list
echo $ task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
echo $ man task-color
#man task-color
# 13 Active tasks
echo Active tasks --------------------------------------------------------------
echo $ task 2 start
task 2 start
echo $ task list
task list
echo $ task active
task active
echo $ task 2 stop
task 2 stop
echo $ task config journal.time on
task config journal.time on
echo $ task config rc.dateformat.xxx xxx
task config rc.dateformat.xxx xxx
echo $ task config dateformat.annotation 'Y/m/d H:N'
task config dateformat.annotation 'Y/m/d H:N'
echo $ task 2 start
task 2 start
echo $ task list venue
task list venue
echo $ task 2 stop
task 2 stop
echo $ task list venue
task list venue
# 14 Due dates
echo Due dates --------------------------------------------------------------
echo $ task 1 due:7/31/2010
task 1 due:7/31/2010
echo $ task 1 due:2wks
task 1 due:2wks
echo $ task 1 due:-2wks
task 1 due:-2wks
echo $ task 1 due:eom
task 1 due:eom
echo $ task 2 due:8th
task 2 due:8th
echo $ task 2 due:sunday
task 2 due:sunday
echo $ task 5 due:eow
task 5 due:eow
echo $ task list
task list
echo $ task overdue
task overdue
echo $ task rc.dateformat.report:Y-M-DTH:N:SZ list
task rc.dateformat.report:Y-M-DTH:N:SZ list
# 15 Calendar
echo Calendar --------------------------------------------------------------
echo $ task calendar
task calendar
echo $ vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
echo 'include /usr/local/share/doc/task/rc/holidays-US.rc' >> x
echo $ task calendar
task calendar
echo $ task cal 2010
task cal 2010
echo $ task rc.calendar.details:full cal
task rc.calendar.details:full cal
echo $ task rc.calendar.holidays:full cal
task rc.calendar.holidays:full cal
# 16 Recurrence
echo Recurrence --------------------------------------------------------------
echo $ task 7 info
task 7 info
echo $ task 7 due:eom recur:monthly
task 7 due:eom recur:monthly
echo $ task 7
task 7
echo $ task 7 until:eoy
task 7 until:eoy
echo $ task recurring
task recurring
echo $ task add Pay taxes due:4/15/2007 recur:yearly
task add Pay taxes due:4/15/2007 recur:yearly
echo $ task long
task long
echo $ task 11 delete
printf "y\ny\n" | task 11 delete # y, y
echo $ task list
task list
# 17 Shell
echo Shell --------------------------------------------------------------
echo $ task shell
#task shell
echo '> projects'
#> projects
echo '> tags'
#> tags
echo '> list'
#> list
echo '> quit'
#> quit
# 18 Special tags
echo Special tags --------------------------------------------------------------
echo $ task 6 +nocolor
task 6 +nocolor
echo $ task list
task list
echo $ task tags
task tags
echo $ task 6 -nocolor
task 6 -nocolor
# 19 Waiting
echo Waiting --------------------------------------------------------------
echo $ task add Look for new apartment due:eoy
task add Look for new apartment due:eoy
echo $ task list
task list
echo $ task 10 wait:12/1/2010
task 10 wait:12/1/2010
echo $ task list
task list
echo $ task waiting
task waiting
echo $ task add Do something in a few seconds
task add Do something in a few seconds
echo $ task 11 wait:5s
task 11 wait:5s
echo $ task list
task list
sleep 5
echo $ task list
task list
echo $ task 11 rc.confirmation:no delete
task 11 rc.confirmation:no delete
# 20 Dependencies
echo Dependencies --------------------------------------------------------------
echo $ task list pro:party
task list pro:party
echo $ task 3 depends:6
task 3 depends:6
echo $ task 6 dep:5
task 6 dep:5
echo $ task 2 dep:1
task 2 dep:1
echo $ task 5 dep:1,2
task 5 dep:1,2
echo $ task 4 dep:1
task 4 dep:1
echo $ task long pro:party
task long pro:party
echo $ task 5 dep:-1
task 5 dep:-1
echo $ task blocked
task blocked
echo $ task unblocked
task unblocked
echo $ task 1 info
task 1 info
echo $ task 2 info
task 2 info
echo $ task 2 done
echo 'y' | task 2 done
echo $ task 1 info
task 1 info
# 21 Reports
echo Reports --------------------------------------------------------------
echo $ task minimal
task minimal
echo $ task ls
task ls
echo $ task list
task list
echo $ task long
task long
echo $ task all
task all
echo $ task completed
task completed
echo $ task recurring
task recurring
echo $ task waiting
task waiting
echo $ task blocked
task blocked
echo $ task oldest
task oldest
echo $ task newest
task newest
echo $ task timesheet
task timesheet
echo $ task next
task next
# 22 Custom report
echo Custom report --------------------------------------------------------------
echo 'report.foo.description=My own report' >> x
echo 'report.foo.columns=id,entry,description' >> x
echo 'report.foo.labels=ID,Entered,Description' >> x
echo 'report.foo.sort=entry+,description+' >> x
echo 'report.foo.filter=status:pending' >> x
echo 'task help | grep foo'
task help | grep foo
echo $ task show report.foo
task show report.foo
echo $ task foo
task foo
# 23 Charts
echo Charts --------------------------------------------------------------
echo $ task history
task history
echo $ task history.annual
task history.annual
echo $ task ghistory
task ghistory
echo $ task ghistory.annual
task ghistory.annual
echo $ task summary
task summary
# 24 Advanced filters
echo Advanced filters --------------------------------------------------------------
echo $ task list
task list
echo $ task list invit
task list invit
echo $ task list description.contains:invit
task list description.contains:invit
echo $ task list desc.word:the
task list desc.word:the
echo $ task list desc.noword:invitations
task list desc.noword:invitations
echo $ task list pro:party
task list pro:party
echo $ task list pro.is:party
task list pro.is:party
echo $ task list pro.not:party
task list pro.not:party
echo $ task list pro:party priority.over:L
task list pro:party priority.over:L
echo $ task list pro:party limit:2
task list pro:party limit:2
echo $ task list limit:page
task list limit:page
echo $ task all status:pending
task all status:pending
echo $ task all status:waiting
task all status:waiting
# 25 Import/export
echo Import/export --------------------------------------------------------------
echo $ task export.csv
task export.csv
echo $ task export.csv venue
task export.csv venue
echo $ task export.vcalendar venue
task export.vcalendar venue
echo $ task export.yaml venue
task export.yaml venue
cat <<EOF >file.text
Remember to read the task man page
EOF
cat file.text
echo $ task import file.text
printf "y\n" | task import file.text
cat <<EOF >file.yaml
%YAML 1.1
---
task:
description: Visit http://taskwarrior.org
due: 1281844800
entry: 1281289630
priority: H
project: work
status: pending
uuid: 23afada0-a446-8d5a-c213-30d99d52c4b0
...
EOF
cat file.yaml
echo $ task import file.yaml
printf "y\n" | task import file.yaml
echo $ task new limit:2
task new limit:2
# 26 Help
echo Help --------------------------------------------------------------
echo $ task help
task help
echo $ man task
#man task
echo $ man taskrc
#man taskrc
echo $ man task-color
#man task-color
echo $ man task-tutorial
#man task-tutorial
echo $ man task-faq
#man task-faq
echo $ man task-sync
#man task-sync
# 27 Wrap up
echo Wrap up --------------------------------------------------------------
echo $ task version
task version
exit

View File

@@ -0,0 +1,37 @@
[Make window 116x32 for movie recording, light text, dark background]
This is the script from which a 2.0-specific movie will be made. On the left
are the typed commands, and on the right is the voice track.
It is intended that the left and right be combined and the result will be a new
task-tutorial.5 man page.
---------------------------------------- Custom Report ---------------------------------------------
You can even define your own custom report. Let's quickly
create a custom report - we'll call it foo - and I can
choose from a long list of fields to include in the report,
but I want to see the ID, the date when I entered the task,
and the description. I can specify the labels for those
columns, the sort order of the report, and I can filter.
cat >> ~/.taskrc
report.foo.description=My own report
report.foo.columns=id,entry,description
report.foo.labels=ID,Entered,Description
report.foo.sort=entry+,description+
report.foo.filter=status:pending
task help | grep foo Custom reports also show up on the help output.
task show report.foo I can inspect the configuration.
task foo And they can be run just like the other reports.
---------------------------------------- End -------------------------------------------------------
Mention all reports are custom reports.
Show 'reports' command

View File

@@ -0,0 +1,533 @@
#! /bin/bash
rm -f /Users/paul/.task/pending.data /Users/paul/.task/completed.data /Users/paul/.task/undo.data
echo 'data.location=~/.task' > /Users/paul/.taskrc
echo 'color=off' >> /Users/paul/.taskrc
echo 'color.summary.background=on gray3' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-red-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-256.theme' >> /Users/paul/.taskrc
# 1 Intro
# 2 Basic usage
echo Basic usage --------------------------------------------------------------
echo $ task add Select a free weekend in November
task add Select a free weekend in November
echo $ task add Select and book a venue
task add Select and book a venue
echo $ task add Come up with a guest list
task add Come up with a guest list
echo $ task add Mail invitations
task add Mail invitations
echo $ task add Select a caterer
task add Select a caterer
echo $ task list
task list
echo $ task log Order a special cake
task log Order a special cake
echo $ task 4 duplicate /Mail/Design/
task 4 duplicate /Mail/Design/
echo $ task 4 duplicate /Mail/Print/
task 4 duplicate /Mail/Print/
echo $ task list
task list
echo $ task 3 done
task 3 done
echo $ task list
task list
# 3 Projects
echo Projects --------------------------------------------------------------
echo $ task add Pay teh rent on teh 31st
task add Pay teh rent on teh 31st
echo $ task 7 /teh/the/g
task 7 /teh/the/g
echo $ task list
task list
echo $ task 7 project:home
task 7 project:home
echo $ task 1-6 project:party
echo 'All' | task 1-6 project:party
echo $ task projects
task projects
echo $ task list project:home
task list project:home
echo $ task li pro:par
task li pro:par
# 4 Priorities
echo Priorities --------------------------------------------------------------
echo $ task 1-3,5 priority:H
echo 'All' | task 1-3,5 priority:H
echo $ task list
task list
echo $ task 3 pri:
task 3 pri:
# 5 Tags
echo Tags --------------------------------------------------------------
echo $ task list
task list
echo $ task 3,5,6 +mall
echo 'All' | task 3,5,6 +mall
echo $ task long
task long
echo $ task list +mall
task list +mall
echo $ task 3 -mall
task 3 -mall
# 6 Modifications
echo Modifications --------------------------------------------------------------
echo $ task 7 Pay rent at the end of the month
echo 'Yes' | task 7 Pay rent at the end of the month
echo $ task add music
task add music
echo $ task 8 prepend Select some
task 8 prepend Select some
echo $ task 8 append for after dinner
task 8 append for after dinner
echo $ task list
task list
echo $ task edit
#task edit
echo $ task add Hire a band?
#task add Hire a band?
echo $ task add Hire a band\?
#task add Hire a band\?
echo $ task add "Hire a band?"
#task add "Hire a band?"
echo $ task add -- Hire a band\? +dj
task add -- Hire a band\? +dj
echo $ task undo
echo 'y' | task undo
echo $ task 1 delete
echo 'y' | task 1 delete
echo $ task undo
echo 'y' | task undo
# 7 Info
echo Info --------------------------------------------------------------
echo $ task 1 info
task 1 info
echo $ task stats
task stats
# 8 Annotations
echo Annotations --------------------------------------------------------------
echo $ task 1 annotate the 13 looks good
task 1 annotate the 13 looks good
sleep 1
echo $ task 1 annotate or the 14th
task 1 annotate or the 14th
echo $ task list
task list
echo $ task list rc.annotations:full
task list rc.annotations:full
echo $ task list rc.annotations:sparse
task list rc.annotations:sparse
echo $ task list rc.annotations:none
task list rc.annotations:none
echo $ task 1 denotate 14th
task 1 denotate 14th
echo $ task list
task list
# 9 Configuration
echo Configuration --------------------------------------------------------------
echo $ task show
task show
echo $ task config answer forty-two
echo 'y' | task config answer forty-two
echo $ task show answer
task show answer
echo $ task config answer
echo 'y' | task config answer
echo $ task rc.report.list.sort=description+ list
task rc.report.list.sort=description+ list
# 10 Defaults
echo Defaults --------------------------------------------------------------
echo $ task config default.command list
echo 'y' | task config default.command list
echo $ task
task
echo $ task config default.priority H
echo 'y' | task config default.priority H
echo $ task config default.project Work
echo 'y' | task config default.project Work
echo $ task add New task
task add New task
echo $ task list
task list
echo $ task undo
echo 'y' | task undo
echo $ task config default.priority
echo 'y' | task config default.priority
echo $ task config default.project
echo 'y' | task config default.project
# 11 Aliases
echo Aliases --------------------------------------------------------------
echo $ task config alias.zzz list
echo 'y' | task config alias.zzz list
echo $ task zzz
task zzz
echo $ task z
task z
# 12 Color
echo Color --------------------------------------------------------------
echo $ task config color on
echo 'y' | task config color on
echo $ task list
task list
echo $ task 1 bg:on_red
task 1 bg:on_red
echo $ task list
task list
echo $ task 1 bg:
task 1 bg:
echo $ task color
task color
echo $ task color white on red
task color white on red
echo $ task color legend
task color legend
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
echo 'include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
sed 's/blue/red/' x >x2 && mv x2 x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
sed 's/red-//' x >x2 && mv x2 x
echo $ task list
task list
echo $ task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
echo $ man task-color
#man task-color
# 13 Active tasks
echo Active tasks --------------------------------------------------------------
echo $ task 2 start
task 2 start
echo $ task list
task list
echo $ task active
task active
echo $ task 2 stop
task 2 stop
echo $ task config journal.time on
task config journal.time on
echo $ task config rc.dateformat.xxx xxx
task config rc.dateformat.xxx xxx
echo $ task config dateformat.annotation 'Y/m/d H:N'
task config dateformat.annotation 'Y/m/d H:N'
echo $ task 2 start
task 2 start
echo $ task list venue
task list venue
echo $ task 2 stop
task 2 stop
echo $ task list venue
task list venue
# 14 Due dates
echo Due dates --------------------------------------------------------------
echo $ task 1 due:7/31/2010
task 1 due:7/31/2010
echo $ task 1 due:2wks
task 1 due:2wks
echo $ task 1 due:-2wks
task 1 due:-2wks
echo $ task 1 due:eom
task 1 due:eom
echo $ task 2 due:8th
task 2 due:8th
echo $ task 2 due:sunday
task 2 due:sunday
echo $ task 5 due:eow
task 5 due:eow
echo $ task list
task list
echo $ task overdue
task overdue
echo $ task rc.dateformat.report:Y-M-DTH:N:SZ list
task rc.dateformat.report:Y-M-DTH:N:SZ list
# 15 Calendar
echo Calendar --------------------------------------------------------------
echo $ task calendar
task calendar
echo $ vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
echo 'include /usr/local/share/doc/task/rc/holidays-US.rc' >> x
echo $ task calendar
task calendar
echo $ task cal 2010
task cal 2010
echo $ task rc.calendar.details:full cal
task rc.calendar.details:full cal
echo $ task rc.calendar.holidays:full cal
task rc.calendar.holidays:full cal
# 16 Recurrence
echo Recurrence --------------------------------------------------------------
echo $ task 7 info
task 7 info
echo $ task 7 due:eom recur:monthly
task 7 due:eom recur:monthly
echo $ task 7
task 7
echo $ task 7 until:eoy
task 7 until:eoy
echo $ task recurring
task recurring
echo $ task add Pay taxes due:4/15/2007 recur:yearly
task add Pay taxes due:4/15/2007 recur:yearly
echo $ task long
task long
echo $ task 11 delete
printf "y\ny\n" | task 11 delete # y, y
echo $ task list
task list
# 17 Shell
echo Shell --------------------------------------------------------------
echo $ task shell
#task shell
echo '> projects'
#> projects
echo '> tags'
#> tags
echo '> list'
#> list
echo '> quit'
#> quit
# 18 Special tags
echo Special tags --------------------------------------------------------------
echo $ task 6 +nocolor
task 6 +nocolor
echo $ task list
task list
echo $ task tags
task tags
echo $ task 6 -nocolor
task 6 -nocolor
# 19 Waiting
echo Waiting --------------------------------------------------------------
echo $ task add Look for new apartment due:eoy
task add Look for new apartment due:eoy
echo $ task list
task list
echo $ task 10 wait:12/1/2010
task 10 wait:12/1/2010
echo $ task list
task list
echo $ task waiting
task waiting
echo $ task add Do something in a few seconds
task add Do something in a few seconds
echo $ task 11 wait:5s
task 11 wait:5s
echo $ task list
task list
sleep 5
echo $ task list
task list
echo $ task 11 rc.confirmation:no delete
task 11 rc.confirmation:no delete
# 20 Dependencies
echo Dependencies --------------------------------------------------------------
echo $ task list pro:party
task list pro:party
echo $ task 3 depends:6
task 3 depends:6
echo $ task 6 dep:5
task 6 dep:5
echo $ task 2 dep:1
task 2 dep:1
echo $ task 5 dep:1,2
task 5 dep:1,2
echo $ task 4 dep:1
task 4 dep:1
echo $ task long pro:party
task long pro:party
echo $ task 5 dep:-1
task 5 dep:-1
echo $ task blocked
task blocked
echo $ task unblocked
task unblocked
echo $ task 1 info
task 1 info
echo $ task 2 info
task 2 info
echo $ task 2 done
echo 'y' | task 2 done
echo $ task 1 info
task 1 info
# 21 Reports
echo Reports --------------------------------------------------------------
echo $ task minimal
task minimal
echo $ task ls
task ls
echo $ task list
task list
echo $ task long
task long
echo $ task all
task all
echo $ task completed
task completed
echo $ task recurring
task recurring
echo $ task waiting
task waiting
echo $ task blocked
task blocked
echo $ task oldest
task oldest
echo $ task newest
task newest
echo $ task timesheet
task timesheet
echo $ task next
task next
# 22 Custom report
echo Custom report --------------------------------------------------------------
echo 'report.foo.description=My own report' >> x
echo 'report.foo.columns=id,entry,description' >> x
echo 'report.foo.labels=ID,Entered,Description' >> x
echo 'report.foo.sort=entry+,description+' >> x
echo 'report.foo.filter=status:pending' >> x
echo 'task help | grep foo'
task help | grep foo
echo $ task show report.foo
task show report.foo
echo $ task foo
task foo
# 23 Charts
echo Charts --------------------------------------------------------------
echo $ task history
task history
echo $ task history.annual
task history.annual
echo $ task ghistory
task ghistory
echo $ task ghistory.annual
task ghistory.annual
echo $ task summary
task summary
# 24 Advanced filters
echo Advanced filters --------------------------------------------------------------
echo $ task list
task list
echo $ task list invit
task list invit
echo $ task list description.contains:invit
task list description.contains:invit
echo $ task list desc.word:the
task list desc.word:the
echo $ task list desc.noword:invitations
task list desc.noword:invitations
echo $ task list pro:party
task list pro:party
echo $ task list pro.is:party
task list pro.is:party
echo $ task list pro.not:party
task list pro.not:party
echo $ task list pro:party priority.over:L
task list pro:party priority.over:L
echo $ task list pro:party limit:2
task list pro:party limit:2
echo $ task list limit:page
task list limit:page
echo $ task all status:pending
task all status:pending
echo $ task all status:waiting
task all status:waiting
# 25 Import/export
echo Import/export --------------------------------------------------------------
echo $ task export.csv
task export.csv
echo $ task export.csv venue
task export.csv venue
echo $ task export.vcalendar venue
task export.vcalendar venue
echo $ task export.yaml venue
task export.yaml venue
cat <<EOF >file.text
Remember to read the task man page
EOF
cat file.text
echo $ task import file.text
printf "y\n" | task import file.text
cat <<EOF >file.yaml
%YAML 1.1
---
task:
description: Visit http://taskwarrior.org
due: 1281844800
entry: 1281289630
priority: H
project: work
status: pending
uuid: 23afada0-a446-8d5a-c213-30d99d52c4b0
...
EOF
cat file.yaml
echo $ task import file.yaml
printf "y\n" | task import file.yaml
echo $ task new limit:2
task new limit:2
# 26 Help
echo Help --------------------------------------------------------------
echo $ task help
task help
echo $ man task
#man task
echo $ man taskrc
#man taskrc
echo $ man task-color
#man task-color
echo $ man task-tutorial
#man task-tutorial
echo $ man task-faq
#man task-faq
echo $ man task-sync
#man task-sync
# 27 Wrap up
echo Wrap up --------------------------------------------------------------
echo $ task version
task version
exit

View File

@@ -0,0 +1,28 @@
[Make window 116x32 for movie recording, light text, dark background]
This is the script from which a 2.0-specific movie will be made. On the left
are the typed commands, and on the right is the voice track.
It is intended that the left and right be combined and the result will be a new
task-tutorial.5 man page.
---------------------------------------- Defaults --------------------------------------------------
task config default.command list There is a default command, which can be set to anything,
task in this case it is set to the 'list' report. Then running
taskwarrior with no command name runs the default command.
task config default.priority H I can also specify a default priority and project, which
task config default.project Work means that any tasks added will use them, unless an
task add New task alternative is provided.
task list
task undo Let's just revert those changes, to clean up.
task config default.priority
task config default.project
---------------------------------------- End -------------------------------------------------------

View File

@@ -0,0 +1,533 @@
#! /bin/bash
rm -f /Users/paul/.task/pending.data /Users/paul/.task/completed.data /Users/paul/.task/undo.data
echo 'data.location=~/.task' > /Users/paul/.taskrc
echo 'color=off' >> /Users/paul/.taskrc
echo 'color.summary.background=on gray3' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-red-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-256.theme' >> /Users/paul/.taskrc
# 1 Intro
# 2 Basic usage
echo Basic usage --------------------------------------------------------------
echo $ task add Select a free weekend in November
task add Select a free weekend in November
echo $ task add Select and book a venue
task add Select and book a venue
echo $ task add Come up with a guest list
task add Come up with a guest list
echo $ task add Mail invitations
task add Mail invitations
echo $ task add Select a caterer
task add Select a caterer
echo $ task list
task list
echo $ task log Order a special cake
task log Order a special cake
echo $ task 4 duplicate /Mail/Design/
task 4 duplicate /Mail/Design/
echo $ task 4 duplicate /Mail/Print/
task 4 duplicate /Mail/Print/
echo $ task list
task list
echo $ task 3 done
task 3 done
echo $ task list
task list
# 3 Projects
echo Projects --------------------------------------------------------------
echo $ task add Pay teh rent on teh 31st
task add Pay teh rent on teh 31st
echo $ task 7 /teh/the/g
task 7 /teh/the/g
echo $ task list
task list
echo $ task 7 project:home
task 7 project:home
echo $ task 1-6 project:party
echo 'All' | task 1-6 project:party
echo $ task projects
task projects
echo $ task list project:home
task list project:home
echo $ task li pro:par
task li pro:par
# 4 Priorities
echo Priorities --------------------------------------------------------------
echo $ task 1-3,5 priority:H
echo 'All' | task 1-3,5 priority:H
echo $ task list
task list
echo $ task 3 pri:
task 3 pri:
# 5 Tags
echo Tags --------------------------------------------------------------
echo $ task list
task list
echo $ task 3,5,6 +mall
echo 'All' | task 3,5,6 +mall
echo $ task long
task long
echo $ task list +mall
task list +mall
echo $ task 3 -mall
task 3 -mall
# 6 Modifications
echo Modifications --------------------------------------------------------------
echo $ task 7 Pay rent at the end of the month
echo 'Yes' | task 7 Pay rent at the end of the month
echo $ task add music
task add music
echo $ task 8 prepend Select some
task 8 prepend Select some
echo $ task 8 append for after dinner
task 8 append for after dinner
echo $ task list
task list
echo $ task edit
#task edit
echo $ task add Hire a band?
#task add Hire a band?
echo $ task add Hire a band\?
#task add Hire a band\?
echo $ task add "Hire a band?"
#task add "Hire a band?"
echo $ task add -- Hire a band\? +dj
task add -- Hire a band\? +dj
echo $ task undo
echo 'y' | task undo
echo $ task 1 delete
echo 'y' | task 1 delete
echo $ task undo
echo 'y' | task undo
# 7 Info
echo Info --------------------------------------------------------------
echo $ task 1 info
task 1 info
echo $ task stats
task stats
# 8 Annotations
echo Annotations --------------------------------------------------------------
echo $ task 1 annotate the 13 looks good
task 1 annotate the 13 looks good
sleep 1
echo $ task 1 annotate or the 14th
task 1 annotate or the 14th
echo $ task list
task list
echo $ task list rc.annotations:full
task list rc.annotations:full
echo $ task list rc.annotations:sparse
task list rc.annotations:sparse
echo $ task list rc.annotations:none
task list rc.annotations:none
echo $ task 1 denotate 14th
task 1 denotate 14th
echo $ task list
task list
# 9 Configuration
echo Configuration --------------------------------------------------------------
echo $ task show
task show
echo $ task config answer forty-two
echo 'y' | task config answer forty-two
echo $ task show answer
task show answer
echo $ task config answer
echo 'y' | task config answer
echo $ task rc.report.list.sort=description+ list
task rc.report.list.sort=description+ list
# 10 Defaults
echo Defaults --------------------------------------------------------------
echo $ task config default.command list
echo 'y' | task config default.command list
echo $ task
task
echo $ task config default.priority H
echo 'y' | task config default.priority H
echo $ task config default.project Work
echo 'y' | task config default.project Work
echo $ task add New task
task add New task
echo $ task list
task list
echo $ task undo
echo 'y' | task undo
echo $ task config default.priority
echo 'y' | task config default.priority
echo $ task config default.project
echo 'y' | task config default.project
# 11 Aliases
echo Aliases --------------------------------------------------------------
echo $ task config alias.zzz list
echo 'y' | task config alias.zzz list
echo $ task zzz
task zzz
echo $ task z
task z
# 12 Color
echo Color --------------------------------------------------------------
echo $ task config color on
echo 'y' | task config color on
echo $ task list
task list
echo $ task 1 bg:on_red
task 1 bg:on_red
echo $ task list
task list
echo $ task 1 bg:
task 1 bg:
echo $ task color
task color
echo $ task color white on red
task color white on red
echo $ task color legend
task color legend
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
echo 'include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
sed 's/blue/red/' x >x2 && mv x2 x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
sed 's/red-//' x >x2 && mv x2 x
echo $ task list
task list
echo $ task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
echo $ man task-color
#man task-color
# 13 Active tasks
echo Active tasks --------------------------------------------------------------
echo $ task 2 start
task 2 start
echo $ task list
task list
echo $ task active
task active
echo $ task 2 stop
task 2 stop
echo $ task config journal.time on
task config journal.time on
echo $ task config rc.dateformat.xxx xxx
task config rc.dateformat.xxx xxx
echo $ task config dateformat.annotation 'Y/m/d H:N'
task config dateformat.annotation 'Y/m/d H:N'
echo $ task 2 start
task 2 start
echo $ task list venue
task list venue
echo $ task 2 stop
task 2 stop
echo $ task list venue
task list venue
# 14 Due dates
echo Due dates --------------------------------------------------------------
echo $ task 1 due:7/31/2010
task 1 due:7/31/2010
echo $ task 1 due:2wks
task 1 due:2wks
echo $ task 1 due:-2wks
task 1 due:-2wks
echo $ task 1 due:eom
task 1 due:eom
echo $ task 2 due:8th
task 2 due:8th
echo $ task 2 due:sunday
task 2 due:sunday
echo $ task 5 due:eow
task 5 due:eow
echo $ task list
task list
echo $ task overdue
task overdue
echo $ task rc.dateformat.report:Y-M-DTH:N:SZ list
task rc.dateformat.report:Y-M-DTH:N:SZ list
# 15 Calendar
echo Calendar --------------------------------------------------------------
echo $ task calendar
task calendar
echo $ vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
echo 'include /usr/local/share/doc/task/rc/holidays-US.rc' >> x
echo $ task calendar
task calendar
echo $ task cal 2010
task cal 2010
echo $ task rc.calendar.details:full cal
task rc.calendar.details:full cal
echo $ task rc.calendar.holidays:full cal
task rc.calendar.holidays:full cal
# 16 Recurrence
echo Recurrence --------------------------------------------------------------
echo $ task 7 info
task 7 info
echo $ task 7 due:eom recur:monthly
task 7 due:eom recur:monthly
echo $ task 7
task 7
echo $ task 7 until:eoy
task 7 until:eoy
echo $ task recurring
task recurring
echo $ task add Pay taxes due:4/15/2007 recur:yearly
task add Pay taxes due:4/15/2007 recur:yearly
echo $ task long
task long
echo $ task 11 delete
printf "y\ny\n" | task 11 delete # y, y
echo $ task list
task list
# 17 Shell
echo Shell --------------------------------------------------------------
echo $ task shell
#task shell
echo '> projects'
#> projects
echo '> tags'
#> tags
echo '> list'
#> list
echo '> quit'
#> quit
# 18 Special tags
echo Special tags --------------------------------------------------------------
echo $ task 6 +nocolor
task 6 +nocolor
echo $ task list
task list
echo $ task tags
task tags
echo $ task 6 -nocolor
task 6 -nocolor
# 19 Waiting
echo Waiting --------------------------------------------------------------
echo $ task add Look for new apartment due:eoy
task add Look for new apartment due:eoy
echo $ task list
task list
echo $ task 10 wait:12/1/2010
task 10 wait:12/1/2010
echo $ task list
task list
echo $ task waiting
task waiting
echo $ task add Do something in a few seconds
task add Do something in a few seconds
echo $ task 11 wait:5s
task 11 wait:5s
echo $ task list
task list
sleep 5
echo $ task list
task list
echo $ task 11 rc.confirmation:no delete
task 11 rc.confirmation:no delete
# 20 Dependencies
echo Dependencies --------------------------------------------------------------
echo $ task list pro:party
task list pro:party
echo $ task 3 depends:6
task 3 depends:6
echo $ task 6 dep:5
task 6 dep:5
echo $ task 2 dep:1
task 2 dep:1
echo $ task 5 dep:1,2
task 5 dep:1,2
echo $ task 4 dep:1
task 4 dep:1
echo $ task long pro:party
task long pro:party
echo $ task 5 dep:-1
task 5 dep:-1
echo $ task blocked
task blocked
echo $ task unblocked
task unblocked
echo $ task 1 info
task 1 info
echo $ task 2 info
task 2 info
echo $ task 2 done
echo 'y' | task 2 done
echo $ task 1 info
task 1 info
# 21 Reports
echo Reports --------------------------------------------------------------
echo $ task minimal
task minimal
echo $ task ls
task ls
echo $ task list
task list
echo $ task long
task long
echo $ task all
task all
echo $ task completed
task completed
echo $ task recurring
task recurring
echo $ task waiting
task waiting
echo $ task blocked
task blocked
echo $ task oldest
task oldest
echo $ task newest
task newest
echo $ task timesheet
task timesheet
echo $ task next
task next
# 22 Custom report
echo Custom report --------------------------------------------------------------
echo 'report.foo.description=My own report' >> x
echo 'report.foo.columns=id,entry,description' >> x
echo 'report.foo.labels=ID,Entered,Description' >> x
echo 'report.foo.sort=entry+,description+' >> x
echo 'report.foo.filter=status:pending' >> x
echo 'task help | grep foo'
task help | grep foo
echo $ task show report.foo
task show report.foo
echo $ task foo
task foo
# 23 Charts
echo Charts --------------------------------------------------------------
echo $ task history
task history
echo $ task history.annual
task history.annual
echo $ task ghistory
task ghistory
echo $ task ghistory.annual
task ghistory.annual
echo $ task summary
task summary
# 24 Advanced filters
echo Advanced filters --------------------------------------------------------------
echo $ task list
task list
echo $ task list invit
task list invit
echo $ task list description.contains:invit
task list description.contains:invit
echo $ task list desc.word:the
task list desc.word:the
echo $ task list desc.noword:invitations
task list desc.noword:invitations
echo $ task list pro:party
task list pro:party
echo $ task list pro.is:party
task list pro.is:party
echo $ task list pro.not:party
task list pro.not:party
echo $ task list pro:party priority.over:L
task list pro:party priority.over:L
echo $ task list pro:party limit:2
task list pro:party limit:2
echo $ task list limit:page
task list limit:page
echo $ task all status:pending
task all status:pending
echo $ task all status:waiting
task all status:waiting
# 25 Import/export
echo Import/export --------------------------------------------------------------
echo $ task export.csv
task export.csv
echo $ task export.csv venue
task export.csv venue
echo $ task export.vcalendar venue
task export.vcalendar venue
echo $ task export.yaml venue
task export.yaml venue
cat <<EOF >file.text
Remember to read the task man page
EOF
cat file.text
echo $ task import file.text
printf "y\n" | task import file.text
cat <<EOF >file.yaml
%YAML 1.1
---
task:
description: Visit http://taskwarrior.org
due: 1281844800
entry: 1281289630
priority: H
project: work
status: pending
uuid: 23afada0-a446-8d5a-c213-30d99d52c4b0
...
EOF
cat file.yaml
echo $ task import file.yaml
printf "y\n" | task import file.yaml
echo $ task new limit:2
task new limit:2
# 26 Help
echo Help --------------------------------------------------------------
echo $ task help
task help
echo $ man task
#man task
echo $ man taskrc
#man taskrc
echo $ man task-color
#man task-color
echo $ man task-tutorial
#man task-tutorial
echo $ man task-faq
#man task-faq
echo $ man task-sync
#man task-sync
# 27 Wrap up
echo Wrap up --------------------------------------------------------------
echo $ task version
task version
exit

View File

@@ -0,0 +1,47 @@
[Make window 116x32 for movie recording, light text, dark background]
This is the script from which a 2.0-specific movie will be made. On the left
are the typed commands, and on the right is the voice track.
It is intended that the left and right be combined and the result will be a new
task-tutorial.5 man page.
---------------------------------------- Dependencies ----------------------------------------------
task list pro:party Taskwarrior supports dependencies. Let's take a look at the
party planning tasks, and assign dependencies.
task 3 depends:6 Let's see. I can't mail invitations until they are printed.
task 6 dep:5 I can't print them until I design them.
task 2 dep:1 I need to select a weekend before a location.
task 5 dep:1,2 Design depends on location and weekend.
task 4 dep:1 And the caterer needs to know where.
task long pro:party All my tasks are blocked except task 1. That makes sense.
task 5 dep:-1 Hmm, that double dependency isn't right.
task blocked Here are the blocked tasks.
task unblocked and the opposite, the unblocked tasks.
task 1 info If we look at task 1 closely, we can see that it is blocking
task 2 info 2 and 4. And if we look at task 2, we see that it is
blocked by 1, and blocking 5.
This is called a dependency chain, which is a string of tasks
that are all connected not only by their project, but by
dependencies.
Now we understand that task 1 should be done first, but you
may still violate the laws of physics if you wish. Let's
complete task 2 and see what happens.
task 2 done (y) Taskwarrior realizes what you are doing, and offers to fix
task 1 info the dependency chain to reflect what you have done.
---------------------------------------- End -------------------------------------------------------
Show color rules.

533
doc/misc/tutorial/due/run.200 Executable file
View File

@@ -0,0 +1,533 @@
#! /bin/bash
rm -f /Users/paul/.task/pending.data /Users/paul/.task/completed.data /Users/paul/.task/undo.data
echo 'data.location=~/.task' > /Users/paul/.taskrc
echo 'color=off' >> /Users/paul/.taskrc
echo 'color.summary.background=on gray3' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-red-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-256.theme' >> /Users/paul/.taskrc
# 1 Intro
# 2 Basic usage
echo Basic usage --------------------------------------------------------------
echo $ task add Select a free weekend in November
task add Select a free weekend in November
echo $ task add Select and book a venue
task add Select and book a venue
echo $ task add Come up with a guest list
task add Come up with a guest list
echo $ task add Mail invitations
task add Mail invitations
echo $ task add Select a caterer
task add Select a caterer
echo $ task list
task list
echo $ task log Order a special cake
task log Order a special cake
echo $ task 4 duplicate /Mail/Design/
task 4 duplicate /Mail/Design/
echo $ task 4 duplicate /Mail/Print/
task 4 duplicate /Mail/Print/
echo $ task list
task list
echo $ task 3 done
task 3 done
echo $ task list
task list
# 3 Projects
echo Projects --------------------------------------------------------------
echo $ task add Pay teh rent on teh 31st
task add Pay teh rent on teh 31st
echo $ task 7 /teh/the/g
task 7 /teh/the/g
echo $ task list
task list
echo $ task 7 project:home
task 7 project:home
echo $ task 1-6 project:party
echo 'All' | task 1-6 project:party
echo $ task projects
task projects
echo $ task list project:home
task list project:home
echo $ task li pro:par
task li pro:par
# 4 Priorities
echo Priorities --------------------------------------------------------------
echo $ task 1-3,5 priority:H
echo 'All' | task 1-3,5 priority:H
echo $ task list
task list
echo $ task 3 pri:
task 3 pri:
# 5 Tags
echo Tags --------------------------------------------------------------
echo $ task list
task list
echo $ task 3,5,6 +mall
echo 'All' | task 3,5,6 +mall
echo $ task long
task long
echo $ task list +mall
task list +mall
echo $ task 3 -mall
task 3 -mall
# 6 Modifications
echo Modifications --------------------------------------------------------------
echo $ task 7 Pay rent at the end of the month
echo 'Yes' | task 7 Pay rent at the end of the month
echo $ task add music
task add music
echo $ task 8 prepend Select some
task 8 prepend Select some
echo $ task 8 append for after dinner
task 8 append for after dinner
echo $ task list
task list
echo $ task edit
#task edit
echo $ task add Hire a band?
#task add Hire a band?
echo $ task add Hire a band\?
#task add Hire a band\?
echo $ task add "Hire a band?"
#task add "Hire a band?"
echo $ task add -- Hire a band\? +dj
task add -- Hire a band\? +dj
echo $ task undo
echo 'y' | task undo
echo $ task 1 delete
echo 'y' | task 1 delete
echo $ task undo
echo 'y' | task undo
# 7 Info
echo Info --------------------------------------------------------------
echo $ task 1 info
task 1 info
echo $ task stats
task stats
# 8 Annotations
echo Annotations --------------------------------------------------------------
echo $ task 1 annotate the 13 looks good
task 1 annotate the 13 looks good
sleep 1
echo $ task 1 annotate or the 14th
task 1 annotate or the 14th
echo $ task list
task list
echo $ task list rc.annotations:full
task list rc.annotations:full
echo $ task list rc.annotations:sparse
task list rc.annotations:sparse
echo $ task list rc.annotations:none
task list rc.annotations:none
echo $ task 1 denotate 14th
task 1 denotate 14th
echo $ task list
task list
# 9 Configuration
echo Configuration --------------------------------------------------------------
echo $ task show
task show
echo $ task config answer forty-two
echo 'y' | task config answer forty-two
echo $ task show answer
task show answer
echo $ task config answer
echo 'y' | task config answer
echo $ task rc.report.list.sort=description+ list
task rc.report.list.sort=description+ list
# 10 Defaults
echo Defaults --------------------------------------------------------------
echo $ task config default.command list
echo 'y' | task config default.command list
echo $ task
task
echo $ task config default.priority H
echo 'y' | task config default.priority H
echo $ task config default.project Work
echo 'y' | task config default.project Work
echo $ task add New task
task add New task
echo $ task list
task list
echo $ task undo
echo 'y' | task undo
echo $ task config default.priority
echo 'y' | task config default.priority
echo $ task config default.project
echo 'y' | task config default.project
# 11 Aliases
echo Aliases --------------------------------------------------------------
echo $ task config alias.zzz list
echo 'y' | task config alias.zzz list
echo $ task zzz
task zzz
echo $ task z
task z
# 12 Color
echo Color --------------------------------------------------------------
echo $ task config color on
echo 'y' | task config color on
echo $ task list
task list
echo $ task 1 bg:on_red
task 1 bg:on_red
echo $ task list
task list
echo $ task 1 bg:
task 1 bg:
echo $ task color
task color
echo $ task color white on red
task color white on red
echo $ task color legend
task color legend
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
echo 'include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
sed 's/blue/red/' x >x2 && mv x2 x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
sed 's/red-//' x >x2 && mv x2 x
echo $ task list
task list
echo $ task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
echo $ man task-color
#man task-color
# 13 Active tasks
echo Active tasks --------------------------------------------------------------
echo $ task 2 start
task 2 start
echo $ task list
task list
echo $ task active
task active
echo $ task 2 stop
task 2 stop
echo $ task config journal.time on
task config journal.time on
echo $ task config rc.dateformat.xxx xxx
task config rc.dateformat.xxx xxx
echo $ task config dateformat.annotation 'Y/m/d H:N'
task config dateformat.annotation 'Y/m/d H:N'
echo $ task 2 start
task 2 start
echo $ task list venue
task list venue
echo $ task 2 stop
task 2 stop
echo $ task list venue
task list venue
# 14 Due dates
echo Due dates --------------------------------------------------------------
echo $ task 1 due:7/31/2010
task 1 due:7/31/2010
echo $ task 1 due:2wks
task 1 due:2wks
echo $ task 1 due:-2wks
task 1 due:-2wks
echo $ task 1 due:eom
task 1 due:eom
echo $ task 2 due:8th
task 2 due:8th
echo $ task 2 due:sunday
task 2 due:sunday
echo $ task 5 due:eow
task 5 due:eow
echo $ task list
task list
echo $ task overdue
task overdue
echo $ task rc.dateformat.report:Y-M-DTH:N:SZ list
task rc.dateformat.report:Y-M-DTH:N:SZ list
# 15 Calendar
echo Calendar --------------------------------------------------------------
echo $ task calendar
task calendar
echo $ vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
echo 'include /usr/local/share/doc/task/rc/holidays-US.rc' >> x
echo $ task calendar
task calendar
echo $ task cal 2010
task cal 2010
echo $ task rc.calendar.details:full cal
task rc.calendar.details:full cal
echo $ task rc.calendar.holidays:full cal
task rc.calendar.holidays:full cal
# 16 Recurrence
echo Recurrence --------------------------------------------------------------
echo $ task 7 info
task 7 info
echo $ task 7 due:eom recur:monthly
task 7 due:eom recur:monthly
echo $ task 7
task 7
echo $ task 7 until:eoy
task 7 until:eoy
echo $ task recurring
task recurring
echo $ task add Pay taxes due:4/15/2007 recur:yearly
task add Pay taxes due:4/15/2007 recur:yearly
echo $ task long
task long
echo $ task 11 delete
printf "y\ny\n" | task 11 delete # y, y
echo $ task list
task list
# 17 Shell
echo Shell --------------------------------------------------------------
echo $ task shell
#task shell
echo '> projects'
#> projects
echo '> tags'
#> tags
echo '> list'
#> list
echo '> quit'
#> quit
# 18 Special tags
echo Special tags --------------------------------------------------------------
echo $ task 6 +nocolor
task 6 +nocolor
echo $ task list
task list
echo $ task tags
task tags
echo $ task 6 -nocolor
task 6 -nocolor
# 19 Waiting
echo Waiting --------------------------------------------------------------
echo $ task add Look for new apartment due:eoy
task add Look for new apartment due:eoy
echo $ task list
task list
echo $ task 10 wait:12/1/2010
task 10 wait:12/1/2010
echo $ task list
task list
echo $ task waiting
task waiting
echo $ task add Do something in a few seconds
task add Do something in a few seconds
echo $ task 11 wait:5s
task 11 wait:5s
echo $ task list
task list
sleep 5
echo $ task list
task list
echo $ task 11 rc.confirmation:no delete
task 11 rc.confirmation:no delete
# 20 Dependencies
echo Dependencies --------------------------------------------------------------
echo $ task list pro:party
task list pro:party
echo $ task 3 depends:6
task 3 depends:6
echo $ task 6 dep:5
task 6 dep:5
echo $ task 2 dep:1
task 2 dep:1
echo $ task 5 dep:1,2
task 5 dep:1,2
echo $ task 4 dep:1
task 4 dep:1
echo $ task long pro:party
task long pro:party
echo $ task 5 dep:-1
task 5 dep:-1
echo $ task blocked
task blocked
echo $ task unblocked
task unblocked
echo $ task 1 info
task 1 info
echo $ task 2 info
task 2 info
echo $ task 2 done
echo 'y' | task 2 done
echo $ task 1 info
task 1 info
# 21 Reports
echo Reports --------------------------------------------------------------
echo $ task minimal
task minimal
echo $ task ls
task ls
echo $ task list
task list
echo $ task long
task long
echo $ task all
task all
echo $ task completed
task completed
echo $ task recurring
task recurring
echo $ task waiting
task waiting
echo $ task blocked
task blocked
echo $ task oldest
task oldest
echo $ task newest
task newest
echo $ task timesheet
task timesheet
echo $ task next
task next
# 22 Custom report
echo Custom report --------------------------------------------------------------
echo 'report.foo.description=My own report' >> x
echo 'report.foo.columns=id,entry,description' >> x
echo 'report.foo.labels=ID,Entered,Description' >> x
echo 'report.foo.sort=entry+,description+' >> x
echo 'report.foo.filter=status:pending' >> x
echo 'task help | grep foo'
task help | grep foo
echo $ task show report.foo
task show report.foo
echo $ task foo
task foo
# 23 Charts
echo Charts --------------------------------------------------------------
echo $ task history
task history
echo $ task history.annual
task history.annual
echo $ task ghistory
task ghistory
echo $ task ghistory.annual
task ghistory.annual
echo $ task summary
task summary
# 24 Advanced filters
echo Advanced filters --------------------------------------------------------------
echo $ task list
task list
echo $ task list invit
task list invit
echo $ task list description.contains:invit
task list description.contains:invit
echo $ task list desc.word:the
task list desc.word:the
echo $ task list desc.noword:invitations
task list desc.noword:invitations
echo $ task list pro:party
task list pro:party
echo $ task list pro.is:party
task list pro.is:party
echo $ task list pro.not:party
task list pro.not:party
echo $ task list pro:party priority.over:L
task list pro:party priority.over:L
echo $ task list pro:party limit:2
task list pro:party limit:2
echo $ task list limit:page
task list limit:page
echo $ task all status:pending
task all status:pending
echo $ task all status:waiting
task all status:waiting
# 25 Import/export
echo Import/export --------------------------------------------------------------
echo $ task export.csv
task export.csv
echo $ task export.csv venue
task export.csv venue
echo $ task export.vcalendar venue
task export.vcalendar venue
echo $ task export.yaml venue
task export.yaml venue
cat <<EOF >file.text
Remember to read the task man page
EOF
cat file.text
echo $ task import file.text
printf "y\n" | task import file.text
cat <<EOF >file.yaml
%YAML 1.1
---
task:
description: Visit http://taskwarrior.org
due: 1281844800
entry: 1281289630
priority: H
project: work
status: pending
uuid: 23afada0-a446-8d5a-c213-30d99d52c4b0
...
EOF
cat file.yaml
echo $ task import file.yaml
printf "y\n" | task import file.yaml
echo $ task new limit:2
task new limit:2
# 26 Help
echo Help --------------------------------------------------------------
echo $ task help
task help
echo $ man task
#man task
echo $ man taskrc
#man taskrc
echo $ man task-color
#man task-color
echo $ man task-tutorial
#man task-tutorial
echo $ man task-faq
#man task-faq
echo $ man task-sync
#man task-sync
# 27 Wrap up
echo Wrap up --------------------------------------------------------------
echo $ task version
task version
exit

View File

@@ -0,0 +1,31 @@
[Make window 116x32 for movie recording, light text, dark background]
This is the script from which a 2.0-specific movie will be made. On the left
are the typed commands, and on the right is the voice track.
It is intended that the left and right be combined and the result will be a new
task-tutorial.5 man page.
---------------------------------------- Due dates -------------------------------------------------
task 1 due:7/31/2010 Due dates can be specified as dates...
task 1 due:2wks as some distance into the future...
task 1 due:-2wks or past...
task 1 due:eom or by mnemonic (end of month)...
task 2 due:8th or by ordinal...
task 2 due:sunday or by day of week...
task 5 due:eow
task list Some of these dates are in the past, so now you see there
task overdue are overdue tasks. Due dates have different colors for
due, imminent, today and overdue values.
task rc.dateformat.report:Y-M-DTH:N:SZ list
You can also choose the format - for input and output.
---------------------------------------- End -------------------------------------------------------
Show inputting date+time
Show alternate rc.due

View File

@@ -0,0 +1,30 @@
Calendar trick
ln -s `which task` ./cal
./cal
Synch
push
pull
merge
Logo
Version
Verbosity
Formats
Setup
First time use
Where the files are
Using the man pages
http://tasktools.org/latest
Next Report
Usage
Configuration
Urgency
+next special tag

533
doc/misc/tutorial/filters/run.200 Executable file
View File

@@ -0,0 +1,533 @@
#! /bin/bash
rm -f /Users/paul/.task/pending.data /Users/paul/.task/completed.data /Users/paul/.task/undo.data
echo 'data.location=~/.task' > /Users/paul/.taskrc
echo 'color=off' >> /Users/paul/.taskrc
echo 'color.summary.background=on gray3' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-red-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-256.theme' >> /Users/paul/.taskrc
# 1 Intro
# 2 Basic usage
echo Basic usage --------------------------------------------------------------
echo $ task add Select a free weekend in November
task add Select a free weekend in November
echo $ task add Select and book a venue
task add Select and book a venue
echo $ task add Come up with a guest list
task add Come up with a guest list
echo $ task add Mail invitations
task add Mail invitations
echo $ task add Select a caterer
task add Select a caterer
echo $ task list
task list
echo $ task log Order a special cake
task log Order a special cake
echo $ task 4 duplicate /Mail/Design/
task 4 duplicate /Mail/Design/
echo $ task 4 duplicate /Mail/Print/
task 4 duplicate /Mail/Print/
echo $ task list
task list
echo $ task 3 done
task 3 done
echo $ task list
task list
# 3 Projects
echo Projects --------------------------------------------------------------
echo $ task add Pay teh rent on teh 31st
task add Pay teh rent on teh 31st
echo $ task 7 /teh/the/g
task 7 /teh/the/g
echo $ task list
task list
echo $ task 7 project:home
task 7 project:home
echo $ task 1-6 project:party
echo 'All' | task 1-6 project:party
echo $ task projects
task projects
echo $ task list project:home
task list project:home
echo $ task li pro:par
task li pro:par
# 4 Priorities
echo Priorities --------------------------------------------------------------
echo $ task 1-3,5 priority:H
echo 'All' | task 1-3,5 priority:H
echo $ task list
task list
echo $ task 3 pri:
task 3 pri:
# 5 Tags
echo Tags --------------------------------------------------------------
echo $ task list
task list
echo $ task 3,5,6 +mall
echo 'All' | task 3,5,6 +mall
echo $ task long
task long
echo $ task list +mall
task list +mall
echo $ task 3 -mall
task 3 -mall
# 6 Modifications
echo Modifications --------------------------------------------------------------
echo $ task 7 Pay rent at the end of the month
echo 'Yes' | task 7 Pay rent at the end of the month
echo $ task add music
task add music
echo $ task 8 prepend Select some
task 8 prepend Select some
echo $ task 8 append for after dinner
task 8 append for after dinner
echo $ task list
task list
echo $ task edit
#task edit
echo $ task add Hire a band?
#task add Hire a band?
echo $ task add Hire a band\?
#task add Hire a band\?
echo $ task add "Hire a band?"
#task add "Hire a band?"
echo $ task add -- Hire a band\? +dj
task add -- Hire a band\? +dj
echo $ task undo
echo 'y' | task undo
echo $ task 1 delete
echo 'y' | task 1 delete
echo $ task undo
echo 'y' | task undo
# 7 Info
echo Info --------------------------------------------------------------
echo $ task 1 info
task 1 info
echo $ task stats
task stats
# 8 Annotations
echo Annotations --------------------------------------------------------------
echo $ task 1 annotate the 13 looks good
task 1 annotate the 13 looks good
sleep 1
echo $ task 1 annotate or the 14th
task 1 annotate or the 14th
echo $ task list
task list
echo $ task list rc.annotations:full
task list rc.annotations:full
echo $ task list rc.annotations:sparse
task list rc.annotations:sparse
echo $ task list rc.annotations:none
task list rc.annotations:none
echo $ task 1 denotate 14th
task 1 denotate 14th
echo $ task list
task list
# 9 Configuration
echo Configuration --------------------------------------------------------------
echo $ task show
task show
echo $ task config answer forty-two
echo 'y' | task config answer forty-two
echo $ task show answer
task show answer
echo $ task config answer
echo 'y' | task config answer
echo $ task rc.report.list.sort=description+ list
task rc.report.list.sort=description+ list
# 10 Defaults
echo Defaults --------------------------------------------------------------
echo $ task config default.command list
echo 'y' | task config default.command list
echo $ task
task
echo $ task config default.priority H
echo 'y' | task config default.priority H
echo $ task config default.project Work
echo 'y' | task config default.project Work
echo $ task add New task
task add New task
echo $ task list
task list
echo $ task undo
echo 'y' | task undo
echo $ task config default.priority
echo 'y' | task config default.priority
echo $ task config default.project
echo 'y' | task config default.project
# 11 Aliases
echo Aliases --------------------------------------------------------------
echo $ task config alias.zzz list
echo 'y' | task config alias.zzz list
echo $ task zzz
task zzz
echo $ task z
task z
# 12 Color
echo Color --------------------------------------------------------------
echo $ task config color on
echo 'y' | task config color on
echo $ task list
task list
echo $ task 1 bg:on_red
task 1 bg:on_red
echo $ task list
task list
echo $ task 1 bg:
task 1 bg:
echo $ task color
task color
echo $ task color white on red
task color white on red
echo $ task color legend
task color legend
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
echo 'include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
sed 's/blue/red/' x >x2 && mv x2 x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
sed 's/red-//' x >x2 && mv x2 x
echo $ task list
task list
echo $ task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
echo $ man task-color
#man task-color
# 13 Active tasks
echo Active tasks --------------------------------------------------------------
echo $ task 2 start
task 2 start
echo $ task list
task list
echo $ task active
task active
echo $ task 2 stop
task 2 stop
echo $ task config journal.time on
task config journal.time on
echo $ task config rc.dateformat.xxx xxx
task config rc.dateformat.xxx xxx
echo $ task config dateformat.annotation 'Y/m/d H:N'
task config dateformat.annotation 'Y/m/d H:N'
echo $ task 2 start
task 2 start
echo $ task list venue
task list venue
echo $ task 2 stop
task 2 stop
echo $ task list venue
task list venue
# 14 Due dates
echo Due dates --------------------------------------------------------------
echo $ task 1 due:7/31/2010
task 1 due:7/31/2010
echo $ task 1 due:2wks
task 1 due:2wks
echo $ task 1 due:-2wks
task 1 due:-2wks
echo $ task 1 due:eom
task 1 due:eom
echo $ task 2 due:8th
task 2 due:8th
echo $ task 2 due:sunday
task 2 due:sunday
echo $ task 5 due:eow
task 5 due:eow
echo $ task list
task list
echo $ task overdue
task overdue
echo $ task rc.dateformat.report:Y-M-DTH:N:SZ list
task rc.dateformat.report:Y-M-DTH:N:SZ list
# 15 Calendar
echo Calendar --------------------------------------------------------------
echo $ task calendar
task calendar
echo $ vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
echo 'include /usr/local/share/doc/task/rc/holidays-US.rc' >> x
echo $ task calendar
task calendar
echo $ task cal 2010
task cal 2010
echo $ task rc.calendar.details:full cal
task rc.calendar.details:full cal
echo $ task rc.calendar.holidays:full cal
task rc.calendar.holidays:full cal
# 16 Recurrence
echo Recurrence --------------------------------------------------------------
echo $ task 7 info
task 7 info
echo $ task 7 due:eom recur:monthly
task 7 due:eom recur:monthly
echo $ task 7
task 7
echo $ task 7 until:eoy
task 7 until:eoy
echo $ task recurring
task recurring
echo $ task add Pay taxes due:4/15/2007 recur:yearly
task add Pay taxes due:4/15/2007 recur:yearly
echo $ task long
task long
echo $ task 11 delete
printf "y\ny\n" | task 11 delete # y, y
echo $ task list
task list
# 17 Shell
echo Shell --------------------------------------------------------------
echo $ task shell
#task shell
echo '> projects'
#> projects
echo '> tags'
#> tags
echo '> list'
#> list
echo '> quit'
#> quit
# 18 Special tags
echo Special tags --------------------------------------------------------------
echo $ task 6 +nocolor
task 6 +nocolor
echo $ task list
task list
echo $ task tags
task tags
echo $ task 6 -nocolor
task 6 -nocolor
# 19 Waiting
echo Waiting --------------------------------------------------------------
echo $ task add Look for new apartment due:eoy
task add Look for new apartment due:eoy
echo $ task list
task list
echo $ task 10 wait:12/1/2010
task 10 wait:12/1/2010
echo $ task list
task list
echo $ task waiting
task waiting
echo $ task add Do something in a few seconds
task add Do something in a few seconds
echo $ task 11 wait:5s
task 11 wait:5s
echo $ task list
task list
sleep 5
echo $ task list
task list
echo $ task 11 rc.confirmation:no delete
task 11 rc.confirmation:no delete
# 20 Dependencies
echo Dependencies --------------------------------------------------------------
echo $ task list pro:party
task list pro:party
echo $ task 3 depends:6
task 3 depends:6
echo $ task 6 dep:5
task 6 dep:5
echo $ task 2 dep:1
task 2 dep:1
echo $ task 5 dep:1,2
task 5 dep:1,2
echo $ task 4 dep:1
task 4 dep:1
echo $ task long pro:party
task long pro:party
echo $ task 5 dep:-1
task 5 dep:-1
echo $ task blocked
task blocked
echo $ task unblocked
task unblocked
echo $ task 1 info
task 1 info
echo $ task 2 info
task 2 info
echo $ task 2 done
echo 'y' | task 2 done
echo $ task 1 info
task 1 info
# 21 Reports
echo Reports --------------------------------------------------------------
echo $ task minimal
task minimal
echo $ task ls
task ls
echo $ task list
task list
echo $ task long
task long
echo $ task all
task all
echo $ task completed
task completed
echo $ task recurring
task recurring
echo $ task waiting
task waiting
echo $ task blocked
task blocked
echo $ task oldest
task oldest
echo $ task newest
task newest
echo $ task timesheet
task timesheet
echo $ task next
task next
# 22 Custom report
echo Custom report --------------------------------------------------------------
echo 'report.foo.description=My own report' >> x
echo 'report.foo.columns=id,entry,description' >> x
echo 'report.foo.labels=ID,Entered,Description' >> x
echo 'report.foo.sort=entry+,description+' >> x
echo 'report.foo.filter=status:pending' >> x
echo 'task help | grep foo'
task help | grep foo
echo $ task show report.foo
task show report.foo
echo $ task foo
task foo
# 23 Charts
echo Charts --------------------------------------------------------------
echo $ task history
task history
echo $ task history.annual
task history.annual
echo $ task ghistory
task ghistory
echo $ task ghistory.annual
task ghistory.annual
echo $ task summary
task summary
# 24 Advanced filters
echo Advanced filters --------------------------------------------------------------
echo $ task list
task list
echo $ task list invit
task list invit
echo $ task list description.contains:invit
task list description.contains:invit
echo $ task list desc.word:the
task list desc.word:the
echo $ task list desc.noword:invitations
task list desc.noword:invitations
echo $ task list pro:party
task list pro:party
echo $ task list pro.is:party
task list pro.is:party
echo $ task list pro.not:party
task list pro.not:party
echo $ task list pro:party priority.over:L
task list pro:party priority.over:L
echo $ task list pro:party limit:2
task list pro:party limit:2
echo $ task list limit:page
task list limit:page
echo $ task all status:pending
task all status:pending
echo $ task all status:waiting
task all status:waiting
# 25 Import/export
echo Import/export --------------------------------------------------------------
echo $ task export.csv
task export.csv
echo $ task export.csv venue
task export.csv venue
echo $ task export.vcalendar venue
task export.vcalendar venue
echo $ task export.yaml venue
task export.yaml venue
cat <<EOF >file.text
Remember to read the task man page
EOF
cat file.text
echo $ task import file.text
printf "y\n" | task import file.text
cat <<EOF >file.yaml
%YAML 1.1
---
task:
description: Visit http://taskwarrior.org
due: 1281844800
entry: 1281289630
priority: H
project: work
status: pending
uuid: 23afada0-a446-8d5a-c213-30d99d52c4b0
...
EOF
cat file.yaml
echo $ task import file.yaml
printf "y\n" | task import file.yaml
echo $ task new limit:2
task new limit:2
# 26 Help
echo Help --------------------------------------------------------------
echo $ task help
task help
echo $ man task
#man task
echo $ man taskrc
#man taskrc
echo $ man task-color
#man task-color
echo $ man task-tutorial
#man task-tutorial
echo $ man task-faq
#man task-faq
echo $ man task-sync
#man task-sync
# 27 Wrap up
echo Wrap up --------------------------------------------------------------
echo $ task version
task version
exit

View File

@@ -0,0 +1,55 @@
[Make window 116x32 for movie recording, light text, dark background]
This is the script from which a 2.0-specific movie will be made. On the left
are the typed commands, and on the right is the voice track.
It is intended that the left and right be combined and the result will be a new
task-tutorial.5 man page.
---------------------------------------- Advanced Filters ------------------------------------------
task list Filters are a very powerful tool. First here is an
task list invit unfiltered list, which shows all tasks. Now again, but with
the text 'invit', which acts as a filter on the description
field.
task list description.contains:invit This is the equivalent form using attribute modifiers. In
this example we are filtering on descriptions that contain
the word fragment. Here we are using the 'contains'
modifier, but there are many others.
task list desc.word:the All tasks containing the whole word 'the'. See how
annotations are also searched?
task list desc.noword:invitations Here is a list of all tasks that do not contain the whole
word 'invitations'.
task list pro:party Here list all tasks in the 'party' project.
task list pro.is:party And the full equivalent.
task list pro.not:party Here list tasks that are not in the 'party' project. I
could have also used 'isnt' here - there are several
synonyms for modifiers, so that the filter can be written
so that it reads naturally.
task list pro:party pri.over:L Here the 'over' modifier is filtering on priorities that
sort higher than 'Low', and also filtering on the 'party'
project. There are two terms in this filter.
task list pro:party limit:2 Same again, but only show me the first two tasks.
task list limit:page Now all tasks, but just show the first page of tasks. I
don't have a page full of tasks here, but you get the idea.
task all status:pending Now you can see how some of the built-in reports work. The
'list' report is just all tasks, filtered so that only the
pending tasks are shown.
task all status:waiting The 'waiting' report is similarly defined.
---------------------------------------- End -------------------------------------------------------
Show boolean combinations
Show regexes
Show substitutions

533
doc/misc/tutorial/help/run.200 Executable file
View File

@@ -0,0 +1,533 @@
#! /bin/bash
rm -f /Users/paul/.task/pending.data /Users/paul/.task/completed.data /Users/paul/.task/undo.data
echo 'data.location=~/.task' > /Users/paul/.taskrc
echo 'color=off' >> /Users/paul/.taskrc
echo 'color.summary.background=on gray3' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-red-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-256.theme' >> /Users/paul/.taskrc
# 1 Intro
# 2 Basic usage
echo Basic usage --------------------------------------------------------------
echo $ task add Select a free weekend in November
task add Select a free weekend in November
echo $ task add Select and book a venue
task add Select and book a venue
echo $ task add Come up with a guest list
task add Come up with a guest list
echo $ task add Mail invitations
task add Mail invitations
echo $ task add Select a caterer
task add Select a caterer
echo $ task list
task list
echo $ task log Order a special cake
task log Order a special cake
echo $ task 4 duplicate /Mail/Design/
task 4 duplicate /Mail/Design/
echo $ task 4 duplicate /Mail/Print/
task 4 duplicate /Mail/Print/
echo $ task list
task list
echo $ task 3 done
task 3 done
echo $ task list
task list
# 3 Projects
echo Projects --------------------------------------------------------------
echo $ task add Pay teh rent on teh 31st
task add Pay teh rent on teh 31st
echo $ task 7 /teh/the/g
task 7 /teh/the/g
echo $ task list
task list
echo $ task 7 project:home
task 7 project:home
echo $ task 1-6 project:party
echo 'All' | task 1-6 project:party
echo $ task projects
task projects
echo $ task list project:home
task list project:home
echo $ task li pro:par
task li pro:par
# 4 Priorities
echo Priorities --------------------------------------------------------------
echo $ task 1-3,5 priority:H
echo 'All' | task 1-3,5 priority:H
echo $ task list
task list
echo $ task 3 pri:
task 3 pri:
# 5 Tags
echo Tags --------------------------------------------------------------
echo $ task list
task list
echo $ task 3,5,6 +mall
echo 'All' | task 3,5,6 +mall
echo $ task long
task long
echo $ task list +mall
task list +mall
echo $ task 3 -mall
task 3 -mall
# 6 Modifications
echo Modifications --------------------------------------------------------------
echo $ task 7 Pay rent at the end of the month
echo 'Yes' | task 7 Pay rent at the end of the month
echo $ task add music
task add music
echo $ task 8 prepend Select some
task 8 prepend Select some
echo $ task 8 append for after dinner
task 8 append for after dinner
echo $ task list
task list
echo $ task edit
#task edit
echo $ task add Hire a band?
#task add Hire a band?
echo $ task add Hire a band\?
#task add Hire a band\?
echo $ task add "Hire a band?"
#task add "Hire a band?"
echo $ task add -- Hire a band\? +dj
task add -- Hire a band\? +dj
echo $ task undo
echo 'y' | task undo
echo $ task 1 delete
echo 'y' | task 1 delete
echo $ task undo
echo 'y' | task undo
# 7 Info
echo Info --------------------------------------------------------------
echo $ task 1 info
task 1 info
echo $ task stats
task stats
# 8 Annotations
echo Annotations --------------------------------------------------------------
echo $ task 1 annotate the 13 looks good
task 1 annotate the 13 looks good
sleep 1
echo $ task 1 annotate or the 14th
task 1 annotate or the 14th
echo $ task list
task list
echo $ task list rc.annotations:full
task list rc.annotations:full
echo $ task list rc.annotations:sparse
task list rc.annotations:sparse
echo $ task list rc.annotations:none
task list rc.annotations:none
echo $ task 1 denotate 14th
task 1 denotate 14th
echo $ task list
task list
# 9 Configuration
echo Configuration --------------------------------------------------------------
echo $ task show
task show
echo $ task config answer forty-two
echo 'y' | task config answer forty-two
echo $ task show answer
task show answer
echo $ task config answer
echo 'y' | task config answer
echo $ task rc.report.list.sort=description+ list
task rc.report.list.sort=description+ list
# 10 Defaults
echo Defaults --------------------------------------------------------------
echo $ task config default.command list
echo 'y' | task config default.command list
echo $ task
task
echo $ task config default.priority H
echo 'y' | task config default.priority H
echo $ task config default.project Work
echo 'y' | task config default.project Work
echo $ task add New task
task add New task
echo $ task list
task list
echo $ task undo
echo 'y' | task undo
echo $ task config default.priority
echo 'y' | task config default.priority
echo $ task config default.project
echo 'y' | task config default.project
# 11 Aliases
echo Aliases --------------------------------------------------------------
echo $ task config alias.zzz list
echo 'y' | task config alias.zzz list
echo $ task zzz
task zzz
echo $ task z
task z
# 12 Color
echo Color --------------------------------------------------------------
echo $ task config color on
echo 'y' | task config color on
echo $ task list
task list
echo $ task 1 bg:on_red
task 1 bg:on_red
echo $ task list
task list
echo $ task 1 bg:
task 1 bg:
echo $ task color
task color
echo $ task color white on red
task color white on red
echo $ task color legend
task color legend
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
echo 'include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
sed 's/blue/red/' x >x2 && mv x2 x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
sed 's/red-//' x >x2 && mv x2 x
echo $ task list
task list
echo $ task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
echo $ man task-color
#man task-color
# 13 Active tasks
echo Active tasks --------------------------------------------------------------
echo $ task 2 start
task 2 start
echo $ task list
task list
echo $ task active
task active
echo $ task 2 stop
task 2 stop
echo $ task config journal.time on
task config journal.time on
echo $ task config rc.dateformat.xxx xxx
task config rc.dateformat.xxx xxx
echo $ task config dateformat.annotation 'Y/m/d H:N'
task config dateformat.annotation 'Y/m/d H:N'
echo $ task 2 start
task 2 start
echo $ task list venue
task list venue
echo $ task 2 stop
task 2 stop
echo $ task list venue
task list venue
# 14 Due dates
echo Due dates --------------------------------------------------------------
echo $ task 1 due:7/31/2010
task 1 due:7/31/2010
echo $ task 1 due:2wks
task 1 due:2wks
echo $ task 1 due:-2wks
task 1 due:-2wks
echo $ task 1 due:eom
task 1 due:eom
echo $ task 2 due:8th
task 2 due:8th
echo $ task 2 due:sunday
task 2 due:sunday
echo $ task 5 due:eow
task 5 due:eow
echo $ task list
task list
echo $ task overdue
task overdue
echo $ task rc.dateformat.report:Y-M-DTH:N:SZ list
task rc.dateformat.report:Y-M-DTH:N:SZ list
# 15 Calendar
echo Calendar --------------------------------------------------------------
echo $ task calendar
task calendar
echo $ vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
echo 'include /usr/local/share/doc/task/rc/holidays-US.rc' >> x
echo $ task calendar
task calendar
echo $ task cal 2010
task cal 2010
echo $ task rc.calendar.details:full cal
task rc.calendar.details:full cal
echo $ task rc.calendar.holidays:full cal
task rc.calendar.holidays:full cal
# 16 Recurrence
echo Recurrence --------------------------------------------------------------
echo $ task 7 info
task 7 info
echo $ task 7 due:eom recur:monthly
task 7 due:eom recur:monthly
echo $ task 7
task 7
echo $ task 7 until:eoy
task 7 until:eoy
echo $ task recurring
task recurring
echo $ task add Pay taxes due:4/15/2007 recur:yearly
task add Pay taxes due:4/15/2007 recur:yearly
echo $ task long
task long
echo $ task 11 delete
printf "y\ny\n" | task 11 delete # y, y
echo $ task list
task list
# 17 Shell
echo Shell --------------------------------------------------------------
echo $ task shell
#task shell
echo '> projects'
#> projects
echo '> tags'
#> tags
echo '> list'
#> list
echo '> quit'
#> quit
# 18 Special tags
echo Special tags --------------------------------------------------------------
echo $ task 6 +nocolor
task 6 +nocolor
echo $ task list
task list
echo $ task tags
task tags
echo $ task 6 -nocolor
task 6 -nocolor
# 19 Waiting
echo Waiting --------------------------------------------------------------
echo $ task add Look for new apartment due:eoy
task add Look for new apartment due:eoy
echo $ task list
task list
echo $ task 10 wait:12/1/2010
task 10 wait:12/1/2010
echo $ task list
task list
echo $ task waiting
task waiting
echo $ task add Do something in a few seconds
task add Do something in a few seconds
echo $ task 11 wait:5s
task 11 wait:5s
echo $ task list
task list
sleep 5
echo $ task list
task list
echo $ task 11 rc.confirmation:no delete
task 11 rc.confirmation:no delete
# 20 Dependencies
echo Dependencies --------------------------------------------------------------
echo $ task list pro:party
task list pro:party
echo $ task 3 depends:6
task 3 depends:6
echo $ task 6 dep:5
task 6 dep:5
echo $ task 2 dep:1
task 2 dep:1
echo $ task 5 dep:1,2
task 5 dep:1,2
echo $ task 4 dep:1
task 4 dep:1
echo $ task long pro:party
task long pro:party
echo $ task 5 dep:-1
task 5 dep:-1
echo $ task blocked
task blocked
echo $ task unblocked
task unblocked
echo $ task 1 info
task 1 info
echo $ task 2 info
task 2 info
echo $ task 2 done
echo 'y' | task 2 done
echo $ task 1 info
task 1 info
# 21 Reports
echo Reports --------------------------------------------------------------
echo $ task minimal
task minimal
echo $ task ls
task ls
echo $ task list
task list
echo $ task long
task long
echo $ task all
task all
echo $ task completed
task completed
echo $ task recurring
task recurring
echo $ task waiting
task waiting
echo $ task blocked
task blocked
echo $ task oldest
task oldest
echo $ task newest
task newest
echo $ task timesheet
task timesheet
echo $ task next
task next
# 22 Custom report
echo Custom report --------------------------------------------------------------
echo 'report.foo.description=My own report' >> x
echo 'report.foo.columns=id,entry,description' >> x
echo 'report.foo.labels=ID,Entered,Description' >> x
echo 'report.foo.sort=entry+,description+' >> x
echo 'report.foo.filter=status:pending' >> x
echo 'task help | grep foo'
task help | grep foo
echo $ task show report.foo
task show report.foo
echo $ task foo
task foo
# 23 Charts
echo Charts --------------------------------------------------------------
echo $ task history
task history
echo $ task history.annual
task history.annual
echo $ task ghistory
task ghistory
echo $ task ghistory.annual
task ghistory.annual
echo $ task summary
task summary
# 24 Advanced filters
echo Advanced filters --------------------------------------------------------------
echo $ task list
task list
echo $ task list invit
task list invit
echo $ task list description.contains:invit
task list description.contains:invit
echo $ task list desc.word:the
task list desc.word:the
echo $ task list desc.noword:invitations
task list desc.noword:invitations
echo $ task list pro:party
task list pro:party
echo $ task list pro.is:party
task list pro.is:party
echo $ task list pro.not:party
task list pro.not:party
echo $ task list pro:party priority.over:L
task list pro:party priority.over:L
echo $ task list pro:party limit:2
task list pro:party limit:2
echo $ task list limit:page
task list limit:page
echo $ task all status:pending
task all status:pending
echo $ task all status:waiting
task all status:waiting
# 25 Import/export
echo Import/export --------------------------------------------------------------
echo $ task export.csv
task export.csv
echo $ task export.csv venue
task export.csv venue
echo $ task export.vcalendar venue
task export.vcalendar venue
echo $ task export.yaml venue
task export.yaml venue
cat <<EOF >file.text
Remember to read the task man page
EOF
cat file.text
echo $ task import file.text
printf "y\n" | task import file.text
cat <<EOF >file.yaml
%YAML 1.1
---
task:
description: Visit http://taskwarrior.org
due: 1281844800
entry: 1281289630
priority: H
project: work
status: pending
uuid: 23afada0-a446-8d5a-c213-30d99d52c4b0
...
EOF
cat file.yaml
echo $ task import file.yaml
printf "y\n" | task import file.yaml
echo $ task new limit:2
task new limit:2
# 26 Help
echo Help --------------------------------------------------------------
echo $ task help
task help
echo $ man task
#man task
echo $ man taskrc
#man taskrc
echo $ man task-color
#man task-color
echo $ man task-tutorial
#man task-tutorial
echo $ man task-faq
#man task-faq
echo $ man task-sync
#man task-sync
# 27 Wrap up
echo Wrap up --------------------------------------------------------------
echo $ task version
task version
exit

View File

@@ -0,0 +1,32 @@
[Make window 116x32 for movie recording, light text, dark background]
This is the script from which a 2.0-specific movie will be made. On the left
are the typed commands, and on the right is the voice track.
It is intended that the left and right be combined and the result will be a new
task-tutorial.5 man page.
---------------------------------------- Help ------------------------------------------------------
task help You'll find a quick reference page built in, with the 'help'
man task command, or perhaps you'll want to take a look at the several
man taskrc man pages installed. This demo has superficially shown
man task-color many features which have more capability and depth which you
can find in the man pages, and online.
man task-tutorial This screencast is actually just a recording of me going
through the tutorial.
man task-faq Some frequently asked questions are answered here.
man task-sync You've patiently watched this whole movie, so here's your
reward - taskwarrior 1.9.3 has network synchronization
features, for sharing tasks across computers. But this is
just a teaser - synch will be shown in the next movie.
---------------------------------------- End -------------------------------------------------------
Replace spoken track completely.

View File

@@ -0,0 +1,533 @@
#! /bin/bash
rm -f /Users/paul/.task/pending.data /Users/paul/.task/completed.data /Users/paul/.task/undo.data
echo 'data.location=~/.task' > /Users/paul/.taskrc
echo 'color=off' >> /Users/paul/.taskrc
echo 'color.summary.background=on gray3' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-red-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-256.theme' >> /Users/paul/.taskrc
# 1 Intro
# 2 Basic usage
echo Basic usage --------------------------------------------------------------
echo $ task add Select a free weekend in November
task add Select a free weekend in November
echo $ task add Select and book a venue
task add Select and book a venue
echo $ task add Come up with a guest list
task add Come up with a guest list
echo $ task add Mail invitations
task add Mail invitations
echo $ task add Select a caterer
task add Select a caterer
echo $ task list
task list
echo $ task log Order a special cake
task log Order a special cake
echo $ task 4 duplicate /Mail/Design/
task 4 duplicate /Mail/Design/
echo $ task 4 duplicate /Mail/Print/
task 4 duplicate /Mail/Print/
echo $ task list
task list
echo $ task 3 done
task 3 done
echo $ task list
task list
# 3 Projects
echo Projects --------------------------------------------------------------
echo $ task add Pay teh rent on teh 31st
task add Pay teh rent on teh 31st
echo $ task 7 /teh/the/g
task 7 /teh/the/g
echo $ task list
task list
echo $ task 7 project:home
task 7 project:home
echo $ task 1-6 project:party
echo 'All' | task 1-6 project:party
echo $ task projects
task projects
echo $ task list project:home
task list project:home
echo $ task li pro:par
task li pro:par
# 4 Priorities
echo Priorities --------------------------------------------------------------
echo $ task 1-3,5 priority:H
echo 'All' | task 1-3,5 priority:H
echo $ task list
task list
echo $ task 3 pri:
task 3 pri:
# 5 Tags
echo Tags --------------------------------------------------------------
echo $ task list
task list
echo $ task 3,5,6 +mall
echo 'All' | task 3,5,6 +mall
echo $ task long
task long
echo $ task list +mall
task list +mall
echo $ task 3 -mall
task 3 -mall
# 6 Modifications
echo Modifications --------------------------------------------------------------
echo $ task 7 Pay rent at the end of the month
echo 'Yes' | task 7 Pay rent at the end of the month
echo $ task add music
task add music
echo $ task 8 prepend Select some
task 8 prepend Select some
echo $ task 8 append for after dinner
task 8 append for after dinner
echo $ task list
task list
echo $ task edit
#task edit
echo $ task add Hire a band?
#task add Hire a band?
echo $ task add Hire a band\?
#task add Hire a band\?
echo $ task add "Hire a band?"
#task add "Hire a band?"
echo $ task add -- Hire a band\? +dj
task add -- Hire a band\? +dj
echo $ task undo
echo 'y' | task undo
echo $ task 1 delete
echo 'y' | task 1 delete
echo $ task undo
echo 'y' | task undo
# 7 Info
echo Info --------------------------------------------------------------
echo $ task 1 info
task 1 info
echo $ task stats
task stats
# 8 Annotations
echo Annotations --------------------------------------------------------------
echo $ task 1 annotate the 13 looks good
task 1 annotate the 13 looks good
sleep 1
echo $ task 1 annotate or the 14th
task 1 annotate or the 14th
echo $ task list
task list
echo $ task list rc.annotations:full
task list rc.annotations:full
echo $ task list rc.annotations:sparse
task list rc.annotations:sparse
echo $ task list rc.annotations:none
task list rc.annotations:none
echo $ task 1 denotate 14th
task 1 denotate 14th
echo $ task list
task list
# 9 Configuration
echo Configuration --------------------------------------------------------------
echo $ task show
task show
echo $ task config answer forty-two
echo 'y' | task config answer forty-two
echo $ task show answer
task show answer
echo $ task config answer
echo 'y' | task config answer
echo $ task rc.report.list.sort=description+ list
task rc.report.list.sort=description+ list
# 10 Defaults
echo Defaults --------------------------------------------------------------
echo $ task config default.command list
echo 'y' | task config default.command list
echo $ task
task
echo $ task config default.priority H
echo 'y' | task config default.priority H
echo $ task config default.project Work
echo 'y' | task config default.project Work
echo $ task add New task
task add New task
echo $ task list
task list
echo $ task undo
echo 'y' | task undo
echo $ task config default.priority
echo 'y' | task config default.priority
echo $ task config default.project
echo 'y' | task config default.project
# 11 Aliases
echo Aliases --------------------------------------------------------------
echo $ task config alias.zzz list
echo 'y' | task config alias.zzz list
echo $ task zzz
task zzz
echo $ task z
task z
# 12 Color
echo Color --------------------------------------------------------------
echo $ task config color on
echo 'y' | task config color on
echo $ task list
task list
echo $ task 1 bg:on_red
task 1 bg:on_red
echo $ task list
task list
echo $ task 1 bg:
task 1 bg:
echo $ task color
task color
echo $ task color white on red
task color white on red
echo $ task color legend
task color legend
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
echo 'include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
sed 's/blue/red/' x >x2 && mv x2 x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
sed 's/red-//' x >x2 && mv x2 x
echo $ task list
task list
echo $ task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
echo $ man task-color
#man task-color
# 13 Active tasks
echo Active tasks --------------------------------------------------------------
echo $ task 2 start
task 2 start
echo $ task list
task list
echo $ task active
task active
echo $ task 2 stop
task 2 stop
echo $ task config journal.time on
task config journal.time on
echo $ task config rc.dateformat.xxx xxx
task config rc.dateformat.xxx xxx
echo $ task config dateformat.annotation 'Y/m/d H:N'
task config dateformat.annotation 'Y/m/d H:N'
echo $ task 2 start
task 2 start
echo $ task list venue
task list venue
echo $ task 2 stop
task 2 stop
echo $ task list venue
task list venue
# 14 Due dates
echo Due dates --------------------------------------------------------------
echo $ task 1 due:7/31/2010
task 1 due:7/31/2010
echo $ task 1 due:2wks
task 1 due:2wks
echo $ task 1 due:-2wks
task 1 due:-2wks
echo $ task 1 due:eom
task 1 due:eom
echo $ task 2 due:8th
task 2 due:8th
echo $ task 2 due:sunday
task 2 due:sunday
echo $ task 5 due:eow
task 5 due:eow
echo $ task list
task list
echo $ task overdue
task overdue
echo $ task rc.dateformat.report:Y-M-DTH:N:SZ list
task rc.dateformat.report:Y-M-DTH:N:SZ list
# 15 Calendar
echo Calendar --------------------------------------------------------------
echo $ task calendar
task calendar
echo $ vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
echo 'include /usr/local/share/doc/task/rc/holidays-US.rc' >> x
echo $ task calendar
task calendar
echo $ task cal 2010
task cal 2010
echo $ task rc.calendar.details:full cal
task rc.calendar.details:full cal
echo $ task rc.calendar.holidays:full cal
task rc.calendar.holidays:full cal
# 16 Recurrence
echo Recurrence --------------------------------------------------------------
echo $ task 7 info
task 7 info
echo $ task 7 due:eom recur:monthly
task 7 due:eom recur:monthly
echo $ task 7
task 7
echo $ task 7 until:eoy
task 7 until:eoy
echo $ task recurring
task recurring
echo $ task add Pay taxes due:4/15/2007 recur:yearly
task add Pay taxes due:4/15/2007 recur:yearly
echo $ task long
task long
echo $ task 11 delete
printf "y\ny\n" | task 11 delete # y, y
echo $ task list
task list
# 17 Shell
echo Shell --------------------------------------------------------------
echo $ task shell
#task shell
echo '> projects'
#> projects
echo '> tags'
#> tags
echo '> list'
#> list
echo '> quit'
#> quit
# 18 Special tags
echo Special tags --------------------------------------------------------------
echo $ task 6 +nocolor
task 6 +nocolor
echo $ task list
task list
echo $ task tags
task tags
echo $ task 6 -nocolor
task 6 -nocolor
# 19 Waiting
echo Waiting --------------------------------------------------------------
echo $ task add Look for new apartment due:eoy
task add Look for new apartment due:eoy
echo $ task list
task list
echo $ task 10 wait:12/1/2010
task 10 wait:12/1/2010
echo $ task list
task list
echo $ task waiting
task waiting
echo $ task add Do something in a few seconds
task add Do something in a few seconds
echo $ task 11 wait:5s
task 11 wait:5s
echo $ task list
task list
sleep 5
echo $ task list
task list
echo $ task 11 rc.confirmation:no delete
task 11 rc.confirmation:no delete
# 20 Dependencies
echo Dependencies --------------------------------------------------------------
echo $ task list pro:party
task list pro:party
echo $ task 3 depends:6
task 3 depends:6
echo $ task 6 dep:5
task 6 dep:5
echo $ task 2 dep:1
task 2 dep:1
echo $ task 5 dep:1,2
task 5 dep:1,2
echo $ task 4 dep:1
task 4 dep:1
echo $ task long pro:party
task long pro:party
echo $ task 5 dep:-1
task 5 dep:-1
echo $ task blocked
task blocked
echo $ task unblocked
task unblocked
echo $ task 1 info
task 1 info
echo $ task 2 info
task 2 info
echo $ task 2 done
echo 'y' | task 2 done
echo $ task 1 info
task 1 info
# 21 Reports
echo Reports --------------------------------------------------------------
echo $ task minimal
task minimal
echo $ task ls
task ls
echo $ task list
task list
echo $ task long
task long
echo $ task all
task all
echo $ task completed
task completed
echo $ task recurring
task recurring
echo $ task waiting
task waiting
echo $ task blocked
task blocked
echo $ task oldest
task oldest
echo $ task newest
task newest
echo $ task timesheet
task timesheet
echo $ task next
task next
# 22 Custom report
echo Custom report --------------------------------------------------------------
echo 'report.foo.description=My own report' >> x
echo 'report.foo.columns=id,entry,description' >> x
echo 'report.foo.labels=ID,Entered,Description' >> x
echo 'report.foo.sort=entry+,description+' >> x
echo 'report.foo.filter=status:pending' >> x
echo 'task help | grep foo'
task help | grep foo
echo $ task show report.foo
task show report.foo
echo $ task foo
task foo
# 23 Charts
echo Charts --------------------------------------------------------------
echo $ task history
task history
echo $ task history.annual
task history.annual
echo $ task ghistory
task ghistory
echo $ task ghistory.annual
task ghistory.annual
echo $ task summary
task summary
# 24 Advanced filters
echo Advanced filters --------------------------------------------------------------
echo $ task list
task list
echo $ task list invit
task list invit
echo $ task list description.contains:invit
task list description.contains:invit
echo $ task list desc.word:the
task list desc.word:the
echo $ task list desc.noword:invitations
task list desc.noword:invitations
echo $ task list pro:party
task list pro:party
echo $ task list pro.is:party
task list pro.is:party
echo $ task list pro.not:party
task list pro.not:party
echo $ task list pro:party priority.over:L
task list pro:party priority.over:L
echo $ task list pro:party limit:2
task list pro:party limit:2
echo $ task list limit:page
task list limit:page
echo $ task all status:pending
task all status:pending
echo $ task all status:waiting
task all status:waiting
# 25 Import/export
echo Import/export --------------------------------------------------------------
echo $ task export.csv
task export.csv
echo $ task export.csv venue
task export.csv venue
echo $ task export.vcalendar venue
task export.vcalendar venue
echo $ task export.yaml venue
task export.yaml venue
cat <<EOF >file.text
Remember to read the task man page
EOF
cat file.text
echo $ task import file.text
printf "y\n" | task import file.text
cat <<EOF >file.yaml
%YAML 1.1
---
task:
description: Visit http://taskwarrior.org
due: 1281844800
entry: 1281289630
priority: H
project: work
status: pending
uuid: 23afada0-a446-8d5a-c213-30d99d52c4b0
...
EOF
cat file.yaml
echo $ task import file.yaml
printf "y\n" | task import file.yaml
echo $ task new limit:2
task new limit:2
# 26 Help
echo Help --------------------------------------------------------------
echo $ task help
task help
echo $ man task
#man task
echo $ man taskrc
#man taskrc
echo $ man task-color
#man task-color
echo $ man task-tutorial
#man task-tutorial
echo $ man task-faq
#man task-faq
echo $ man task-sync
#man task-sync
# 27 Wrap up
echo Wrap up --------------------------------------------------------------
echo $ task version
task version
exit

View File

@@ -0,0 +1,35 @@
[Make window 116x32 for movie recording, light text, dark background]
This is the script from which a 2.0-specific movie will be made. On the left
are the typed commands, and on the right is the voice track.
It is intended that the left and right be combined and the result will be a new
task-tutorial.5 man page.
---------------------------------------- Import/Export ---------------------------------------------
task export.csv You can export your tasks. Here you see all tasks being
exported in CSV format.
task export.csv venue Let's just export one task in CSV format...
task export.vcalendar venue Or in VCalendar format...
task export.yaml venue Or YAML.
cat file.text I can also import. Here I am importing simple lines of
task import file.text text. Taskwarrior recognizes the format and confirms.
cat file.yaml Here is a YAML example. Taskwarrior can read several
task import file.yaml formats, including old versions of its data files. Using
YAML, you can round-trip the data without loss.
task new limit:2 Here are the imported tasks.
---------------------------------------- End -------------------------------------------------------
Show new export scripts
Show same script in multiple languages
Show new import scripts
Explain that scripts are outside the core product

533
doc/misc/tutorial/info/run.200 Executable file
View File

@@ -0,0 +1,533 @@
#! /bin/bash
rm -f /Users/paul/.task/pending.data /Users/paul/.task/completed.data /Users/paul/.task/undo.data
echo 'data.location=~/.task' > /Users/paul/.taskrc
echo 'color=off' >> /Users/paul/.taskrc
echo 'color.summary.background=on gray3' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-red-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-256.theme' >> /Users/paul/.taskrc
# 1 Intro
# 2 Basic usage
echo Basic usage --------------------------------------------------------------
echo $ task add Select a free weekend in November
task add Select a free weekend in November
echo $ task add Select and book a venue
task add Select and book a venue
echo $ task add Come up with a guest list
task add Come up with a guest list
echo $ task add Mail invitations
task add Mail invitations
echo $ task add Select a caterer
task add Select a caterer
echo $ task list
task list
echo $ task log Order a special cake
task log Order a special cake
echo $ task 4 duplicate /Mail/Design/
task 4 duplicate /Mail/Design/
echo $ task 4 duplicate /Mail/Print/
task 4 duplicate /Mail/Print/
echo $ task list
task list
echo $ task 3 done
task 3 done
echo $ task list
task list
# 3 Projects
echo Projects --------------------------------------------------------------
echo $ task add Pay teh rent on teh 31st
task add Pay teh rent on teh 31st
echo $ task 7 /teh/the/g
task 7 /teh/the/g
echo $ task list
task list
echo $ task 7 project:home
task 7 project:home
echo $ task 1-6 project:party
echo 'All' | task 1-6 project:party
echo $ task projects
task projects
echo $ task list project:home
task list project:home
echo $ task li pro:par
task li pro:par
# 4 Priorities
echo Priorities --------------------------------------------------------------
echo $ task 1-3,5 priority:H
echo 'All' | task 1-3,5 priority:H
echo $ task list
task list
echo $ task 3 pri:
task 3 pri:
# 5 Tags
echo Tags --------------------------------------------------------------
echo $ task list
task list
echo $ task 3,5,6 +mall
echo 'All' | task 3,5,6 +mall
echo $ task long
task long
echo $ task list +mall
task list +mall
echo $ task 3 -mall
task 3 -mall
# 6 Modifications
echo Modifications --------------------------------------------------------------
echo $ task 7 Pay rent at the end of the month
echo 'Yes' | task 7 Pay rent at the end of the month
echo $ task add music
task add music
echo $ task 8 prepend Select some
task 8 prepend Select some
echo $ task 8 append for after dinner
task 8 append for after dinner
echo $ task list
task list
echo $ task edit
#task edit
echo $ task add Hire a band?
#task add Hire a band?
echo $ task add Hire a band\?
#task add Hire a band\?
echo $ task add "Hire a band?"
#task add "Hire a band?"
echo $ task add -- Hire a band\? +dj
task add -- Hire a band\? +dj
echo $ task undo
echo 'y' | task undo
echo $ task 1 delete
echo 'y' | task 1 delete
echo $ task undo
echo 'y' | task undo
# 7 Info
echo Info --------------------------------------------------------------
echo $ task 1 info
task 1 info
echo $ task stats
task stats
# 8 Annotations
echo Annotations --------------------------------------------------------------
echo $ task 1 annotate the 13 looks good
task 1 annotate the 13 looks good
sleep 1
echo $ task 1 annotate or the 14th
task 1 annotate or the 14th
echo $ task list
task list
echo $ task list rc.annotations:full
task list rc.annotations:full
echo $ task list rc.annotations:sparse
task list rc.annotations:sparse
echo $ task list rc.annotations:none
task list rc.annotations:none
echo $ task 1 denotate 14th
task 1 denotate 14th
echo $ task list
task list
# 9 Configuration
echo Configuration --------------------------------------------------------------
echo $ task show
task show
echo $ task config answer forty-two
echo 'y' | task config answer forty-two
echo $ task show answer
task show answer
echo $ task config answer
echo 'y' | task config answer
echo $ task rc.report.list.sort=description+ list
task rc.report.list.sort=description+ list
# 10 Defaults
echo Defaults --------------------------------------------------------------
echo $ task config default.command list
echo 'y' | task config default.command list
echo $ task
task
echo $ task config default.priority H
echo 'y' | task config default.priority H
echo $ task config default.project Work
echo 'y' | task config default.project Work
echo $ task add New task
task add New task
echo $ task list
task list
echo $ task undo
echo 'y' | task undo
echo $ task config default.priority
echo 'y' | task config default.priority
echo $ task config default.project
echo 'y' | task config default.project
# 11 Aliases
echo Aliases --------------------------------------------------------------
echo $ task config alias.zzz list
echo 'y' | task config alias.zzz list
echo $ task zzz
task zzz
echo $ task z
task z
# 12 Color
echo Color --------------------------------------------------------------
echo $ task config color on
echo 'y' | task config color on
echo $ task list
task list
echo $ task 1 bg:on_red
task 1 bg:on_red
echo $ task list
task list
echo $ task 1 bg:
task 1 bg:
echo $ task color
task color
echo $ task color white on red
task color white on red
echo $ task color legend
task color legend
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
echo 'include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
sed 's/blue/red/' x >x2 && mv x2 x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
sed 's/red-//' x >x2 && mv x2 x
echo $ task list
task list
echo $ task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
echo $ man task-color
#man task-color
# 13 Active tasks
echo Active tasks --------------------------------------------------------------
echo $ task 2 start
task 2 start
echo $ task list
task list
echo $ task active
task active
echo $ task 2 stop
task 2 stop
echo $ task config journal.time on
task config journal.time on
echo $ task config rc.dateformat.xxx xxx
task config rc.dateformat.xxx xxx
echo $ task config dateformat.annotation 'Y/m/d H:N'
task config dateformat.annotation 'Y/m/d H:N'
echo $ task 2 start
task 2 start
echo $ task list venue
task list venue
echo $ task 2 stop
task 2 stop
echo $ task list venue
task list venue
# 14 Due dates
echo Due dates --------------------------------------------------------------
echo $ task 1 due:7/31/2010
task 1 due:7/31/2010
echo $ task 1 due:2wks
task 1 due:2wks
echo $ task 1 due:-2wks
task 1 due:-2wks
echo $ task 1 due:eom
task 1 due:eom
echo $ task 2 due:8th
task 2 due:8th
echo $ task 2 due:sunday
task 2 due:sunday
echo $ task 5 due:eow
task 5 due:eow
echo $ task list
task list
echo $ task overdue
task overdue
echo $ task rc.dateformat.report:Y-M-DTH:N:SZ list
task rc.dateformat.report:Y-M-DTH:N:SZ list
# 15 Calendar
echo Calendar --------------------------------------------------------------
echo $ task calendar
task calendar
echo $ vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
echo 'include /usr/local/share/doc/task/rc/holidays-US.rc' >> x
echo $ task calendar
task calendar
echo $ task cal 2010
task cal 2010
echo $ task rc.calendar.details:full cal
task rc.calendar.details:full cal
echo $ task rc.calendar.holidays:full cal
task rc.calendar.holidays:full cal
# 16 Recurrence
echo Recurrence --------------------------------------------------------------
echo $ task 7 info
task 7 info
echo $ task 7 due:eom recur:monthly
task 7 due:eom recur:monthly
echo $ task 7
task 7
echo $ task 7 until:eoy
task 7 until:eoy
echo $ task recurring
task recurring
echo $ task add Pay taxes due:4/15/2007 recur:yearly
task add Pay taxes due:4/15/2007 recur:yearly
echo $ task long
task long
echo $ task 11 delete
printf "y\ny\n" | task 11 delete # y, y
echo $ task list
task list
# 17 Shell
echo Shell --------------------------------------------------------------
echo $ task shell
#task shell
echo '> projects'
#> projects
echo '> tags'
#> tags
echo '> list'
#> list
echo '> quit'
#> quit
# 18 Special tags
echo Special tags --------------------------------------------------------------
echo $ task 6 +nocolor
task 6 +nocolor
echo $ task list
task list
echo $ task tags
task tags
echo $ task 6 -nocolor
task 6 -nocolor
# 19 Waiting
echo Waiting --------------------------------------------------------------
echo $ task add Look for new apartment due:eoy
task add Look for new apartment due:eoy
echo $ task list
task list
echo $ task 10 wait:12/1/2010
task 10 wait:12/1/2010
echo $ task list
task list
echo $ task waiting
task waiting
echo $ task add Do something in a few seconds
task add Do something in a few seconds
echo $ task 11 wait:5s
task 11 wait:5s
echo $ task list
task list
sleep 5
echo $ task list
task list
echo $ task 11 rc.confirmation:no delete
task 11 rc.confirmation:no delete
# 20 Dependencies
echo Dependencies --------------------------------------------------------------
echo $ task list pro:party
task list pro:party
echo $ task 3 depends:6
task 3 depends:6
echo $ task 6 dep:5
task 6 dep:5
echo $ task 2 dep:1
task 2 dep:1
echo $ task 5 dep:1,2
task 5 dep:1,2
echo $ task 4 dep:1
task 4 dep:1
echo $ task long pro:party
task long pro:party
echo $ task 5 dep:-1
task 5 dep:-1
echo $ task blocked
task blocked
echo $ task unblocked
task unblocked
echo $ task 1 info
task 1 info
echo $ task 2 info
task 2 info
echo $ task 2 done
echo 'y' | task 2 done
echo $ task 1 info
task 1 info
# 21 Reports
echo Reports --------------------------------------------------------------
echo $ task minimal
task minimal
echo $ task ls
task ls
echo $ task list
task list
echo $ task long
task long
echo $ task all
task all
echo $ task completed
task completed
echo $ task recurring
task recurring
echo $ task waiting
task waiting
echo $ task blocked
task blocked
echo $ task oldest
task oldest
echo $ task newest
task newest
echo $ task timesheet
task timesheet
echo $ task next
task next
# 22 Custom report
echo Custom report --------------------------------------------------------------
echo 'report.foo.description=My own report' >> x
echo 'report.foo.columns=id,entry,description' >> x
echo 'report.foo.labels=ID,Entered,Description' >> x
echo 'report.foo.sort=entry+,description+' >> x
echo 'report.foo.filter=status:pending' >> x
echo 'task help | grep foo'
task help | grep foo
echo $ task show report.foo
task show report.foo
echo $ task foo
task foo
# 23 Charts
echo Charts --------------------------------------------------------------
echo $ task history
task history
echo $ task history.annual
task history.annual
echo $ task ghistory
task ghistory
echo $ task ghistory.annual
task ghistory.annual
echo $ task summary
task summary
# 24 Advanced filters
echo Advanced filters --------------------------------------------------------------
echo $ task list
task list
echo $ task list invit
task list invit
echo $ task list description.contains:invit
task list description.contains:invit
echo $ task list desc.word:the
task list desc.word:the
echo $ task list desc.noword:invitations
task list desc.noword:invitations
echo $ task list pro:party
task list pro:party
echo $ task list pro.is:party
task list pro.is:party
echo $ task list pro.not:party
task list pro.not:party
echo $ task list pro:party priority.over:L
task list pro:party priority.over:L
echo $ task list pro:party limit:2
task list pro:party limit:2
echo $ task list limit:page
task list limit:page
echo $ task all status:pending
task all status:pending
echo $ task all status:waiting
task all status:waiting
# 25 Import/export
echo Import/export --------------------------------------------------------------
echo $ task export.csv
task export.csv
echo $ task export.csv venue
task export.csv venue
echo $ task export.vcalendar venue
task export.vcalendar venue
echo $ task export.yaml venue
task export.yaml venue
cat <<EOF >file.text
Remember to read the task man page
EOF
cat file.text
echo $ task import file.text
printf "y\n" | task import file.text
cat <<EOF >file.yaml
%YAML 1.1
---
task:
description: Visit http://taskwarrior.org
due: 1281844800
entry: 1281289630
priority: H
project: work
status: pending
uuid: 23afada0-a446-8d5a-c213-30d99d52c4b0
...
EOF
cat file.yaml
echo $ task import file.yaml
printf "y\n" | task import file.yaml
echo $ task new limit:2
task new limit:2
# 26 Help
echo Help --------------------------------------------------------------
echo $ task help
task help
echo $ man task
#man task
echo $ man taskrc
#man taskrc
echo $ man task-color
#man task-color
echo $ man task-tutorial
#man task-tutorial
echo $ man task-faq
#man task-faq
echo $ man task-sync
#man task-sync
# 27 Wrap up
echo Wrap up --------------------------------------------------------------
echo $ task version
task version
exit

View File

@@ -0,0 +1,24 @@
[Make window 116x32 for movie recording, light text, dark background]
This is the script from which a 2.0-specific movie will be made. On the left
are the typed commands, and on the right is the voice track.
It is intended that the left and right be combined and the result will be a new
task-tutorial.5 man page.
---------------------------------------- Info ------------------------------------------------------
task 1 info During that undo operation, taskwarrior displayed metadata
task 1 that is associated with the task. You can display this
with the info command, and its shortcut.
task stats There are also statistics that taskwarrior gathers, which
I can display.
---------------------------------------- End -------------------------------------------------------
Show multiple info reports
Show info using UUID

533
doc/misc/tutorial/intro/run.200 Executable file
View File

@@ -0,0 +1,533 @@
#! /bin/bash
rm -f /Users/paul/.task/pending.data /Users/paul/.task/completed.data /Users/paul/.task/undo.data
echo 'data.location=~/.task' > /Users/paul/.taskrc
echo 'color=off' >> /Users/paul/.taskrc
echo 'color.summary.background=on gray3' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-red-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-256.theme' >> /Users/paul/.taskrc
# 1 Intro
# 2 Basic usage
echo Basic usage --------------------------------------------------------------
echo $ task add Select a free weekend in November
task add Select a free weekend in November
echo $ task add Select and book a venue
task add Select and book a venue
echo $ task add Come up with a guest list
task add Come up with a guest list
echo $ task add Mail invitations
task add Mail invitations
echo $ task add Select a caterer
task add Select a caterer
echo $ task list
task list
echo $ task log Order a special cake
task log Order a special cake
echo $ task 4 duplicate /Mail/Design/
task 4 duplicate /Mail/Design/
echo $ task 4 duplicate /Mail/Print/
task 4 duplicate /Mail/Print/
echo $ task list
task list
echo $ task 3 done
task 3 done
echo $ task list
task list
# 3 Projects
echo Projects --------------------------------------------------------------
echo $ task add Pay teh rent on teh 31st
task add Pay teh rent on teh 31st
echo $ task 7 /teh/the/g
task 7 /teh/the/g
echo $ task list
task list
echo $ task 7 project:home
task 7 project:home
echo $ task 1-6 project:party
echo 'All' | task 1-6 project:party
echo $ task projects
task projects
echo $ task list project:home
task list project:home
echo $ task li pro:par
task li pro:par
# 4 Priorities
echo Priorities --------------------------------------------------------------
echo $ task 1-3,5 priority:H
echo 'All' | task 1-3,5 priority:H
echo $ task list
task list
echo $ task 3 pri:
task 3 pri:
# 5 Tags
echo Tags --------------------------------------------------------------
echo $ task list
task list
echo $ task 3,5,6 +mall
echo 'All' | task 3,5,6 +mall
echo $ task long
task long
echo $ task list +mall
task list +mall
echo $ task 3 -mall
task 3 -mall
# 6 Modifications
echo Modifications --------------------------------------------------------------
echo $ task 7 Pay rent at the end of the month
echo 'Yes' | task 7 Pay rent at the end of the month
echo $ task add music
task add music
echo $ task 8 prepend Select some
task 8 prepend Select some
echo $ task 8 append for after dinner
task 8 append for after dinner
echo $ task list
task list
echo $ task edit
#task edit
echo $ task add Hire a band?
#task add Hire a band?
echo $ task add Hire a band\?
#task add Hire a band\?
echo $ task add "Hire a band?"
#task add "Hire a band?"
echo $ task add -- Hire a band\? +dj
task add -- Hire a band\? +dj
echo $ task undo
echo 'y' | task undo
echo $ task 1 delete
echo 'y' | task 1 delete
echo $ task undo
echo 'y' | task undo
# 7 Info
echo Info --------------------------------------------------------------
echo $ task 1 info
task 1 info
echo $ task stats
task stats
# 8 Annotations
echo Annotations --------------------------------------------------------------
echo $ task 1 annotate the 13 looks good
task 1 annotate the 13 looks good
sleep 1
echo $ task 1 annotate or the 14th
task 1 annotate or the 14th
echo $ task list
task list
echo $ task list rc.annotations:full
task list rc.annotations:full
echo $ task list rc.annotations:sparse
task list rc.annotations:sparse
echo $ task list rc.annotations:none
task list rc.annotations:none
echo $ task 1 denotate 14th
task 1 denotate 14th
echo $ task list
task list
# 9 Configuration
echo Configuration --------------------------------------------------------------
echo $ task show
task show
echo $ task config answer forty-two
echo 'y' | task config answer forty-two
echo $ task show answer
task show answer
echo $ task config answer
echo 'y' | task config answer
echo $ task rc.report.list.sort=description+ list
task rc.report.list.sort=description+ list
# 10 Defaults
echo Defaults --------------------------------------------------------------
echo $ task config default.command list
echo 'y' | task config default.command list
echo $ task
task
echo $ task config default.priority H
echo 'y' | task config default.priority H
echo $ task config default.project Work
echo 'y' | task config default.project Work
echo $ task add New task
task add New task
echo $ task list
task list
echo $ task undo
echo 'y' | task undo
echo $ task config default.priority
echo 'y' | task config default.priority
echo $ task config default.project
echo 'y' | task config default.project
# 11 Aliases
echo Aliases --------------------------------------------------------------
echo $ task config alias.zzz list
echo 'y' | task config alias.zzz list
echo $ task zzz
task zzz
echo $ task z
task z
# 12 Color
echo Color --------------------------------------------------------------
echo $ task config color on
echo 'y' | task config color on
echo $ task list
task list
echo $ task 1 bg:on_red
task 1 bg:on_red
echo $ task list
task list
echo $ task 1 bg:
task 1 bg:
echo $ task color
task color
echo $ task color white on red
task color white on red
echo $ task color legend
task color legend
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
echo 'include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
sed 's/blue/red/' x >x2 && mv x2 x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
sed 's/red-//' x >x2 && mv x2 x
echo $ task list
task list
echo $ task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
echo $ man task-color
#man task-color
# 13 Active tasks
echo Active tasks --------------------------------------------------------------
echo $ task 2 start
task 2 start
echo $ task list
task list
echo $ task active
task active
echo $ task 2 stop
task 2 stop
echo $ task config journal.time on
task config journal.time on
echo $ task config rc.dateformat.xxx xxx
task config rc.dateformat.xxx xxx
echo $ task config dateformat.annotation 'Y/m/d H:N'
task config dateformat.annotation 'Y/m/d H:N'
echo $ task 2 start
task 2 start
echo $ task list venue
task list venue
echo $ task 2 stop
task 2 stop
echo $ task list venue
task list venue
# 14 Due dates
echo Due dates --------------------------------------------------------------
echo $ task 1 due:7/31/2010
task 1 due:7/31/2010
echo $ task 1 due:2wks
task 1 due:2wks
echo $ task 1 due:-2wks
task 1 due:-2wks
echo $ task 1 due:eom
task 1 due:eom
echo $ task 2 due:8th
task 2 due:8th
echo $ task 2 due:sunday
task 2 due:sunday
echo $ task 5 due:eow
task 5 due:eow
echo $ task list
task list
echo $ task overdue
task overdue
echo $ task rc.dateformat.report:Y-M-DTH:N:SZ list
task rc.dateformat.report:Y-M-DTH:N:SZ list
# 15 Calendar
echo Calendar --------------------------------------------------------------
echo $ task calendar
task calendar
echo $ vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
echo 'include /usr/local/share/doc/task/rc/holidays-US.rc' >> x
echo $ task calendar
task calendar
echo $ task cal 2010
task cal 2010
echo $ task rc.calendar.details:full cal
task rc.calendar.details:full cal
echo $ task rc.calendar.holidays:full cal
task rc.calendar.holidays:full cal
# 16 Recurrence
echo Recurrence --------------------------------------------------------------
echo $ task 7 info
task 7 info
echo $ task 7 due:eom recur:monthly
task 7 due:eom recur:monthly
echo $ task 7
task 7
echo $ task 7 until:eoy
task 7 until:eoy
echo $ task recurring
task recurring
echo $ task add Pay taxes due:4/15/2007 recur:yearly
task add Pay taxes due:4/15/2007 recur:yearly
echo $ task long
task long
echo $ task 11 delete
printf "y\ny\n" | task 11 delete # y, y
echo $ task list
task list
# 17 Shell
echo Shell --------------------------------------------------------------
echo $ task shell
#task shell
echo '> projects'
#> projects
echo '> tags'
#> tags
echo '> list'
#> list
echo '> quit'
#> quit
# 18 Special tags
echo Special tags --------------------------------------------------------------
echo $ task 6 +nocolor
task 6 +nocolor
echo $ task list
task list
echo $ task tags
task tags
echo $ task 6 -nocolor
task 6 -nocolor
# 19 Waiting
echo Waiting --------------------------------------------------------------
echo $ task add Look for new apartment due:eoy
task add Look for new apartment due:eoy
echo $ task list
task list
echo $ task 10 wait:12/1/2010
task 10 wait:12/1/2010
echo $ task list
task list
echo $ task waiting
task waiting
echo $ task add Do something in a few seconds
task add Do something in a few seconds
echo $ task 11 wait:5s
task 11 wait:5s
echo $ task list
task list
sleep 5
echo $ task list
task list
echo $ task 11 rc.confirmation:no delete
task 11 rc.confirmation:no delete
# 20 Dependencies
echo Dependencies --------------------------------------------------------------
echo $ task list pro:party
task list pro:party
echo $ task 3 depends:6
task 3 depends:6
echo $ task 6 dep:5
task 6 dep:5
echo $ task 2 dep:1
task 2 dep:1
echo $ task 5 dep:1,2
task 5 dep:1,2
echo $ task 4 dep:1
task 4 dep:1
echo $ task long pro:party
task long pro:party
echo $ task 5 dep:-1
task 5 dep:-1
echo $ task blocked
task blocked
echo $ task unblocked
task unblocked
echo $ task 1 info
task 1 info
echo $ task 2 info
task 2 info
echo $ task 2 done
echo 'y' | task 2 done
echo $ task 1 info
task 1 info
# 21 Reports
echo Reports --------------------------------------------------------------
echo $ task minimal
task minimal
echo $ task ls
task ls
echo $ task list
task list
echo $ task long
task long
echo $ task all
task all
echo $ task completed
task completed
echo $ task recurring
task recurring
echo $ task waiting
task waiting
echo $ task blocked
task blocked
echo $ task oldest
task oldest
echo $ task newest
task newest
echo $ task timesheet
task timesheet
echo $ task next
task next
# 22 Custom report
echo Custom report --------------------------------------------------------------
echo 'report.foo.description=My own report' >> x
echo 'report.foo.columns=id,entry,description' >> x
echo 'report.foo.labels=ID,Entered,Description' >> x
echo 'report.foo.sort=entry+,description+' >> x
echo 'report.foo.filter=status:pending' >> x
echo 'task help | grep foo'
task help | grep foo
echo $ task show report.foo
task show report.foo
echo $ task foo
task foo
# 23 Charts
echo Charts --------------------------------------------------------------
echo $ task history
task history
echo $ task history.annual
task history.annual
echo $ task ghistory
task ghistory
echo $ task ghistory.annual
task ghistory.annual
echo $ task summary
task summary
# 24 Advanced filters
echo Advanced filters --------------------------------------------------------------
echo $ task list
task list
echo $ task list invit
task list invit
echo $ task list description.contains:invit
task list description.contains:invit
echo $ task list desc.word:the
task list desc.word:the
echo $ task list desc.noword:invitations
task list desc.noword:invitations
echo $ task list pro:party
task list pro:party
echo $ task list pro.is:party
task list pro.is:party
echo $ task list pro.not:party
task list pro.not:party
echo $ task list pro:party priority.over:L
task list pro:party priority.over:L
echo $ task list pro:party limit:2
task list pro:party limit:2
echo $ task list limit:page
task list limit:page
echo $ task all status:pending
task all status:pending
echo $ task all status:waiting
task all status:waiting
# 25 Import/export
echo Import/export --------------------------------------------------------------
echo $ task export.csv
task export.csv
echo $ task export.csv venue
task export.csv venue
echo $ task export.vcalendar venue
task export.vcalendar venue
echo $ task export.yaml venue
task export.yaml venue
cat <<EOF >file.text
Remember to read the task man page
EOF
cat file.text
echo $ task import file.text
printf "y\n" | task import file.text
cat <<EOF >file.yaml
%YAML 1.1
---
task:
description: Visit http://taskwarrior.org
due: 1281844800
entry: 1281289630
priority: H
project: work
status: pending
uuid: 23afada0-a446-8d5a-c213-30d99d52c4b0
...
EOF
cat file.yaml
echo $ task import file.yaml
printf "y\n" | task import file.yaml
echo $ task new limit:2
task new limit:2
# 26 Help
echo Help --------------------------------------------------------------
echo $ task help
task help
echo $ man task
#man task
echo $ man taskrc
#man taskrc
echo $ man task-color
#man task-color
echo $ man task-tutorial
#man task-tutorial
echo $ man task-faq
#man task-faq
echo $ man task-sync
#man task-sync
# 27 Wrap up
echo Wrap up --------------------------------------------------------------
echo $ task version
task version
exit

View File

@@ -0,0 +1,25 @@
[Make window 116x32 for movie recording, light text, dark background]
This is the script from which a 2.0-specific movie will be made. On the left
are the typed commands, and on the right is the voice track.
It is intended that the left and right be combined and the result will be a new
task-tutorial.5 man page.
---------------------------------------- Intro -----------------------------------------------------
http://taskwarrior.org Hello, and welcome to this taskwarrior version 1.9.3 demo.
I'm going to show you over 100 features, so don't blink, or
you'll miss some. Even experienced users are going to learn
*something*.
I will start off with basic usage, and proceed to more
sophisticated commands as we go along.
---------------------------------------- End -------------------------------------------------------
Include first time use
Include 30-second tutorial

View File

@@ -0,0 +1,533 @@
#! /bin/bash
rm -f /Users/paul/.task/pending.data /Users/paul/.task/completed.data /Users/paul/.task/undo.data
echo 'data.location=~/.task' > /Users/paul/.taskrc
echo 'color=off' >> /Users/paul/.taskrc
echo 'color.summary.background=on gray3' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-red-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-256.theme' >> /Users/paul/.taskrc
# 1 Intro
# 2 Basic usage
echo Basic usage --------------------------------------------------------------
echo $ task add Select a free weekend in November
task add Select a free weekend in November
echo $ task add Select and book a venue
task add Select and book a venue
echo $ task add Come up with a guest list
task add Come up with a guest list
echo $ task add Mail invitations
task add Mail invitations
echo $ task add Select a caterer
task add Select a caterer
echo $ task list
task list
echo $ task log Order a special cake
task log Order a special cake
echo $ task 4 duplicate /Mail/Design/
task 4 duplicate /Mail/Design/
echo $ task 4 duplicate /Mail/Print/
task 4 duplicate /Mail/Print/
echo $ task list
task list
echo $ task 3 done
task 3 done
echo $ task list
task list
# 3 Projects
echo Projects --------------------------------------------------------------
echo $ task add Pay teh rent on teh 31st
task add Pay teh rent on teh 31st
echo $ task 7 /teh/the/g
task 7 /teh/the/g
echo $ task list
task list
echo $ task 7 project:home
task 7 project:home
echo $ task 1-6 project:party
echo 'All' | task 1-6 project:party
echo $ task projects
task projects
echo $ task list project:home
task list project:home
echo $ task li pro:par
task li pro:par
# 4 Priorities
echo Priorities --------------------------------------------------------------
echo $ task 1-3,5 priority:H
echo 'All' | task 1-3,5 priority:H
echo $ task list
task list
echo $ task 3 pri:
task 3 pri:
# 5 Tags
echo Tags --------------------------------------------------------------
echo $ task list
task list
echo $ task 3,5,6 +mall
echo 'All' | task 3,5,6 +mall
echo $ task long
task long
echo $ task list +mall
task list +mall
echo $ task 3 -mall
task 3 -mall
# 6 Modifications
echo Modifications --------------------------------------------------------------
echo $ task 7 Pay rent at the end of the month
echo 'Yes' | task 7 Pay rent at the end of the month
echo $ task add music
task add music
echo $ task 8 prepend Select some
task 8 prepend Select some
echo $ task 8 append for after dinner
task 8 append for after dinner
echo $ task list
task list
echo $ task edit
#task edit
echo $ task add Hire a band?
#task add Hire a band?
echo $ task add Hire a band\?
#task add Hire a band\?
echo $ task add "Hire a band?"
#task add "Hire a band?"
echo $ task add -- Hire a band\? +dj
task add -- Hire a band\? +dj
echo $ task undo
echo 'y' | task undo
echo $ task 1 delete
echo 'y' | task 1 delete
echo $ task undo
echo 'y' | task undo
# 7 Info
echo Info --------------------------------------------------------------
echo $ task 1 info
task 1 info
echo $ task stats
task stats
# 8 Annotations
echo Annotations --------------------------------------------------------------
echo $ task 1 annotate the 13 looks good
task 1 annotate the 13 looks good
sleep 1
echo $ task 1 annotate or the 14th
task 1 annotate or the 14th
echo $ task list
task list
echo $ task list rc.annotations:full
task list rc.annotations:full
echo $ task list rc.annotations:sparse
task list rc.annotations:sparse
echo $ task list rc.annotations:none
task list rc.annotations:none
echo $ task 1 denotate 14th
task 1 denotate 14th
echo $ task list
task list
# 9 Configuration
echo Configuration --------------------------------------------------------------
echo $ task show
task show
echo $ task config answer forty-two
echo 'y' | task config answer forty-two
echo $ task show answer
task show answer
echo $ task config answer
echo 'y' | task config answer
echo $ task rc.report.list.sort=description+ list
task rc.report.list.sort=description+ list
# 10 Defaults
echo Defaults --------------------------------------------------------------
echo $ task config default.command list
echo 'y' | task config default.command list
echo $ task
task
echo $ task config default.priority H
echo 'y' | task config default.priority H
echo $ task config default.project Work
echo 'y' | task config default.project Work
echo $ task add New task
task add New task
echo $ task list
task list
echo $ task undo
echo 'y' | task undo
echo $ task config default.priority
echo 'y' | task config default.priority
echo $ task config default.project
echo 'y' | task config default.project
# 11 Aliases
echo Aliases --------------------------------------------------------------
echo $ task config alias.zzz list
echo 'y' | task config alias.zzz list
echo $ task zzz
task zzz
echo $ task z
task z
# 12 Color
echo Color --------------------------------------------------------------
echo $ task config color on
echo 'y' | task config color on
echo $ task list
task list
echo $ task 1 bg:on_red
task 1 bg:on_red
echo $ task list
task list
echo $ task 1 bg:
task 1 bg:
echo $ task color
task color
echo $ task color white on red
task color white on red
echo $ task color legend
task color legend
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
echo 'include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
sed 's/blue/red/' x >x2 && mv x2 x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
sed 's/red-//' x >x2 && mv x2 x
echo $ task list
task list
echo $ task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
echo $ man task-color
#man task-color
# 13 Active tasks
echo Active tasks --------------------------------------------------------------
echo $ task 2 start
task 2 start
echo $ task list
task list
echo $ task active
task active
echo $ task 2 stop
task 2 stop
echo $ task config journal.time on
task config journal.time on
echo $ task config rc.dateformat.xxx xxx
task config rc.dateformat.xxx xxx
echo $ task config dateformat.annotation 'Y/m/d H:N'
task config dateformat.annotation 'Y/m/d H:N'
echo $ task 2 start
task 2 start
echo $ task list venue
task list venue
echo $ task 2 stop
task 2 stop
echo $ task list venue
task list venue
# 14 Due dates
echo Due dates --------------------------------------------------------------
echo $ task 1 due:7/31/2010
task 1 due:7/31/2010
echo $ task 1 due:2wks
task 1 due:2wks
echo $ task 1 due:-2wks
task 1 due:-2wks
echo $ task 1 due:eom
task 1 due:eom
echo $ task 2 due:8th
task 2 due:8th
echo $ task 2 due:sunday
task 2 due:sunday
echo $ task 5 due:eow
task 5 due:eow
echo $ task list
task list
echo $ task overdue
task overdue
echo $ task rc.dateformat.report:Y-M-DTH:N:SZ list
task rc.dateformat.report:Y-M-DTH:N:SZ list
# 15 Calendar
echo Calendar --------------------------------------------------------------
echo $ task calendar
task calendar
echo $ vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
echo 'include /usr/local/share/doc/task/rc/holidays-US.rc' >> x
echo $ task calendar
task calendar
echo $ task cal 2010
task cal 2010
echo $ task rc.calendar.details:full cal
task rc.calendar.details:full cal
echo $ task rc.calendar.holidays:full cal
task rc.calendar.holidays:full cal
# 16 Recurrence
echo Recurrence --------------------------------------------------------------
echo $ task 7 info
task 7 info
echo $ task 7 due:eom recur:monthly
task 7 due:eom recur:monthly
echo $ task 7
task 7
echo $ task 7 until:eoy
task 7 until:eoy
echo $ task recurring
task recurring
echo $ task add Pay taxes due:4/15/2007 recur:yearly
task add Pay taxes due:4/15/2007 recur:yearly
echo $ task long
task long
echo $ task 11 delete
printf "y\ny\n" | task 11 delete # y, y
echo $ task list
task list
# 17 Shell
echo Shell --------------------------------------------------------------
echo $ task shell
#task shell
echo '> projects'
#> projects
echo '> tags'
#> tags
echo '> list'
#> list
echo '> quit'
#> quit
# 18 Special tags
echo Special tags --------------------------------------------------------------
echo $ task 6 +nocolor
task 6 +nocolor
echo $ task list
task list
echo $ task tags
task tags
echo $ task 6 -nocolor
task 6 -nocolor
# 19 Waiting
echo Waiting --------------------------------------------------------------
echo $ task add Look for new apartment due:eoy
task add Look for new apartment due:eoy
echo $ task list
task list
echo $ task 10 wait:12/1/2010
task 10 wait:12/1/2010
echo $ task list
task list
echo $ task waiting
task waiting
echo $ task add Do something in a few seconds
task add Do something in a few seconds
echo $ task 11 wait:5s
task 11 wait:5s
echo $ task list
task list
sleep 5
echo $ task list
task list
echo $ task 11 rc.confirmation:no delete
task 11 rc.confirmation:no delete
# 20 Dependencies
echo Dependencies --------------------------------------------------------------
echo $ task list pro:party
task list pro:party
echo $ task 3 depends:6
task 3 depends:6
echo $ task 6 dep:5
task 6 dep:5
echo $ task 2 dep:1
task 2 dep:1
echo $ task 5 dep:1,2
task 5 dep:1,2
echo $ task 4 dep:1
task 4 dep:1
echo $ task long pro:party
task long pro:party
echo $ task 5 dep:-1
task 5 dep:-1
echo $ task blocked
task blocked
echo $ task unblocked
task unblocked
echo $ task 1 info
task 1 info
echo $ task 2 info
task 2 info
echo $ task 2 done
echo 'y' | task 2 done
echo $ task 1 info
task 1 info
# 21 Reports
echo Reports --------------------------------------------------------------
echo $ task minimal
task minimal
echo $ task ls
task ls
echo $ task list
task list
echo $ task long
task long
echo $ task all
task all
echo $ task completed
task completed
echo $ task recurring
task recurring
echo $ task waiting
task waiting
echo $ task blocked
task blocked
echo $ task oldest
task oldest
echo $ task newest
task newest
echo $ task timesheet
task timesheet
echo $ task next
task next
# 22 Custom report
echo Custom report --------------------------------------------------------------
echo 'report.foo.description=My own report' >> x
echo 'report.foo.columns=id,entry,description' >> x
echo 'report.foo.labels=ID,Entered,Description' >> x
echo 'report.foo.sort=entry+,description+' >> x
echo 'report.foo.filter=status:pending' >> x
echo 'task help | grep foo'
task help | grep foo
echo $ task show report.foo
task show report.foo
echo $ task foo
task foo
# 23 Charts
echo Charts --------------------------------------------------------------
echo $ task history
task history
echo $ task history.annual
task history.annual
echo $ task ghistory
task ghistory
echo $ task ghistory.annual
task ghistory.annual
echo $ task summary
task summary
# 24 Advanced filters
echo Advanced filters --------------------------------------------------------------
echo $ task list
task list
echo $ task list invit
task list invit
echo $ task list description.contains:invit
task list description.contains:invit
echo $ task list desc.word:the
task list desc.word:the
echo $ task list desc.noword:invitations
task list desc.noword:invitations
echo $ task list pro:party
task list pro:party
echo $ task list pro.is:party
task list pro.is:party
echo $ task list pro.not:party
task list pro.not:party
echo $ task list pro:party priority.over:L
task list pro:party priority.over:L
echo $ task list pro:party limit:2
task list pro:party limit:2
echo $ task list limit:page
task list limit:page
echo $ task all status:pending
task all status:pending
echo $ task all status:waiting
task all status:waiting
# 25 Import/export
echo Import/export --------------------------------------------------------------
echo $ task export.csv
task export.csv
echo $ task export.csv venue
task export.csv venue
echo $ task export.vcalendar venue
task export.vcalendar venue
echo $ task export.yaml venue
task export.yaml venue
cat <<EOF >file.text
Remember to read the task man page
EOF
cat file.text
echo $ task import file.text
printf "y\n" | task import file.text
cat <<EOF >file.yaml
%YAML 1.1
---
task:
description: Visit http://taskwarrior.org
due: 1281844800
entry: 1281289630
priority: H
project: work
status: pending
uuid: 23afada0-a446-8d5a-c213-30d99d52c4b0
...
EOF
cat file.yaml
echo $ task import file.yaml
printf "y\n" | task import file.yaml
echo $ task new limit:2
task new limit:2
# 26 Help
echo Help --------------------------------------------------------------
echo $ task help
task help
echo $ man task
#man task
echo $ man taskrc
#man taskrc
echo $ man task-color
#man task-color
echo $ man task-tutorial
#man task-tutorial
echo $ man task-faq
#man task-faq
echo $ man task-sync
#man task-sync
# 27 Wrap up
echo Wrap up --------------------------------------------------------------
echo $ task version
task version
exit

View File

@@ -0,0 +1,48 @@
[Make window 116x32 for movie recording, light text, dark background]
This is the script from which a 2.0-specific movie will be made. On the left
are the typed commands, and on the right is the voice track.
It is intended that the left and right be combined and the result will be a new
task-tutorial.5 man page.
---------------------------------------- Modifications ---------------------------------------------
task 7 Pay rent at the end of the month Task 7 is not worded correctly, so I can modify that by
specifying a task ID and a new description. This is also
considered a bulk change, and so requires confirmation.
task add music We'll need music.
task 8 prepend Select some I can prepend to that.
task 8 append for after dinner I can append to that.
task list
task edit I can also go straight into an editor and modify anything.
task add Hire a band? <--- Sometimes the command will confuse the shell. In this case,
what would happen if there was a file named 'bands' in the
current directory? The shell would expand that wildcard,
so to avoid that, you can...
task add Hire a band\? <--- escape the wildcard...
task add "Hire a band?" <--- or quote the whole description...
task add -- Hire a band\? +dj You can also use the minus minus operator which tells
taskwarrior to stop being clever and interpret the rest
of the arguments as a task description. Otherwise, that
+dj would be interpreted as a tag.
task undo We don't need a band, so the easiest way to get rid of that
task is to undo the last change. Taskwarrior has a
complete undo stack, so you can undo all the way back to
the beginning.
task 1 delete The undo operation gets rid of the task completely, but I
task undo could also have just deleted the task, then the deletion
itself would be tracked, and also undoable.
---------------------------------------- End -------------------------------------------------------
Show more shell escapes.
show 'modify' command.

View File

@@ -0,0 +1,533 @@
#! /bin/bash
rm -f /Users/paul/.task/pending.data /Users/paul/.task/completed.data /Users/paul/.task/undo.data
echo 'data.location=~/.task' > /Users/paul/.taskrc
echo 'color=off' >> /Users/paul/.taskrc
echo 'color.summary.background=on gray3' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-red-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-256.theme' >> /Users/paul/.taskrc
# 1 Intro
# 2 Basic usage
echo Basic usage --------------------------------------------------------------
echo $ task add Select a free weekend in November
task add Select a free weekend in November
echo $ task add Select and book a venue
task add Select and book a venue
echo $ task add Come up with a guest list
task add Come up with a guest list
echo $ task add Mail invitations
task add Mail invitations
echo $ task add Select a caterer
task add Select a caterer
echo $ task list
task list
echo $ task log Order a special cake
task log Order a special cake
echo $ task 4 duplicate /Mail/Design/
task 4 duplicate /Mail/Design/
echo $ task 4 duplicate /Mail/Print/
task 4 duplicate /Mail/Print/
echo $ task list
task list
echo $ task 3 done
task 3 done
echo $ task list
task list
# 3 Projects
echo Projects --------------------------------------------------------------
echo $ task add Pay teh rent on teh 31st
task add Pay teh rent on teh 31st
echo $ task 7 /teh/the/g
task 7 /teh/the/g
echo $ task list
task list
echo $ task 7 project:home
task 7 project:home
echo $ task 1-6 project:party
echo 'All' | task 1-6 project:party
echo $ task projects
task projects
echo $ task list project:home
task list project:home
echo $ task li pro:par
task li pro:par
# 4 Priorities
echo Priorities --------------------------------------------------------------
echo $ task 1-3,5 priority:H
echo 'All' | task 1-3,5 priority:H
echo $ task list
task list
echo $ task 3 pri:
task 3 pri:
# 5 Tags
echo Tags --------------------------------------------------------------
echo $ task list
task list
echo $ task 3,5,6 +mall
echo 'All' | task 3,5,6 +mall
echo $ task long
task long
echo $ task list +mall
task list +mall
echo $ task 3 -mall
task 3 -mall
# 6 Modifications
echo Modifications --------------------------------------------------------------
echo $ task 7 Pay rent at the end of the month
echo 'Yes' | task 7 Pay rent at the end of the month
echo $ task add music
task add music
echo $ task 8 prepend Select some
task 8 prepend Select some
echo $ task 8 append for after dinner
task 8 append for after dinner
echo $ task list
task list
echo $ task edit
#task edit
echo $ task add Hire a band?
#task add Hire a band?
echo $ task add Hire a band\?
#task add Hire a band\?
echo $ task add "Hire a band?"
#task add "Hire a band?"
echo $ task add -- Hire a band\? +dj
task add -- Hire a band\? +dj
echo $ task undo
echo 'y' | task undo
echo $ task 1 delete
echo 'y' | task 1 delete
echo $ task undo
echo 'y' | task undo
# 7 Info
echo Info --------------------------------------------------------------
echo $ task 1 info
task 1 info
echo $ task stats
task stats
# 8 Annotations
echo Annotations --------------------------------------------------------------
echo $ task 1 annotate the 13 looks good
task 1 annotate the 13 looks good
sleep 1
echo $ task 1 annotate or the 14th
task 1 annotate or the 14th
echo $ task list
task list
echo $ task list rc.annotations:full
task list rc.annotations:full
echo $ task list rc.annotations:sparse
task list rc.annotations:sparse
echo $ task list rc.annotations:none
task list rc.annotations:none
echo $ task 1 denotate 14th
task 1 denotate 14th
echo $ task list
task list
# 9 Configuration
echo Configuration --------------------------------------------------------------
echo $ task show
task show
echo $ task config answer forty-two
echo 'y' | task config answer forty-two
echo $ task show answer
task show answer
echo $ task config answer
echo 'y' | task config answer
echo $ task rc.report.list.sort=description+ list
task rc.report.list.sort=description+ list
# 10 Defaults
echo Defaults --------------------------------------------------------------
echo $ task config default.command list
echo 'y' | task config default.command list
echo $ task
task
echo $ task config default.priority H
echo 'y' | task config default.priority H
echo $ task config default.project Work
echo 'y' | task config default.project Work
echo $ task add New task
task add New task
echo $ task list
task list
echo $ task undo
echo 'y' | task undo
echo $ task config default.priority
echo 'y' | task config default.priority
echo $ task config default.project
echo 'y' | task config default.project
# 11 Aliases
echo Aliases --------------------------------------------------------------
echo $ task config alias.zzz list
echo 'y' | task config alias.zzz list
echo $ task zzz
task zzz
echo $ task z
task z
# 12 Color
echo Color --------------------------------------------------------------
echo $ task config color on
echo 'y' | task config color on
echo $ task list
task list
echo $ task 1 bg:on_red
task 1 bg:on_red
echo $ task list
task list
echo $ task 1 bg:
task 1 bg:
echo $ task color
task color
echo $ task color white on red
task color white on red
echo $ task color legend
task color legend
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
echo 'include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
sed 's/blue/red/' x >x2 && mv x2 x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
sed 's/red-//' x >x2 && mv x2 x
echo $ task list
task list
echo $ task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
echo $ man task-color
#man task-color
# 13 Active tasks
echo Active tasks --------------------------------------------------------------
echo $ task 2 start
task 2 start
echo $ task list
task list
echo $ task active
task active
echo $ task 2 stop
task 2 stop
echo $ task config journal.time on
task config journal.time on
echo $ task config rc.dateformat.xxx xxx
task config rc.dateformat.xxx xxx
echo $ task config dateformat.annotation 'Y/m/d H:N'
task config dateformat.annotation 'Y/m/d H:N'
echo $ task 2 start
task 2 start
echo $ task list venue
task list venue
echo $ task 2 stop
task 2 stop
echo $ task list venue
task list venue
# 14 Due dates
echo Due dates --------------------------------------------------------------
echo $ task 1 due:7/31/2010
task 1 due:7/31/2010
echo $ task 1 due:2wks
task 1 due:2wks
echo $ task 1 due:-2wks
task 1 due:-2wks
echo $ task 1 due:eom
task 1 due:eom
echo $ task 2 due:8th
task 2 due:8th
echo $ task 2 due:sunday
task 2 due:sunday
echo $ task 5 due:eow
task 5 due:eow
echo $ task list
task list
echo $ task overdue
task overdue
echo $ task rc.dateformat.report:Y-M-DTH:N:SZ list
task rc.dateformat.report:Y-M-DTH:N:SZ list
# 15 Calendar
echo Calendar --------------------------------------------------------------
echo $ task calendar
task calendar
echo $ vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
echo 'include /usr/local/share/doc/task/rc/holidays-US.rc' >> x
echo $ task calendar
task calendar
echo $ task cal 2010
task cal 2010
echo $ task rc.calendar.details:full cal
task rc.calendar.details:full cal
echo $ task rc.calendar.holidays:full cal
task rc.calendar.holidays:full cal
# 16 Recurrence
echo Recurrence --------------------------------------------------------------
echo $ task 7 info
task 7 info
echo $ task 7 due:eom recur:monthly
task 7 due:eom recur:monthly
echo $ task 7
task 7
echo $ task 7 until:eoy
task 7 until:eoy
echo $ task recurring
task recurring
echo $ task add Pay taxes due:4/15/2007 recur:yearly
task add Pay taxes due:4/15/2007 recur:yearly
echo $ task long
task long
echo $ task 11 delete
printf "y\ny\n" | task 11 delete # y, y
echo $ task list
task list
# 17 Shell
echo Shell --------------------------------------------------------------
echo $ task shell
#task shell
echo '> projects'
#> projects
echo '> tags'
#> tags
echo '> list'
#> list
echo '> quit'
#> quit
# 18 Special tags
echo Special tags --------------------------------------------------------------
echo $ task 6 +nocolor
task 6 +nocolor
echo $ task list
task list
echo $ task tags
task tags
echo $ task 6 -nocolor
task 6 -nocolor
# 19 Waiting
echo Waiting --------------------------------------------------------------
echo $ task add Look for new apartment due:eoy
task add Look for new apartment due:eoy
echo $ task list
task list
echo $ task 10 wait:12/1/2010
task 10 wait:12/1/2010
echo $ task list
task list
echo $ task waiting
task waiting
echo $ task add Do something in a few seconds
task add Do something in a few seconds
echo $ task 11 wait:5s
task 11 wait:5s
echo $ task list
task list
sleep 5
echo $ task list
task list
echo $ task 11 rc.confirmation:no delete
task 11 rc.confirmation:no delete
# 20 Dependencies
echo Dependencies --------------------------------------------------------------
echo $ task list pro:party
task list pro:party
echo $ task 3 depends:6
task 3 depends:6
echo $ task 6 dep:5
task 6 dep:5
echo $ task 2 dep:1
task 2 dep:1
echo $ task 5 dep:1,2
task 5 dep:1,2
echo $ task 4 dep:1
task 4 dep:1
echo $ task long pro:party
task long pro:party
echo $ task 5 dep:-1
task 5 dep:-1
echo $ task blocked
task blocked
echo $ task unblocked
task unblocked
echo $ task 1 info
task 1 info
echo $ task 2 info
task 2 info
echo $ task 2 done
echo 'y' | task 2 done
echo $ task 1 info
task 1 info
# 21 Reports
echo Reports --------------------------------------------------------------
echo $ task minimal
task minimal
echo $ task ls
task ls
echo $ task list
task list
echo $ task long
task long
echo $ task all
task all
echo $ task completed
task completed
echo $ task recurring
task recurring
echo $ task waiting
task waiting
echo $ task blocked
task blocked
echo $ task oldest
task oldest
echo $ task newest
task newest
echo $ task timesheet
task timesheet
echo $ task next
task next
# 22 Custom report
echo Custom report --------------------------------------------------------------
echo 'report.foo.description=My own report' >> x
echo 'report.foo.columns=id,entry,description' >> x
echo 'report.foo.labels=ID,Entered,Description' >> x
echo 'report.foo.sort=entry+,description+' >> x
echo 'report.foo.filter=status:pending' >> x
echo 'task help | grep foo'
task help | grep foo
echo $ task show report.foo
task show report.foo
echo $ task foo
task foo
# 23 Charts
echo Charts --------------------------------------------------------------
echo $ task history
task history
echo $ task history.annual
task history.annual
echo $ task ghistory
task ghistory
echo $ task ghistory.annual
task ghistory.annual
echo $ task summary
task summary
# 24 Advanced filters
echo Advanced filters --------------------------------------------------------------
echo $ task list
task list
echo $ task list invit
task list invit
echo $ task list description.contains:invit
task list description.contains:invit
echo $ task list desc.word:the
task list desc.word:the
echo $ task list desc.noword:invitations
task list desc.noword:invitations
echo $ task list pro:party
task list pro:party
echo $ task list pro.is:party
task list pro.is:party
echo $ task list pro.not:party
task list pro.not:party
echo $ task list pro:party priority.over:L
task list pro:party priority.over:L
echo $ task list pro:party limit:2
task list pro:party limit:2
echo $ task list limit:page
task list limit:page
echo $ task all status:pending
task all status:pending
echo $ task all status:waiting
task all status:waiting
# 25 Import/export
echo Import/export --------------------------------------------------------------
echo $ task export.csv
task export.csv
echo $ task export.csv venue
task export.csv venue
echo $ task export.vcalendar venue
task export.vcalendar venue
echo $ task export.yaml venue
task export.yaml venue
cat <<EOF >file.text
Remember to read the task man page
EOF
cat file.text
echo $ task import file.text
printf "y\n" | task import file.text
cat <<EOF >file.yaml
%YAML 1.1
---
task:
description: Visit http://taskwarrior.org
due: 1281844800
entry: 1281289630
priority: H
project: work
status: pending
uuid: 23afada0-a446-8d5a-c213-30d99d52c4b0
...
EOF
cat file.yaml
echo $ task import file.yaml
printf "y\n" | task import file.yaml
echo $ task new limit:2
task new limit:2
# 26 Help
echo Help --------------------------------------------------------------
echo $ task help
task help
echo $ man task
#man task
echo $ man taskrc
#man taskrc
echo $ man task-color
#man task-color
echo $ man task-tutorial
#man task-tutorial
echo $ man task-faq
#man task-faq
echo $ man task-sync
#man task-sync
# 27 Wrap up
echo Wrap up --------------------------------------------------------------
echo $ task version
task version
exit

View File

@@ -0,0 +1,21 @@
[Make window 116x32 for movie recording, light text, dark background]
This is the script from which a 2.0-specific movie will be made. On the left
are the typed commands, and on the right is the voice track.
It is intended that the left and right be combined and the result will be a new
task-tutorial.5 man page.
---------------------------------------- Priorities ------------------------------------------------
task 1-3,5 priority:H Priorities are another way to organize tasks. You can use
task list priority values of high, medium and low, and taskwarrior
knows these as H, M or L.
task 3 pri: You can remove priorities by specifying a blank value.
---------------------------------------- End -------------------------------------------------------

View File

@@ -0,0 +1,533 @@
#! /bin/bash
rm -f /Users/paul/.task/pending.data /Users/paul/.task/completed.data /Users/paul/.task/undo.data
echo 'data.location=~/.task' > /Users/paul/.taskrc
echo 'color=off' >> /Users/paul/.taskrc
echo 'color.summary.background=on gray3' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-red-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-256.theme' >> /Users/paul/.taskrc
# 1 Intro
# 2 Basic usage
echo Basic usage --------------------------------------------------------------
echo $ task add Select a free weekend in November
task add Select a free weekend in November
echo $ task add Select and book a venue
task add Select and book a venue
echo $ task add Come up with a guest list
task add Come up with a guest list
echo $ task add Mail invitations
task add Mail invitations
echo $ task add Select a caterer
task add Select a caterer
echo $ task list
task list
echo $ task log Order a special cake
task log Order a special cake
echo $ task 4 duplicate /Mail/Design/
task 4 duplicate /Mail/Design/
echo $ task 4 duplicate /Mail/Print/
task 4 duplicate /Mail/Print/
echo $ task list
task list
echo $ task 3 done
task 3 done
echo $ task list
task list
# 3 Projects
echo Projects --------------------------------------------------------------
echo $ task add Pay teh rent on teh 31st
task add Pay teh rent on teh 31st
echo $ task 7 /teh/the/g
task 7 /teh/the/g
echo $ task list
task list
echo $ task 7 project:home
task 7 project:home
echo $ task 1-6 project:party
echo 'All' | task 1-6 project:party
echo $ task projects
task projects
echo $ task list project:home
task list project:home
echo $ task li pro:par
task li pro:par
# 4 Priorities
echo Priorities --------------------------------------------------------------
echo $ task 1-3,5 priority:H
echo 'All' | task 1-3,5 priority:H
echo $ task list
task list
echo $ task 3 pri:
task 3 pri:
# 5 Tags
echo Tags --------------------------------------------------------------
echo $ task list
task list
echo $ task 3,5,6 +mall
echo 'All' | task 3,5,6 +mall
echo $ task long
task long
echo $ task list +mall
task list +mall
echo $ task 3 -mall
task 3 -mall
# 6 Modifications
echo Modifications --------------------------------------------------------------
echo $ task 7 Pay rent at the end of the month
echo 'Yes' | task 7 Pay rent at the end of the month
echo $ task add music
task add music
echo $ task 8 prepend Select some
task 8 prepend Select some
echo $ task 8 append for after dinner
task 8 append for after dinner
echo $ task list
task list
echo $ task edit
#task edit
echo $ task add Hire a band?
#task add Hire a band?
echo $ task add Hire a band\?
#task add Hire a band\?
echo $ task add "Hire a band?"
#task add "Hire a band?"
echo $ task add -- Hire a band\? +dj
task add -- Hire a band\? +dj
echo $ task undo
echo 'y' | task undo
echo $ task 1 delete
echo 'y' | task 1 delete
echo $ task undo
echo 'y' | task undo
# 7 Info
echo Info --------------------------------------------------------------
echo $ task 1 info
task 1 info
echo $ task stats
task stats
# 8 Annotations
echo Annotations --------------------------------------------------------------
echo $ task 1 annotate the 13 looks good
task 1 annotate the 13 looks good
sleep 1
echo $ task 1 annotate or the 14th
task 1 annotate or the 14th
echo $ task list
task list
echo $ task list rc.annotations:full
task list rc.annotations:full
echo $ task list rc.annotations:sparse
task list rc.annotations:sparse
echo $ task list rc.annotations:none
task list rc.annotations:none
echo $ task 1 denotate 14th
task 1 denotate 14th
echo $ task list
task list
# 9 Configuration
echo Configuration --------------------------------------------------------------
echo $ task show
task show
echo $ task config answer forty-two
echo 'y' | task config answer forty-two
echo $ task show answer
task show answer
echo $ task config answer
echo 'y' | task config answer
echo $ task rc.report.list.sort=description+ list
task rc.report.list.sort=description+ list
# 10 Defaults
echo Defaults --------------------------------------------------------------
echo $ task config default.command list
echo 'y' | task config default.command list
echo $ task
task
echo $ task config default.priority H
echo 'y' | task config default.priority H
echo $ task config default.project Work
echo 'y' | task config default.project Work
echo $ task add New task
task add New task
echo $ task list
task list
echo $ task undo
echo 'y' | task undo
echo $ task config default.priority
echo 'y' | task config default.priority
echo $ task config default.project
echo 'y' | task config default.project
# 11 Aliases
echo Aliases --------------------------------------------------------------
echo $ task config alias.zzz list
echo 'y' | task config alias.zzz list
echo $ task zzz
task zzz
echo $ task z
task z
# 12 Color
echo Color --------------------------------------------------------------
echo $ task config color on
echo 'y' | task config color on
echo $ task list
task list
echo $ task 1 bg:on_red
task 1 bg:on_red
echo $ task list
task list
echo $ task 1 bg:
task 1 bg:
echo $ task color
task color
echo $ task color white on red
task color white on red
echo $ task color legend
task color legend
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
echo 'include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
sed 's/blue/red/' x >x2 && mv x2 x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
sed 's/red-//' x >x2 && mv x2 x
echo $ task list
task list
echo $ task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
echo $ man task-color
#man task-color
# 13 Active tasks
echo Active tasks --------------------------------------------------------------
echo $ task 2 start
task 2 start
echo $ task list
task list
echo $ task active
task active
echo $ task 2 stop
task 2 stop
echo $ task config journal.time on
task config journal.time on
echo $ task config rc.dateformat.xxx xxx
task config rc.dateformat.xxx xxx
echo $ task config dateformat.annotation 'Y/m/d H:N'
task config dateformat.annotation 'Y/m/d H:N'
echo $ task 2 start
task 2 start
echo $ task list venue
task list venue
echo $ task 2 stop
task 2 stop
echo $ task list venue
task list venue
# 14 Due dates
echo Due dates --------------------------------------------------------------
echo $ task 1 due:7/31/2010
task 1 due:7/31/2010
echo $ task 1 due:2wks
task 1 due:2wks
echo $ task 1 due:-2wks
task 1 due:-2wks
echo $ task 1 due:eom
task 1 due:eom
echo $ task 2 due:8th
task 2 due:8th
echo $ task 2 due:sunday
task 2 due:sunday
echo $ task 5 due:eow
task 5 due:eow
echo $ task list
task list
echo $ task overdue
task overdue
echo $ task rc.dateformat.report:Y-M-DTH:N:SZ list
task rc.dateformat.report:Y-M-DTH:N:SZ list
# 15 Calendar
echo Calendar --------------------------------------------------------------
echo $ task calendar
task calendar
echo $ vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
echo 'include /usr/local/share/doc/task/rc/holidays-US.rc' >> x
echo $ task calendar
task calendar
echo $ task cal 2010
task cal 2010
echo $ task rc.calendar.details:full cal
task rc.calendar.details:full cal
echo $ task rc.calendar.holidays:full cal
task rc.calendar.holidays:full cal
# 16 Recurrence
echo Recurrence --------------------------------------------------------------
echo $ task 7 info
task 7 info
echo $ task 7 due:eom recur:monthly
task 7 due:eom recur:monthly
echo $ task 7
task 7
echo $ task 7 until:eoy
task 7 until:eoy
echo $ task recurring
task recurring
echo $ task add Pay taxes due:4/15/2007 recur:yearly
task add Pay taxes due:4/15/2007 recur:yearly
echo $ task long
task long
echo $ task 11 delete
printf "y\ny\n" | task 11 delete # y, y
echo $ task list
task list
# 17 Shell
echo Shell --------------------------------------------------------------
echo $ task shell
#task shell
echo '> projects'
#> projects
echo '> tags'
#> tags
echo '> list'
#> list
echo '> quit'
#> quit
# 18 Special tags
echo Special tags --------------------------------------------------------------
echo $ task 6 +nocolor
task 6 +nocolor
echo $ task list
task list
echo $ task tags
task tags
echo $ task 6 -nocolor
task 6 -nocolor
# 19 Waiting
echo Waiting --------------------------------------------------------------
echo $ task add Look for new apartment due:eoy
task add Look for new apartment due:eoy
echo $ task list
task list
echo $ task 10 wait:12/1/2010
task 10 wait:12/1/2010
echo $ task list
task list
echo $ task waiting
task waiting
echo $ task add Do something in a few seconds
task add Do something in a few seconds
echo $ task 11 wait:5s
task 11 wait:5s
echo $ task list
task list
sleep 5
echo $ task list
task list
echo $ task 11 rc.confirmation:no delete
task 11 rc.confirmation:no delete
# 20 Dependencies
echo Dependencies --------------------------------------------------------------
echo $ task list pro:party
task list pro:party
echo $ task 3 depends:6
task 3 depends:6
echo $ task 6 dep:5
task 6 dep:5
echo $ task 2 dep:1
task 2 dep:1
echo $ task 5 dep:1,2
task 5 dep:1,2
echo $ task 4 dep:1
task 4 dep:1
echo $ task long pro:party
task long pro:party
echo $ task 5 dep:-1
task 5 dep:-1
echo $ task blocked
task blocked
echo $ task unblocked
task unblocked
echo $ task 1 info
task 1 info
echo $ task 2 info
task 2 info
echo $ task 2 done
echo 'y' | task 2 done
echo $ task 1 info
task 1 info
# 21 Reports
echo Reports --------------------------------------------------------------
echo $ task minimal
task minimal
echo $ task ls
task ls
echo $ task list
task list
echo $ task long
task long
echo $ task all
task all
echo $ task completed
task completed
echo $ task recurring
task recurring
echo $ task waiting
task waiting
echo $ task blocked
task blocked
echo $ task oldest
task oldest
echo $ task newest
task newest
echo $ task timesheet
task timesheet
echo $ task next
task next
# 22 Custom report
echo Custom report --------------------------------------------------------------
echo 'report.foo.description=My own report' >> x
echo 'report.foo.columns=id,entry,description' >> x
echo 'report.foo.labels=ID,Entered,Description' >> x
echo 'report.foo.sort=entry+,description+' >> x
echo 'report.foo.filter=status:pending' >> x
echo 'task help | grep foo'
task help | grep foo
echo $ task show report.foo
task show report.foo
echo $ task foo
task foo
# 23 Charts
echo Charts --------------------------------------------------------------
echo $ task history
task history
echo $ task history.annual
task history.annual
echo $ task ghistory
task ghistory
echo $ task ghistory.annual
task ghistory.annual
echo $ task summary
task summary
# 24 Advanced filters
echo Advanced filters --------------------------------------------------------------
echo $ task list
task list
echo $ task list invit
task list invit
echo $ task list description.contains:invit
task list description.contains:invit
echo $ task list desc.word:the
task list desc.word:the
echo $ task list desc.noword:invitations
task list desc.noword:invitations
echo $ task list pro:party
task list pro:party
echo $ task list pro.is:party
task list pro.is:party
echo $ task list pro.not:party
task list pro.not:party
echo $ task list pro:party priority.over:L
task list pro:party priority.over:L
echo $ task list pro:party limit:2
task list pro:party limit:2
echo $ task list limit:page
task list limit:page
echo $ task all status:pending
task all status:pending
echo $ task all status:waiting
task all status:waiting
# 25 Import/export
echo Import/export --------------------------------------------------------------
echo $ task export.csv
task export.csv
echo $ task export.csv venue
task export.csv venue
echo $ task export.vcalendar venue
task export.vcalendar venue
echo $ task export.yaml venue
task export.yaml venue
cat <<EOF >file.text
Remember to read the task man page
EOF
cat file.text
echo $ task import file.text
printf "y\n" | task import file.text
cat <<EOF >file.yaml
%YAML 1.1
---
task:
description: Visit http://taskwarrior.org
due: 1281844800
entry: 1281289630
priority: H
project: work
status: pending
uuid: 23afada0-a446-8d5a-c213-30d99d52c4b0
...
EOF
cat file.yaml
echo $ task import file.yaml
printf "y\n" | task import file.yaml
echo $ task new limit:2
task new limit:2
# 26 Help
echo Help --------------------------------------------------------------
echo $ task help
task help
echo $ man task
#man task
echo $ man taskrc
#man taskrc
echo $ man task-color
#man task-color
echo $ man task-tutorial
#man task-tutorial
echo $ man task-faq
#man task-faq
echo $ man task-sync
#man task-sync
# 27 Wrap up
echo Wrap up --------------------------------------------------------------
echo $ task version
task version
exit

View File

@@ -0,0 +1,36 @@
[Make window 116x32 for movie recording, light text, dark background]
This is the script from which a 2.0-specific movie will be made. On the left
are the typed commands, and on the right is the voice track.
It is intended that the left and right be combined and the result will be a new
task-tutorial.5 man page.
---------------------------------------- Projects --------------------------------------------------
task add Pay teh rent on teh 31st Remember to pay the rent at the end of the month. Oh,
task 7 /teh/teh/g that was sloppy, but it can be fixed with a global
task list substitution.
task 7 project:home We can now use projects to separate home chores from the
party preparation. Let's assign that last task to the
'home' project. Note that a task may only belong to one
project.
task 1-6 project:party And we will put those first six tasks in the 'party'
project. See how we specify a range of tasks? Taskwarrior
will want to confirm bulk changes like this, but we'll
accept all changes here.
task projects Now that we have multiple projects, as shown here, we can
task list project:home use project as a filter for the list report. You can see
task li pro:par again that we can abbreviate 'list' and 'project', but when
we abbreviate 'party', we are filtering all the projects
that begin with 'par'.
---------------------------------------- End -------------------------------------------------------
Show project change stats.

View File

@@ -0,0 +1,533 @@
#! /bin/bash
rm -f /Users/paul/.task/pending.data /Users/paul/.task/completed.data /Users/paul/.task/undo.data
echo 'data.location=~/.task' > /Users/paul/.taskrc
echo 'color=off' >> /Users/paul/.taskrc
echo 'color.summary.background=on gray3' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-red-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-256.theme' >> /Users/paul/.taskrc
# 1 Intro
# 2 Basic usage
echo Basic usage --------------------------------------------------------------
echo $ task add Select a free weekend in November
task add Select a free weekend in November
echo $ task add Select and book a venue
task add Select and book a venue
echo $ task add Come up with a guest list
task add Come up with a guest list
echo $ task add Mail invitations
task add Mail invitations
echo $ task add Select a caterer
task add Select a caterer
echo $ task list
task list
echo $ task log Order a special cake
task log Order a special cake
echo $ task 4 duplicate /Mail/Design/
task 4 duplicate /Mail/Design/
echo $ task 4 duplicate /Mail/Print/
task 4 duplicate /Mail/Print/
echo $ task list
task list
echo $ task 3 done
task 3 done
echo $ task list
task list
# 3 Projects
echo Projects --------------------------------------------------------------
echo $ task add Pay teh rent on teh 31st
task add Pay teh rent on teh 31st
echo $ task 7 /teh/the/g
task 7 /teh/the/g
echo $ task list
task list
echo $ task 7 project:home
task 7 project:home
echo $ task 1-6 project:party
echo 'All' | task 1-6 project:party
echo $ task projects
task projects
echo $ task list project:home
task list project:home
echo $ task li pro:par
task li pro:par
# 4 Priorities
echo Priorities --------------------------------------------------------------
echo $ task 1-3,5 priority:H
echo 'All' | task 1-3,5 priority:H
echo $ task list
task list
echo $ task 3 pri:
task 3 pri:
# 5 Tags
echo Tags --------------------------------------------------------------
echo $ task list
task list
echo $ task 3,5,6 +mall
echo 'All' | task 3,5,6 +mall
echo $ task long
task long
echo $ task list +mall
task list +mall
echo $ task 3 -mall
task 3 -mall
# 6 Modifications
echo Modifications --------------------------------------------------------------
echo $ task 7 Pay rent at the end of the month
echo 'Yes' | task 7 Pay rent at the end of the month
echo $ task add music
task add music
echo $ task 8 prepend Select some
task 8 prepend Select some
echo $ task 8 append for after dinner
task 8 append for after dinner
echo $ task list
task list
echo $ task edit
#task edit
echo $ task add Hire a band?
#task add Hire a band?
echo $ task add Hire a band\?
#task add Hire a band\?
echo $ task add "Hire a band?"
#task add "Hire a band?"
echo $ task add -- Hire a band\? +dj
task add -- Hire a band\? +dj
echo $ task undo
echo 'y' | task undo
echo $ task 1 delete
echo 'y' | task 1 delete
echo $ task undo
echo 'y' | task undo
# 7 Info
echo Info --------------------------------------------------------------
echo $ task 1 info
task 1 info
echo $ task stats
task stats
# 8 Annotations
echo Annotations --------------------------------------------------------------
echo $ task 1 annotate the 13 looks good
task 1 annotate the 13 looks good
sleep 1
echo $ task 1 annotate or the 14th
task 1 annotate or the 14th
echo $ task list
task list
echo $ task list rc.annotations:full
task list rc.annotations:full
echo $ task list rc.annotations:sparse
task list rc.annotations:sparse
echo $ task list rc.annotations:none
task list rc.annotations:none
echo $ task 1 denotate 14th
task 1 denotate 14th
echo $ task list
task list
# 9 Configuration
echo Configuration --------------------------------------------------------------
echo $ task show
task show
echo $ task config answer forty-two
echo 'y' | task config answer forty-two
echo $ task show answer
task show answer
echo $ task config answer
echo 'y' | task config answer
echo $ task rc.report.list.sort=description+ list
task rc.report.list.sort=description+ list
# 10 Defaults
echo Defaults --------------------------------------------------------------
echo $ task config default.command list
echo 'y' | task config default.command list
echo $ task
task
echo $ task config default.priority H
echo 'y' | task config default.priority H
echo $ task config default.project Work
echo 'y' | task config default.project Work
echo $ task add New task
task add New task
echo $ task list
task list
echo $ task undo
echo 'y' | task undo
echo $ task config default.priority
echo 'y' | task config default.priority
echo $ task config default.project
echo 'y' | task config default.project
# 11 Aliases
echo Aliases --------------------------------------------------------------
echo $ task config alias.zzz list
echo 'y' | task config alias.zzz list
echo $ task zzz
task zzz
echo $ task z
task z
# 12 Color
echo Color --------------------------------------------------------------
echo $ task config color on
echo 'y' | task config color on
echo $ task list
task list
echo $ task 1 bg:on_red
task 1 bg:on_red
echo $ task list
task list
echo $ task 1 bg:
task 1 bg:
echo $ task color
task color
echo $ task color white on red
task color white on red
echo $ task color legend
task color legend
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
echo 'include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
sed 's/blue/red/' x >x2 && mv x2 x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
sed 's/red-//' x >x2 && mv x2 x
echo $ task list
task list
echo $ task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
echo $ man task-color
#man task-color
# 13 Active tasks
echo Active tasks --------------------------------------------------------------
echo $ task 2 start
task 2 start
echo $ task list
task list
echo $ task active
task active
echo $ task 2 stop
task 2 stop
echo $ task config journal.time on
task config journal.time on
echo $ task config rc.dateformat.xxx xxx
task config rc.dateformat.xxx xxx
echo $ task config dateformat.annotation 'Y/m/d H:N'
task config dateformat.annotation 'Y/m/d H:N'
echo $ task 2 start
task 2 start
echo $ task list venue
task list venue
echo $ task 2 stop
task 2 stop
echo $ task list venue
task list venue
# 14 Due dates
echo Due dates --------------------------------------------------------------
echo $ task 1 due:7/31/2010
task 1 due:7/31/2010
echo $ task 1 due:2wks
task 1 due:2wks
echo $ task 1 due:-2wks
task 1 due:-2wks
echo $ task 1 due:eom
task 1 due:eom
echo $ task 2 due:8th
task 2 due:8th
echo $ task 2 due:sunday
task 2 due:sunday
echo $ task 5 due:eow
task 5 due:eow
echo $ task list
task list
echo $ task overdue
task overdue
echo $ task rc.dateformat.report:Y-M-DTH:N:SZ list
task rc.dateformat.report:Y-M-DTH:N:SZ list
# 15 Calendar
echo Calendar --------------------------------------------------------------
echo $ task calendar
task calendar
echo $ vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
echo 'include /usr/local/share/doc/task/rc/holidays-US.rc' >> x
echo $ task calendar
task calendar
echo $ task cal 2010
task cal 2010
echo $ task rc.calendar.details:full cal
task rc.calendar.details:full cal
echo $ task rc.calendar.holidays:full cal
task rc.calendar.holidays:full cal
# 16 Recurrence
echo Recurrence --------------------------------------------------------------
echo $ task 7 info
task 7 info
echo $ task 7 due:eom recur:monthly
task 7 due:eom recur:monthly
echo $ task 7
task 7
echo $ task 7 until:eoy
task 7 until:eoy
echo $ task recurring
task recurring
echo $ task add Pay taxes due:4/15/2007 recur:yearly
task add Pay taxes due:4/15/2007 recur:yearly
echo $ task long
task long
echo $ task 11 delete
printf "y\ny\n" | task 11 delete # y, y
echo $ task list
task list
# 17 Shell
echo Shell --------------------------------------------------------------
echo $ task shell
#task shell
echo '> projects'
#> projects
echo '> tags'
#> tags
echo '> list'
#> list
echo '> quit'
#> quit
# 18 Special tags
echo Special tags --------------------------------------------------------------
echo $ task 6 +nocolor
task 6 +nocolor
echo $ task list
task list
echo $ task tags
task tags
echo $ task 6 -nocolor
task 6 -nocolor
# 19 Waiting
echo Waiting --------------------------------------------------------------
echo $ task add Look for new apartment due:eoy
task add Look for new apartment due:eoy
echo $ task list
task list
echo $ task 10 wait:12/1/2010
task 10 wait:12/1/2010
echo $ task list
task list
echo $ task waiting
task waiting
echo $ task add Do something in a few seconds
task add Do something in a few seconds
echo $ task 11 wait:5s
task 11 wait:5s
echo $ task list
task list
sleep 5
echo $ task list
task list
echo $ task 11 rc.confirmation:no delete
task 11 rc.confirmation:no delete
# 20 Dependencies
echo Dependencies --------------------------------------------------------------
echo $ task list pro:party
task list pro:party
echo $ task 3 depends:6
task 3 depends:6
echo $ task 6 dep:5
task 6 dep:5
echo $ task 2 dep:1
task 2 dep:1
echo $ task 5 dep:1,2
task 5 dep:1,2
echo $ task 4 dep:1
task 4 dep:1
echo $ task long pro:party
task long pro:party
echo $ task 5 dep:-1
task 5 dep:-1
echo $ task blocked
task blocked
echo $ task unblocked
task unblocked
echo $ task 1 info
task 1 info
echo $ task 2 info
task 2 info
echo $ task 2 done
echo 'y' | task 2 done
echo $ task 1 info
task 1 info
# 21 Reports
echo Reports --------------------------------------------------------------
echo $ task minimal
task minimal
echo $ task ls
task ls
echo $ task list
task list
echo $ task long
task long
echo $ task all
task all
echo $ task completed
task completed
echo $ task recurring
task recurring
echo $ task waiting
task waiting
echo $ task blocked
task blocked
echo $ task oldest
task oldest
echo $ task newest
task newest
echo $ task timesheet
task timesheet
echo $ task next
task next
# 22 Custom report
echo Custom report --------------------------------------------------------------
echo 'report.foo.description=My own report' >> x
echo 'report.foo.columns=id,entry,description' >> x
echo 'report.foo.labels=ID,Entered,Description' >> x
echo 'report.foo.sort=entry+,description+' >> x
echo 'report.foo.filter=status:pending' >> x
echo 'task help | grep foo'
task help | grep foo
echo $ task show report.foo
task show report.foo
echo $ task foo
task foo
# 23 Charts
echo Charts --------------------------------------------------------------
echo $ task history
task history
echo $ task history.annual
task history.annual
echo $ task ghistory
task ghistory
echo $ task ghistory.annual
task ghistory.annual
echo $ task summary
task summary
# 24 Advanced filters
echo Advanced filters --------------------------------------------------------------
echo $ task list
task list
echo $ task list invit
task list invit
echo $ task list description.contains:invit
task list description.contains:invit
echo $ task list desc.word:the
task list desc.word:the
echo $ task list desc.noword:invitations
task list desc.noword:invitations
echo $ task list pro:party
task list pro:party
echo $ task list pro.is:party
task list pro.is:party
echo $ task list pro.not:party
task list pro.not:party
echo $ task list pro:party priority.over:L
task list pro:party priority.over:L
echo $ task list pro:party limit:2
task list pro:party limit:2
echo $ task list limit:page
task list limit:page
echo $ task all status:pending
task all status:pending
echo $ task all status:waiting
task all status:waiting
# 25 Import/export
echo Import/export --------------------------------------------------------------
echo $ task export.csv
task export.csv
echo $ task export.csv venue
task export.csv venue
echo $ task export.vcalendar venue
task export.vcalendar venue
echo $ task export.yaml venue
task export.yaml venue
cat <<EOF >file.text
Remember to read the task man page
EOF
cat file.text
echo $ task import file.text
printf "y\n" | task import file.text
cat <<EOF >file.yaml
%YAML 1.1
---
task:
description: Visit http://taskwarrior.org
due: 1281844800
entry: 1281289630
priority: H
project: work
status: pending
uuid: 23afada0-a446-8d5a-c213-30d99d52c4b0
...
EOF
cat file.yaml
echo $ task import file.yaml
printf "y\n" | task import file.yaml
echo $ task new limit:2
task new limit:2
# 26 Help
echo Help --------------------------------------------------------------
echo $ task help
task help
echo $ man task
#man task
echo $ man taskrc
#man taskrc
echo $ man task-color
#man task-color
echo $ man task-tutorial
#man task-tutorial
echo $ man task-faq
#man task-faq
echo $ man task-sync
#man task-sync
# 27 Wrap up
echo Wrap up --------------------------------------------------------------
echo $ task version
task version
exit

View File

@@ -0,0 +1,40 @@
[Make window 116x32 for movie recording, light text, dark background]
This is the script from which a 2.0-specific movie will be made. On the left
are the typed commands, and on the right is the voice track.
It is intended that the left and right be combined and the result will be a new
task-tutorial.5 man page.
---------------------------------------- Recurrence ------------------------------------------------
task 7 info Remember the task we added to pay the rent? We're going to
task 7 due:eom recur:monthly need to do that every month. Recurring tasks allow us to
task 7 set up a single task that keeps coming back, just as you'd
expect.
task 7 until:eoy You can also limit the extent of the recurrence. Let's make
sure the task doesn't recur after the lease ends.
task recurring And there is a recurring report that shows you only the
recurring tasks.
To illustrate a point, let's set up a recurring annual task
as a reminder to pay taxes, and put the due date in the past.
This will cause task to fill in the gaps, and create a series
of severely overdue tasks.
task add Pay taxes due:4/15/2007 recur:yearly
task long
task 11 delete # y y Deletions to recurring tasks can be escalated to include all
task list the recurrences of a task.
---------------------------------------- End -------------------------------------------------------
Explain parent/child.
Show rc.recurrence.limit.
Show propagated changes.

533
doc/misc/tutorial/reports/run.200 Executable file
View File

@@ -0,0 +1,533 @@
#! /bin/bash
rm -f /Users/paul/.task/pending.data /Users/paul/.task/completed.data /Users/paul/.task/undo.data
echo 'data.location=~/.task' > /Users/paul/.taskrc
echo 'color=off' >> /Users/paul/.taskrc
echo 'color.summary.background=on gray3' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-red-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-256.theme' >> /Users/paul/.taskrc
# 1 Intro
# 2 Basic usage
echo Basic usage --------------------------------------------------------------
echo $ task add Select a free weekend in November
task add Select a free weekend in November
echo $ task add Select and book a venue
task add Select and book a venue
echo $ task add Come up with a guest list
task add Come up with a guest list
echo $ task add Mail invitations
task add Mail invitations
echo $ task add Select a caterer
task add Select a caterer
echo $ task list
task list
echo $ task log Order a special cake
task log Order a special cake
echo $ task 4 duplicate /Mail/Design/
task 4 duplicate /Mail/Design/
echo $ task 4 duplicate /Mail/Print/
task 4 duplicate /Mail/Print/
echo $ task list
task list
echo $ task 3 done
task 3 done
echo $ task list
task list
# 3 Projects
echo Projects --------------------------------------------------------------
echo $ task add Pay teh rent on teh 31st
task add Pay teh rent on teh 31st
echo $ task 7 /teh/the/g
task 7 /teh/the/g
echo $ task list
task list
echo $ task 7 project:home
task 7 project:home
echo $ task 1-6 project:party
echo 'All' | task 1-6 project:party
echo $ task projects
task projects
echo $ task list project:home
task list project:home
echo $ task li pro:par
task li pro:par
# 4 Priorities
echo Priorities --------------------------------------------------------------
echo $ task 1-3,5 priority:H
echo 'All' | task 1-3,5 priority:H
echo $ task list
task list
echo $ task 3 pri:
task 3 pri:
# 5 Tags
echo Tags --------------------------------------------------------------
echo $ task list
task list
echo $ task 3,5,6 +mall
echo 'All' | task 3,5,6 +mall
echo $ task long
task long
echo $ task list +mall
task list +mall
echo $ task 3 -mall
task 3 -mall
# 6 Modifications
echo Modifications --------------------------------------------------------------
echo $ task 7 Pay rent at the end of the month
echo 'Yes' | task 7 Pay rent at the end of the month
echo $ task add music
task add music
echo $ task 8 prepend Select some
task 8 prepend Select some
echo $ task 8 append for after dinner
task 8 append for after dinner
echo $ task list
task list
echo $ task edit
#task edit
echo $ task add Hire a band?
#task add Hire a band?
echo $ task add Hire a band\?
#task add Hire a band\?
echo $ task add "Hire a band?"
#task add "Hire a band?"
echo $ task add -- Hire a band\? +dj
task add -- Hire a band\? +dj
echo $ task undo
echo 'y' | task undo
echo $ task 1 delete
echo 'y' | task 1 delete
echo $ task undo
echo 'y' | task undo
# 7 Info
echo Info --------------------------------------------------------------
echo $ task 1 info
task 1 info
echo $ task stats
task stats
# 8 Annotations
echo Annotations --------------------------------------------------------------
echo $ task 1 annotate the 13 looks good
task 1 annotate the 13 looks good
sleep 1
echo $ task 1 annotate or the 14th
task 1 annotate or the 14th
echo $ task list
task list
echo $ task list rc.annotations:full
task list rc.annotations:full
echo $ task list rc.annotations:sparse
task list rc.annotations:sparse
echo $ task list rc.annotations:none
task list rc.annotations:none
echo $ task 1 denotate 14th
task 1 denotate 14th
echo $ task list
task list
# 9 Configuration
echo Configuration --------------------------------------------------------------
echo $ task show
task show
echo $ task config answer forty-two
echo 'y' | task config answer forty-two
echo $ task show answer
task show answer
echo $ task config answer
echo 'y' | task config answer
echo $ task rc.report.list.sort=description+ list
task rc.report.list.sort=description+ list
# 10 Defaults
echo Defaults --------------------------------------------------------------
echo $ task config default.command list
echo 'y' | task config default.command list
echo $ task
task
echo $ task config default.priority H
echo 'y' | task config default.priority H
echo $ task config default.project Work
echo 'y' | task config default.project Work
echo $ task add New task
task add New task
echo $ task list
task list
echo $ task undo
echo 'y' | task undo
echo $ task config default.priority
echo 'y' | task config default.priority
echo $ task config default.project
echo 'y' | task config default.project
# 11 Aliases
echo Aliases --------------------------------------------------------------
echo $ task config alias.zzz list
echo 'y' | task config alias.zzz list
echo $ task zzz
task zzz
echo $ task z
task z
# 12 Color
echo Color --------------------------------------------------------------
echo $ task config color on
echo 'y' | task config color on
echo $ task list
task list
echo $ task 1 bg:on_red
task 1 bg:on_red
echo $ task list
task list
echo $ task 1 bg:
task 1 bg:
echo $ task color
task color
echo $ task color white on red
task color white on red
echo $ task color legend
task color legend
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
echo 'include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
sed 's/blue/red/' x >x2 && mv x2 x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
sed 's/red-//' x >x2 && mv x2 x
echo $ task list
task list
echo $ task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
echo $ man task-color
#man task-color
# 13 Active tasks
echo Active tasks --------------------------------------------------------------
echo $ task 2 start
task 2 start
echo $ task list
task list
echo $ task active
task active
echo $ task 2 stop
task 2 stop
echo $ task config journal.time on
task config journal.time on
echo $ task config rc.dateformat.xxx xxx
task config rc.dateformat.xxx xxx
echo $ task config dateformat.annotation 'Y/m/d H:N'
task config dateformat.annotation 'Y/m/d H:N'
echo $ task 2 start
task 2 start
echo $ task list venue
task list venue
echo $ task 2 stop
task 2 stop
echo $ task list venue
task list venue
# 14 Due dates
echo Due dates --------------------------------------------------------------
echo $ task 1 due:7/31/2010
task 1 due:7/31/2010
echo $ task 1 due:2wks
task 1 due:2wks
echo $ task 1 due:-2wks
task 1 due:-2wks
echo $ task 1 due:eom
task 1 due:eom
echo $ task 2 due:8th
task 2 due:8th
echo $ task 2 due:sunday
task 2 due:sunday
echo $ task 5 due:eow
task 5 due:eow
echo $ task list
task list
echo $ task overdue
task overdue
echo $ task rc.dateformat.report:Y-M-DTH:N:SZ list
task rc.dateformat.report:Y-M-DTH:N:SZ list
# 15 Calendar
echo Calendar --------------------------------------------------------------
echo $ task calendar
task calendar
echo $ vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
echo 'include /usr/local/share/doc/task/rc/holidays-US.rc' >> x
echo $ task calendar
task calendar
echo $ task cal 2010
task cal 2010
echo $ task rc.calendar.details:full cal
task rc.calendar.details:full cal
echo $ task rc.calendar.holidays:full cal
task rc.calendar.holidays:full cal
# 16 Recurrence
echo Recurrence --------------------------------------------------------------
echo $ task 7 info
task 7 info
echo $ task 7 due:eom recur:monthly
task 7 due:eom recur:monthly
echo $ task 7
task 7
echo $ task 7 until:eoy
task 7 until:eoy
echo $ task recurring
task recurring
echo $ task add Pay taxes due:4/15/2007 recur:yearly
task add Pay taxes due:4/15/2007 recur:yearly
echo $ task long
task long
echo $ task 11 delete
printf "y\ny\n" | task 11 delete # y, y
echo $ task list
task list
# 17 Shell
echo Shell --------------------------------------------------------------
echo $ task shell
#task shell
echo '> projects'
#> projects
echo '> tags'
#> tags
echo '> list'
#> list
echo '> quit'
#> quit
# 18 Special tags
echo Special tags --------------------------------------------------------------
echo $ task 6 +nocolor
task 6 +nocolor
echo $ task list
task list
echo $ task tags
task tags
echo $ task 6 -nocolor
task 6 -nocolor
# 19 Waiting
echo Waiting --------------------------------------------------------------
echo $ task add Look for new apartment due:eoy
task add Look for new apartment due:eoy
echo $ task list
task list
echo $ task 10 wait:12/1/2010
task 10 wait:12/1/2010
echo $ task list
task list
echo $ task waiting
task waiting
echo $ task add Do something in a few seconds
task add Do something in a few seconds
echo $ task 11 wait:5s
task 11 wait:5s
echo $ task list
task list
sleep 5
echo $ task list
task list
echo $ task 11 rc.confirmation:no delete
task 11 rc.confirmation:no delete
# 20 Dependencies
echo Dependencies --------------------------------------------------------------
echo $ task list pro:party
task list pro:party
echo $ task 3 depends:6
task 3 depends:6
echo $ task 6 dep:5
task 6 dep:5
echo $ task 2 dep:1
task 2 dep:1
echo $ task 5 dep:1,2
task 5 dep:1,2
echo $ task 4 dep:1
task 4 dep:1
echo $ task long pro:party
task long pro:party
echo $ task 5 dep:-1
task 5 dep:-1
echo $ task blocked
task blocked
echo $ task unblocked
task unblocked
echo $ task 1 info
task 1 info
echo $ task 2 info
task 2 info
echo $ task 2 done
echo 'y' | task 2 done
echo $ task 1 info
task 1 info
# 21 Reports
echo Reports --------------------------------------------------------------
echo $ task minimal
task minimal
echo $ task ls
task ls
echo $ task list
task list
echo $ task long
task long
echo $ task all
task all
echo $ task completed
task completed
echo $ task recurring
task recurring
echo $ task waiting
task waiting
echo $ task blocked
task blocked
echo $ task oldest
task oldest
echo $ task newest
task newest
echo $ task timesheet
task timesheet
echo $ task next
task next
# 22 Custom report
echo Custom report --------------------------------------------------------------
echo 'report.foo.description=My own report' >> x
echo 'report.foo.columns=id,entry,description' >> x
echo 'report.foo.labels=ID,Entered,Description' >> x
echo 'report.foo.sort=entry+,description+' >> x
echo 'report.foo.filter=status:pending' >> x
echo 'task help | grep foo'
task help | grep foo
echo $ task show report.foo
task show report.foo
echo $ task foo
task foo
# 23 Charts
echo Charts --------------------------------------------------------------
echo $ task history
task history
echo $ task history.annual
task history.annual
echo $ task ghistory
task ghistory
echo $ task ghistory.annual
task ghistory.annual
echo $ task summary
task summary
# 24 Advanced filters
echo Advanced filters --------------------------------------------------------------
echo $ task list
task list
echo $ task list invit
task list invit
echo $ task list description.contains:invit
task list description.contains:invit
echo $ task list desc.word:the
task list desc.word:the
echo $ task list desc.noword:invitations
task list desc.noword:invitations
echo $ task list pro:party
task list pro:party
echo $ task list pro.is:party
task list pro.is:party
echo $ task list pro.not:party
task list pro.not:party
echo $ task list pro:party priority.over:L
task list pro:party priority.over:L
echo $ task list pro:party limit:2
task list pro:party limit:2
echo $ task list limit:page
task list limit:page
echo $ task all status:pending
task all status:pending
echo $ task all status:waiting
task all status:waiting
# 25 Import/export
echo Import/export --------------------------------------------------------------
echo $ task export.csv
task export.csv
echo $ task export.csv venue
task export.csv venue
echo $ task export.vcalendar venue
task export.vcalendar venue
echo $ task export.yaml venue
task export.yaml venue
cat <<EOF >file.text
Remember to read the task man page
EOF
cat file.text
echo $ task import file.text
printf "y\n" | task import file.text
cat <<EOF >file.yaml
%YAML 1.1
---
task:
description: Visit http://taskwarrior.org
due: 1281844800
entry: 1281289630
priority: H
project: work
status: pending
uuid: 23afada0-a446-8d5a-c213-30d99d52c4b0
...
EOF
cat file.yaml
echo $ task import file.yaml
printf "y\n" | task import file.yaml
echo $ task new limit:2
task new limit:2
# 26 Help
echo Help --------------------------------------------------------------
echo $ task help
task help
echo $ man task
#man task
echo $ man taskrc
#man taskrc
echo $ man task-color
#man task-color
echo $ man task-tutorial
#man task-tutorial
echo $ man task-faq
#man task-faq
echo $ man task-sync
#man task-sync
# 27 Wrap up
echo Wrap up --------------------------------------------------------------
echo $ task version
task version
exit

View File

@@ -0,0 +1,33 @@
[Make window 116x32 for movie recording, light text, dark background]
This is the script from which a 2.0-specific movie will be made. On the left
are the typed commands, and on the right is the voice track.
It is intended that the left and right be combined and the result will be a new
task-tutorial.5 man page.
---------------------------------------- Reports ---------------------------------------------------
task minimal Taskwarrior has a good many reports. There is the bare minimum.
task ls The simple.
task list The standard.
task long The kitchen sink.
task all The packrat.
task completed Nostalgia.
task recurring Groundhog day.
task waiting Surprises.
task blocked Wedged.
task unblocked Unencumbered.
task oldest Ancient history.
task newest Contemporary.
task timesheet Corporate.
task next And "what should I work on next?" This one can be useful
because it pulls a few of the highest priority tasks from
all the projects. It's the report we should all be using.
---------------------------------------- End -------------------------------------------------------
New 'reports' command.

533
doc/misc/tutorial/run.193 Executable file
View File

@@ -0,0 +1,533 @@
#! /bin/bash
rm -f /Users/paul/.task/pending.data /Users/paul/.task/completed.data /Users/paul/.task/undo.data
echo 'data.location=~/.task' > /Users/paul/.taskrc
echo 'color=off' >> /Users/paul/.taskrc
echo 'color.summary.background=on gray3' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-red-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-256.theme' >> /Users/paul/.taskrc
# 1 Intro
# 2 Basic usage
echo Basic usage --------------------------------------------------------------
echo $ task add Select a free weekend in November
task add Select a free weekend in November
echo $ task add Select and book a venue
task add Select and book a venue
echo $ task add Come up with a guest list
task add Come up with a guest list
echo $ task add Mail invitations
task add Mail invitations
echo $ task add Select a caterer
task add Select a caterer
echo $ task list
task list
echo $ task log Order a special cake
task log Order a special cake
echo $ task 4 duplicate /Mail/Design/
task 4 duplicate /Mail/Design/
echo $ task 4 duplicate /Mail/Print/
task 4 duplicate /Mail/Print/
echo $ task list
task list
echo $ task 3 done
task 3 done
echo $ task list
task list
# 3 Projects
echo Projects --------------------------------------------------------------
echo $ task add Pay teh rent on teh 31st
task add Pay teh rent on teh 31st
echo $ task 7 /teh/the/g
task 7 /teh/the/g
echo $ task list
task list
echo $ task 7 project:home
task 7 project:home
echo $ task 1-6 project:party
echo 'All' | task 1-6 project:party
echo $ task projects
task projects
echo $ task list project:home
task list project:home
echo $ task li pro:par
task li pro:par
# 4 Priorities
echo Priorities --------------------------------------------------------------
echo $ task 1-3,5 priority:H
echo 'All' | task 1-3,5 priority:H
echo $ task list
task list
echo $ task 3 pri:
task 3 pri:
# 5 Tags
echo Tags --------------------------------------------------------------
echo $ task list
task list
echo $ task 3,5,6 +mall
echo 'All' | task 3,5,6 +mall
echo $ task long
task long
echo $ task list +mall
task list +mall
echo $ task 3 -mall
task 3 -mall
# 6 Modifications
echo Modifications --------------------------------------------------------------
echo $ task 7 Pay rent at the end of the month
echo 'Yes' | task 7 Pay rent at the end of the month
echo $ task add music
task add music
echo $ task 8 prepend Select some
task 8 prepend Select some
echo $ task 8 append for after dinner
task 8 append for after dinner
echo $ task list
task list
echo $ task edit
#task edit
echo $ task add Hire a band?
#task add Hire a band?
echo $ task add Hire a band\?
#task add Hire a band\?
echo $ task add "Hire a band?"
#task add "Hire a band?"
echo $ task add -- Hire a band\? +dj
task add -- Hire a band\? +dj
echo $ task undo
echo 'y' | task undo
echo $ task 1 delete
echo 'y' | task 1 delete
echo $ task undo
echo 'y' | task undo
# 7 Info
echo Info --------------------------------------------------------------
echo $ task 1 info
task 1 info
echo $ task stats
task stats
# 8 Annotations
echo Annotations --------------------------------------------------------------
echo $ task 1 annotate the 13 looks good
task 1 annotate the 13 looks good
sleep 1
echo $ task 1 annotate or the 14th
task 1 annotate or the 14th
echo $ task list
task list
echo $ task list rc.annotations:full
task list rc.annotations:full
echo $ task list rc.annotations:sparse
task list rc.annotations:sparse
echo $ task list rc.annotations:none
task list rc.annotations:none
echo $ task 1 denotate 14th
task 1 denotate 14th
echo $ task list
task list
# 9 Configuration
echo Configuration --------------------------------------------------------------
echo $ task show
task show
echo $ task config answer forty-two
echo 'y' | task config answer forty-two
echo $ task show answer
task show answer
echo $ task config answer
echo 'y' | task config answer
echo $ task rc.report.list.sort=description+ list
task rc.report.list.sort=description+ list
# 10 Defaults
echo Defaults --------------------------------------------------------------
echo $ task config default.command list
echo 'y' | task config default.command list
echo $ task
task
echo $ task config default.priority H
echo 'y' | task config default.priority H
echo $ task config default.project Work
echo 'y' | task config default.project Work
echo $ task add New task
task add New task
echo $ task list
task list
echo $ task undo
echo 'y' | task undo
echo $ task config default.priority
echo 'y' | task config default.priority
echo $ task config default.project
echo 'y' | task config default.project
# 11 Aliases
echo Aliases --------------------------------------------------------------
echo $ task config alias.zzz list
echo 'y' | task config alias.zzz list
echo $ task zzz
task zzz
echo $ task z
task z
# 12 Color
echo Color --------------------------------------------------------------
echo $ task config color on
echo 'y' | task config color on
echo $ task list
task list
echo $ task 1 bg:on_red
task 1 bg:on_red
echo $ task list
task list
echo $ task 1 bg:
task 1 bg:
echo $ task color
task color
echo $ task color white on red
task color white on red
echo $ task color legend
task color legend
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
echo 'include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
sed 's/blue/red/' x >x2 && mv x2 x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
sed 's/red-//' x >x2 && mv x2 x
echo $ task list
task list
echo $ task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
echo $ man task-color
#man task-color
# 13 Active tasks
echo Active tasks --------------------------------------------------------------
echo $ task 2 start
task 2 start
echo $ task list
task list
echo $ task active
task active
echo $ task 2 stop
task 2 stop
echo $ task config journal.time on
task config journal.time on
echo $ task config rc.dateformat.xxx xxx
task config rc.dateformat.xxx xxx
echo $ task config dateformat.annotation 'Y/m/d H:N'
task config dateformat.annotation 'Y/m/d H:N'
echo $ task 2 start
task 2 start
echo $ task list venue
task list venue
echo $ task 2 stop
task 2 stop
echo $ task list venue
task list venue
# 14 Due dates
echo Due dates --------------------------------------------------------------
echo $ task 1 due:7/31/2010
task 1 due:7/31/2010
echo $ task 1 due:2wks
task 1 due:2wks
echo $ task 1 due:-2wks
task 1 due:-2wks
echo $ task 1 due:eom
task 1 due:eom
echo $ task 2 due:8th
task 2 due:8th
echo $ task 2 due:sunday
task 2 due:sunday
echo $ task 5 due:eow
task 5 due:eow
echo $ task list
task list
echo $ task overdue
task overdue
echo $ task rc.dateformat.report:Y-M-DTH:N:SZ list
task rc.dateformat.report:Y-M-DTH:N:SZ list
# 15 Calendar
echo Calendar --------------------------------------------------------------
echo $ task calendar
task calendar
echo $ vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
echo 'include /usr/local/share/doc/task/rc/holidays-US.rc' >> x
echo $ task calendar
task calendar
echo $ task cal 2010
task cal 2010
echo $ task rc.calendar.details:full cal
task rc.calendar.details:full cal
echo $ task rc.calendar.holidays:full cal
task rc.calendar.holidays:full cal
# 16 Recurrence
echo Recurrence --------------------------------------------------------------
echo $ task 7 info
task 7 info
echo $ task 7 due:eom recur:monthly
task 7 due:eom recur:monthly
echo $ task 7
task 7
echo $ task 7 until:eoy
task 7 until:eoy
echo $ task recurring
task recurring
echo $ task add Pay taxes due:4/15/2007 recur:yearly
task add Pay taxes due:4/15/2007 recur:yearly
echo $ task long
task long
echo $ task 11 delete
printf "y\ny\n" | task 11 delete # y, y
echo $ task list
task list
# 17 Shell
echo Shell --------------------------------------------------------------
echo $ task shell
#task shell
echo '> projects'
#> projects
echo '> tags'
#> tags
echo '> list'
#> list
echo '> quit'
#> quit
# 18 Special tags
echo Special tags --------------------------------------------------------------
echo $ task 6 +nocolor
task 6 +nocolor
echo $ task list
task list
echo $ task tags
task tags
echo $ task 6 -nocolor
task 6 -nocolor
# 19 Waiting
echo Waiting --------------------------------------------------------------
echo $ task add Look for new apartment due:eoy
task add Look for new apartment due:eoy
echo $ task list
task list
echo $ task 10 wait:12/1/2010
task 10 wait:12/1/2010
echo $ task list
task list
echo $ task waiting
task waiting
echo $ task add Do something in a few seconds
task add Do something in a few seconds
echo $ task 11 wait:5s
task 11 wait:5s
echo $ task list
task list
sleep 5
echo $ task list
task list
echo $ task 11 rc.confirmation:no delete
task 11 rc.confirmation:no delete
# 20 Dependencies
echo Dependencies --------------------------------------------------------------
echo $ task list pro:party
task list pro:party
echo $ task 3 depends:6
task 3 depends:6
echo $ task 6 dep:5
task 6 dep:5
echo $ task 2 dep:1
task 2 dep:1
echo $ task 5 dep:1,2
task 5 dep:1,2
echo $ task 4 dep:1
task 4 dep:1
echo $ task long pro:party
task long pro:party
echo $ task 5 dep:-1
task 5 dep:-1
echo $ task blocked
task blocked
echo $ task unblocked
task unblocked
echo $ task 1 info
task 1 info
echo $ task 2 info
task 2 info
echo $ task 2 done
echo 'y' | task 2 done
echo $ task 1 info
task 1 info
# 21 Reports
echo Reports --------------------------------------------------------------
echo $ task minimal
task minimal
echo $ task ls
task ls
echo $ task list
task list
echo $ task long
task long
echo $ task all
task all
echo $ task completed
task completed
echo $ task recurring
task recurring
echo $ task waiting
task waiting
echo $ task blocked
task blocked
echo $ task oldest
task oldest
echo $ task newest
task newest
echo $ task timesheet
task timesheet
echo $ task next
task next
# 22 Custom report
echo Custom report --------------------------------------------------------------
echo 'report.foo.description=My own report' >> x
echo 'report.foo.columns=id,entry,description' >> x
echo 'report.foo.labels=ID,Entered,Description' >> x
echo 'report.foo.sort=entry+,description+' >> x
echo 'report.foo.filter=status:pending' >> x
echo 'task help | grep foo'
task help | grep foo
echo $ task show report.foo
task show report.foo
echo $ task foo
task foo
# 23 Charts
echo Charts --------------------------------------------------------------
echo $ task history
task history
echo $ task history.annual
task history.annual
echo $ task ghistory
task ghistory
echo $ task ghistory.annual
task ghistory.annual
echo $ task summary
task summary
# 24 Advanced filters
echo Advanced filters --------------------------------------------------------------
echo $ task list
task list
echo $ task list invit
task list invit
echo $ task list description.contains:invit
task list description.contains:invit
echo $ task list desc.word:the
task list desc.word:the
echo $ task list desc.noword:invitations
task list desc.noword:invitations
echo $ task list pro:party
task list pro:party
echo $ task list pro.is:party
task list pro.is:party
echo $ task list pro.not:party
task list pro.not:party
echo $ task list pro:party priority.over:L
task list pro:party priority.over:L
echo $ task list pro:party limit:2
task list pro:party limit:2
echo $ task list limit:page
task list limit:page
echo $ task all status:pending
task all status:pending
echo $ task all status:waiting
task all status:waiting
# 25 Import/export
echo Import/export --------------------------------------------------------------
echo $ task export.csv
task export.csv
echo $ task export.csv venue
task export.csv venue
echo $ task export.vcalendar venue
task export.vcalendar venue
echo $ task export.yaml venue
task export.yaml venue
cat <<EOF >file.text
Remember to read the task man page
EOF
cat file.text
echo $ task import file.text
printf "y\n" | task import file.text
cat <<EOF >file.yaml
%YAML 1.1
---
task:
description: Visit http://taskwarrior.org
due: 1281844800
entry: 1281289630
priority: H
project: work
status: pending
uuid: 23afada0-a446-8d5a-c213-30d99d52c4b0
...
EOF
cat file.yaml
echo $ task import file.yaml
printf "y\n" | task import file.yaml
echo $ task new limit:2
task new limit:2
# 26 Help
echo Help --------------------------------------------------------------
echo $ task help
task help
echo $ man task
#man task
echo $ man taskrc
#man taskrc
echo $ man task-color
#man task-color
echo $ man task-tutorial
#man task-tutorial
echo $ man task-faq
#man task-faq
echo $ man task-sync
#man task-sync
# 27 Wrap up
echo Wrap up --------------------------------------------------------------
echo $ task version
task version
exit

533
doc/misc/tutorial/run.200 Executable file
View File

@@ -0,0 +1,533 @@
#! /bin/bash
rm -f /Users/paul/.task/pending.data /Users/paul/.task/completed.data /Users/paul/.task/undo.data
echo 'data.location=~/.task' > /Users/paul/.taskrc
echo 'color=off' >> /Users/paul/.taskrc
echo 'color.summary.background=on gray3' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-red-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-256.theme' >> /Users/paul/.taskrc
# 1 Intro
# 2 Basic usage
echo Basic usage --------------------------------------------------------------
echo $ task add Select a free weekend in November
task add Select a free weekend in November
echo $ task add Select and book a venue
task add Select and book a venue
echo $ task add Come up with a guest list
task add Come up with a guest list
echo $ task add Mail invitations
task add Mail invitations
echo $ task add Select a caterer
task add Select a caterer
echo $ task list
task list
echo $ task log Order a special cake
task log Order a special cake
echo $ task 4 duplicate /Mail/Design/
task 4 duplicate /Mail/Design/
echo $ task 4 duplicate /Mail/Print/
task 4 duplicate /Mail/Print/
echo $ task list
task list
echo $ task 3 done
task 3 done
echo $ task list
task list
# 3 Projects
echo Projects --------------------------------------------------------------
echo $ task add Pay teh rent on teh 31st
task add Pay teh rent on teh 31st
echo $ task 7 /teh/the/g
task 7 /teh/the/g
echo $ task list
task list
echo $ task 7 project:home
task 7 project:home
echo $ task 1-6 project:party
echo 'All' | task 1-6 project:party
echo $ task projects
task projects
echo $ task list project:home
task list project:home
echo $ task li pro:par
task li pro:par
# 4 Priorities
echo Priorities --------------------------------------------------------------
echo $ task 1-3,5 priority:H
echo 'All' | task 1-3,5 priority:H
echo $ task list
task list
echo $ task 3 pri:
task 3 pri:
# 5 Tags
echo Tags --------------------------------------------------------------
echo $ task list
task list
echo $ task 3,5,6 +mall
echo 'All' | task 3,5,6 +mall
echo $ task long
task long
echo $ task list +mall
task list +mall
echo $ task 3 -mall
task 3 -mall
# 6 Modifications
echo Modifications --------------------------------------------------------------
echo $ task 7 Pay rent at the end of the month
echo 'Yes' | task 7 Pay rent at the end of the month
echo $ task add music
task add music
echo $ task 8 prepend Select some
task 8 prepend Select some
echo $ task 8 append for after dinner
task 8 append for after dinner
echo $ task list
task list
echo $ task edit
#task edit
echo $ task add Hire a band?
#task add Hire a band?
echo $ task add Hire a band\?
#task add Hire a band\?
echo $ task add "Hire a band?"
#task add "Hire a band?"
echo $ task add -- Hire a band\? +dj
task add -- Hire a band\? +dj
echo $ task undo
echo 'y' | task undo
echo $ task 1 delete
echo 'y' | task 1 delete
echo $ task undo
echo 'y' | task undo
# 7 Info
echo Info --------------------------------------------------------------
echo $ task 1 info
task 1 info
echo $ task stats
task stats
# 8 Annotations
echo Annotations --------------------------------------------------------------
echo $ task 1 annotate the 13 looks good
task 1 annotate the 13 looks good
sleep 1
echo $ task 1 annotate or the 14th
task 1 annotate or the 14th
echo $ task list
task list
echo $ task list rc.annotations:full
task list rc.annotations:full
echo $ task list rc.annotations:sparse
task list rc.annotations:sparse
echo $ task list rc.annotations:none
task list rc.annotations:none
echo $ task 1 denotate 14th
task 1 denotate 14th
echo $ task list
task list
# 9 Configuration
echo Configuration --------------------------------------------------------------
echo $ task show
task show
echo $ task config answer forty-two
echo 'y' | task config answer forty-two
echo $ task show answer
task show answer
echo $ task config answer
echo 'y' | task config answer
echo $ task rc.report.list.sort=description+ list
task rc.report.list.sort=description+ list
# 10 Defaults
echo Defaults --------------------------------------------------------------
echo $ task config default.command list
echo 'y' | task config default.command list
echo $ task
task
echo $ task config default.priority H
echo 'y' | task config default.priority H
echo $ task config default.project Work
echo 'y' | task config default.project Work
echo $ task add New task
task add New task
echo $ task list
task list
echo $ task undo
echo 'y' | task undo
echo $ task config default.priority
echo 'y' | task config default.priority
echo $ task config default.project
echo 'y' | task config default.project
# 11 Aliases
echo Aliases --------------------------------------------------------------
echo $ task config alias.zzz list
echo 'y' | task config alias.zzz list
echo $ task zzz
task zzz
echo $ task z
task z
# 12 Color
echo Color --------------------------------------------------------------
echo $ task config color on
echo 'y' | task config color on
echo $ task list
task list
echo $ task 1 bg:on_red
task 1 bg:on_red
echo $ task list
task list
echo $ task 1 bg:
task 1 bg:
echo $ task color
task color
echo $ task color white on red
task color white on red
echo $ task color legend
task color legend
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
echo 'include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
sed 's/blue/red/' x >x2 && mv x2 x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
sed 's/red-//' x >x2 && mv x2 x
echo $ task list
task list
echo $ task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
echo $ man task-color
#man task-color
# 13 Active tasks
echo Active tasks --------------------------------------------------------------
echo $ task 2 start
task 2 start
echo $ task list
task list
echo $ task active
task active
echo $ task 2 stop
task 2 stop
echo $ task config journal.time on
task config journal.time on
echo $ task config rc.dateformat.xxx xxx
task config rc.dateformat.xxx xxx
echo $ task config dateformat.annotation 'Y/m/d H:N'
task config dateformat.annotation 'Y/m/d H:N'
echo $ task 2 start
task 2 start
echo $ task list venue
task list venue
echo $ task 2 stop
task 2 stop
echo $ task list venue
task list venue
# 14 Due dates
echo Due dates --------------------------------------------------------------
echo $ task 1 due:7/31/2010
task 1 due:7/31/2010
echo $ task 1 due:2wks
task 1 due:2wks
echo $ task 1 due:-2wks
task 1 due:-2wks
echo $ task 1 due:eom
task 1 due:eom
echo $ task 2 due:8th
task 2 due:8th
echo $ task 2 due:sunday
task 2 due:sunday
echo $ task 5 due:eow
task 5 due:eow
echo $ task list
task list
echo $ task overdue
task overdue
echo $ task rc.dateformat.report:Y-M-DTH:N:SZ list
task rc.dateformat.report:Y-M-DTH:N:SZ list
# 15 Calendar
echo Calendar --------------------------------------------------------------
echo $ task calendar
task calendar
echo $ vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
echo 'include /usr/local/share/doc/task/rc/holidays-US.rc' >> x
echo $ task calendar
task calendar
echo $ task cal 2010
task cal 2010
echo $ task rc.calendar.details:full cal
task rc.calendar.details:full cal
echo $ task rc.calendar.holidays:full cal
task rc.calendar.holidays:full cal
# 16 Recurrence
echo Recurrence --------------------------------------------------------------
echo $ task 7 info
task 7 info
echo $ task 7 due:eom recur:monthly
task 7 due:eom recur:monthly
echo $ task 7
task 7
echo $ task 7 until:eoy
task 7 until:eoy
echo $ task recurring
task recurring
echo $ task add Pay taxes due:4/15/2007 recur:yearly
task add Pay taxes due:4/15/2007 recur:yearly
echo $ task long
task long
echo $ task 11 delete
printf "y\ny\n" | task 11 delete # y, y
echo $ task list
task list
# 17 Shell
echo Shell --------------------------------------------------------------
echo $ task shell
#task shell
echo '> projects'
#> projects
echo '> tags'
#> tags
echo '> list'
#> list
echo '> quit'
#> quit
# 18 Special tags
echo Special tags --------------------------------------------------------------
echo $ task 6 +nocolor
task 6 +nocolor
echo $ task list
task list
echo $ task tags
task tags
echo $ task 6 -nocolor
task 6 -nocolor
# 19 Waiting
echo Waiting --------------------------------------------------------------
echo $ task add Look for new apartment due:eoy
task add Look for new apartment due:eoy
echo $ task list
task list
echo $ task 10 wait:12/1/2010
task 10 wait:12/1/2010
echo $ task list
task list
echo $ task waiting
task waiting
echo $ task add Do something in a few seconds
task add Do something in a few seconds
echo $ task 11 wait:5s
task 11 wait:5s
echo $ task list
task list
sleep 5
echo $ task list
task list
echo $ task 11 rc.confirmation:no delete
task 11 rc.confirmation:no delete
# 20 Dependencies
echo Dependencies --------------------------------------------------------------
echo $ task list pro:party
task list pro:party
echo $ task 3 depends:6
task 3 depends:6
echo $ task 6 dep:5
task 6 dep:5
echo $ task 2 dep:1
task 2 dep:1
echo $ task 5 dep:1,2
task 5 dep:1,2
echo $ task 4 dep:1
task 4 dep:1
echo $ task long pro:party
task long pro:party
echo $ task 5 dep:-1
task 5 dep:-1
echo $ task blocked
task blocked
echo $ task unblocked
task unblocked
echo $ task 1 info
task 1 info
echo $ task 2 info
task 2 info
echo $ task 2 done
echo 'y' | task 2 done
echo $ task 1 info
task 1 info
# 21 Reports
echo Reports --------------------------------------------------------------
echo $ task minimal
task minimal
echo $ task ls
task ls
echo $ task list
task list
echo $ task long
task long
echo $ task all
task all
echo $ task completed
task completed
echo $ task recurring
task recurring
echo $ task waiting
task waiting
echo $ task blocked
task blocked
echo $ task oldest
task oldest
echo $ task newest
task newest
echo $ task timesheet
task timesheet
echo $ task next
task next
# 22 Custom report
echo Custom report --------------------------------------------------------------
echo 'report.foo.description=My own report' >> x
echo 'report.foo.columns=id,entry,description' >> x
echo 'report.foo.labels=ID,Entered,Description' >> x
echo 'report.foo.sort=entry+,description+' >> x
echo 'report.foo.filter=status:pending' >> x
echo 'task help | grep foo'
task help | grep foo
echo $ task show report.foo
task show report.foo
echo $ task foo
task foo
# 23 Charts
echo Charts --------------------------------------------------------------
echo $ task history
task history
echo $ task history.annual
task history.annual
echo $ task ghistory
task ghistory
echo $ task ghistory.annual
task ghistory.annual
echo $ task summary
task summary
# 24 Advanced filters
echo Advanced filters --------------------------------------------------------------
echo $ task list
task list
echo $ task list invit
task list invit
echo $ task list description.contains:invit
task list description.contains:invit
echo $ task list desc.word:the
task list desc.word:the
echo $ task list desc.noword:invitations
task list desc.noword:invitations
echo $ task list pro:party
task list pro:party
echo $ task list pro.is:party
task list pro.is:party
echo $ task list pro.not:party
task list pro.not:party
echo $ task list pro:party priority.over:L
task list pro:party priority.over:L
echo $ task list pro:party limit:2
task list pro:party limit:2
echo $ task list limit:page
task list limit:page
echo $ task all status:pending
task all status:pending
echo $ task all status:waiting
task all status:waiting
# 25 Import/export
echo Import/export --------------------------------------------------------------
echo $ task export.csv
task export.csv
echo $ task export.csv venue
task export.csv venue
echo $ task export.vcalendar venue
task export.vcalendar venue
echo $ task export.yaml venue
task export.yaml venue
cat <<EOF >file.text
Remember to read the task man page
EOF
cat file.text
echo $ task import file.text
printf "y\n" | task import file.text
cat <<EOF >file.yaml
%YAML 1.1
---
task:
description: Visit http://taskwarrior.org
due: 1281844800
entry: 1281289630
priority: H
project: work
status: pending
uuid: 23afada0-a446-8d5a-c213-30d99d52c4b0
...
EOF
cat file.yaml
echo $ task import file.yaml
printf "y\n" | task import file.yaml
echo $ task new limit:2
task new limit:2
# 26 Help
echo Help --------------------------------------------------------------
echo $ task help
task help
echo $ man task
#man task
echo $ man taskrc
#man taskrc
echo $ man task-color
#man task-color
echo $ man task-tutorial
#man task-tutorial
echo $ man task-faq
#man task-faq
echo $ man task-sync
#man task-sync
# 27 Wrap up
echo Wrap up --------------------------------------------------------------
echo $ task version
task version
exit

533
doc/misc/tutorial/shell/run.200 Executable file
View File

@@ -0,0 +1,533 @@
#! /bin/bash
rm -f /Users/paul/.task/pending.data /Users/paul/.task/completed.data /Users/paul/.task/undo.data
echo 'data.location=~/.task' > /Users/paul/.taskrc
echo 'color=off' >> /Users/paul/.taskrc
echo 'color.summary.background=on gray3' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-red-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-256.theme' >> /Users/paul/.taskrc
# 1 Intro
# 2 Basic usage
echo Basic usage --------------------------------------------------------------
echo $ task add Select a free weekend in November
task add Select a free weekend in November
echo $ task add Select and book a venue
task add Select and book a venue
echo $ task add Come up with a guest list
task add Come up with a guest list
echo $ task add Mail invitations
task add Mail invitations
echo $ task add Select a caterer
task add Select a caterer
echo $ task list
task list
echo $ task log Order a special cake
task log Order a special cake
echo $ task 4 duplicate /Mail/Design/
task 4 duplicate /Mail/Design/
echo $ task 4 duplicate /Mail/Print/
task 4 duplicate /Mail/Print/
echo $ task list
task list
echo $ task 3 done
task 3 done
echo $ task list
task list
# 3 Projects
echo Projects --------------------------------------------------------------
echo $ task add Pay teh rent on teh 31st
task add Pay teh rent on teh 31st
echo $ task 7 /teh/the/g
task 7 /teh/the/g
echo $ task list
task list
echo $ task 7 project:home
task 7 project:home
echo $ task 1-6 project:party
echo 'All' | task 1-6 project:party
echo $ task projects
task projects
echo $ task list project:home
task list project:home
echo $ task li pro:par
task li pro:par
# 4 Priorities
echo Priorities --------------------------------------------------------------
echo $ task 1-3,5 priority:H
echo 'All' | task 1-3,5 priority:H
echo $ task list
task list
echo $ task 3 pri:
task 3 pri:
# 5 Tags
echo Tags --------------------------------------------------------------
echo $ task list
task list
echo $ task 3,5,6 +mall
echo 'All' | task 3,5,6 +mall
echo $ task long
task long
echo $ task list +mall
task list +mall
echo $ task 3 -mall
task 3 -mall
# 6 Modifications
echo Modifications --------------------------------------------------------------
echo $ task 7 Pay rent at the end of the month
echo 'Yes' | task 7 Pay rent at the end of the month
echo $ task add music
task add music
echo $ task 8 prepend Select some
task 8 prepend Select some
echo $ task 8 append for after dinner
task 8 append for after dinner
echo $ task list
task list
echo $ task edit
#task edit
echo $ task add Hire a band?
#task add Hire a band?
echo $ task add Hire a band\?
#task add Hire a band\?
echo $ task add "Hire a band?"
#task add "Hire a band?"
echo $ task add -- Hire a band\? +dj
task add -- Hire a band\? +dj
echo $ task undo
echo 'y' | task undo
echo $ task 1 delete
echo 'y' | task 1 delete
echo $ task undo
echo 'y' | task undo
# 7 Info
echo Info --------------------------------------------------------------
echo $ task 1 info
task 1 info
echo $ task stats
task stats
# 8 Annotations
echo Annotations --------------------------------------------------------------
echo $ task 1 annotate the 13 looks good
task 1 annotate the 13 looks good
sleep 1
echo $ task 1 annotate or the 14th
task 1 annotate or the 14th
echo $ task list
task list
echo $ task list rc.annotations:full
task list rc.annotations:full
echo $ task list rc.annotations:sparse
task list rc.annotations:sparse
echo $ task list rc.annotations:none
task list rc.annotations:none
echo $ task 1 denotate 14th
task 1 denotate 14th
echo $ task list
task list
# 9 Configuration
echo Configuration --------------------------------------------------------------
echo $ task show
task show
echo $ task config answer forty-two
echo 'y' | task config answer forty-two
echo $ task show answer
task show answer
echo $ task config answer
echo 'y' | task config answer
echo $ task rc.report.list.sort=description+ list
task rc.report.list.sort=description+ list
# 10 Defaults
echo Defaults --------------------------------------------------------------
echo $ task config default.command list
echo 'y' | task config default.command list
echo $ task
task
echo $ task config default.priority H
echo 'y' | task config default.priority H
echo $ task config default.project Work
echo 'y' | task config default.project Work
echo $ task add New task
task add New task
echo $ task list
task list
echo $ task undo
echo 'y' | task undo
echo $ task config default.priority
echo 'y' | task config default.priority
echo $ task config default.project
echo 'y' | task config default.project
# 11 Aliases
echo Aliases --------------------------------------------------------------
echo $ task config alias.zzz list
echo 'y' | task config alias.zzz list
echo $ task zzz
task zzz
echo $ task z
task z
# 12 Color
echo Color --------------------------------------------------------------
echo $ task config color on
echo 'y' | task config color on
echo $ task list
task list
echo $ task 1 bg:on_red
task 1 bg:on_red
echo $ task list
task list
echo $ task 1 bg:
task 1 bg:
echo $ task color
task color
echo $ task color white on red
task color white on red
echo $ task color legend
task color legend
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
echo 'include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
sed 's/blue/red/' x >x2 && mv x2 x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
sed 's/red-//' x >x2 && mv x2 x
echo $ task list
task list
echo $ task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
echo $ man task-color
#man task-color
# 13 Active tasks
echo Active tasks --------------------------------------------------------------
echo $ task 2 start
task 2 start
echo $ task list
task list
echo $ task active
task active
echo $ task 2 stop
task 2 stop
echo $ task config journal.time on
task config journal.time on
echo $ task config rc.dateformat.xxx xxx
task config rc.dateformat.xxx xxx
echo $ task config dateformat.annotation 'Y/m/d H:N'
task config dateformat.annotation 'Y/m/d H:N'
echo $ task 2 start
task 2 start
echo $ task list venue
task list venue
echo $ task 2 stop
task 2 stop
echo $ task list venue
task list venue
# 14 Due dates
echo Due dates --------------------------------------------------------------
echo $ task 1 due:7/31/2010
task 1 due:7/31/2010
echo $ task 1 due:2wks
task 1 due:2wks
echo $ task 1 due:-2wks
task 1 due:-2wks
echo $ task 1 due:eom
task 1 due:eom
echo $ task 2 due:8th
task 2 due:8th
echo $ task 2 due:sunday
task 2 due:sunday
echo $ task 5 due:eow
task 5 due:eow
echo $ task list
task list
echo $ task overdue
task overdue
echo $ task rc.dateformat.report:Y-M-DTH:N:SZ list
task rc.dateformat.report:Y-M-DTH:N:SZ list
# 15 Calendar
echo Calendar --------------------------------------------------------------
echo $ task calendar
task calendar
echo $ vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
echo 'include /usr/local/share/doc/task/rc/holidays-US.rc' >> x
echo $ task calendar
task calendar
echo $ task cal 2010
task cal 2010
echo $ task rc.calendar.details:full cal
task rc.calendar.details:full cal
echo $ task rc.calendar.holidays:full cal
task rc.calendar.holidays:full cal
# 16 Recurrence
echo Recurrence --------------------------------------------------------------
echo $ task 7 info
task 7 info
echo $ task 7 due:eom recur:monthly
task 7 due:eom recur:monthly
echo $ task 7
task 7
echo $ task 7 until:eoy
task 7 until:eoy
echo $ task recurring
task recurring
echo $ task add Pay taxes due:4/15/2007 recur:yearly
task add Pay taxes due:4/15/2007 recur:yearly
echo $ task long
task long
echo $ task 11 delete
printf "y\ny\n" | task 11 delete # y, y
echo $ task list
task list
# 17 Shell
echo Shell --------------------------------------------------------------
echo $ task shell
#task shell
echo '> projects'
#> projects
echo '> tags'
#> tags
echo '> list'
#> list
echo '> quit'
#> quit
# 18 Special tags
echo Special tags --------------------------------------------------------------
echo $ task 6 +nocolor
task 6 +nocolor
echo $ task list
task list
echo $ task tags
task tags
echo $ task 6 -nocolor
task 6 -nocolor
# 19 Waiting
echo Waiting --------------------------------------------------------------
echo $ task add Look for new apartment due:eoy
task add Look for new apartment due:eoy
echo $ task list
task list
echo $ task 10 wait:12/1/2010
task 10 wait:12/1/2010
echo $ task list
task list
echo $ task waiting
task waiting
echo $ task add Do something in a few seconds
task add Do something in a few seconds
echo $ task 11 wait:5s
task 11 wait:5s
echo $ task list
task list
sleep 5
echo $ task list
task list
echo $ task 11 rc.confirmation:no delete
task 11 rc.confirmation:no delete
# 20 Dependencies
echo Dependencies --------------------------------------------------------------
echo $ task list pro:party
task list pro:party
echo $ task 3 depends:6
task 3 depends:6
echo $ task 6 dep:5
task 6 dep:5
echo $ task 2 dep:1
task 2 dep:1
echo $ task 5 dep:1,2
task 5 dep:1,2
echo $ task 4 dep:1
task 4 dep:1
echo $ task long pro:party
task long pro:party
echo $ task 5 dep:-1
task 5 dep:-1
echo $ task blocked
task blocked
echo $ task unblocked
task unblocked
echo $ task 1 info
task 1 info
echo $ task 2 info
task 2 info
echo $ task 2 done
echo 'y' | task 2 done
echo $ task 1 info
task 1 info
# 21 Reports
echo Reports --------------------------------------------------------------
echo $ task minimal
task minimal
echo $ task ls
task ls
echo $ task list
task list
echo $ task long
task long
echo $ task all
task all
echo $ task completed
task completed
echo $ task recurring
task recurring
echo $ task waiting
task waiting
echo $ task blocked
task blocked
echo $ task oldest
task oldest
echo $ task newest
task newest
echo $ task timesheet
task timesheet
echo $ task next
task next
# 22 Custom report
echo Custom report --------------------------------------------------------------
echo 'report.foo.description=My own report' >> x
echo 'report.foo.columns=id,entry,description' >> x
echo 'report.foo.labels=ID,Entered,Description' >> x
echo 'report.foo.sort=entry+,description+' >> x
echo 'report.foo.filter=status:pending' >> x
echo 'task help | grep foo'
task help | grep foo
echo $ task show report.foo
task show report.foo
echo $ task foo
task foo
# 23 Charts
echo Charts --------------------------------------------------------------
echo $ task history
task history
echo $ task history.annual
task history.annual
echo $ task ghistory
task ghistory
echo $ task ghistory.annual
task ghistory.annual
echo $ task summary
task summary
# 24 Advanced filters
echo Advanced filters --------------------------------------------------------------
echo $ task list
task list
echo $ task list invit
task list invit
echo $ task list description.contains:invit
task list description.contains:invit
echo $ task list desc.word:the
task list desc.word:the
echo $ task list desc.noword:invitations
task list desc.noword:invitations
echo $ task list pro:party
task list pro:party
echo $ task list pro.is:party
task list pro.is:party
echo $ task list pro.not:party
task list pro.not:party
echo $ task list pro:party priority.over:L
task list pro:party priority.over:L
echo $ task list pro:party limit:2
task list pro:party limit:2
echo $ task list limit:page
task list limit:page
echo $ task all status:pending
task all status:pending
echo $ task all status:waiting
task all status:waiting
# 25 Import/export
echo Import/export --------------------------------------------------------------
echo $ task export.csv
task export.csv
echo $ task export.csv venue
task export.csv venue
echo $ task export.vcalendar venue
task export.vcalendar venue
echo $ task export.yaml venue
task export.yaml venue
cat <<EOF >file.text
Remember to read the task man page
EOF
cat file.text
echo $ task import file.text
printf "y\n" | task import file.text
cat <<EOF >file.yaml
%YAML 1.1
---
task:
description: Visit http://taskwarrior.org
due: 1281844800
entry: 1281289630
priority: H
project: work
status: pending
uuid: 23afada0-a446-8d5a-c213-30d99d52c4b0
...
EOF
cat file.yaml
echo $ task import file.yaml
printf "y\n" | task import file.yaml
echo $ task new limit:2
task new limit:2
# 26 Help
echo Help --------------------------------------------------------------
echo $ task help
task help
echo $ man task
#man task
echo $ man taskrc
#man taskrc
echo $ man task-color
#man task-color
echo $ man task-tutorial
#man task-tutorial
echo $ man task-faq
#man task-faq
echo $ man task-sync
#man task-sync
# 27 Wrap up
echo Wrap up --------------------------------------------------------------
echo $ task version
task version
exit

View File

@@ -0,0 +1,22 @@
[Make window 116x32 for movie recording, light text, dark background]
This is the script from which a 2.0-specific movie will be made. On the left
are the typed commands, and on the right is the voice track.
It is intended that the left and right be combined and the result will be a new
task-tutorial.5 man page.
---------------------------------------- Shell -----------------------------------------------------
task shell You can use the shell command to create a more immersive
task> projects environment. Any task command you run outside the shell
task> tags can also be run inside the shell, without the need to prefix
task> list every command with "task".
task> quit
---------------------------------------- End -------------------------------------------------------
Show use of rlwrap.

533
doc/misc/tutorial/tags/run.200 Executable file
View File

@@ -0,0 +1,533 @@
#! /bin/bash
rm -f /Users/paul/.task/pending.data /Users/paul/.task/completed.data /Users/paul/.task/undo.data
echo 'data.location=~/.task' > /Users/paul/.taskrc
echo 'color=off' >> /Users/paul/.taskrc
echo 'color.summary.background=on gray3' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-red-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-256.theme' >> /Users/paul/.taskrc
# 1 Intro
# 2 Basic usage
echo Basic usage --------------------------------------------------------------
echo $ task add Select a free weekend in November
task add Select a free weekend in November
echo $ task add Select and book a venue
task add Select and book a venue
echo $ task add Come up with a guest list
task add Come up with a guest list
echo $ task add Mail invitations
task add Mail invitations
echo $ task add Select a caterer
task add Select a caterer
echo $ task list
task list
echo $ task log Order a special cake
task log Order a special cake
echo $ task 4 duplicate /Mail/Design/
task 4 duplicate /Mail/Design/
echo $ task 4 duplicate /Mail/Print/
task 4 duplicate /Mail/Print/
echo $ task list
task list
echo $ task 3 done
task 3 done
echo $ task list
task list
# 3 Projects
echo Projects --------------------------------------------------------------
echo $ task add Pay teh rent on teh 31st
task add Pay teh rent on teh 31st
echo $ task 7 /teh/the/g
task 7 /teh/the/g
echo $ task list
task list
echo $ task 7 project:home
task 7 project:home
echo $ task 1-6 project:party
echo 'All' | task 1-6 project:party
echo $ task projects
task projects
echo $ task list project:home
task list project:home
echo $ task li pro:par
task li pro:par
# 4 Priorities
echo Priorities --------------------------------------------------------------
echo $ task 1-3,5 priority:H
echo 'All' | task 1-3,5 priority:H
echo $ task list
task list
echo $ task 3 pri:
task 3 pri:
# 5 Tags
echo Tags --------------------------------------------------------------
echo $ task list
task list
echo $ task 3,5,6 +mall
echo 'All' | task 3,5,6 +mall
echo $ task long
task long
echo $ task list +mall
task list +mall
echo $ task 3 -mall
task 3 -mall
# 6 Modifications
echo Modifications --------------------------------------------------------------
echo $ task 7 Pay rent at the end of the month
echo 'Yes' | task 7 Pay rent at the end of the month
echo $ task add music
task add music
echo $ task 8 prepend Select some
task 8 prepend Select some
echo $ task 8 append for after dinner
task 8 append for after dinner
echo $ task list
task list
echo $ task edit
#task edit
echo $ task add Hire a band?
#task add Hire a band?
echo $ task add Hire a band\?
#task add Hire a band\?
echo $ task add "Hire a band?"
#task add "Hire a band?"
echo $ task add -- Hire a band\? +dj
task add -- Hire a band\? +dj
echo $ task undo
echo 'y' | task undo
echo $ task 1 delete
echo 'y' | task 1 delete
echo $ task undo
echo 'y' | task undo
# 7 Info
echo Info --------------------------------------------------------------
echo $ task 1 info
task 1 info
echo $ task stats
task stats
# 8 Annotations
echo Annotations --------------------------------------------------------------
echo $ task 1 annotate the 13 looks good
task 1 annotate the 13 looks good
sleep 1
echo $ task 1 annotate or the 14th
task 1 annotate or the 14th
echo $ task list
task list
echo $ task list rc.annotations:full
task list rc.annotations:full
echo $ task list rc.annotations:sparse
task list rc.annotations:sparse
echo $ task list rc.annotations:none
task list rc.annotations:none
echo $ task 1 denotate 14th
task 1 denotate 14th
echo $ task list
task list
# 9 Configuration
echo Configuration --------------------------------------------------------------
echo $ task show
task show
echo $ task config answer forty-two
echo 'y' | task config answer forty-two
echo $ task show answer
task show answer
echo $ task config answer
echo 'y' | task config answer
echo $ task rc.report.list.sort=description+ list
task rc.report.list.sort=description+ list
# 10 Defaults
echo Defaults --------------------------------------------------------------
echo $ task config default.command list
echo 'y' | task config default.command list
echo $ task
task
echo $ task config default.priority H
echo 'y' | task config default.priority H
echo $ task config default.project Work
echo 'y' | task config default.project Work
echo $ task add New task
task add New task
echo $ task list
task list
echo $ task undo
echo 'y' | task undo
echo $ task config default.priority
echo 'y' | task config default.priority
echo $ task config default.project
echo 'y' | task config default.project
# 11 Aliases
echo Aliases --------------------------------------------------------------
echo $ task config alias.zzz list
echo 'y' | task config alias.zzz list
echo $ task zzz
task zzz
echo $ task z
task z
# 12 Color
echo Color --------------------------------------------------------------
echo $ task config color on
echo 'y' | task config color on
echo $ task list
task list
echo $ task 1 bg:on_red
task 1 bg:on_red
echo $ task list
task list
echo $ task 1 bg:
task 1 bg:
echo $ task color
task color
echo $ task color white on red
task color white on red
echo $ task color legend
task color legend
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
echo 'include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
sed 's/blue/red/' x >x2 && mv x2 x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
sed 's/red-//' x >x2 && mv x2 x
echo $ task list
task list
echo $ task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
echo $ man task-color
#man task-color
# 13 Active tasks
echo Active tasks --------------------------------------------------------------
echo $ task 2 start
task 2 start
echo $ task list
task list
echo $ task active
task active
echo $ task 2 stop
task 2 stop
echo $ task config journal.time on
task config journal.time on
echo $ task config rc.dateformat.xxx xxx
task config rc.dateformat.xxx xxx
echo $ task config dateformat.annotation 'Y/m/d H:N'
task config dateformat.annotation 'Y/m/d H:N'
echo $ task 2 start
task 2 start
echo $ task list venue
task list venue
echo $ task 2 stop
task 2 stop
echo $ task list venue
task list venue
# 14 Due dates
echo Due dates --------------------------------------------------------------
echo $ task 1 due:7/31/2010
task 1 due:7/31/2010
echo $ task 1 due:2wks
task 1 due:2wks
echo $ task 1 due:-2wks
task 1 due:-2wks
echo $ task 1 due:eom
task 1 due:eom
echo $ task 2 due:8th
task 2 due:8th
echo $ task 2 due:sunday
task 2 due:sunday
echo $ task 5 due:eow
task 5 due:eow
echo $ task list
task list
echo $ task overdue
task overdue
echo $ task rc.dateformat.report:Y-M-DTH:N:SZ list
task rc.dateformat.report:Y-M-DTH:N:SZ list
# 15 Calendar
echo Calendar --------------------------------------------------------------
echo $ task calendar
task calendar
echo $ vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
echo 'include /usr/local/share/doc/task/rc/holidays-US.rc' >> x
echo $ task calendar
task calendar
echo $ task cal 2010
task cal 2010
echo $ task rc.calendar.details:full cal
task rc.calendar.details:full cal
echo $ task rc.calendar.holidays:full cal
task rc.calendar.holidays:full cal
# 16 Recurrence
echo Recurrence --------------------------------------------------------------
echo $ task 7 info
task 7 info
echo $ task 7 due:eom recur:monthly
task 7 due:eom recur:monthly
echo $ task 7
task 7
echo $ task 7 until:eoy
task 7 until:eoy
echo $ task recurring
task recurring
echo $ task add Pay taxes due:4/15/2007 recur:yearly
task add Pay taxes due:4/15/2007 recur:yearly
echo $ task long
task long
echo $ task 11 delete
printf "y\ny\n" | task 11 delete # y, y
echo $ task list
task list
# 17 Shell
echo Shell --------------------------------------------------------------
echo $ task shell
#task shell
echo '> projects'
#> projects
echo '> tags'
#> tags
echo '> list'
#> list
echo '> quit'
#> quit
# 18 Special tags
echo Special tags --------------------------------------------------------------
echo $ task 6 +nocolor
task 6 +nocolor
echo $ task list
task list
echo $ task tags
task tags
echo $ task 6 -nocolor
task 6 -nocolor
# 19 Waiting
echo Waiting --------------------------------------------------------------
echo $ task add Look for new apartment due:eoy
task add Look for new apartment due:eoy
echo $ task list
task list
echo $ task 10 wait:12/1/2010
task 10 wait:12/1/2010
echo $ task list
task list
echo $ task waiting
task waiting
echo $ task add Do something in a few seconds
task add Do something in a few seconds
echo $ task 11 wait:5s
task 11 wait:5s
echo $ task list
task list
sleep 5
echo $ task list
task list
echo $ task 11 rc.confirmation:no delete
task 11 rc.confirmation:no delete
# 20 Dependencies
echo Dependencies --------------------------------------------------------------
echo $ task list pro:party
task list pro:party
echo $ task 3 depends:6
task 3 depends:6
echo $ task 6 dep:5
task 6 dep:5
echo $ task 2 dep:1
task 2 dep:1
echo $ task 5 dep:1,2
task 5 dep:1,2
echo $ task 4 dep:1
task 4 dep:1
echo $ task long pro:party
task long pro:party
echo $ task 5 dep:-1
task 5 dep:-1
echo $ task blocked
task blocked
echo $ task unblocked
task unblocked
echo $ task 1 info
task 1 info
echo $ task 2 info
task 2 info
echo $ task 2 done
echo 'y' | task 2 done
echo $ task 1 info
task 1 info
# 21 Reports
echo Reports --------------------------------------------------------------
echo $ task minimal
task minimal
echo $ task ls
task ls
echo $ task list
task list
echo $ task long
task long
echo $ task all
task all
echo $ task completed
task completed
echo $ task recurring
task recurring
echo $ task waiting
task waiting
echo $ task blocked
task blocked
echo $ task oldest
task oldest
echo $ task newest
task newest
echo $ task timesheet
task timesheet
echo $ task next
task next
# 22 Custom report
echo Custom report --------------------------------------------------------------
echo 'report.foo.description=My own report' >> x
echo 'report.foo.columns=id,entry,description' >> x
echo 'report.foo.labels=ID,Entered,Description' >> x
echo 'report.foo.sort=entry+,description+' >> x
echo 'report.foo.filter=status:pending' >> x
echo 'task help | grep foo'
task help | grep foo
echo $ task show report.foo
task show report.foo
echo $ task foo
task foo
# 23 Charts
echo Charts --------------------------------------------------------------
echo $ task history
task history
echo $ task history.annual
task history.annual
echo $ task ghistory
task ghistory
echo $ task ghistory.annual
task ghistory.annual
echo $ task summary
task summary
# 24 Advanced filters
echo Advanced filters --------------------------------------------------------------
echo $ task list
task list
echo $ task list invit
task list invit
echo $ task list description.contains:invit
task list description.contains:invit
echo $ task list desc.word:the
task list desc.word:the
echo $ task list desc.noword:invitations
task list desc.noword:invitations
echo $ task list pro:party
task list pro:party
echo $ task list pro.is:party
task list pro.is:party
echo $ task list pro.not:party
task list pro.not:party
echo $ task list pro:party priority.over:L
task list pro:party priority.over:L
echo $ task list pro:party limit:2
task list pro:party limit:2
echo $ task list limit:page
task list limit:page
echo $ task all status:pending
task all status:pending
echo $ task all status:waiting
task all status:waiting
# 25 Import/export
echo Import/export --------------------------------------------------------------
echo $ task export.csv
task export.csv
echo $ task export.csv venue
task export.csv venue
echo $ task export.vcalendar venue
task export.vcalendar venue
echo $ task export.yaml venue
task export.yaml venue
cat <<EOF >file.text
Remember to read the task man page
EOF
cat file.text
echo $ task import file.text
printf "y\n" | task import file.text
cat <<EOF >file.yaml
%YAML 1.1
---
task:
description: Visit http://taskwarrior.org
due: 1281844800
entry: 1281289630
priority: H
project: work
status: pending
uuid: 23afada0-a446-8d5a-c213-30d99d52c4b0
...
EOF
cat file.yaml
echo $ task import file.yaml
printf "y\n" | task import file.yaml
echo $ task new limit:2
task new limit:2
# 26 Help
echo Help --------------------------------------------------------------
echo $ task help
task help
echo $ man task
#man task
echo $ man taskrc
#man taskrc
echo $ man task-color
#man task-color
echo $ man task-tutorial
#man task-tutorial
echo $ man task-faq
#man task-faq
echo $ man task-sync
#man task-sync
# 27 Wrap up
echo Wrap up --------------------------------------------------------------
echo $ task version
task version
exit

View File

@@ -0,0 +1,46 @@
[Make window 116x32 for movie recording, light text, dark background]
This is the script from which a 2.0-specific movie will be made. On the left
are the typed commands, and on the right is the voice track.
It is intended that the left and right be combined and the result will be a new
task-tutorial.5 man page.
---------------------------------------- Tags ------------------------------------------------------
task list A task may only have one project, but it may have any number
of tags, which are just single words associated with the task.
task 3,5,6 +mall I can go to the print shop at the mall, and do all the
invitation tasks, so let's tag them all.
task long The long report shows tags, too,
task list +mall and I can use tags as a filter to any report too.
task 3 -mall I made a mistake - I can't mail out the invitations at the
mall, so let's remove that tag.
---------------------------------------- Special Tags ----------------------------------------------
task 6 +nocolor You've seen tags, but there are also 'special tags' that
task list have effects on individual tasks. The 'nocolor' special
tag causes the color rules to be bypassed.
task tags Special tags are highlighted by the 'tags' command.
task 6 -nocolor There are others - the 'nonag' special tag prevents the
generation of nag messages when you work on low priority
tasks when there are more important ones.
The 'nocal' special tag will prevent a task from appearing
on the calendar.
---------------------------------------- End -------------------------------------------------------
Show 'nocal'
Show 'nonag'
Show 'next'
Show how adding a special tag generates feedback.

533
doc/misc/tutorial/waiting/run.200 Executable file
View File

@@ -0,0 +1,533 @@
#! /bin/bash
rm -f /Users/paul/.task/pending.data /Users/paul/.task/completed.data /Users/paul/.task/undo.data
echo 'data.location=~/.task' > /Users/paul/.taskrc
echo 'color=off' >> /Users/paul/.taskrc
echo 'color.summary.background=on gray3' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-red-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-256.theme' >> /Users/paul/.taskrc
# 1 Intro
# 2 Basic usage
echo Basic usage --------------------------------------------------------------
echo $ task add Select a free weekend in November
task add Select a free weekend in November
echo $ task add Select and book a venue
task add Select and book a venue
echo $ task add Come up with a guest list
task add Come up with a guest list
echo $ task add Mail invitations
task add Mail invitations
echo $ task add Select a caterer
task add Select a caterer
echo $ task list
task list
echo $ task log Order a special cake
task log Order a special cake
echo $ task 4 duplicate /Mail/Design/
task 4 duplicate /Mail/Design/
echo $ task 4 duplicate /Mail/Print/
task 4 duplicate /Mail/Print/
echo $ task list
task list
echo $ task 3 done
task 3 done
echo $ task list
task list
# 3 Projects
echo Projects --------------------------------------------------------------
echo $ task add Pay teh rent on teh 31st
task add Pay teh rent on teh 31st
echo $ task 7 /teh/the/g
task 7 /teh/the/g
echo $ task list
task list
echo $ task 7 project:home
task 7 project:home
echo $ task 1-6 project:party
echo 'All' | task 1-6 project:party
echo $ task projects
task projects
echo $ task list project:home
task list project:home
echo $ task li pro:par
task li pro:par
# 4 Priorities
echo Priorities --------------------------------------------------------------
echo $ task 1-3,5 priority:H
echo 'All' | task 1-3,5 priority:H
echo $ task list
task list
echo $ task 3 pri:
task 3 pri:
# 5 Tags
echo Tags --------------------------------------------------------------
echo $ task list
task list
echo $ task 3,5,6 +mall
echo 'All' | task 3,5,6 +mall
echo $ task long
task long
echo $ task list +mall
task list +mall
echo $ task 3 -mall
task 3 -mall
# 6 Modifications
echo Modifications --------------------------------------------------------------
echo $ task 7 Pay rent at the end of the month
echo 'Yes' | task 7 Pay rent at the end of the month
echo $ task add music
task add music
echo $ task 8 prepend Select some
task 8 prepend Select some
echo $ task 8 append for after dinner
task 8 append for after dinner
echo $ task list
task list
echo $ task edit
#task edit
echo $ task add Hire a band?
#task add Hire a band?
echo $ task add Hire a band\?
#task add Hire a band\?
echo $ task add "Hire a band?"
#task add "Hire a band?"
echo $ task add -- Hire a band\? +dj
task add -- Hire a band\? +dj
echo $ task undo
echo 'y' | task undo
echo $ task 1 delete
echo 'y' | task 1 delete
echo $ task undo
echo 'y' | task undo
# 7 Info
echo Info --------------------------------------------------------------
echo $ task 1 info
task 1 info
echo $ task stats
task stats
# 8 Annotations
echo Annotations --------------------------------------------------------------
echo $ task 1 annotate the 13 looks good
task 1 annotate the 13 looks good
sleep 1
echo $ task 1 annotate or the 14th
task 1 annotate or the 14th
echo $ task list
task list
echo $ task list rc.annotations:full
task list rc.annotations:full
echo $ task list rc.annotations:sparse
task list rc.annotations:sparse
echo $ task list rc.annotations:none
task list rc.annotations:none
echo $ task 1 denotate 14th
task 1 denotate 14th
echo $ task list
task list
# 9 Configuration
echo Configuration --------------------------------------------------------------
echo $ task show
task show
echo $ task config answer forty-two
echo 'y' | task config answer forty-two
echo $ task show answer
task show answer
echo $ task config answer
echo 'y' | task config answer
echo $ task rc.report.list.sort=description+ list
task rc.report.list.sort=description+ list
# 10 Defaults
echo Defaults --------------------------------------------------------------
echo $ task config default.command list
echo 'y' | task config default.command list
echo $ task
task
echo $ task config default.priority H
echo 'y' | task config default.priority H
echo $ task config default.project Work
echo 'y' | task config default.project Work
echo $ task add New task
task add New task
echo $ task list
task list
echo $ task undo
echo 'y' | task undo
echo $ task config default.priority
echo 'y' | task config default.priority
echo $ task config default.project
echo 'y' | task config default.project
# 11 Aliases
echo Aliases --------------------------------------------------------------
echo $ task config alias.zzz list
echo 'y' | task config alias.zzz list
echo $ task zzz
task zzz
echo $ task z
task z
# 12 Color
echo Color --------------------------------------------------------------
echo $ task config color on
echo 'y' | task config color on
echo $ task list
task list
echo $ task 1 bg:on_red
task 1 bg:on_red
echo $ task list
task list
echo $ task 1 bg:
task 1 bg:
echo $ task color
task color
echo $ task color white on red
task color white on red
echo $ task color legend
task color legend
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
echo 'include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
sed 's/blue/red/' x >x2 && mv x2 x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
sed 's/red-//' x >x2 && mv x2 x
echo $ task list
task list
echo $ task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
echo $ man task-color
#man task-color
# 13 Active tasks
echo Active tasks --------------------------------------------------------------
echo $ task 2 start
task 2 start
echo $ task list
task list
echo $ task active
task active
echo $ task 2 stop
task 2 stop
echo $ task config journal.time on
task config journal.time on
echo $ task config rc.dateformat.xxx xxx
task config rc.dateformat.xxx xxx
echo $ task config dateformat.annotation 'Y/m/d H:N'
task config dateformat.annotation 'Y/m/d H:N'
echo $ task 2 start
task 2 start
echo $ task list venue
task list venue
echo $ task 2 stop
task 2 stop
echo $ task list venue
task list venue
# 14 Due dates
echo Due dates --------------------------------------------------------------
echo $ task 1 due:7/31/2010
task 1 due:7/31/2010
echo $ task 1 due:2wks
task 1 due:2wks
echo $ task 1 due:-2wks
task 1 due:-2wks
echo $ task 1 due:eom
task 1 due:eom
echo $ task 2 due:8th
task 2 due:8th
echo $ task 2 due:sunday
task 2 due:sunday
echo $ task 5 due:eow
task 5 due:eow
echo $ task list
task list
echo $ task overdue
task overdue
echo $ task rc.dateformat.report:Y-M-DTH:N:SZ list
task rc.dateformat.report:Y-M-DTH:N:SZ list
# 15 Calendar
echo Calendar --------------------------------------------------------------
echo $ task calendar
task calendar
echo $ vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
echo 'include /usr/local/share/doc/task/rc/holidays-US.rc' >> x
echo $ task calendar
task calendar
echo $ task cal 2010
task cal 2010
echo $ task rc.calendar.details:full cal
task rc.calendar.details:full cal
echo $ task rc.calendar.holidays:full cal
task rc.calendar.holidays:full cal
# 16 Recurrence
echo Recurrence --------------------------------------------------------------
echo $ task 7 info
task 7 info
echo $ task 7 due:eom recur:monthly
task 7 due:eom recur:monthly
echo $ task 7
task 7
echo $ task 7 until:eoy
task 7 until:eoy
echo $ task recurring
task recurring
echo $ task add Pay taxes due:4/15/2007 recur:yearly
task add Pay taxes due:4/15/2007 recur:yearly
echo $ task long
task long
echo $ task 11 delete
printf "y\ny\n" | task 11 delete # y, y
echo $ task list
task list
# 17 Shell
echo Shell --------------------------------------------------------------
echo $ task shell
#task shell
echo '> projects'
#> projects
echo '> tags'
#> tags
echo '> list'
#> list
echo '> quit'
#> quit
# 18 Special tags
echo Special tags --------------------------------------------------------------
echo $ task 6 +nocolor
task 6 +nocolor
echo $ task list
task list
echo $ task tags
task tags
echo $ task 6 -nocolor
task 6 -nocolor
# 19 Waiting
echo Waiting --------------------------------------------------------------
echo $ task add Look for new apartment due:eoy
task add Look for new apartment due:eoy
echo $ task list
task list
echo $ task 10 wait:12/1/2010
task 10 wait:12/1/2010
echo $ task list
task list
echo $ task waiting
task waiting
echo $ task add Do something in a few seconds
task add Do something in a few seconds
echo $ task 11 wait:5s
task 11 wait:5s
echo $ task list
task list
sleep 5
echo $ task list
task list
echo $ task 11 rc.confirmation:no delete
task 11 rc.confirmation:no delete
# 20 Dependencies
echo Dependencies --------------------------------------------------------------
echo $ task list pro:party
task list pro:party
echo $ task 3 depends:6
task 3 depends:6
echo $ task 6 dep:5
task 6 dep:5
echo $ task 2 dep:1
task 2 dep:1
echo $ task 5 dep:1,2
task 5 dep:1,2
echo $ task 4 dep:1
task 4 dep:1
echo $ task long pro:party
task long pro:party
echo $ task 5 dep:-1
task 5 dep:-1
echo $ task blocked
task blocked
echo $ task unblocked
task unblocked
echo $ task 1 info
task 1 info
echo $ task 2 info
task 2 info
echo $ task 2 done
echo 'y' | task 2 done
echo $ task 1 info
task 1 info
# 21 Reports
echo Reports --------------------------------------------------------------
echo $ task minimal
task minimal
echo $ task ls
task ls
echo $ task list
task list
echo $ task long
task long
echo $ task all
task all
echo $ task completed
task completed
echo $ task recurring
task recurring
echo $ task waiting
task waiting
echo $ task blocked
task blocked
echo $ task oldest
task oldest
echo $ task newest
task newest
echo $ task timesheet
task timesheet
echo $ task next
task next
# 22 Custom report
echo Custom report --------------------------------------------------------------
echo 'report.foo.description=My own report' >> x
echo 'report.foo.columns=id,entry,description' >> x
echo 'report.foo.labels=ID,Entered,Description' >> x
echo 'report.foo.sort=entry+,description+' >> x
echo 'report.foo.filter=status:pending' >> x
echo 'task help | grep foo'
task help | grep foo
echo $ task show report.foo
task show report.foo
echo $ task foo
task foo
# 23 Charts
echo Charts --------------------------------------------------------------
echo $ task history
task history
echo $ task history.annual
task history.annual
echo $ task ghistory
task ghistory
echo $ task ghistory.annual
task ghistory.annual
echo $ task summary
task summary
# 24 Advanced filters
echo Advanced filters --------------------------------------------------------------
echo $ task list
task list
echo $ task list invit
task list invit
echo $ task list description.contains:invit
task list description.contains:invit
echo $ task list desc.word:the
task list desc.word:the
echo $ task list desc.noword:invitations
task list desc.noword:invitations
echo $ task list pro:party
task list pro:party
echo $ task list pro.is:party
task list pro.is:party
echo $ task list pro.not:party
task list pro.not:party
echo $ task list pro:party priority.over:L
task list pro:party priority.over:L
echo $ task list pro:party limit:2
task list pro:party limit:2
echo $ task list limit:page
task list limit:page
echo $ task all status:pending
task all status:pending
echo $ task all status:waiting
task all status:waiting
# 25 Import/export
echo Import/export --------------------------------------------------------------
echo $ task export.csv
task export.csv
echo $ task export.csv venue
task export.csv venue
echo $ task export.vcalendar venue
task export.vcalendar venue
echo $ task export.yaml venue
task export.yaml venue
cat <<EOF >file.text
Remember to read the task man page
EOF
cat file.text
echo $ task import file.text
printf "y\n" | task import file.text
cat <<EOF >file.yaml
%YAML 1.1
---
task:
description: Visit http://taskwarrior.org
due: 1281844800
entry: 1281289630
priority: H
project: work
status: pending
uuid: 23afada0-a446-8d5a-c213-30d99d52c4b0
...
EOF
cat file.yaml
echo $ task import file.yaml
printf "y\n" | task import file.yaml
echo $ task new limit:2
task new limit:2
# 26 Help
echo Help --------------------------------------------------------------
echo $ task help
task help
echo $ man task
#man task
echo $ man taskrc
#man taskrc
echo $ man task-color
#man task-color
echo $ man task-tutorial
#man task-tutorial
echo $ man task-faq
#man task-faq
echo $ man task-sync
#man task-sync
# 27 Wrap up
echo Wrap up --------------------------------------------------------------
echo $ task version
task version
exit

View File

@@ -0,0 +1,31 @@
[Make window 116x32 for movie recording, light text, dark background]
This is the script from which a 2.0-specific movie will be made. On the left
are the typed commands, and on the right is the voice track.
It is intended that the left and right be combined and the result will be a new
task-tutorial.5 man page.
---------------------------------------- Waiting ---------------------------------------------------
task add Look for new apartment due:eoy When you have a task with a due date that is far out into
task list the future, you may want to hide that task for a while.
task 10 wait:12/1/2010 You can provide a wait date for a task, and it will remain
task list hidden until that date. It will no longer be cluttering
task waiting your task list, but it is still there, and visible using
the 'waiting' report. When the wait date comes, the task
will just pop back into the list.
task add Do something in a few seconds To illustrate this, let's set up a task with a very short
task 11 wait:5s wait time of five seconds.
task list It's gone.
(sleep 5) We wait for 5 seconds...
task list And it's back.
task 11 rc.confirmation:no delete And now it's deleted.
---------------------------------------- End -------------------------------------------------------

77
doc/rc/dark-16.theme Normal file
View File

@@ -0,0 +1,77 @@
################################################################################
# Sample taskwarrior 1.9 (or later) dark 16-color theme
#
# taskwarrior - a command line task list manager.
#
# Copyright 2006-2012, Paul Beckingham, Federico Hernandez.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#
# http://www.opensource.org/licenses/mit-license.php
#
###############################################################################
color=on
color.header=yellow
color.footnote=yellow
color.error=yellow
color.debug=yellow
color.summary.bar=black on green
color.summary.background=white on black
color.history.add=black on red
color.history.done=black on green
color.history.delete=black on yellow
color.burndown.pending=on red
color.burndown.started=on yellow
color.burndown.done=on green
color.sync.added=green
color.sync.changed=yellow
color.sync.rejected=red
color.undo.before=red
color.undo.after=green
color.calendar.today=bold white on bright blue
color.calendar.due=white on red
color.calendar.due.today=bold white on red
color.calendar.overdue=black on bright red
color.calendar.weekend=white on bright black
color.calendar.holiday=black on bright yellow
color.calendar.weeknumber=bold blue
color.recurring=magenta
color.overdue=bold red
color.due.today=red
color.due=red
color.active=black on bright green
color.pri.none=
color.pri.H=bold white
color.pri.M=white
color.pri.L=
color.tagged=green
color.blocked=black on white
color.blocking=black on bright white
color.project.none=
color.tag.none=
color.alternate=

77
doc/rc/dark-256.theme Normal file
View File

@@ -0,0 +1,77 @@
###############################################################################
# Sample taskwarrior 1.9 (or later) dark 256-color theme
#
# taskwarrior - a command line task list manager.
#
# Copyright 2006-2012, Paul Beckingham, Federico Hernandez.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#
# http://www.opensource.org/licenses/mit-license.php
#
###############################################################################
color=on
color.header=color3
color.footnote=color3
color.error=color3
color.debug=color3
color.summary.bar=black on rgb141
color.summary.background=white on color0
color.history.add=color0 on rgb500
color.history.done=color0 on rgb050
color.history.delete=color0 on rgb550
color.burndown.pending=on color9
color.burndown.started=on color11
color.burndown.done=on rgb010
color.sync.added=rgb010
color.sync.changed=color11
color.sync.rejected=color9
color.undo.before=color1
color.undo.after=color2
color.calendar.today=color15 on rgb013
color.calendar.due=color0 on color1
color.calendar.due.today=color15 on color1
color.calendar.overdue=color0 on color9
color.calendar.weekend=on color235
color.calendar.holiday=color0 on color11
color.calendar.weeknumber=rgb013
color.recurring=rgb013
color.overdue=color9
color.due.today=rgb400
color.due=color1
color.active=rgb555 on rgb410
color.pri.none=
color.pri.H=color255
color.pri.M=color250
color.pri.L=color245
color.tagged=rgb031
color.blocked=white on color8
color.blocking=white on color15
color.project.none=
color.tag.none=
color.alternate=on color233

View File

@@ -0,0 +1,77 @@
###############################################################################
# Sample taskwarrior 1.9 (or later) dark 256-color theme, featuring blue.
#
# taskwarrior - a command line task list manager.
#
# Copyright 2006-2012, Paul Beckingham, Federico Hernandez.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#
# http://www.opensource.org/licenses/mit-license.php
#
###############################################################################
color=on
color.header=rgb013
color.footnote=rgb013
color.error=rgb013
color.debug=rgb013
color.summary.bar=white on rgb003
color.summary.background=white on color0
color.history.add=color0 on rgb015
color.history.done=color0 on rgb025
color.history.delete=color0 on rgb035
color.burndown.pending=on rgb004
color.burndown.started=on rgb015
color.burndown.done=on gray4
color.sync.added=gray4
color.sync.changed=rgb015
color.sync.rejected=rgb004
color.undo.before=rgb013
color.undo.after=rgb035
color.calendar.today=color0 on rgb115
color.calendar.due=color0 on color249
color.calendar.due.today=color0 on color252
color.calendar.overdue=color0 on color255
color.calendar.weekend=on color235
color.calendar.holiday=color255 on rgb013
color.calendar.weeknumber=rgb015
color.recurring=rgb115
color.overdue=color255
color.due.today=color252
color.due=color249
color.active=rgb045 on rgb015
color.pri.none=
color.pri.H=rgb035
color.pri.M=rgb025
color.pri.L=rgb015
color.tagged=color246
color.blocked=white on rgb001
color.blocking=white on rgb002
color.project.none=
color.tag.none=
color.alternate=on color233

View File

@@ -0,0 +1,77 @@
###############################################################################
# Sample taskwarrior 1.9 (or later) dark gray 256-color theme
#
# taskwarrior - a command line task list manager.
#
# Copyright 2006-2012, Paul Beckingham, Federico Hernandez.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#
# http://www.opensource.org/licenses/mit-license.php
#
###############################################################################
color=on
color.header=color8
color.footnote=color8
color.error=color8
color.debug=color8
color.summary.bar=black on gray12
color.summary.background=white on gray3
color.history.add=color0 on gray6
color.history.done=color0 on gray15
color.history.delete=color0 on gray10
color.burndown.pending=on gray6
color.burndown.started=on gray15
color.burndown.done=on gray10
color.sync.added=gray10
color.sync.changed=gray15
color.sync.rejected=gray6
color.undo.before=gray6
color.undo.after=gray15
color.calendar.today=color8 on color15
color.calendar.due=color7 on color8
color.calendar.due.today=color15 on color8
color.calendar.overdue=underline color0 on color7
color.calendar.weekend=on color235
color.calendar.holiday=color7 on color15
color.calendar.weeknumber=gray4
color.recurring=gray8
color.overdue=color0 on color15
color.due.today=underline color0 on color7
color.due=color7
color.active=color7 on color8
color.pri.none=
color.pri.H=color15
color.pri.M=color7
color.pri.L=color8
color.tagged=gray12
color.blocked=color15 on color8
color.blocking=color15 on color7
color.project.none=
color.tag.none=
color.alternate=on gray2

View File

@@ -0,0 +1,77 @@
###############################################################################
# Sample taskwarrior 1.9 (or later) dark 256-color theme, featuring green.
#
# taskwarrior - a command line task list manager.
#
# Copyright 2006-2012, Paul Beckingham, Federico Hernandez.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#
# http://www.opensource.org/licenses/mit-license.php
#
###############################################################################
color=on
color.header=rgb031
color.footnote=rgb031
color.error=rgb031
color.debug=rgb031
color.summary.bar=white on rgb030
color.summary.background=white on color0
color.history.add=color0 on rgb010
color.history.done=color0 on rgb030
color.history.delete=color0 on rgb050
color.burndown.pending=on rgb010
color.burndown.started=on rgb030
color.burndown.done=on gray4
color.sync.added=gray4
color.sync.changed=rgb030
color.sync.rejected=rgb010
color.undo.before=rgb031
color.undo.after=rgb053
color.calendar.today=color0 on rgb151
color.calendar.due=color0 on color249
color.calendar.due.today=color0 on color225
color.calendar.overdue=color0 on color255
color.calendar.weekend=on color235
color.calendar.holiday=rgb151 on rgb020
color.calendar.weeknumber=rgb010
color.recurring=rgb151
color.overdue=color255
color.due.today=color252
color.due=color249
color.active=rgb050 on rgb010
color.pri.none=
color.pri.H=rgb050
color.pri.M=rgb030
color.pri.L=rgb010
color.tagged=color246
color.blocked=white on rgb010
color.blocking=white on rgb020
color.project.none=
color.tag.none=
color.alternate=on color233

77
doc/rc/dark-red-256.theme Normal file
View File

@@ -0,0 +1,77 @@
###############################################################################
# Sample taskwarrior 1.9 (or later) dark 256-color theme, featuring red.
#
# taskwarrior - a command line task list manager.
#
# Copyright 2006-2012, Paul Beckingham, Federico Hernandez.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#
# http://www.opensource.org/licenses/mit-license.php
#
###############################################################################
color=on
color.header=rgb100
color.footnote=rgb100
color.error=rgb100
color.debug=rgb100
color.summary.bar=white on rgb300
color.summary.background=white on color0
color.history.add=color0 on rgb100
color.history.done=color0 on rgb300
color.history.delete=color0 on rgb500
color.burndown.pending=on rgb200
color.burndown.started=on rgb411
color.burndown.done=on gray4
color.sync.added=gray4
color.sync.changed=rgb411
color.sync.rejected=rgb200
color.undo.before=rgb301
color.undo.after=rgb503
color.calendar.today=color0 on rgb511
color.calendar.due=color0 on color249
color.calendar.due.today=color0 on color252
color.calendar.overdue=color0 on color255
color.calendar.weekend=on color235
color.calendar.holiday=rgb522 on rgb300
color.calendar.weeknumber=rgb100
color.recurring=rgb511
color.overdue=color255
color.due.today=color252
color.due=color249
color.active=rgb500 on rgb100
color.pri.none=
color.pri.H=rgb500
color.pri.M=rgb400
color.pri.L=rgb300
color.tagged=color246
color.blocked=white on rgb100
color.blocking=white on rgb200
color.project.none=
color.tag.none=
color.alternate=on color233

View File

@@ -0,0 +1,77 @@
################################################################################
# Sample taskwarrior 1.9 (or later) dark violet 256-color theme
#
# taskwarrior - a command line task list manager.
#
# Copyright 2006-2012, Paul Beckingham, Federico Hernandez.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#
# http://www.opensource.org/licenses/mit-license.php
#
###############################################################################
color=on
color.header=rgb013
color.footnote=rgb013
color.error=rgb013
color.debug=rgb013
color.summary.bar=white on rgb103
color.summary.background=white on color0
color.history.add=color0 on rgb105
color.history.done=color0 on rgb205
color.history.delete=color0 on rgb305
color.burndown.pending=on rgb103
color.burndown.started=on rgb214
color.burndown.done=on gray4
color.sync.added=gray4
color.sync.changed=rgb214
color.sync.rejected=rgb103
color.undo.before=rgb103
color.undo.after=rgb305
color.calendar.today=color15 on rgb103
color.calendar.due=color0 on rgb325
color.calendar.due.today=color0 on rgb404
color.calendar.overdue=color0 on color9
color.calendar.weekend=gray12 on gray3
color.calendar.holiday=color15 on rgb022
color.calendar.weeknumber=rgb104
color.recurring=rgb115
color.overdue=color9
color.due.today=rgb533
color.due=rgb055
color.active=rgb445 on rgb213
color.pri.none=
color.pri.H=rgb404
color.pri.M=rgb304
color.pri.L=rgb325
color.tagged=rgb334
color.blocked=white on rgb101
color.blocking=white on rgb202
color.project.none=
color.tag.none=
color.alternate=on gray2

View File

@@ -0,0 +1,77 @@
################################################################################
# Sample taskwarrior 1.9 (or later) dark-yellow-green 256-color theme
#
# taskwarrior - a command line task list manager.
#
# Copyright 2006-2012, Paul Beckingham, Federico Hernandez.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#
# http://www.opensource.org/licenses/mit-license.php
#
###############################################################################
color=on
color.header=rgb031
color.footnote=rgb031
color.error=rgb031
color.debug=rgb031
color.summary.bar=white on rgb030
color.summary.background=white on color0
color.history.add=color0 on rgb010
color.history.done=color0 on rgb030
color.history.delete=color0 on rgb050
color.burndown.pending=on rgb110
color.burndown.started=on rgb430
color.burndown.done=on gray4
color.sync.added=gray4
color.sync.changed=rgb430
color.sync.rejected=rgb110
color.undo.before=rgb031
color.undo.after=rgb053
color.calendar.today=color15 on rgb110
color.calendar.due=color0 on rgb430
color.calendar.due.today=color0 on rgb410
color.calendar.overdue=color0 on rgb400
color.calendar.weekend=on color235
color.calendar.holiday=rgb151 on rgb020
color.calendar.weeknumber=rgb110
color.recurring=rgb343
color.overdue=rgb400
color.due.today=rgb410
color.due=rgb420
color.active=rgb451 on rgb310
color.pri.none=
color.pri.H=rgb450
color.pri.M=rgb030
color.pri.L=rgb010
color.tagged=rgb342
color.blocked=white on rgb110
color.blocking=white on rgb220
color.project.none=
color.tag.none=
color.alternate=on gray0

69
doc/rc/holidays.be-BY.rc Normal file
View File

@@ -0,0 +1,69 @@
###############################################################################
# International Holiday Data provided by Holidata.net
# http://holidata.net/be-BY/2012.json
# http://holidata.net/be-BY/2013.json
#
# Copyright 2006-2012, Paul Beckingham, Federico Hernandez.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#
# http://www.opensource.org/licenses/mit-license.php
#
###############################################################################
holiday.be-BY1.name=Новы Год
holiday.be-BY1.date=20120101
holiday.be-BY2.name=Раство Хрыстова(праваслаўнае)
holiday.be-BY2.date=20120107
holiday.be-BY3.name=Міжнародны жаночы дзень
holiday.be-BY3.date=20120803
holiday.be-BY4.name=Пасха(праваслаўная)
holiday.be-BY4.date=20120415
holiday.be-BY5.name=Радуніца
holiday.be-BY5.date=20120424
holiday.be-BY6.name=Свята працы
holiday.be-BY6.date=20120501
holiday.be-BY7.name=Дзень Перамогі
holiday.be-BY7.date=20120509
holiday.be-BY8.name=Дзень незалежнаці
holiday.be-BY8.date=20120703
holiday.be-BY9.name=Дзень Кастрычніцкай рэвалюцыі
holiday.be-BY9.date=20121107
holiday.be-BY10.name=Раство Хрыстова(у заходніх хрысціян)
holiday.be-BY10.date=20121225
holiday.be-BY11.name=Новы Год
holiday.be-BY11.date=20130101
holiday.be-BY12.name=Раство Хрыстова(праваслаўнае)
holiday.be-BY12.date=20130107
holiday.be-BY13.name=Міжнародны жаночы дзень
holiday.be-BY13.date=20130803
holiday.be-BY14.name=Пасха(праваслаўная)
holiday.be-BY14.date=20130505
holiday.be-BY15.name=Радуніца
holiday.be-BY15.date=20130514
holiday.be-BY16.name=Свята працы
holiday.be-BY16.date=20130501
holiday.be-BY17.name=Дзень Перамогі
holiday.be-BY17.date=20130509
holiday.be-BY18.name=Дзень незалежнаці
holiday.be-BY18.date=20130703
holiday.be-BY19.name=Дзень Кастрычніцкай рэвалюцыі
holiday.be-BY19.date=20131107
holiday.be-BY20.name=Раство Хрыстова(у заходніх хрысціян)
holiday.be-BY20.date=20131225

81
doc/rc/holidays.cs-CZ.rc Normal file
View File

@@ -0,0 +1,81 @@
###############################################################################
# International Holiday Data provided by Holidata.net
# http://holidata.net/cs-CZ/2012.json
# http://holidata.net/cs-CZ/2013.json
#
# Copyright 2006-2012, Paul Beckingham, Federico Hernandez.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#
# http://www.opensource.org/licenses/mit-license.php
#
###############################################################################
holiday.cs-CZ1.name=Nový rok
holiday.cs-CZ1.date=20120101
holiday.cs-CZ2.name=Den obnovy samostatnosti českého státu
holiday.cs-CZ2.date=20120101
holiday.cs-CZ3.name=Velikonoční pondělí
holiday.cs-CZ3.date=20120409
holiday.cs-CZ4.name=Svátek práce
holiday.cs-CZ4.date=20120501
holiday.cs-CZ5.name=Den vítězství
holiday.cs-CZ5.date=20120508
holiday.cs-CZ6.name=Den slovanských věrozvěstů
holiday.cs-CZ6.date=20120705
holiday.cs-CZ7.name=Den upálení mistra Jana Husa
holiday.cs-CZ7.date=20120706
holiday.cs-CZ8.name=Den české státnosti
holiday.cs-CZ8.date=20120928
holiday.cs-CZ9.name=Den vzniku samostatného československého státu
holiday.cs-CZ9.date=20121028
holiday.cs-CZ10.name=Den boje za svobodu a demokracii
holiday.cs-CZ10.date=20121117
holiday.cs-CZ11.name=Štědrý den
holiday.cs-CZ11.date=20121224
holiday.cs-CZ12.name=1. svátek vánoční
holiday.cs-CZ12.date=20121225
holiday.cs-CZ13.name=2. svátek vánoční
holiday.cs-CZ13.date=20121226
holiday.cs-CZ14.name=Nový rok
holiday.cs-CZ14.date=20130101
holiday.cs-CZ15.name=Den obnovy samostatnosti českého státu
holiday.cs-CZ15.date=20130101
holiday.cs-CZ16.name=Velikonoční pondělí
holiday.cs-CZ16.date=20130401
holiday.cs-CZ17.name=Svátek práce
holiday.cs-CZ17.date=20130501
holiday.cs-CZ18.name=Den vítězství
holiday.cs-CZ18.date=20130508
holiday.cs-CZ19.name=Den slovanských věrozvěstů
holiday.cs-CZ19.date=20130705
holiday.cs-CZ20.name=Den upálení mistra Jana Husa
holiday.cs-CZ20.date=20130706
holiday.cs-CZ21.name=Den české státnosti
holiday.cs-CZ21.date=20130928
holiday.cs-CZ22.name=Den vzniku samostatného československého státu
holiday.cs-CZ22.date=20131028
holiday.cs-CZ23.name=Den boje za svobodu a demokracii
holiday.cs-CZ23.date=20131117
holiday.cs-CZ24.name=Štědrý den
holiday.cs-CZ24.date=20131224
holiday.cs-CZ25.name=1. svátek vánoční
holiday.cs-CZ25.date=20131225
holiday.cs-CZ26.name=2. svátek vánoční
holiday.cs-CZ26.date=20131226

77
doc/rc/holidays.da-DK.rc Normal file
View File

@@ -0,0 +1,77 @@
###############################################################################
# International Holiday Data provided by Holidata.net
# http://holidata.net/da-DK/2012.json
# http://holidata.net/da-DK/2013.json
#
# Copyright 2006-2012, Paul Beckingham, Federico Hernandez.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#
# http://www.opensource.org/licenses/mit-license.php
#
###############################################################################
holiday.da-DK1.name=Nytårsdag
holiday.da-DK1.date=20120101
holiday.da-DK2.name=Palmesøndag
holiday.da-DK2.date=20120401
holiday.da-DK3.name=Skærtorsdag
holiday.da-DK3.date=20120405
holiday.da-DK4.name=Langfredag
holiday.da-DK4.date=20120406
holiday.da-DK5.name=Påskedag
holiday.da-DK5.date=20120408
holiday.da-DK6.name=Anden påskedag
holiday.da-DK6.date=20120409
holiday.da-DK7.name=Store bededag
holiday.da-DK7.date=20120504
holiday.da-DK8.name=Kristi himmelfartsdag
holiday.da-DK8.date=20120517
holiday.da-DK9.name=Pinsedag
holiday.da-DK9.date=20120527
holiday.da-DK10.name=Anden pinsedag
holiday.da-DK10.date=20120528
holiday.da-DK11.name=Juledag
holiday.da-DK11.date=20121225
holiday.da-DK12.name=Anden juledag
holiday.da-DK12.date=20121226
holiday.da-DK13.name=Nytårsdag
holiday.da-DK13.date=20130101
holiday.da-DK14.name=Palmesøndag
holiday.da-DK14.date=20130324
holiday.da-DK15.name=Skærtorsdag
holiday.da-DK15.date=20130328
holiday.da-DK16.name=Langfredag
holiday.da-DK16.date=20130329
holiday.da-DK17.name=Påskedag
holiday.da-DK17.date=20130331
holiday.da-DK18.name=Anden påskedag
holiday.da-DK18.date=20130401
holiday.da-DK19.name=Store bededag
holiday.da-DK19.date=20130426
holiday.da-DK20.name=Kristi himmelfartsdag
holiday.da-DK20.date=20130509
holiday.da-DK21.name=Pinsedag
holiday.da-DK21.date=20130519
holiday.da-DK22.name=Anden pinsedag
holiday.da-DK22.date=20130520
holiday.da-DK23.name=Juledag
holiday.da-DK23.date=20131225
holiday.da-DK24.name=Anden juledag
holiday.da-DK24.date=20131226

121
doc/rc/holidays.de-AT.rc Normal file
View File

@@ -0,0 +1,121 @@
###############################################################################
# International Holiday Data provided by Holidata.net
# http://holidata.net/de-AT/2012.json
# http://holidata.net/de-AT/2013.json
#
# Copyright 2006-2012, Paul Beckingham, Federico Hernandez.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#
# http://www.opensource.org/licenses/mit-license.php
#
###############################################################################
holiday.de-AT1.name=Neujahr
holiday.de-AT1.date=20120101
holiday.de-AT2.name=Heilige drei Könige
holiday.de-AT2.date=20120106
holiday.de-AT3.name=Josef (K, St, T, V)
holiday.de-AT3.date=20120319
holiday.de-AT4.name=Karfreitag
holiday.de-AT4.date=20120406
holiday.de-AT5.name=Ostersonntag
holiday.de-AT5.date=20120408
holiday.de-AT6.name=Ostermontag
holiday.de-AT6.date=20120409
holiday.de-AT7.name=Staatsfeiertag
holiday.de-AT7.date=20120501
holiday.de-AT8.name=Florian (O)
holiday.de-AT8.date=20120504
holiday.de-AT9.name=Christi Himmelfahrt
holiday.de-AT9.date=20120517
holiday.de-AT10.name=Pfingstsonntag
holiday.de-AT10.date=20120527
holiday.de-AT11.name=Pfingstmontag
holiday.de-AT11.date=20120528
holiday.de-AT12.name=Fronleichnam
holiday.de-AT12.date=20120607
holiday.de-AT13.name=Mariä Himmelfahrt
holiday.de-AT13.date=20120815
holiday.de-AT14.name=Rupert (S)
holiday.de-AT14.date=20120924
holiday.de-AT15.name=Tag der Volksabstimmung (K)
holiday.de-AT15.date=20121010
holiday.de-AT16.name=Allerheiligen
holiday.de-AT16.date=20121101
holiday.de-AT17.name=Martin (B)
holiday.de-AT17.date=20121111
holiday.de-AT18.name=Leopold (W, N)
holiday.de-AT18.date=20121115
holiday.de-AT19.name=Mariä Empfängnis
holiday.de-AT19.date=20121208
holiday.de-AT20.name=Heiliger Abend
holiday.de-AT20.date=20121224
holiday.de-AT21.name=Christtag
holiday.de-AT21.date=20121225
holiday.de-AT22.name=Stefanitag
holiday.de-AT22.date=20121226
holiday.de-AT23.name=Silvester
holiday.de-AT23.date=20121231
holiday.de-AT24.name=Neujahr
holiday.de-AT24.date=20130101
holiday.de-AT25.name=Heilige drei Könige
holiday.de-AT25.date=20130106
holiday.de-AT26.name=Josef (K, St, T, V)
holiday.de-AT26.date=20130319
holiday.de-AT27.name=Karfreitag
holiday.de-AT27.date=20130329
holiday.de-AT28.name=Ostersonntag
holiday.de-AT28.date=20130331
holiday.de-AT29.name=Ostermontag
holiday.de-AT29.date=20130401
holiday.de-AT30.name=Staatsfeiertag
holiday.de-AT30.date=20130501
holiday.de-AT31.name=Florian (O)
holiday.de-AT31.date=20130504
holiday.de-AT32.name=Christi Himmelfahrt
holiday.de-AT32.date=20130509
holiday.de-AT33.name=Pfingstsonntag
holiday.de-AT33.date=20130519
holiday.de-AT34.name=Pfingstmontag
holiday.de-AT34.date=20130520
holiday.de-AT35.name=Fronleichnam
holiday.de-AT35.date=20130530
holiday.de-AT36.name=Mariä Himmelfahrt
holiday.de-AT36.date=20130815
holiday.de-AT37.name=Rupert (S)
holiday.de-AT37.date=20130924
holiday.de-AT38.name=Tag der Volksabstimmung (K)
holiday.de-AT38.date=20131010
holiday.de-AT39.name=Allerheiligen
holiday.de-AT39.date=20131101
holiday.de-AT40.name=Martin (B)
holiday.de-AT40.date=20131111
holiday.de-AT41.name=Leopold (W, N)
holiday.de-AT41.date=20131115
holiday.de-AT42.name=Mariä Empfängnis
holiday.de-AT42.date=20131208
holiday.de-AT43.name=Heiliger Abend
holiday.de-AT43.date=20131224
holiday.de-AT44.name=Christtag
holiday.de-AT44.date=20131225
holiday.de-AT45.name=Stefanitag
holiday.de-AT45.date=20131226
holiday.de-AT46.name=Silvester
holiday.de-AT46.date=20131231

165
doc/rc/holidays.de-DE.rc Normal file
View File

@@ -0,0 +1,165 @@
###############################################################################
# International Holiday Data provided by Holidata.net
# http://holidata.net/de-DE/2012.json
# http://holidata.net/de-DE/2013.json
#
# Copyright 2006-2012, Paul Beckingham, Federico Hernandez.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#
# http://www.opensource.org/licenses/mit-license.php
#
###############################################################################
holiday.de-DE1.name=Neujahr
holiday.de-DE1.date=20120101
holiday.de-DE2.name=Heilige drei Könige
holiday.de-DE2.date=20120106
holiday.de-DE3.name=Heilige drei Könige
holiday.de-DE3.date=20120106
holiday.de-DE4.name=Heilige drei Könige
holiday.de-DE4.date=20120106
holiday.de-DE5.name=Karfreitag
holiday.de-DE5.date=20120406
holiday.de-DE6.name=Ostern
holiday.de-DE6.date=20120408
holiday.de-DE7.name=Ostermontag
holiday.de-DE7.date=20120409
holiday.de-DE8.name=Erster Maifeiertag
holiday.de-DE8.date=20120501
holiday.de-DE9.name=Christi Himmelfahrt
holiday.de-DE9.date=20120517
holiday.de-DE10.name=Pfingstsonntag
holiday.de-DE10.date=20120527
holiday.de-DE11.name=Pfingstmontag
holiday.de-DE11.date=20120528
holiday.de-DE12.name=Fronleichnam
holiday.de-DE12.date=20120607
holiday.de-DE13.name=Fronleichnam
holiday.de-DE13.date=20120607
holiday.de-DE14.name=Fronleichnam
holiday.de-DE14.date=20120607
holiday.de-DE15.name=Fronleichnam
holiday.de-DE15.date=20120607
holiday.de-DE16.name=Fronleichnam
holiday.de-DE16.date=20120607
holiday.de-DE17.name=Fronleichnam
holiday.de-DE17.date=20120607
holiday.de-DE18.name=Mariä Himmelfahrt
holiday.de-DE18.date=20120815
holiday.de-DE19.name=Tag der Deutschen Einheit
holiday.de-DE19.date=20121003
holiday.de-DE20.name=Reformationstag
holiday.de-DE20.date=20121031
holiday.de-DE21.name=Reformationstag
holiday.de-DE21.date=20121031
holiday.de-DE22.name=Reformationstag
holiday.de-DE22.date=20121031
holiday.de-DE23.name=Reformationstag
holiday.de-DE23.date=20121031
holiday.de-DE24.name=Reformationstag
holiday.de-DE24.date=20121031
holiday.de-DE25.name=Allerheiligen
holiday.de-DE25.date=20121101
holiday.de-DE26.name=Allerheiligen
holiday.de-DE26.date=20121101
holiday.de-DE27.name=Allerheiligen
holiday.de-DE27.date=20121101
holiday.de-DE28.name=Allerheiligen
holiday.de-DE28.date=20121101
holiday.de-DE29.name=Allerheiligen
holiday.de-DE29.date=20121101
holiday.de-DE30.name=Buss und Bettag
holiday.de-DE30.date=20121121
holiday.de-DE31.name=Heilig Abend
holiday.de-DE31.date=20121224
holiday.de-DE32.name=Weihnachtstag
holiday.de-DE32.date=20121225
holiday.de-DE33.name=Zweiter Weihnachtstag
holiday.de-DE33.date=20121226
holiday.de-DE34.name=Sylvester
holiday.de-DE34.date=20121231
holiday.de-DE35.name=Neujahr
holiday.de-DE35.date=20130101
holiday.de-DE36.name=Heilige drei Könige
holiday.de-DE36.date=20130106
holiday.de-DE37.name=Heilige drei Könige
holiday.de-DE37.date=20130106
holiday.de-DE38.name=Heilige drei Könige
holiday.de-DE38.date=20130106
holiday.de-DE39.name=Karfreitag
holiday.de-DE39.date=20130329
holiday.de-DE40.name=Ostern
holiday.de-DE40.date=20130331
holiday.de-DE41.name=Ostermontag
holiday.de-DE41.date=20130401
holiday.de-DE42.name=Erster Maifeiertag
holiday.de-DE42.date=20130501
holiday.de-DE43.name=Christi Himmelfahrt
holiday.de-DE43.date=20130509
holiday.de-DE44.name=Pfingstsonntag
holiday.de-DE44.date=20130519
holiday.de-DE45.name=Pfingstmontag
holiday.de-DE45.date=20130520
holiday.de-DE46.name=Fronleichnam
holiday.de-DE46.date=20130530
holiday.de-DE47.name=Fronleichnam
holiday.de-DE47.date=20130530
holiday.de-DE48.name=Fronleichnam
holiday.de-DE48.date=20130530
holiday.de-DE49.name=Fronleichnam
holiday.de-DE49.date=20130530
holiday.de-DE50.name=Fronleichnam
holiday.de-DE50.date=20130530
holiday.de-DE51.name=Fronleichnam
holiday.de-DE51.date=20130530
holiday.de-DE52.name=Mariä Himmelfahrt
holiday.de-DE52.date=20130815
holiday.de-DE53.name=Tag der Deutschen Einheit
holiday.de-DE53.date=20131003
holiday.de-DE54.name=Reformationstag
holiday.de-DE54.date=20131031
holiday.de-DE55.name=Reformationstag
holiday.de-DE55.date=20131031
holiday.de-DE56.name=Reformationstag
holiday.de-DE56.date=20131031
holiday.de-DE57.name=Reformationstag
holiday.de-DE57.date=20131031
holiday.de-DE58.name=Reformationstag
holiday.de-DE58.date=20131031
holiday.de-DE59.name=Allerheiligen
holiday.de-DE59.date=20131101
holiday.de-DE60.name=Allerheiligen
holiday.de-DE60.date=20131101
holiday.de-DE61.name=Allerheiligen
holiday.de-DE61.date=20131101
holiday.de-DE62.name=Allerheiligen
holiday.de-DE62.date=20131101
holiday.de-DE63.name=Allerheiligen
holiday.de-DE63.date=20131101
holiday.de-DE64.name=Buss und Bettag
holiday.de-DE64.date=20131120
holiday.de-DE65.name=Heilig Abend
holiday.de-DE65.date=20131224
holiday.de-DE66.name=Weihnachtstag
holiday.de-DE66.date=20131225
holiday.de-DE67.name=Zweiter Weihnachtstag
holiday.de-DE67.date=20131226
holiday.de-DE68.name=Sylvester
holiday.de-DE68.date=20131231

85
doc/rc/holidays.en-CA.rc Normal file
View File

@@ -0,0 +1,85 @@
###############################################################################
# International Holiday Data provided by Holidata.net
# http://holidata.net/en-CA/2012.json
# http://holidata.net/en-CA/2013.json
#
# Copyright 2006-2012, Paul Beckingham, Federico Hernandez.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#
# http://www.opensource.org/licenses/mit-license.php
#
###############################################################################
holiday.en-CA1.name=New Year's Day
holiday.en-CA1.date=20120101
holiday.en-CA2.name=New Year's Day (obs.)
holiday.en-CA2.date=20120102
holiday.en-CA3.name=Family Day
holiday.en-CA3.date=20120220
holiday.en-CA4.name=Good Friday
holiday.en-CA4.date=20120406
holiday.en-CA5.name=Easter Monday
holiday.en-CA5.date=20120409
holiday.en-CA6.name=Victoria Day
holiday.en-CA6.date=20120521
holiday.en-CA7.name=Canada Day
holiday.en-CA7.date=20120701
holiday.en-CA8.name=Canada Day (obs.)
holiday.en-CA8.date=20120702
holiday.en-CA9.name=First Monday of August
holiday.en-CA9.date=20120806
holiday.en-CA10.name=Labour Day
holiday.en-CA10.date=20120903
holiday.en-CA11.name=Thanksgiving Day
holiday.en-CA11.date=20121008
holiday.en-CA12.name=Remembrance Day
holiday.en-CA12.date=20121111
holiday.en-CA13.name=Christmas Day
holiday.en-CA13.date=20121225
holiday.en-CA14.name=Boxing Day
holiday.en-CA14.date=20121226
holiday.en-CA15.name=New Year's Eve
holiday.en-CA15.date=20121231
holiday.en-CA16.name=New Year's Day
holiday.en-CA16.date=20130101
holiday.en-CA17.name=Family Day
holiday.en-CA17.date=20130218
holiday.en-CA18.name=Good Friday
holiday.en-CA18.date=20130329
holiday.en-CA19.name=Easter Monday
holiday.en-CA19.date=20130401
holiday.en-CA20.name=Victoria Day
holiday.en-CA20.date=20130520
holiday.en-CA21.name=Canada Day
holiday.en-CA21.date=20130701
holiday.en-CA22.name=First Monday of August
holiday.en-CA22.date=20130805
holiday.en-CA23.name=Labour Day
holiday.en-CA23.date=20130902
holiday.en-CA24.name=Thanksgiving Day
holiday.en-CA24.date=20131014
holiday.en-CA25.name=Remembrance Day
holiday.en-CA25.date=20131111
holiday.en-CA26.name=Christmas Day
holiday.en-CA26.date=20131225
holiday.en-CA27.name=Boxing Day
holiday.en-CA27.date=20131226
holiday.en-CA28.name=New Year's Eve
holiday.en-CA28.date=20131231

65
doc/rc/holidays.en-GB.rc Normal file
View File

@@ -0,0 +1,65 @@
###############################################################################
# International Holiday Data provided by Holidata.net
# http://holidata.net/en-GB/2012.json
# http://holidata.net/en-GB/2013.json
#
# Copyright 2006-2012, Paul Beckingham, Federico Hernandez.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#
# http://www.opensource.org/licenses/mit-license.php
#
###############################################################################
holiday.en-GB1.name=New Year's Day
holiday.en-GB1.date=20120101
holiday.en-GB2.name=New Year's Day Holiday
holiday.en-GB2.date=20120102
holiday.en-GB3.name=Good Friday
holiday.en-GB3.date=20120406
holiday.en-GB4.name=Easter Monday
holiday.en-GB4.date=20120409
holiday.en-GB5.name=Early May Bank Holiday
holiday.en-GB5.date=20120507
holiday.en-GB6.name=Spring Bank Holiday
holiday.en-GB6.date=20120604
holiday.en-GB7.name=Queen's Diamond Jubilee
holiday.en-GB7.date=20120605
holiday.en-GB8.name=August Bank Holiday
holiday.en-GB8.date=20120827
holiday.en-GB9.name=Christmas Day
holiday.en-GB9.date=20121225
holiday.en-GB10.name=Boxing Day
holiday.en-GB10.date=20121226
holiday.en-GB11.name=New Year's Day
holiday.en-GB11.date=20130101
holiday.en-GB12.name=Good Friday
holiday.en-GB12.date=20130329
holiday.en-GB13.name=Easter Monday
holiday.en-GB13.date=20130401
holiday.en-GB14.name=Early May Bank Holiday
holiday.en-GB14.date=20130506
holiday.en-GB15.name=Spring Bank Holiday
holiday.en-GB15.date=20130527
holiday.en-GB16.name=August Bank Holiday
holiday.en-GB16.date=20130826
holiday.en-GB17.name=Christmas Day
holiday.en-GB17.date=20131225
holiday.en-GB18.name=Boxing Day
holiday.en-GB18.date=20131226

69
doc/rc/holidays.en-NZ.rc Normal file
View File

@@ -0,0 +1,69 @@
###############################################################################
# International Holiday Data provided by Holidata.net
# http://holidata.net/en-NZ/2012.json
# http://holidata.net/en-NZ/2013.json
#
# Copyright 2006-2012, Paul Beckingham, Federico Hernandez.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#
# http://www.opensource.org/licenses/mit-license.php
#
###############################################################################
holiday.en-NZ1.name=New Year's Day
holiday.en-NZ1.date=20120101
holiday.en-NZ2.name=Day after New Years Day
holiday.en-NZ2.date=20120102
holiday.en-NZ3.name=Waitangi Day
holiday.en-NZ3.date=20120206
holiday.en-NZ4.name=Good Friday
holiday.en-NZ4.date=20120406
holiday.en-NZ5.name=Easter Monday
holiday.en-NZ5.date=20120409
holiday.en-NZ6.name=ANZAC Day
holiday.en-NZ6.date=20120425
holiday.en-NZ7.name=Queen's Birthday
holiday.en-NZ7.date=20120604
holiday.en-NZ8.name=Labour Day
holiday.en-NZ8.date=20121022
holiday.en-NZ9.name=Christmas Day
holiday.en-NZ9.date=20121225
holiday.en-NZ10.name=Boxing Day
holiday.en-NZ10.date=20121226
holiday.en-NZ11.name=New Year's Day
holiday.en-NZ11.date=20130101
holiday.en-NZ12.name=Day after New Years Day
holiday.en-NZ12.date=20130102
holiday.en-NZ13.name=Waitangi Day
holiday.en-NZ13.date=20130206
holiday.en-NZ14.name=Good Friday
holiday.en-NZ14.date=20130329
holiday.en-NZ15.name=Easter Monday
holiday.en-NZ15.date=20130401
holiday.en-NZ16.name=ANZAC Day
holiday.en-NZ16.date=20130425
holiday.en-NZ17.name=Queen's Birthday
holiday.en-NZ17.date=20130603
holiday.en-NZ18.name=Labour Day
holiday.en-NZ18.date=20131028
holiday.en-NZ19.name=Christmas Day
holiday.en-NZ19.date=20131225
holiday.en-NZ20.name=Boxing Day
holiday.en-NZ20.date=20131226

75
doc/rc/holidays.en-US.rc Normal file
View File

@@ -0,0 +1,75 @@
###############################################################################
# International Holiday Data provided by Holidata.net
# http://holidata.net/en-US/2012.json
# http://holidata.net/en-US/2013.json
#
# Copyright 2006-2012, Paul Beckingham, Federico Hernandez.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#
# http://www.opensource.org/licenses/mit-license.php
#
###############################################################################
holiday.en-US1.name=New Year's Day
holiday.en-US1.date=20120101
holiday.en-US2.name=New Year's Day
holiday.en-US2.date=20120102
holiday.en-US3.name=Birthday of Martin Luther King, Jr.
holiday.en-US3.date=20120116
holiday.en-US4.name=Washington's Birthday
holiday.en-US4.date=20120220
holiday.en-US5.name=Patriots' Day
holiday.en-US5.date=20120416
holiday.en-US7.name=Memorial Day
holiday.en-US7.date=20120528
holiday.en-US8.name=Independence Day
holiday.en-US8.date=20120704
holiday.en-US9.name=Labor Day
holiday.en-US9.date=20120903
holiday.en-US10.name=Columbus Day
holiday.en-US10.date=20121008
holiday.en-US11.name=Veterans Day
holiday.en-US11.date=20121112
holiday.en-US12.name=Thanksgiving Day
holiday.en-US12.date=20121122
holiday.en-US13.name=Christmas Day
holiday.en-US13.date=20121225
holiday.en-US14.name=New Year's Day
holiday.en-US14.date=20130101
holiday.en-US15.name=Birthday of Martin Luther King, Jr.
holiday.en-US15.date=20130121
holiday.en-US16.name=Washington's Birthday
holiday.en-US16.date=20130218
holiday.en-US18.name=Patriots' Day
holiday.en-US18.date=20130415
holiday.en-US19.name=Memorial Day
holiday.en-US19.date=20130527
holiday.en-US20.name=Independence Day
holiday.en-US20.date=20130704
holiday.en-US21.name=Labor Day
holiday.en-US21.date=20130902
holiday.en-US22.name=Columbus Day
holiday.en-US22.date=20131014
holiday.en-US23.name=Veterans Day
holiday.en-US23.date=20131111
holiday.en-US24.name=Thanksgiving Day
holiday.en-US24.date=20131128
holiday.en-US25.name=Christmas Day
holiday.en-US25.date=20131225

79
doc/rc/holidays.es-ES.rc Normal file
View File

@@ -0,0 +1,79 @@
###############################################################################
# International Holiday Data provided by Holidata.net
# http://holidata.net/es-ES/2012.json
# http://holidata.net/es-ES/2013.json
#
# Copyright 2006-2012, Paul Beckingham, Federico Hernandez.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#
# http://www.opensource.org/licenses/mit-license.php
#
###############################################################################
holiday.es-ES1.name=Año Nuevo
holiday.es-ES1.date=20120101
holiday.es-ES2.name=Día de los Reyes
holiday.es-ES2.date=20120106
holiday.es-ES3.name=Viernes Santo
holiday.es-ES3.date=20120406
holiday.es-ES4.name=Fiesta del Trabajo
holiday.es-ES4.date=20120501
holiday.es-ES5.name=Asunción de la Virgen
holiday.es-ES5.date=20120815
holiday.es-ES6.name=Fiesta Nacional de España
holiday.es-ES6.date=20121012
holiday.es-ES7.name=Dia de todos los Santos
holiday.es-ES7.date=20121101
holiday.es-ES8.name=Dia de la Constitución
holiday.es-ES8.date=20121206
holiday.es-ES9.name=Inmaculada Concepción
holiday.es-ES9.date=20121208
holiday.es-ES10.name=Noche Buena
holiday.es-ES10.date=20121224
holiday.es-ES11.name=Navidad
holiday.es-ES11.date=20121225
holiday.es-ES12.name=Noche Vieja
holiday.es-ES12.date=20121231
holiday.es-ES13.name=Año Nuevo
holiday.es-ES13.date=20130101
holiday.es-ES14.name=Día de los Reyes
holiday.es-ES14.date=20130106
holiday.es-ES15.name=Viernes Santo
holiday.es-ES15.date=20130329
holiday.es-ES16.name=Pascua
holiday.es-ES16.date=20130331
holiday.es-ES17.name=Fiesta del Trabajo
holiday.es-ES17.date=20130501
holiday.es-ES18.name=Asunción de la Virgen
holiday.es-ES18.date=20130815
holiday.es-ES19.name=Fiesta Nacional de España
holiday.es-ES19.date=20131012
holiday.es-ES20.name=Dia de todos los Santos
holiday.es-ES20.date=20131101
holiday.es-ES21.name=Dia de la Constitución
holiday.es-ES21.date=20131206
holiday.es-ES22.name=Inmaculada Concepción
holiday.es-ES22.date=20131208
holiday.es-ES23.name=Noche Buena
holiday.es-ES23.date=20131224
holiday.es-ES24.name=Navidad
holiday.es-ES24.date=20131225
holiday.es-ES25.name=Noche Vieja
holiday.es-ES25.date=20131231

73
doc/rc/holidays.fr-FR.rc Normal file
View File

@@ -0,0 +1,73 @@
###############################################################################
# International Holiday Data provided by Holidata.net
# http://holidata.net/fr-FR/2012.json
# http://holidata.net/fr-FR/2013.json
#
# Copyright 2006-2012, Paul Beckingham, Federico Hernandez.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#
# http://www.opensource.org/licenses/mit-license.php
#
###############################################################################
holiday.fr-FR1.name=Jour de l'an
holiday.fr-FR1.date=20120101
holiday.fr-FR2.name=Lundi de Pâques
holiday.fr-FR2.date=20120409
holiday.fr-FR3.name=Fête du premier mai
holiday.fr-FR3.date=20120501
holiday.fr-FR4.name=Armistice 1945
holiday.fr-FR4.date=20120508
holiday.fr-FR5.name=Ascencion
holiday.fr-FR5.date=20120517
holiday.fr-FR6.name=Pentecôte
holiday.fr-FR6.date=20120528
holiday.fr-FR7.name=Fête nationale
holiday.fr-FR7.date=20120714
holiday.fr-FR8.name=Assomption
holiday.fr-FR8.date=20120815
holiday.fr-FR9.name=Toussaint
holiday.fr-FR9.date=20121101
holiday.fr-FR10.name=Armistice 1918
holiday.fr-FR10.date=20121111
holiday.fr-FR11.name=Noël
holiday.fr-FR11.date=20121225
holiday.fr-FR12.name=Jour de l'an
holiday.fr-FR12.date=20130101
holiday.fr-FR13.name=Lundi de Pâques
holiday.fr-FR13.date=20130401
holiday.fr-FR14.name=Fête du premier mai
holiday.fr-FR14.date=20130501
holiday.fr-FR15.name=Armistice 1945
holiday.fr-FR15.date=20130508
holiday.fr-FR16.name=Ascencion
holiday.fr-FR16.date=20130509
holiday.fr-FR17.name=Pentecôte
holiday.fr-FR17.date=20130519
holiday.fr-FR18.name=Fête nationale
holiday.fr-FR18.date=20130714
holiday.fr-FR19.name=Assomption
holiday.fr-FR19.date=20130815
holiday.fr-FR20.name=Toussaint
holiday.fr-FR20.date=20131101
holiday.fr-FR21.name=Armistice 1918
holiday.fr-FR21.date=20131111
holiday.fr-FR22.name=Noël
holiday.fr-FR22.date=20131225

Some files were not shown because too many files have changed in this diff Show More