Compare commits

..

2431 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
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
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
787 changed files with 90522 additions and 28117 deletions

31
.gitignore vendored
View File

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

123
AUTHORS
View File

@@ -1,10 +1,19 @@
The development of task was made possible by the significant contributions of the following people:
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:
Damian Glenny
Andy Lester
H. İbrahim Güngör
@@ -17,15 +26,65 @@ The following submitted code, packages or analysis, and deserve special thanks:
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:
Thanks to the following, who submitted detailed bug reports and excellent suggestions:
Eugene Kramer
Srijith K
Bruce Israel
Thomas Engel
Nishiishii
galvanizd
Stas Antons
Vincent Fleuranceau
ArchiMark
Carlos Yoder
@@ -34,6 +93,64 @@ Thanks to the following, who submitted detailed bug reports and excellent sugges
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

938
ChangeLog
View File

@@ -1,7 +1,934 @@
------ current release ---------------------------
1.8.0 (7/21/2009)
2.1.2 (2012-09-18)
Bugs
+ Bug fix release regarding #1104, which causes duplicate UUIDs during
the merge command.
+ Fixed bug where shadow files are not properly created when there is a missing
.taskrc file (thanks to Pietro Cerutti).
------ old releases ------------------------------
2.1.1 (2012-07-24) 46c5f8b826838ce96d9df7fcd3039de3c43483dd
Bugs
+ Fixed bug that caused miplaced commas in JSON export (thanks to greenskeleton).
+ Fixed bug #1036, which prevents 'until' attributes to be modified for
non-recurring tasks (thanks to Stéphane Pezennec).
2.1.0 (2012-07-23) a413331c9450b48065f94639e7ab0455eaa74293
Features
+ Feature #164, #325, #339, #435, #553, #554, #975, User Defined Attributes.
+ Feature #457, #922, tasks may now be given an 'until' date, after which they
expire and are deleted.
+ Feature #516, which allows the duplication of completed tasks (thanks to
Peter De Poorter, Ethan Schoonover).
+ Feature #921, which implements a 'udas' command that describes defined UDAs,
and a '_udas' for completion purposes. Also detects UDA orphans.
+ Applied patch for feature #1005, which prevents the update-holidays.pl script
from creating duplicate holidays (thanks to Jörg Plate).
+ Added the new 'indented' format for the 'project' attribute.
+ The 'projects' report now uses 'project.indented' format.
+ The 'summary' report now uses 'project.indented' format.
+ Applied patch to allow ID ranges and UUIDs when editing dependencies (thanks
to Louis-Claude Canon).
+ Supports 'scheduled' date for tasks, which represent the earliest opportunity
to work on a task.
+ Performance improvements:
+ Added parse-free convenience functions
+ Filter optimization: with no 'OR' or 'XOR' operators, no UUIDS but with IDs
the completed.data file is not referenced
+ Reduced excessive number of sort columns on certain reports
+ Speed boost for 'next' report
+ Similar helper subcommands for 'uuids' as for there is for 'ids' (_uuids and
_zshuuids).
+ Possible to specify the date format when editing with 'dateformat.edit'.
+ Possible to specify the date format when showing information about a task
with 'dateformat.info'.
+ Bash script improvement (column names are now completed).
+ Feature #1013, output error, header, footnote and debug messages on standard error.
+ 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).
+ Feature #1033 allows UDAs to contribute to urgency (thanks to Max Muller).
+ Color error messages with a specific configuration variable 'color.error'.
Bugs
+ Fixed bug #734, which allows a sequence of IDs to work when modifying the
attribute "depends" (thanks to Andreas Kalex).
+ Applied patch for bug #919, so the holidays listed on the 'calendar' report
are sorted (thanks to Jörg Plate).
+ Fixed bug #954, which caused bulk deletions when using a UUID filter term and
the delete command (thanks to Bryce Harrington).
+ Fixed bug #959, which forces use of dateformat for annotations when using the
'edit' command (thanks to Louis-Claude Canon).
+ Fixed bug #964, where the 'projects' command showed the wrong priority labels
(thanks to Ali Mousavi).
+ Fixed bug #967, which did not properly determine character widths for UTF8
characters (thanks to Victor Roetman, Jörg Plate, Markus Kuhn).
+ Fixed bug #968, improving online documentation or dependencies (thanks to
Marek Vitek).
+ Fixed bug #972, #1018, which caused a recurrence of "7" to be interpreted as
"7secs", instead of generating an error (thanks to Vlad Zhivotnev, Stanley G).
+ Fixed bug #973, including 'urgency' in the 'export' output (thanks to Andy
Spiegl).
+ Fixed bug #986, so that the 'info' report uses the correct date format, also
applied patch to correct documentation and add unit tests (thanks to
Louis-Claude Canon).
+ Applied patch for bug #987, so that total active time does not continue to
accumulate after an active task is completed (thanks to Louis-Claude Canon).
+ Fixed bug #988, updating the documentation so that 'undo.data' usage is more
clearly stated (thanks to Louis-Claude Canon).
+ Applied patch for bug #991, which removes an obsolete consistency check
(thanks to Louis-Claude Canon).
+ Fixed bug #995, which mis-parsed UUIDs in filters as other elements (thanks
to Bryce Harrington).
+ 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).
+ Fixed bug #997, so that output is correctly controlled by the 'affected'
verbosity token.
+ Fixed grammar in feedback string (thanks to Uli Martens).
+ Addressed valgrind complaints (thanks to Bryce Harrington).
+ Removed default configuration value for the obsolete 'annotations' setting.
+ Corrected rounding errors on burndown chart bar size calculations (thanks to
Uli Martens).
+ Fixed bug where '6 months' was interpreted as 180 days, but when rendered
was shown as '5 months' (thanks to Aikido Guy).
+ Fixed bug where ISO dates were parsed and the TZ was modified, which should
have no bearing on a Zulu time.
+ Fixed man page typos.
+ Fixed incorrect Lua API return value (thanks to Oleksii Tsai).
+ Fixed bug #956, which prevents 'ids', 'uuids' and helper commands to be used
directly by external script when a variable is override.
+ Fixed bug #960, which caused tab-completion to fail after any non-ASCII alpha
characters were used in a description (thanks to Hyde Stevenson).
+ Fixed bug #962 that rename the bash completion script in prevision of future
2.0 bash release.
+ Fixed bug #990, which prevents color precedence to be applied correctly for
tagged tasks.
+ Fixed bug #1001, which caused a segv (thanks to Bryce Harrington).
+ Fixed bug #872, #945, #1006, #1024, which caused words like the German 'im'
and 'des' in a description to be expanded into 'imask' and 'description'
(thanks to Michelle Crane, Louis-Claude Canon, Stephen Hay and Martin U).
+ 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).
+ Fixed bug #1012, which failed to install add-on scripts with execute
permission.
+ Fixed bug #1016, which caused segfaults when importing JSON with annotations
that lack description or entry date (thanks to Nicholas Rabenau).
+ Fixed bug #1017, which exported invalid JSON when there were no tasks (thanks
to Nicholas Rabenau).
+ Fixed bug #1022, where dependencies were note released when a blocking task
was completed (thanks to Arkady Grudzinsky).
+ Fixed bug #1023, which applied default.project and default.priority during
modification (thanks to Christoph Lange).
+ Fixed bug #1028, so that UDA durations are stored in seconds, not in raw form
(thank to Uli Martens).
+ Fixed bug #1030, which defines a portable implementation of timegm and removes
the use of tm_gmtoff for non GNU/BSD platforms.
+ Fixed bug #1032, which prevented negative urgency coefficients from working
for projects and tags.
2.0.0 (2012-03-17) 03799eba9f230e48c4fa6d6ebddabe91bef7998f
# Untracked Features, biggest first.
+ autoconf eliminated.
+ New 'ids' command that returns a filtered set of task ID numbers, instead
of the actual tasks. Similarly there is a 'uuids' commands.
+ Corrected sorting to use std::stable_sort instead of std::sort, which is not
guaranteed stable (thanks to Stefan Hacker).
+ Enhanced diagnostics command.
+ Performance enhancements.
+ The old 'curses' configuration variable is now replaced by 'detection', and
has the same meaning - whether or not to auto-detect terminal size.
+ Added Czech Republic holiday files (thanks to Tomas Cech).
+ Added Japanese holiday files (thanks to Takanobu Watanabe).
+ All holiday files have been renamed to include a locale, rather than just a
country code. For example: holidays.en-US.rc.
+ Now ships with an add-on script, update-holidays.pl, which contacts
http://holidata.net, and brings the installed holiday files up to date.
+ Extension system now controlled by the 'extensions' configuration variable.
+ HTML export in the form of an external scripts export-html.pl.
+ Two additional solarized theme files, solarized-dark-256.theme and
solarized-light-256.theme (thanks to Stefan Keel).
+ New 'dependency.indicator' configuration variable for the depends.indicator
report field.
+ New 'indent.annotation' for the 'description.default' field format.
+ New 'color.label' for colorizing the report column labels.
+ The 'blanklines' configuration variable now replaced by the 'verbose' token
'blanklines'.
+ The 'verbose' configuration variable now accepts a specific list of items to
be verbose about. See taskrc(5).
+ New 'execute' command that runs external programs.
+ The default export format is now JSON.
+ The configuration variable 'json.array' determines whether 'query' command
output is enclosed by '[...]'.
+ The duration 'm' is now interpreted as 'months', not 'minutes'.
+ Urgency now has an 'age' component.
+ Improved text wrapping of UTF8 text.
+ 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.
+ The 'diagnostics' command now checks for duplicate UUID values in the data.
# Tracked Features, sorted by ID.
+ Added feature #52, which provides improved text-wrapping support for UTF-8
descriptions.
+ Added feature #278, which provides a more consistent command line grammar.
+ Added feature #318, which shows a full edit history in the 'info' report,
when enabled by 'journal.info=on'
+ Added feature #330, which supports the 'inverse' color attribute.
+ Added feature #340, which implements new color rules 'color.completed' and
'color.deleted'.
+ Added feature #422, #566 and #639, which allow task modifications during
'done', 'delete', 'start', 'stop' and 'duplicate' commands (thanks to Max
Muller).
+ Added feature #474, which means the 'info' command accepts filters.
+ Added feature #479, which enables filtering for the 'calendar' command.
+ Added feature #496, which allows rc.default.command to be supplemented with
a filter, so that 'task project:Home' applies the project filter to the
default command.
+ Added feature #507, which provides an alternative mechanism for inverting
attribute modifiers, in the form of new algebraic filters (thanks to Michelle
Crane).
+ Added feature #514, which allows duplication of tasks based on a generalized
filter, rather than just IDs (thanks to Peter De Poorter).
+ Added feature #523 & #659, adding 'status' as a reportable field (thanks to
Peter De Poorter and Bryce Harrington).
+ Added feature #545, #610, #611, #646, which support complex aliases.
+ Added feature #559, that causes Taskwarrior to exit if the ~/.task (or
rc.data.location override) does not exist, controlled by the
rc.exit.on.missing.db configuration variable (thanks to Sander Marechal).
+ Added feature #571, which provides descriptive feedback when a special tag
is applied.
+ Added feature #607, which allows modification of a task during annotation
(thanks to Peter De Poorter).
+ Added feature #609, which allows suppression of output labels and verbose
text.
+ Added feature #612, so that the 'info' command displays the sum of all
active (start/stop) times for a task, if the 'journal.info' configuration
variable is set (thanks to Andy Kriger).
+ Added feature #632, which allows environment variables TASKRC and TASKDATA
to override .taskrc and .task directory locations (thanks to Steve Rader).
+ Added feature #657 & #658, using the 'ids' command, tasks matching a filter
can now be modified as a group (thanks to Bryce Harrington, Eric Fluger).
+ Added feature #679, which makes color rules match project names in a left-
most fashion, like filters (thanks to ch077179).
+ 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).
+ Added feature #700, which adds tab-completion of built-in tags.
+ Added feature #710, which adds an attribute modifier prefix to return the
complement of a filtered set (thanks to Dan White).
+ Added feature #714, including Belarus holidays (thanks to Alexei Romanoff).
+ Added feature #725, which provides feedback when tasks become unblocked.
+ Added feature #733, including Czech holidays (thanks to Tomas Cech).
+ Added feature #740, that allows for indented annotations, controlled by the
'indent.annotation' configuration variable (thanks to Steve Rader, Tomas
Cech).
+ Added feature #755, adding a new command 'reports' that lists reports and
their descriptions.
+ Added feature #779, which uses more relevant and consistent terms on the
'burndown' charts.
+ 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).
+ Added feature #806, which provides the ability to compare dates using the
relational operator '>=' (thanks to Miguel de Val Borro).
+ 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.
+ Added feature #813, new "eoq" and "soq" dates for the end and start of
quarter. (thanks to Dave French and Paulo Almeida for the patch).
+ Added feature #827, which allows augmentation of default.command with extra
arguments, when default.command itself contains mulitple arguments (thanks to
Aikido Guy).
+ Added feature #891, which allows for leftmost partial matches of UUID values.
# Tracked Bugs, sorted by ID.
+ Fixed bug #208, which addresses various problems with recurring tasks, and
change propagation.
+ Fixed bug #403, which disambiguates certain commands involving numbers.
+ Fixed bug #447, #942, which only allowed dates to be edited if they changed
day (thanks to Michelle Crane and Owen Clarke).
+ Fixed bug #458, removing the ambiguous 'm' as a duration, leaving 'mi[nutes]'
and 'mo[nths]' requiring at least two characters for a match.
+ Fixed bug #475, which allowed a blank annotation command to be entered
(thanks to Andreas Kalex).
+ 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.
+ Fixed bugs #533 and #536, which prevented having correct paths for themes
in .taskrc (thanks to Juergen Daubert)
+ Fixed bug #552, where 'rc.verbose=off' suppressed warnings (thanks to Peter
De Poorter).
+ Fixed bug #594, which broke the 'all' report with a combination of bad regex
handling and a formatting bug (thanks to Steve Rader).
+ Fixed bug #605, which gave misleading project completion percentages under
certain circumstances (thanks to Steve Rader).
+ Fixed bug #636, which causes the burndown reports to not honor the
_forcecolor=off setting (thanks to Steve Rader, Uli Martens).
+ Fixed bug #645 & #660, which prevented logically combining report filters
(thanks to Bryce Harrington).
+ Fixed bug #683, in which the 'config' command sometimes edited comments
instead of the proper line in .taskrc (thanks to Erlan Sergaziev).
+ Fixed bug #691, which was a mis-reporting of file lock state even when file
locking was turned off (thanks to Tom Duffy).
+ Fixed bug #694, which allows attributes to be modified while annotating a
task (thanks to Aikido Guy).
+ Fixed bug #696, where the command line parser was confused by a single '-'
or '+' character.
+ Fixed bug #699, truncated ssh://... during autopush after merge.
+ Fixed bug #703, where global substitutions didn't make all expected
annotation changes.
+ Fixed bug #704, which improved wording of journal messages.
+ Fixed bug #706, where deletions were recorded in the journal twice.
+ Fixed bug #707, which had inverted logic with the urgency calculation for
blocked tasks.
+ Fixed bug #708, which corrected bad math in project % complete calculations
(thanks to Michelle Crane).
+ Fixed bug #713, which fixes typos in the holidays-UK.rc file (thanks to
Alexei Romanoff).
+ Fixed bug #720, so that when the 'info' report renders total active time,
it uses a lossless format (thanks to Bernhard B).
+ Fixed bug #722, #801, so that all recurring task change propagations are
confirmed (thanks to Arkady Grudzinsky).
+ Fixed bug #723, which displayed a misleading message when the output was
truncated to a page.
+ Fixed bug #732, which fixes misleading messages and documentation for
merge/push/pull URIs (thanks to Tomas Cech).
+ Fixed bug #737, which allows wait dates after due dates, but provides a
warning (thanks to Arkady Grudzinsky).
+ Fixed bug #741, which miscounted columns widths when a table header used
unicode characters (thanks to Tomas Cech).
+ Fixed bug #744, which omitted new ID feedback for all but the first
duplicated task (thanks to Uli Martens).
+ Fixed bug #745, which allows projects names with spaces, provided the values
are quoted (thanks to Duane Waddle).
+ Applied patch for Bug #746, which added missing documentation for the 'entry'
report column (thanks to Duane Waddle).
+ Fixed bug #761, in which the 'prepend' and 'append' commands failed to
generate an error when no text was provided (thanks to Aikido Guy).
+ Fixed bug #762, #763, so that modifications to tasks are considered 'write'
commands, and therefore update shadow files (thanks to Aikido Guy).
+ Applied patch for Bug #770, which fixed a broken build (thanks to Christopher
J. Pilkington).
+ Applied patch for Bug #771, which looks for libuuid if uuid_unparse_lower is
not located (thanks to Christopher J. Pilkington).
+ Fixed bug #777, which prevented _query command output from passing JSON
validation due to missing [] around the task list.
+ Fixed bug #781, which prevented tasks with dependencies from showing on the
'next' report (thanks to Wim Schuermann).
+ Fixed bug #783, which fixes completed and deleted tasks still showing as
active (thanks to Adam Wolk).
+ Fixed bug #785, which fixes a broken build on Solaris (thanks to Owen
Clarke).
+ Fixed bug #788, which reported regex and readline versions, even though they
are not used.
+ Applied patches for bugs #792, #793, #794 and #795, so that cmake now
recognizes and builds on Solaris (thanks to Owen Clarke).
+ Applied patch for bug #797 which corrects a build problem with 'srandom'
(thanks to Owen Clarke).
+ Applied patches for bug #798 which allows out-of-source builds (thanks to
Ben Boeckel).
+ Applied documentation patch for #799, fixing a broken link in the man page
(thanks to Bryce Harrington).
+ Applied patch for #803, allowing rc.confirmation to bypass confirmation of
the deletion of a recurring task (thanks to Matt Kraai).
+ 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).
+ Fixed bug #807, which caused a lack of Lua to prevent tests from building
(thanks to Owen Clarke).
+ Fixed bug #808, which generated compiler warnings on Solarix (thanks to
Owen Clarke).
+ Fixed bug #817, which caused a build problem with a Core2 Duo processor on a
Mac OSX 10.6 machine. Notes updated in INSTALL file (thanks to John
Hammond).
+ Fixed bug #818, which caused partial tag matching (thanks to Joe Holloway).
+ Fixed bug #822, #845, which generated incorrect IDs (thanks to Matt Kraai and
Michelle Crane).
+ Fixed bug #823, so that recurring task change propagations are now always
confirmed (thanks to Miguel de Val Borro).
+ Fixed bug #824, which caused probles when completing recurring tasks (thanks
to Matt Kraai).
+ Fixed bug #831, which prevented some date fields from being properly parsed.
+ Fixed bug #835, which prevented hierarchical projects from being recognized.
+ Fixed bug #836, which preserves numeric arguments as-is (thanks to Matt Kraai
for the patch).
+ Fixed bug #837, which caused incorrect urgency calculations for tasks that
have completed dependencies, and problems when editing those tasks (thanks
to Matt Kraai).
+ 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).
+ Fixed bug #846, which prevented the default.command configuration from
handling multiple arguments (thanks to Uli Martens).
+ Fixed bug #850, which failed when newline characters were in a modified task
description. They are now stripped (thanks to Aikido Guy).
+ Fixed bug #851, which failed to recognize durations like '1day' when
filtering date attributes (thanks to Philipp Woelfel).
+ Fixed bug #856, which prevented filters on missing project from working
(thanks to Michelle Crane).
+ Fixed bug #859, which used only one color for the 'ghistory.*' report
legends (thanks to Uli Martens).
+ Fixed bug #860, which prevented lower-case priority values from being
accepted (thanks to Michelle Crane).
+ Fixed bug #862, which suppressed feedback from the 'denotate' command.
+ Fixed bug #863, which suppressed report labels with rc.verbose=off (thanks to
Michelle Crane).
+ Fixed bugs #865 and #886, which caused silent failure of unrecognized dates
(thanks to Michelle Crane).
+ Fixed bug #879, which mis-parsed escaped characters in the data file (thanks
to Michelle Crane).
+ Fixed bug #880, which listed the wrong file paths for themes (thanks to Peter
Lewis).
+ Fixed bug #892, which caused a segfault due to misuse of
std::map::operator[] (thanks to Dmitriy Samborskiy).
+ Fixed bug #897, which adds the UUID field to the 'completed' report
(thanks to Eli Lev).
+ Fixed bug #899, which displayed incorrect project completion numbers (thanks
to Paul-Gheorghe Barbu).
+ Fixed bug #901, which was preventing multiple IDs and UUIDs from being used
as a filter (thanks to Bryce Harrington).
+ Fixed bug #906, which caused problems with inverted project matching (thanks
to Uli Martens).
+ Fixed bug #910, which caused unexpected behavior when duplicating a recurring
task (thanks to Jennifer Cormier).
+ Fixed bug #917, which mis-encoded quotes (thanks to Uli Martens).
+ Fixed bug #929, which corrected argument handling for aliases (thanks to Uli
Martens).
+ Fixed bug #932, which fixed change propagation for recurring tasks (thanks to
Jennifer Cormier).
+ Fixed bug #936, which caused tests to fail on Solaris (thanks to Owen Clarke).
+ Fixed bug #937, which failed 'stat' calls on Solaris (thanks to Owen Clarke).
+ Fixed bug #938, which corrected compiler warnings on Solaris (thanks to Owen
Clarke).
+ Fixed bug #944, which caused a test to fail when it was run on an NFS share.
+ Fixed bug #946, which caused 'edit' command problems when
'dateformat.annotation' did not contain any date elements (thanks to Tuomas
Toivola).
+ Fixed bug #950, which warned about dependency chain problems during
annotation, which makes no sense (thanks to Uli Martens).
+ Fixed bug #951, which caused tag filtering to fail (thanks to Max Muller).
+ Fixed bug #952, which generated cmake warnings on Cygwin.
# Untracked Bugs, biggest first.
+ Fixed bug that required the '%YAML' prologue in a YAML import.
+ Fixed bug that showed the 'due' date, under the heading 'until' date, in the
info report (thanks to Michael McCann).
+ Fixed burndown chart y-axis height calculation (thanks to Ben Boeckel).
+ Fixed missing recurrence values in zsh completion script (thanks to Ben
Boeckel).
+ Fixed problem with DOM-checking the 'limit' pseudo-attribute (thanks to
Barton Meeks).
+ Fixed problem with duplicate 'project changed' messages (thanks to Owen
Clarke).
+ Fixed problem with non-UTC defaults for "TZ" (thanks to Owen Clarke).
+ Removed use of Lua API call that is deprecated in 5.1 and removed from 5.2
(thanks to Michal Vyskocil).
+ Fixed problem where update-holidays.pl did not properly handle UTF8 JSON
data.
+ Fixed problem where update-holidays.pl did not use the YYYYMMDD date foramt.
+ Fixed problem where urgency was not properly calculated for waiting tasks.
+ Fixed problem where 'project' was not supported as a verbosity token (thanks
to Adam Gibbins).
1.9.4 (03/03/2011) b9bae255f4fa03970eced3ac0876935271d1d7a1
+ Added burndown charts - 'burndown.daily', 'burndown.weekly',
'burndown.monthly', that use 'color.burndown.pending', 'color.burndown.started'
and 'color.burndown.done' colors.
+ Added highlighting for the 'show' command that indicates which values differ
from the defaults.
+ Added change log display to the 'info' command, controlled by the
'journal.info' configuration setting.
+ Added 'description+' to all reports with duplicate sort keys, to stabilize
the sequence.
+ Added ability to temporarily suspend GC (rc.gc:0) for a given command, which
helps scriptwriters implement shadow files externally (thanks to Sander
Marechal).
+ Added alias 'export.json' that maps to the new _query helper command.
+ Added new dark-gray-256 color theme.
+ Added feature #30, which eliminates the dependency on ncurses (thanks to
Johan Friis).
+ Added feature #41, XML export in the form of add-on script export-xml.pl,
export-xml.py and export-xml.rb.
+ Added feature #157, which implements the _query command, a helper command for
script writers, which accepts a filter like any other report, but returns
only full JSON.
+ Added feature #158, regular expression support for filters and substitutions.
+ Added feature #247, providing infinite width reports when redirecting output
to a file, by setting defaultwidth to 0.
+ Added feature #309, which sets the xterm title when reports are run,
according to the configuration variable 'xterm.title', which defaults to off.
+ Added feature #546, which is a 'count' command that counts tasks, and is
intended to help scripts that manipulate task output.
+ Added feature #567, which makes it possible to apply an offset to the first
month to be displayed in the calendar report (thanks to Michelle Crane).
+ Added feature #574, default due dates (thanks to Erlan Sergaziev).
+ Added feature #575, including Danish holidays (thanks to Irfan Siddiqui).
+ Added feature #608, and now completing a task, with journal.time turned on
will stop the task first (thanks to Andy Kriger).
+ Added feature #629, a new holiday configuration file for New Zealand
(thanks to Stephen Haywood).
+ Added feature #638, a wait:later possibility (thanks to Clément Bœsch).
+ Added feature #46, proper sortable age column.
+ Added new holiday configuration file for Italy (thanks to Nicola Busanello).
+ Added new holiday configuration file for Austria (thanks to Andreas Poisel).
+ Eliminated dependency on ncurses.
+ The dependency columns are now right-justified (thanks to Eric Fluger).
+ When a date fails to parse, the expected format is displayed, as a reminder
(thanks to Eric Fluger).
+ Fixed bug that caused the 'done' command to always exit with a non-zero
status (thanks to Steve Rader).
+ Fixed bug that caused entry, end, start and wait dates to not use report-
specific date format overrides (thanks to Eric Fluger).
+ Fixed bug #485, which caused filters of 'recur' to fail for partial matches
(thanks to T. Charles Yun).
+ Fixed bug #515, which displayed an incorrect message after duplicating a
non-existent task (thanks to Peter De Poorter).
+ Fixed bug #529, where the 'depends' attribute was not mentioned in the
task man page (thanks to Dirk Deimeke).
+ Fixed bug #530, where unrecognized periods on recurring tasks were not
being properly handled (thanks to T. Charles Yun).
+ Fixed bug #535 which omitted the holidays-NO.rc file from the packages
(thanks to Jostein Berntsen).
+ Fixed bug #537, where the man page task-sync(5) mis-specified some URIs.
+ Fixed bug #538, where some color legend items were not readable.
+ Fixed bug #539, where the man page task-color(5) contained a line that
began with a ' and was not displayed.
+ Fixed bug #540, where user names containing @s could not be parsed.
+ Fixed bug #541, which prevented sorting by 'age' column in some situations.
+ Fixed bug #542, which sorted the countdown columns incorrectly (thanks to
Michelle Crane).
+ Fixed bug #555, which caused a segfault when logging a task with a project
(thanks to Itay Perl).
+ Fixed bug #564, which allowed the deletion of parent recurring tasks (thanks
to Peter De Poorter).
+ Fixed bug #570, which used unsupported brace expansion with dash (default
/bin/sh in Ubuntu).
+ Fixed bug #579, which displayed incorrect counts when using the 'limit:N'
filter (thanks to Thomas Sattler).
+ Fixed bug #580, where reusing the merge uri for autopush failed when the
uri was taken from taskrc.
+ Applied patch to fix bug #581, in which backslashes in annotations and
descriptions caused problems (thanks to Itay Perl).
+ 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).
+ Fixed bug #589, where the man page did not adequately describe searching
or usage of attribute modifiers (thanks to Steve Rader).
+ Applied patch to fix bug #590, which makes the yes/no/all/quit confirmation
prompts consistent (thanks to Steve Rader).
+ Fixed bug #595, where taskwarrior ignored changes to the wait date during
the edit command, consequently not changing task status (thanks to Eric
Fluger).
+ Fixed bug #597, which caused a missing project to be counted as a project
in the projects command (thanks to Steve Rader).
+ Fixed bug #603, which caused no feedback when task IDs were not specified
(thanks to Steve Rader).
+ Applied patch to fix bug #613, so that the summary report and the projects
command now consistently show a missing project as "(none)" (thanks to
Steve Rader).
+ 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).
+ Enhanced unit tests in response to bug #624 (thanks to Steve Rader).
+ Fixed bug #628, where dateformats containing spaces were not properly
parsed (thanks to Steve Rader).
+ Fixed bug #634, so that 'undo' obeys the 'confirmation' setting (thanks to
Steve Rader).
+ Fixed bug #641, where certain reports broke when 'dateformat' differed from
'dateformat.report'.
+ Fixed bug #651, which broke the edit command when a task description
contained certain tokens (like 'Due:').
+ Fixed bug #653, which caused undo information to be recorded when no changes
were made by the 'edit' command.
+ Fixed bug #654, which broke the info command when a task had no journal
entries.
+ Fixed bug #656, which caused multiple recurring child tasks to be created
(thanks to Bryce Harrington).
+ Fixed bug #671, removing the claim in the 'edit' command claims that
description text can wrap over multiple lines, because it cannot.
------ old releases ------------------------------
1.9.3 (11/08/2010) bf36b47593a33e6347425d47a36477b627310e65
+ 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.
+ Added feature #189, that records the start and stop times as an
annotation for a task.
+ Added features #244, #272, #273, #274, #275 and #279, which support
import and export of YAML 1.1. YAML is now the default export format
for task.
+ 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.
+ Added feature #410, and now task supports dependencies between tasks
with the syntax 'task 1 depends:2' to add a dependency, or 'task 1
depends:-2' to remove a dependency.
+ Added feature #421, and now task can sync data files from two sources
via the 'merge' command.
+ Added feature #423, now custom report filters allow rc overrides.
+ Added feature #428, preparing the new structure for the NEWS file.
+ Added feature #429, which improves the 'all' report to exclude deleted.
tasks, provide a new sort order and include the 'end' column.
+ Added feature #431, which improves feedback after running the 'log'
command.
+ Added feature #446, task supports now 'sow', 'som' and 'soy' as dates
for 'due', 'wait' and 'until' (thanks to T. Charles Yun).
Added as well synonyms soww/eoww plus new socw/eocw for calendar weeks.
+ Fixed bug #467, where recurring tasks were not honoring wait values.
+ Added feature #471, which makes greater use of projects by reporting
changes to the completion percentage when it changes.
+ Added feature #478, which uses the colorization rules in the 'info'
report.
+ Added feature #481, allowing for user control of the color rule order
of precedence via the 'rule.precedence.color' configuration variable.
+ Added feature #499, giving an extra line in the message output when
doing bulk done changes (thanks to T. Charles Yun).
+ New 'depends' column for custom reports.
+ New 'blocked' report for showing blocked tasks.
+ New 'unblocked' report for showing tasks that are not blocked.
+ Improved man pages (thanks to Andy Lester).
+ Default .taskrc files are now largely empty, and rely almost completed
on default values.
+ Special tags 'nocal', 'nocolor' and 'nonag' are implemented.
+ The 'tags' command highlights special tags.
+ The 'stats' and 'info' reports not obey color.alternate.
+ New fish shell tab completion script (thanks to Mick Koch).
+ Color rules now obey the rc.search.case.sensitive configuration option.
+ The color.keyword.XXX color rule now applies to annotations too.
+ Importing the same YAML twice now generates an error.
+ Two new color themes (thanks to Kathryn Andersen).
+ More localized holiday files for US, CA, SE, DE, FR, UK, ES, NL and NO
(thanks to T. Charles Yun, Jostein Berntsen).
+ Added new 'diagnostics' command to help with bug submission, testing.
+ Fixed bug #427, preventing the task edit command to parse annotation
dates with spaces.
+ Fixed bug #433, making task command output more consistent.
+ Fixed bug #434, allowing users to complete tasks with status 'waiting'
+ Fixed bug #438, correcting the sorting of the entry_time, start_time
and end_time columns (thanks to Michelle Crane).
+ Fixed bug #439, which ignored dateformat.annotation for sparse annotations.
+ Fixed bug #440, which prevented simultaneous append/prepend and substitution.
+ Fixed bug #441, which misparsed '/a/a:/' as an attribute, rather than a
substitution (thanks to Michelle Crane).
+ Fixed bug #444, which made task shell unusable after canceling out of an
undo command.
+ Fixed bug #445, which caused task to not notice that the command 'h' is
ambiguous.
+ Fixed bug #449, so the wait: attribute can be applied to a task at any
time, not just on add.
+ Fixed bug #452, which defines a higher resolution division between due
and overdue.
+ Fixed bug #459, which showed a confusing message when 'limit:page' was
used, with few tasks.
+ Fixed bug #461, in which the filter 'due:today' failed, but 'due.is:today'
worked.
+ Fixed bug #466, which gave the wrong error message when a custom report
was missing a direction indicator for the sort order.
+ Fixed bug #470, which caused task to not support the color 'none'.
+ Fixed bug #476, so that task now issues a warning when a wait date falls
after a due date (thanks to T. Charles Yun).
+ Fixed bug #480, which didn't properly support @ characters in tags. This
also now supports $ and #.
+ Fixed bug #489, which caused the filter 'tags.none:' to fail.
+ Fixed bug #493, which made waiting, recurring tasks invisible (thanks to
Alexander Schremmer).
+ Fixed bug #494, causing imported text files to ultimately lack uuids
(thanks to Elizabeth Maxson).
+ Fixed problem with command line configuration overrides that had no
values.
+ Fixed problem with the 'undo' command not observing the rc.color or the
rc._forcecolor settings.
+ Fixed problem with extra blank line in the ghistory reports.
+ Fixed a precision problem with average age on the summary report.
+ Clarified the documentation regarding the project name (taskwarrior) and
the program name (task).
1.9.2 (7/10/2010) a13989f18eb34b3363f433c965084b6491425b9f
+ Added feature #320, so the command "task 123" is interpreted as an implicit
"task info 123" command (thanks to John Florian).
+ 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 features #36 and #37, providing annual versions of the 'history' and
'ghistory' command as 'history.annual' and 'ghistory.annual'.
+ Added feature #363 supporting iCalendar/vcalendar (RFC-2445, RFC-5545,
RFC-5546) export via the 'export.ical' command.
+ Added feature #390, an extra dateformat for annotations (thanks to Cory
Donnelly).
+ Added feature #407, a new 'task show' command to display the current
configuration settings or just the ones matching a search string.
'task config' is now only used to set new configuration values.
+ Added feature #298, supporting a configurable number of future recurring
tasks that are generated.
+ Added feature #412, which 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 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).
+ Improvements to the man pages (thanks to T. Charles Yun).
+ Modified the 'next' report to only display one page, by default.
+ Added feature #408, making it possible to delete annotations with the new
denotate command and the provided description (thanks to Dirk Deimeke).
+ Added support for more varied durations when specifying recurring tasks,
such as '3 mths' or '24 hrs'.
+ The ghistory graph bars can now be colored with 'color.history.add',
'color.history.done' and 'color.history.delete' configuration variables.
+ Added feature #156, so that task supports both a 'side' and 'diff' style
of undo.
+ Distribution now includes 7 theme files, for 16- and 256-color terminals.
+ Task now defaults to using the equivalent to the dark-16.theme.
+ Fixed bug #406 so that task now includes command aliases in the _commands
helper command used by shell completion scripts.
+ Fixed bug #211 - it was unclear which commands modify a task description.
+ Fixed bug #411, clarifying that the 'projects' command only lists projects
for which there are pending tasks (thanks to Dirk Deimeke).
+ 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 #416, which caused sorting on a date to fail if the year was not
included in the dateformat (thanks to Michelle Crane).
+ Fixed bug #417, which caused sorting on countdown and age fields to be
wrong (thanks to Michell Crane).
+ 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).
+ Fixed bug #132, which failed to set a sort order so that active tasks sort
higher than inactive tasks, all things being equal.
+ 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).
+ Fixed bug #420, missing 'ID' from help text (thanks to Ed Neville).
+ Fixed bug that prevented 'task list priority.above:L' from working.
+ Fixed bug that miscalculated terminal width for the ghistory.annual
report.
+ Fixed wording (support issue #383) when modifying a recurring task (thanks
to T. Charles Yun).
1.9.1 (5/22/2010) 60a99725b858be134ad538cb7c1a32c98de70e67
+ Summary report bar colors can now be specified with color.summary.bar
and color.summary.background configuration variables.
+ The 'edit' command now conveniently fills in the current date for new
annotations.
+ Deleting a task no longer clobbers any recorded end date (thanks to
Seneca Cunningham).
+ The following holidays are now computed automatically and can be used
in the definitions for the calendar holidays:
Good Friday (goodfriday), Easter (easter), Easter monday
(eastermonday), Ascension (ascension), Pentecost (pentecost)
The date is configured with the given keyword.
+ The configure script is more portable (thanks to Emil Sköldberg).
+ Updated task-faq.5 man page.
+ Fixed bug #382 in which the annotate command didn't return an error
message when called without an ID.
+ Fixed bug #402 which failed compilation on Arch Linux (thanks to
Johannes Schlatow).
+ Fixed bug #401 that ignored the search.case.sensitive configuration
setting when filtering on project names (thanks to John Florian).
+ Fixed bug #395 that prevented the upgrade of a pending task to a
recurring task (thanks to T. Charles Yun).
1.9.0 (2/22/2010) dd758f8b33de110a633e2ff3ebdac73232b8ff44
+ Added feature #283 that makes it possible to control the verbosity
of the output of annotations.
+ Added feature #254 (#295) which gives task a second date format to be
used in the reports with more conversion sequences like weekday name
or weeknumber. The date format is set with variable "dateformat.report".
+ Added feature #292 that permits alternate line coloration in reports
(thanks to Richard Querin).
+ Added feature #307 that provides vim with syntax highlighting for .taskrc.
+ Added feature #336 which gives task a 'prepend' command for symmetry
with the 'append' command.
+ 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).
+ The 'delete' command is now aliased to 'rm' (thanks to Ivo Jimenez).
+ 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 new 'config' command to display the configuration settings of task.
As a consequence 'version' now only shows the version number and legal
information.
+ The 'config' command now complains about use of deprecated color names in
your .taskrc file.
+ Added feature #296, that allows the 'config' command to modify your .taskrc
settings directly, with the command 'task config <name> <value>', or
'task config <name>' to remove the setting.
+ Task now supports nested .taskrc files using the "include /path" directive.
+ The 'entry', 'start' and 'end' columns now have equivalents that include the
time, and are called 'entry_time', 'start_time', and 'end_time', for use in
custom reports.
+ 2 new columns have been added to the reports: countdown and
countdown_compact. They show the days left until a task is due or how many
days a task has been overdue.
+ The new 'priority_long' field can be shown in custom reports, and will
display 'High' rather than the abbreviated 'H'.
+ Task now supports .taskrc command line overrides using rc.name:value and
the new rc.name=value to accommodate a frequent mistake.
+ The color rules for projects (color.project.foo) now matches on partial
project names, the same way as filters.
+ The color command now takes a color as an argument, and displays that color
with sample text.
+ Added 2 new configuration variables to display the details of tasks with due
dates when doing a 'task cal' for the corresponding months:
'calendar.details' and 'calendar.details.report'
+ Added 5 new color configuration variables to colorize today, days with due
tasks, days with overdue tasks, weekend days and week numbers in the
calendar:
'calendar.color.today', 'color.calendar.due', 'calendar.calendar.overdue',
'color.calendar.weekend'and 'color.calendar.weeknumber'.
+ Added support for holidays in the calendar by using calendar.holidays
and the corresponding holiday.X.name and holiday.X.date variables.
The default dateformat being YMD (20101224) set by dateformat.holiday.
+ The coloring of due tasks in reports can now be enabled for all tasks, and
not only the imminent ones, by setting the configuration variable due=0.
+ Tasks due on the current day ("today") can now have their own color setting
color.due.today and color.calendar.due.today.
+ Added a new 'task-faq' man page for common questions and answers.
+ Added a new 'task-color' man page detailing how to set up and use color in
task.
+ Added feature #176, which allows for configurable case-sensitivity for
keyword searches and substitutions (thanks to John Florian).
+ Task can now use an alternate tag indicator by setting the tag.indicator
configuration variable to something other than the default of +.
+ Task can now use an alternate active indicator by setting the
active.indicator configuration variable to something other than the default
of *.
+ Task can now use an alternate recurrence indicator by setting the
recurrence.indicator configuration variable to something other than the
default of R.
+ Added a new file, README.build, which provides assistance troubleshooting
build-related problems on different operating systems and environments.
+ Fixed bug #316 which caused the timesheet report to display an oddly sorted
list.
+ 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 #347 which used only a lowercase "all" to confirm multiple changes
instead of an uppercase "All" like the "Yes" answer.
+ Fixed bug that was causing the 'completed' report to sort incorrectly.
+ Fixed bug that showed a calendar for the year 2037 when 'task calendar due'
was run, and there are no tasks with due dates.
+ Fixed bug #360 which prevented certain modifications to recurring tasks
(thanks to John Florian).
+ Fixed bug #299 which prevented excluding multiple projects from a report,
by using "task list project.isnt:foo project.isnt:bar" (thanks to John
Florian).
+ Fixed bug #368 which caused recurring tasks 'until' dates to be rendered as
epoch numbers instead of dates (thanks to Cory Donnelly).
+ Fixed bug #369 which prevented the config command from setting quoted or
unquoted multi-word values (thanks to Richard Querin).
+ Fixed bug #370 which prevented the removal of a due date from a task,
mis-identifying the task as recurring just because it had a due date
(thanks to John Florian).
+ 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).
+ Fixed bug #372 which incorrectly mapped 16-color backgrounds into the
256-color space.
1.8.5 (12/05/2009) a6c7236ff34e5eee3ef1693b97cb1367e6e3c607
+ Added feature to allow the user to quit when asked to confirm multiple
changes. Now task asks "Proceed with change? (Yes/no/all/quit)".
+ 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).
+ Added feature - #310 that simplified and make clearer an error message
that complained about things that were beyond user control (thanks to
John Florian).
+ Fixed bug that was causing the 'completed' report to sort incorrectly.
+ Fixed bug #321 where all shell input was converted to lower case (thanks
to Juergen Daubert).
+ Fixed bug #327 that allowed the removal of a due date from a recurring
task.
+ 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.
+ Fixed bug #322 which failed to propagate rc overrides to shell commands.
+ Fixed redundant messages when exiting shell mode.
+ Fixed bug #333 which failed to display the ID of a duplicated task (thanks
to Cory Donnelly).
+ 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).
+ Fixed bug #319 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).
1.8.4 (11/17/2009) 12c4983936d27317df100f05da8244139dd06a3f
+ Fixed bug that caused wait: dates to not be properly rendered in a
readable and preferred format with the "edit" command.
+ Fixed bug that caused a hang on cygwin, when a task with multiple
annotations was edited (thanks to Joe Pulliam).
+ Fixed bug #314 where the edit command fails when data.location includes
directories containing spaces (thanks to Cory Donnelly).
+ Added a warning (issue #312) 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).
1.8.3 (10/21/2009) bcdcbeeea0d92f21c3565aebfaf6332b959f4025
+ Added support for Haiku R1/alpha1
1.8.2 (9/7/2009) f243f0ed443ecd7dde779de8a6525222591024db
+ Added feature #282 that returns useful exit codes to the shell. Now a
script can detect whether no tasks were returned by a report (thanks to
Pietro Cerutti).
+ Fixed bug #287 that causes color control codes to be written to shadow
files (thanks to Richard Querin).
+ Fixed bug #289 which imported task from todo.sh without valid uuids
(thanks to Ben Jackson).
+ Fixed bug #291 which generated a false warning about an unrecognized
variable when enabling default.projects in .taskrc (thanks to Thomas@BIC).
+ Fixed bug #288 which failed to propagate rc file overrides on the command
line to the default command (thanks to Zach Frazier).
1.8.1 (8/20/2009) 35792e7874d2bb664abb1a0a67960b7fe7e0fccf
+ Fixed bug #231 that broke the build on OpenBSD 32-bit due to a time_t
and int collision (thanks to Pietro Cerutti).
+ Fixed bug #241 that prevented bash's tab-completion of projects in Fedora
11 and likely anything using bash-4 (thanks to John Florian).
+ Fixed bug #242 that sometimes causes the ID echoed after a task is added
to be incorrect (thanks to John Florian).
+ Fixed bug #245 that quoted date fields on export, that were subsequently
improperly parsed on import (thanks to John Florian).
+ Fixed bug #248 where single and double quotes are both stored as
ampersand-quot-semi (thanks to John Florian).
+ Fixed bug #249 that caused annotations with the same date to be lost after
a "task edit" command (thanks to Federico Hernandez).
+ Fixed bug #250 whereby rc.dateformat was not observed when parsing the
creation date of an annotation (thanks to Federico Hernandez).
+ Fixed bug #251 whereby the presence of annotations cause the .hasnt attribute
modifier to not work (thanks to John Florian).
+ Fixed bug #252 that prevented use of attribute modifiers on dates to effect
a range, such as "task ls due.after:eom due.before:eoy" (thanks to John
Florian).
+ Fixed bug #256 that allowed a recurring task with no due date.
+ Fixed bug #257 where an extant ~/.taskrc file prevented the override and
automatic creation of an alternate rc file (thanks to Zach Frazier).
+ Fixed bug #259 that cause a build failure on Snow Leopard 10a432.
+ Fixed bug #260 whereby the start, stop and delete commands did not complain
when filter arguments were specified, even though they were ignored
(thanks to T. Charles Yun).
+ Fixed bug that allowed a recurring task to be added without a due date.
+ Fixed bug that displays the wrong .taskrc file name on override (thanks to
Federico Hernandez).
+ Fixed bug that failed to suppress color control code in the header and
footnote when redirecting output to a file (thanks to John Florian).
1.8.0 (7/21/2009) 14977ef317bd004dae2f2c313e806af9f2a2140c
+ Added zsh tab completion script (thanks to P.C. Shyamshankar).
+ Fixed bug that cause the _forcecolor configuration variable to be
considered obsolete (thank to Bruce Dillahunty).
@@ -70,9 +997,7 @@
and completed tasks.
+ Now over 1,600 unit tests, helping to maintain code quality.
------ old releases ------------------------------
1.7.1 (6/8/2009)
1.7.1 (6/8/2009) 1422a15cbc470cff590bf06daad20d01fe1b05ef
+ Fixed build failure on OpenBSD (thanks to Mike Adonay).
+ Took the opportunity of a patch release to update the various email
addresses and URLs in the various documents.
@@ -318,7 +1243,8 @@
+ Bug: configure.ac does not properly determine ncurses availability.
+ Bug: Cannot seem to use the percent character in a task description.
+ Bug: New installation "task stats" reports newest task 12/31/1969.
+ Bug: New installation task projects displays header but no data - should short-circuit.
+ Bug: New installation task projects displays header but no data - should
short-circuit.
+ Bug: incorrect color specification in sample .taskrc file.
+ Bug: when run without arguments, task dumps core on Solaris 10.
+ "task calendar" now reports all months with due pending tasks.

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.

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,20 +0,0 @@
SUBDIRS = src
dist_man_MANS = doc/man/task.1 doc/man/taskrc.5 doc/man/task-tutorial.5
docdir = $(datadir)/doc/${PACKAGE}-${VERSION}
doc_DATA = AUTHORS ChangeLog COPYING NEWS README
EXTRA_DIST = INSTALL
bashscriptsdir = $(docdir)
nobase_dist_bashscripts_DATA = scripts/bash/task_completion.sh
zshscriptsdir = $(docdir)
nobase_dist_zshscripts_DATA = scripts/zsh/_task
vimscriptsdir = $(docdir)
nobase_dist_vimscripts_DATA = scripts/vim/README scripts/vim/ftdetect/task.vim scripts/vim/syntax/taskdata.vim scripts/vim/syntax/taskedit.vim
i18ndir = $(docdir)
nobase_dist_i18n_DATA = i18n/strings.de-DE i18n/strings.en-US i18n/strings.es-ES i18n/strings.fr-FR i18n/strings.nl-NL i18n/strings.sv-SE i18n/tips.de-DE i18n/tips.en-US i18n/tips.sv-SE

71
NEWS
View File

@@ -1,37 +1,50 @@
New Features in task 1.8.0
New bug fixes in taskwarrior 2.1.2
- Attribute modifiers, for precise queries
- Improved calendar feature
- Full undo capability
- All reports now customizable
- Command aliases can now be created
- In addition to being a standard part of Fedora 10 and 11 (yum install task),
task is now also a standard part of Cygwin 1.5
- There are new demo movies on taskwarrior.org
- Important bug fix release regarding duplicate UUIDs during the merge command.
Please refer to the ChangeLog file for full details. There are too many to
list here.
New features in taskwarrior 2.1.2
Task has been built and tested on the following configurations:
- None
- OS X 10.5 Leopard
- OS X 10.4 Tiger
- Fedora Core 11 Leonidas
- Fedora Core 10 Cambridge
- Ubuntu 9.04 Jaunty Jackalope
- Ubuntu 8.10 Intrepid Ibex
- Ubuntu 8.04 Hardy Heron
- Slackware 12.2
- Arch Linux
- Solaris 10
- Solaris 8
- OpenBSD 4.5
- FreeBSD
- Cygwin 1.5.25-14
New commands in taskwarrior 2.1.2
While Task has undergone testing, bugs are sure to remain. If you encounter a
bug, please enter a new issue at:
- None
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
@@ -44,5 +57,3 @@ Or just send a message to:
support@taskwarrior.org
Thank you.
---

20
README
View File

@@ -1,24 +1,26 @@
Thank you for taking a look at task!
Thank you for taking a look at taskwarrior!
Task 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. Task has binary distributions, online documentation, demonstration
movies, and you'll find all the details at the site:
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:
http://taskwarrior.org
At the site you'll find a wiki, discussion forums, downloads, news and more.
Your contributions are especially welcome. Whether it comes in the form of
code patches, ideas, discussion, bug reports or just encouragement, your input
is needed.
code patches, ideas, discussion, bug reports, encouragement or criticism, your
input is needed.
Please send your support questions and code patches to:
support@taskwarrior.org
Consider joining taskwarrior.org and participating in the future of task.
Consider joining taskwarrior.org and participating in the future of taskwarrior.
---
Taskwarrior is released under the MIT license. For details check the LICENSE
file.

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,73 +0,0 @@
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.61)
AC_INIT(task, 1.8.0, support@taskwarrior.org)
CFLAGS="${CFLAGS=}"
CXXFLAGS="${CXXFLAGS=}"
# this macro is used to get the arguments supplied
# to the configure script (./configure --enable-debug)
# Check if we have enable debug support.
AC_MSG_CHECKING(whether to enable debugging)
debug_default="no"
AC_ARG_ENABLE(debug, [ --enable-debug=[no/yes] turn on debugging
[default=$debug_default]],, enable_debug=$debug_default)
# Yes, shell scripts can be used
if test "$enable_debug" = "yes"; then
CXXFLAGS="$CFLAGS -Wall -pedantic -ggdb3 -DDEBUG"
AC_MSG_RESULT(yes)
else
CXXFLAGS="$CFLAGS -Wall -pedantic -O3"
AC_MSG_RESULT(no)
fi
# Check for OS.
OS=`uname|sed -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
if test "$OS" = "sunos"; then
AC_MSG_NOTICE([OS Solaris detected])
AC_DEFINE([SOLARIS], [], [Compiling on Solaris])
else
AC_MSG_NOTICE([OS Non-Solaris detected])
AC_DEFINE([LINUX], [], [Compiling on Non-Solaris])
fi
AM_INIT_AUTOMAKE
AC_CONFIG_SRCDIR([src/main.cpp])
AC_CONFIG_HEADER([auto.h])
# Checks for programs.
AC_PROG_CXX
AC_PROG_CC
AC_LANG(C++)
AC_SUBST(CFLAGS)
# Checks for libraries.
AC_CHECK_LIB(ncurses,initscr)
# 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([sstream 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>

View File

@@ -1,394 +0,0 @@
.TH task-tutorial 5 2009-07-14 "Task 1.8.0" "User Manuals"
.SH NAME
task-tutorial \- A tutorial for the task(1) command line todo manager.
.SH DESCRIPTION
Task is a command line TODO list manager. It maintains a list of tasks that you
want to do, allowing you to add/remove, and otherwise manipulate them. Task
has a rich list of subcommands that allow you to do various things with it.
.SH 30 second tutorial
For the excessively lazy. Add two tasks:
.br
.RS
$ task add Read task documents later
.br
$ task add priority:H Pay bills
.RE
Easy. See that second one has a High priority? Now let's look at those tasks:
.br
.RS
$ task ls
.br
ID Project Pri Description
.br
2 H Pay bills
.br
1 Read task documents later
.RE
They are ordered by priority. Let's mark number 2 as done:
.br
.RS
$ task 2 done
.br
$ task ls
.br
ID Project Pri Description
.br
1 Read task documents later
.RE
Gone. Now let's delete that remaining task, because, well, why bother
now we are already using task:
.br
.RS
$ task delete 1
.br
$ task ls
.br
No matches
.RE
Easy. But now consider checking out what task can really do...
.SH Simple usage of task
Let us begin by adding some tasks:
.br
.RS
$ task add Book plane ticket
.br
$ task add Rent a tux
.br
$ task add Reserve a rental car
.br
$ task add Reserve a hotel room
.RE
That's it. You'll notice immediately that task has a very minimalist
interface. Let us take a look at those tasks:
.br
.RS
$ task ls
.br
ID Project Pri Description
.br
1 Book plane ticket
.br
2 Rent a tux
.br
3 Reserve a rental car
.br
4 Send John a birthday card
.RE
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:
.br
.RS
$ task 2 delete
.br
Permanently delete task? (y/n) y
.RE
Task wants you to confirm deletions. To remove the confirmation, edit
your .taskrc file and change the line:
.br
.RS
confirmation=yes
.RE
.br
to have a value of "no".
While the use of projects and priorities are not essential to benefiting
from task, they can be very useful when the list of tasks grows large.
Let's assign a project to these tasks:
.br
.RS
$ task 1 project:Wedding
.br
$ task 3 project:Wedding
.br
$ task 4 project:Family
.br
$ task ls
.br
ID Project Pri Description
.br
3 Family Send John a birthday card
.br
2 Wedding Reserve a rental car
.br
1 Wedding Book plane ticket
.RE
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. Now that projects are assigned, we can look at just
the Wedding project tasks:
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:
.br
.RS
$ task 2 project:Wedding.Transport
.br
$ task ls
.br
ID Project Pri Description
.br
3 Family Send John a birthday card
.br
2 Wedding.Transport Reserve a rental car
.br
1 Wedding Book plane ticket
.RE
Task matches the leftmost part of the project when searching, so projects may
be abbreviated:
.br
.RS
$ task ls project:Wedding.Tra
.br
ID Project Pri Description
.br
2 Wedding.Transport Reserve a rental car
.RE
This way of matching projects can be used to see all tasks under the "Wedding"
project and all subprojects:
.br
.RS
$ task ls project:Wedding
.br
ID Project Pri Description
.br
2 Wedding.Transport Reserve a rental car
.br
1 Wedding Book plane ticket
.RE
Let's reassign 2 back to the "Wedding" project:
.br
.RS
$ task 2 project:Wedding
.RE
Now that projects are assigned, we can look at just the Wedding project tasks:
.br
.RS
$ task ls project:Wedding
.br
ID Project Pri Description
.br
1 Wedding Book plane ticket
.br
2 Wedding Reserve a rental car
.RE
Any command arguments after the 'ls' are used for filtering the output.
We could also have requested:
.br
.RS
$ task ls ticket plane
.br
ID Project Pri Description
.br
1 Wedding Book plane ticket
.RE
Now let's prioritize. Priorities can be H, M or L (High, Medium, Low).
.br
.RS
$ task ls
.br
ID Project Pri Description
.br
3 Family Send John a birthday card
.br
2 Wedding Reserve a rental car
.br
1 Wedding Book plane ticket
.br
$ task 1 priority:H
.br
$ task 2 prior:M
.br
$ task 3 pr:H
.br
Ambiguous attribute 'pr' - could be either of project, priority
.br
$ task 3 pri:H
.br
$ task ls
.br
ID Project Pri Description
.br
3 Family H Send John a birthday card
.br
1 Wedding H Book plane ticket
.br
2 Wedding M Reserve a rental car
.RE
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:
.br
.RS
$ task add project:Wedding priority:H Book plane ticket
.RE
The 'ls' command provides the least information for each task. The 'list'
command provides more:
.br
.RS
$ task list
.br
ID Project Pri Due Active Age Description
.br
3 Family H 4 mins Send John a birthday card
.br
1 Wedding H 5 mins Book plane ticket
.br
2 Wedding M 5 mins Reserve a rental car
.RE
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:
.br
.RS
$ task 3 due:6/25/2008
.br
$ task 1 due:7/31/2008
.br
$ task list
.br
ID Project Pri Due Active Age Description
.br
3 Family H 6/25/2008 6 mins Send John a birthday card
.br
1 Wedding H 7/31/2008 7 mins Book plane ticket
.br
2 Wedding M 7 mins Reserve a rental car
.RE
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:
.br
.RS
color.due=red
.br
color.due=on_blue
.br
color.due=red on_blue
.br
color.due=bold_red on_blue
.RE
Where color is one of the following:
.br
.RS
black, blue, red, green, cyan, magenta, yellow or white
.RE
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:
.br
.RS
$ task <id> +tag
.RE
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.
.br
.RS
$ task list
.br
ID Project Pri Due Active Age Description
.br
3 Family H 6/25/2008 8 mins Send John a birthday card
.br
1 Wedding H 7/31/2008 9 mins Book plane ticket
.br
2 Wedding M 9 mins Reserve a rental car
.br
$ task 1 +phone
.br
$ task 2 +phone
.br
$ task 3 +shopping
.br
$ task 3 +john
.br
$ task list +phone
.br
ID Project Pri Due Active Age Description
.br
1 Wedding H 7/31/2008 9 mins Book plane ticket
.br
2 Wedding M 9 mins Reserve a rental car
.RE
To remove a tag from a task, use the minus sign:
.br
.RS
$ task 3 \-john
.RE
.SH Advanced usage of task
Advanced examples of the usage of task can be found at
the official site at <http://taskwarrior.org>
.SH "CREDITS & COPYRIGHTS"
task was written by P. Beckingham <paul@beckingham.net>.
.br
Copyright (C) 2006 \- 2009 P. Beckingham
This man page was originally written by Federico Hernandez.
task is distributed under the GNU General Public License. See
http://www.gnu.org/licenses/gpl-2.0.txt for more information.
.SH SEE ALSO
.BR task(1),
.BR taskrc(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
<http://github.com/pbeckingham/task/>
.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

View File

@@ -1,469 +0,0 @@
.TH task 1 2009-07-14 "Task 1.8.0" "User Manuals"
.SH NAME
task \- A command line todo manager.
.SH SYNOPSIS
.B task [subcommand] [args]
.SH DESCRIPTION
Task is a command line todo list manager. It maintains a list of tasks that you
want to do, allowing you to add/remove, and otherwise manipulate them. Task
has a rich list of subcommands that allow you to do various things with it.
.SH SUBCOMMANDS
.TP
.B add [tags] [attrs] description
Adds a new task to the task list.
.TP
.B append [tags] [attrs] description
Appends more information to an existing
task.
.TP
.B annotate ID description
Adds an annotation to an existing task.
.TP
.B ID [tags] [attrs] [description]
Modifies the existing task with provided information.
.TP
.B ID /from/to/
Performs one substitution on task description and annotation for fixing mistakes.
.TP
.B ID /from/to/g
Performs all substitutions on task description and annotation for fixing mistakes.
.TP
.B edit ID
Launches an editor to let you modify all aspects of a task directly.
Use carefully.
.TP
.B undo
Reverts the most recent action.
.TP
.B shell
Launches an interactive shell with all the task commands available.
.TP
.B duplicate ID [tags] [attrs] [description]
Duplicates the specified task and allows modifications.
.TP
.B delete ID
Deletes the specified task from task list.
.TP
.B info ID
Shows all data and metadata for the specified task.
.TP
.B start ID
Marks the specified task as started.
.TP
.B stop ID
Removes the
.I start
time from the specified task.
.TP
.B done ID [tags] [attrs] [description]
Marks the specified task as done.
.TP
.B projects
Lists all project names used, and the number of tasks for each.
.TP
.B tags
Show a list of all tags used.
.TP
.B summary
Shows a report of task status by project.
.TP
.B timesheet [weeks]
Shows a weekly report of tasks completed and started.
.TP
.B history
Shows a report of task history by month.
.TP
.B ghistory
Shows a graphical report of task status by month.
.TP
.B calendar [ y | due [y] | month year [y] | year ]
Shows a monthly calendar with due tasks marked.
.TP
.B stats
Shows task database statistics.
.TP
.B import \fIfile
Imports tasks from a variety of formats.
.TP
.B export \fIfile
Exports all tasks as a CSV file.
.TP
.B color
Displays all possible colors.
.TP
.B version
Shows the task version number and current settings in the task configuration
file.
.TP
.B help
Shows the long usage text.
.SH REPORT SUBCOMMANDS
A report is a listing of information from the task database. There are several
reports currently predefined in task. The output and sort behavior of these
reports can be configured in the configuration file. See also the man page taskrc(5).
.TP
.B active [tags] [attrs] [description]
Shows all tasks matching the specified criteria
that are started but not completed.
.TP
.B all [tags] [attrs] [description]
Shows all tasks matching the specified criteria.
.TP
.B completed [tags] [attrs] [description]
Shows all tasks matching the specified criteria
that are completed.
.TP
.B ls [tags] [attrs] [description]
Provides a minimal listing of tasks with specified criteria.
.TP
.B list [tags] [attrs] [description]
Provides a more detailed listing of tasks with specified criteria.
.TP
.B long [tags] [attrs] [description]
Provides the most detailed listing of tasks with specified criteria.
.TP
.B newest [tags] [attrs] [description]
Shows the newest tasks with specified criteria.
.TP
.B oldest [tags] [attrs] [description]
Shows the oldest tasks with specified criteria
.TP
.B overdue [tags] [attrs] [description]
Shows all incomplete tasks matching the specified criteria
that are beyond their due date.
.TP
.B recurring [tags] [attrs] [description]
Shows all recurring tasks matching the specified criteria.
.TP
.B waiting [tags] [attrs] [description]
Shows all waiting tasks matching the specified criteria.
.TP
.B next [tags] [attrs] [description]
Shows all tasks with upcoming due dates matching the specified criteria.
.SH ATTRIBUTES AND METADATA
.TP
.B ID
Tasks can be specified uniquely by IDs, which are simply the index of the
task in a report. Be careful, as the IDs of tasks may change after a
modification to the database. Always run a report to check you have the right
ID for a task. IDs can be given to task as a sequences, for example,
.br
.B
task del 1,4-10,19
.TP
.B +tag|-tag
Tags are arbitrary words associated with a task. Use + to add a tag and - to
remove a tag from a task. A task can have any quantity of tags
.TP
.B project:<project-name>
Specifies the project to which a task is related to.
.TP
.B priority:H|M|L|N
Specifies High, Medium, Low and No priority for a task.
.TP
.B due:<due-date>
Specifies the due-date of a task.
.TP
.B recur:<frequency>
Specifies the frequency of a recurrence of a task.
.TP
.B until:<end-date-of-recurrence>
Specifies the Recurrence end-date of a task.
.TP
.B fg:<color-spec>
Specifies foreground color.
.TP
.B bg:<color-spec>
Specifies background color.
.TP
.B limit:<number-of-rows>
Specifies the desired number of rows a report should have.
.TP
.B wait:<wait-date>
Date until task becomes pending.
.SH ATTRIBUTE MODIFIERS
Attribute modifiers improve filters. Supported modifiers are:
.RS
.B before (synonyms under, below)
.br
.B after (synonyms over, above)
.br
.B none
.br
.B any
.br
.B is (synonym equals)
.br
.B isnt (synonym not)
.br
.B has (synonym contain)
.br
.B hasnt
.br
.B startswith (synonym left)
.br
.B endswith (synonym right)
.RE
For example:
.RS
task list due.before:eom priority.not:L
.RE
.SH SPECIFYING DATES AND FREQUENCIES
.SS DATES
Task reads dates from the command line and displays dates in the
reports. The expected and desired date format is determined by the
configuration variable
.I dateformat
in the task configuration file.
.RS
.TP
Exact specification
task ... due:7/14/2008
.TP
Relative wording
task ... due:today
.br
task ... due:yesterday
.br
task ... due:tomorrow
.TP
Day number with ordinal
task ... due:23rd
.TP
End of week (Friday), month and year
task ... due:eow
.br
task ... due:eom
.br
task ... due:eoy
.TP
Next occurring weekday
task ... due:fri
.RE
.SS FREQUENCIES
Recurrence periods. Task supports several ways of specifying the
.I frequency
of recurring tasks.
.RS
.TP
daily, day, 1d, 2d, ...
Every day or a number of days.
.TP
weekdays
Mondays, Tuesdays, Wednesdays, Thursdays, Fridays and skipping weekend days.
.TP
weekly, 1w, 2w, ...
Every week or a number of weeks.
.TP
biweekly, fortnight
Every two weeks.
.TP
quarterly, 1q, 2q, ...
Every three months, a quarter, or a number of quarters.
.TP
semiannual
Every six months.
.TP
annual, yearly, 1y, 2y, ...
Every year or a number of years.
.TP
biannual, biyearly, 2y
Every two years.
.RE
.SH COMMAND ABBREVIATION
All task commands may be abbreviated as long as a unique prefix is used. E.g.
.RS
$ task li
.RE
is an unambiguous abbreviation for
.RS
$ task list
.RE
but
.RS
$ task l
.RE
could be list, ls or long.
.SH SPECIFYING DESCRIPTIONS
Some task descriptions need to be escaped because of the shell
and the special meaning of some characters to the shell. This can be
done either by adding quotes to the description or escaping the special
character:
.RS
$ task add "quoted ' quote"
.br
$ task add escaped \\' quote
.RE
The argument \-\- (a double dash) tells task to treat all other args
as description:
.RS
$ task add -- project:Home needs scheduling
.RE
.SH CONFIGURATION FILE AND OVERRIDE OPTIONS
Task stores its configuration in a file in the user's home directory:
~/.taskrc . The default configuration file can be overridden with
.TP
.B task rc:<path-to-alternate-file>
Specifies an alternate configuration file.
.TP
.B task rc.<name>:<value> ...
Specifies individual configuration file overrides.
.SH EXAMPLES
For examples please see the task tutorial man page at
.RS
man task-tutorial
.RE
or the online documentation starting at
.RS
<http://taskwarrior.org/wiki/taskwarrior/Simple>
.RE
.SH FILES
.TP
~/.taskrc User configuration file - see also taskrc(5).
.TP
~/.task The default directory where task stores its data files. The location
can be configured in the configuration file.
.TP
~/.task/pending.data The file that contains the tasks that are not yet done.
.TP
~/.task/completed.data The file that contains the completed "done" tasks.
.TP
~/.task/undo.data The file that contains the information to the "undo" command.
.SH "CREDITS & COPYRIGHTS"
task was written by P. Beckingham <paul@beckingham.net>.
.br
Copyright (C) 2006 \- 2009 P. Beckingham
This man page was originally written by P.C. Shyamshankar, and has been modified
and supplemented by Federico Hernandez.
task is distributed under the GNU General Public License. See
http://www.gnu.org/licenses/gpl-2.0.txt for more information.
.SH SEE ALSO
.BR taskrc(5),
.BR task-tutorial(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
<http://github.com/pbeckingham/task/>
.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>

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

File diff suppressed because it is too large Load Diff

View File

@@ -1,493 +0,0 @@
.TH taskrc 5 2009-07-14 "Task 1.8.0" "User Manuals"
.SH NAME
taskrc \- Configuration file for the task(1) command
.SH SYNOPSIS
.B $HOME/.taskrc
.br
.B task rc:<directory-path>/.taskrc
.SH DESCRIPTION
.B task
obtains its configuration data from a file called
.I .taskrc
\&. This file is normally located in the user's home directory:
.RS
$HOME/.taskrc
.RE
The default location can be overridden using the
.I rc:
attribute when running task:
.RS
$ task rc:<directory-path>/.taskrc
.RE
Individual option can be overridden by using the
.I rc.<name>:
attribute when running task:
.RS
$ task rc.<name>:<value> ...
.RE
If
.B task
is run without an existing configuration file it will ask if it should create a default, sample
.I .taskrc
file in the user's home directory.
The task configuration file consists of a series of "assignments" in each line. The "assignments" have the syntax:
.RS
<name-of-configuration-variable>=<value-to-be-set>
.RE
where:
.RS
.TP
<name-of-configuration-variable>
is one of the variables described below
.TP
<value-to-be-set>
is the value the variable is to be set to.
.RE
and set a configuration variable to a certain value. The equal sign ("=") is used to separate the variable
name from the value to be set.
The hash mark, or pound sign ("#") is used as a "comment" character. It can be used to annotate the
configuration file. All text after the character to the end of the line is ignored.
.SH CONFIGURATION VARIABLES
Valid variable names and their default values are:
.SS FILES
.TP
.B data.location=$HOME/.task
This is a path to the directory containing all the task files. By default, it is set up to be ~/.task,
for example: /home/paul/.task
.TP
.B locking=on
Determines whether task uses file locking when accessing the pending.data and completed.data files.
Default to "on". Solaris users who store the task data files on an NFS mount may need to set locking
to "off". Note that setting this value to "off" is dangerous. It means that another program may write
to the task.pending file when task is attempting to do the same.
.SS TERMINAL
.TP
.B curses=on
Determines whether task uses ncurses to establish the size of the window you are
using, for text wrapping.
.TP
.B defaultwidth=80
The width of tables used when ncurses support is not available. Defaults to 80.
.TP
.B editor=vi
Specifies which text editor you wish to use for when the
.B task edit <ID>
command is used. Task will first look for this configuration variable. If found, it is used.
Otherwise task will look for the $VISUAL or $EDITOR environment variables, before it defaults
to using "vi".
.SS MISCELLANEOUS
.TP
.B locale=en-US
The locale is a combination of ISO 639-1 language code and ISO 3166 country
code. If not specified, task will assume en-US. If specified, task will locate
the correct file of localized strings and proceed. It is an error to specify a
locale for which there is no strings file.
.TP
.B confirmation=yes
May be "yes" or "no", and determines whether task will ask for confirmation before deleting a task or doing bulk changes.
.TP
.B echo.command=yes
May be "yes" or "no", and causes task to display the ID and description of any task when you run the start, stop, do, undo or delete commands. The default value is "yes".
.TP
.B next=2
Is a number, defaulting to 2, which is the number of tasks for each project that are shown in the
.B task next
command.
.TP
.B bulk=2
Is a number, defaulting to 2. When more than this number of tasks are modified in a single command, confirmation will be required, unless the
.B confirmation
variable is "no".
.TP
.B nag=You have higher priority tasks.
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: You have higher
priority tasks.
.TP
.B complete.all.projects=yes
May be yes or no, and determines whether the tab completion scripts consider all the
project names you have used, or just the ones used in active tasks.
.TP
.B complete.all.tags=yes
May be yes or no, and determines whether the tab completion scripts consider all the
tag names you have used, or just the ones used in active tasks.
.SS DATES
.TP
.B dateformat=m/d/Y
This is a string of characters that define how task formats dates. The default value is: m/d/Y.
The string should contain the characters
.RS
m minimal-digit month, for example 1 or 12
.br
d minimal-digit day, for example 1 or 30
.br
y two-digit year, for example 09
.br
D two-digit day, for example 01 or 30
.br
M two-digit month, for example 01 or 12
.br
Y four-digit year, for example 2009
.RE
The string may also contain other characters to act as spacers, or formatting. Examples for other
variable values:
.RS
.br
d/m/Y would output 24/7/2009
.br
YMD would output 20090724
.br
m-d-y would output 07-24-09
.RE
.TP
.B weekstart=Sunday
Determines the day a week starts. Valid values are Sunday or Monday only.
.TP
.B displayweeknumber=yes
Determines if week numbers are displayed when using the "task calendar" command.
The week number is dependent on the day a week starts.
.TP
.B due=7
This is the number of days into the future that define when a task is considered due,
and is colored accordingly. Defaults to 7.
.TP
.B monthsperline=2
Determines how many months the "task calendar" command renders across the screen.
Defaults to however many will fit. If more months that will fit are specified,
task will only show as many that will fit.
.SS COLOR CONTROLS
.TP
.B color=on
May be "on" or "off". Determines whether task uses color. When "off", task will
use dashes (-----) to underline column headings.
.TP
.B fontunderline=on
Determines if font underlines or ASCII dashes should be used to underline
headers.
Task has a number of coloration rules. They correspond to a particular attribute
of a task, such as it being due, or being active, and specifies the automatic
coloring of that task. A list of valid color, depending on your terminal, can be
obtained by running the command
.RS
.B task color
.RE
.RS
The coloration rules and their defaults are:
.RE
.RS
.RS
.B color.overdue=bold_red
The color for overdue tasks.
.br
.B color.due=bold_yellow
The color of due tasks.
.br
.B color.pri.H=bold
The color of priority:H tasks.
.br
.B color.pri.M=on_yellow
The color of priority:M tasks.
.br
.B color.pri.L=on_green
The color of priority:L tasks.
.br
.B color.pri.none=white on_blue
The color of priority: tasks.
.br
.B color.active=bold_cyan
The color of active tasks.
.br
.B color.tagged=yellow
The color of tagged tasks.
.br
.B color.recurring=on_red
The color for recurring tasks.
.RE
.RE
.RS
The value for the coloration rules may be one optional foreground color and one optional
color. For example, the value may be
.RE
.RS
.RS
bold_red on_bright_yellow
.RE
.RE
.RS
Certain attributes like tags, projects and keywords can also have their own coloration rules.
.RE
.RS
.TP
.B color.tag.X=yellow
Colors any task that has the tag X.
.TP
.B color.project.X=on_green
Colors any task assigned to project X.
.TP
.B color.keyword.X=on_blue
Colors any task where the description contains X.
.TP
.B color.header=green
Colors any of the messages printed prior to the report output.
.TP
.B color.message=green
Colors any of the messages printed after the report output.
.TP
.B color.footnote=green
Colors any of the messages printed last.
.RE
.SS SHADOW FILE
.TP
.B
shadow.file=$HOME/.task/shadow.txt
If specified, designates a file path that will be automatically written to by task,
whenever the task database changes. In other words, it is automatically kept up to date.
The shadow.command configuration variable is used to determine which report is written
to the shadow file. There is no color used in the shadow file. This feature can be useful
in maintaining a current file for use by programs like GeekTool, Conky or Samurize.
.TP
.B
shadow.command=list
This is the command that is run to maintain the shadow file, determined by the
.I shadow.file
configuration variable. The format is identical to that of
.I default.command
\&. Please see the corresponding documentation for that command.
.TP
.B
shadow.notify=on
When this value is set to "on", task will display a message whenever the shadow
file is updated by some task command.
.SS DEFAULTS
.TP
.B
default.project=foo
Provides a default project name for the
.I task add
command.
.TP
.B
default.priority=M
Provides a default priority for the
.I task add
command.
.TP
.B
default.command=list
Provides a default command that is run every time task is invoked with no arguments.
For example, if set to:
.RS
.RS
default.command=list project:foo
.RE
.RE
.RS
then task will run the "list project:foo" command if no command is specified. This means that
by merely typing
.RE
.RS
.RS
$ task
.br
[task list project:foo]
.br
\&
.br
ID Project Pri Description
1 foo H Design foo
2 foo Build foo
.RE
.RE
.SS REPORTS
The reports can be customized by using the following configuration variables.
The output columns, their labels and the sort order can be set using the
corresponding variables for each report. Each report name is used as a
"command" name. For example
.TP
.B task overdue
.TP
.B report.X.description
The description for report X when running the "task help" command.
.TP
.B report.X.columns
The columns that will be used when generating the report X. Valid columns are:
id, uuid, project, priority, entry, start, due, recur, recur_ind, age, age_compact,
active, tags, description, description_only. The IDs are separated by commas.
.TP
.B report.X.labels
The labels for each column that will be used when generating report X. The labels
are a comma separated list.
.TP
.B report.X.sort
The sort order of the tasks in the generated report X. The sort order is specified
by using the column ids post-fixed by a "+" for ascending sort order or a "-" for
descending sort order. The sort IDs are separated by commas
.TP
.B report.X.filter
This adds a filter to the report X so that only tasks matching the filter criteria
are displayed in the generated report.
.TP
.B report.X.limit
An optional value to a report limiting the number of displayed tasks in the
generated report.
.TP
Task comes with a number of predefined reports in its default configuration file. These reports are:
.TP
.B long
Lists all task, all data, matching the specified criteria.
.TP
.B list
Lists all tasks matching the specified criteria.
.TP
.B ls
Minimal listing of all tasks matching the specified criteria.
.TP
.B newest
Shows the newest tasks.
.TP
.B oldest
Shows the oldest tasks.
.TP
.B overdue
Lists overdue tasks matching the specified criteria.
.TP
.B active
Lists active tasks matching the specified criteria.
.TP
.B completed
Lists completed tasks matching the specified criteria.
.TP
.B recurring
Lists recurring tasks matching the specified criteria.
.TP
.B waiting
Lists all waiting tasks matching the specified criteria.
.TP
.B all
Lists all tasks matching the specified criteria.
.TP
.B next
Lists all tasks with upcoming due dates matching the specified criteria.
.SH "CREDITS & COPYRIGHTS"
task was written by P. Beckingham <paul@beckingham.net>.
.br
Copyright (C) 2006 \- 2009 P. Beckingham
This man page was originally written by Federico Hernandez.
task is distributed under the GNU General Public License. See
http://www.gnu.org/licenses/gpl-2.0.txt for more information.
.SH SEE ALSO
.BR task(1),
.BR task-tutorial(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
<http://github.com/pbeckingham/task/>
.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>

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

File diff suppressed because it is too large Load Diff

View File

@@ -1,40 +0,0 @@
# This is a full BNF grammar for the task command line. It is intended that a
# future release of task will incorporate a complete lexer/parser implementing
# this grammar, which will allow for more sophisticated command lines, for
# example:
#
# task delete 1 2 4-7
# task add pri:H pro:X -- pro pri 1 ///
#
command ::= simple_command
| filter_command filter?
| id_command
| "export" file
| <id>
| <id> <substitution> ;
simple_command ::= "version" | "help" | "projects" | "tags" | "next" | "stats"
| "color" ;
filter_command ::= "summary" | "history" | "calendar" | "active" | "overdue"
| "oldest" | "newest" | "add" | "list" | "long" | "ls"
| "completed" ;
id_command ::= "delete" | "undelete" | "info" | "start" | "end" | "done"
| "undo" ;
filter ::= filter_part+ ;
filter_part ::= tag_add | tag_remove | attribute | word ;
tag_add ::= "+" word ;
tag_remove ::= "-" word ;
attribute ::= word ":" word ;
word ::=
file ::=
id ::= digit+ ;
digit ::= "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" ;
substitution ::= "/" word+ "/" word* "/" "g"? ;

View File

@@ -1,109 +0,0 @@
Hello, and welcome to this quick demo of the task program.
task add do laundry Let's add some tasks
I need to do laundry
task add project:garage order dumpster Oh yeah, I need to order the dumpster
task add +phone tell mom i loveher Must call Mom (that "phone" there is a tag - they can
be useful for searching and categorizing)
task add +phone pro:garage schedule
goodwill pickup
task ad +email pro:garage ask Tom if Notice I can abbreviate commands
he wants that old bkie
task ls Let's see what we've got
Oh, I spelled bike wrong
task 5 /bkie/bike/
task ls That's better
task 1 pro:home Let's assign projects
task 3 pro:home tell mom I love her
task ls pro:garage
task long pro:garage Let's see all the columns
task list pro:garage There are different ways to list
task lis +phone By tag
task li pro:garage +phone By project and tag
task l mom By word
task 1 priority:H Priorities can be High, Medium or Low
task pri:H 3
task 1 pri:M
task li The list is sorted by priority.
task 2 pri:L
task li
task done 3 Suppose task 3 is done
task li ...and it's gone
task 2 +phone +mistake Lets add tags
# Oops!
task 2 -mistake or remove tags
task tags or look at all the tags
task info 2 or all the details
task projects or all the projects
task 3 fg:bold Let's make it colorful
task 4 fg:bold_green
task li
task 3 fg:bold_underline_white
task li
task 4 bg:on_bright_red fg:bold_yellow
task li Oh that's just nasty - let's get rid of that.
task 4 bg:
task li
task 4 fg:
task 3 fg:
task colors There are many combinations to choose from
(Slashes!!!)
task 1 due:6/8/2008 Let's add a due date
date
task li
task calendar Notice the due task is in yellow, today is marked cyan
task 1 due:5/20/2008 This is now an overdue task
task li and it shows up red
task overdue
task cal
task export file.csv You can export the tasks to a spreadsheet
cat file.csv
task start 1 Started tasks can be used as reminders
of what you are supposed to be doing
task active They show up as active
task done 1 Let's clear out a couple
task li
task done 3
task active
task summary Summary shows progress on all projects
task history History shows general activity - how many added,
completed etc, by month
task ghistory This report shows a histogram of tasks that were
added (in red), completed (in green) and deleted
(in yellow), all by month.
And that's it. There are more commands than this
covered in the online documentation, but this should give
the basic idea.
Thank you for watching.

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

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